diff options
author | Mystery Man <unknown@mandriva.org> | 2005-10-20 14:05:54 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2005-10-20 14:05:54 +0000 |
commit | 9b6a0d83d135fad376b4eadcb2bd7bd8c8a07aa5 (patch) | |
tree | f3ef7ada2ce82dafb6d41cc087b0cc7fdfc40a46 /perl-install | |
parent | 3e4ad5e1b687f262a1d7cc39a0b905a595ac7f95 (diff) | |
download | drakx-10_34_11_100mdk.tar drakx-10_34_11_100mdk.tar.gz drakx-10_34_11_100mdk.tar.bz2 drakx-10_34_11_100mdk.tar.xz drakx-10_34_11_100mdk.zip |
This commit was manufactured by cvs2svn to create tagV10_34_11_100mdk
'V10_34_11_100mdk'.
Diffstat (limited to 'perl-install')
137 files changed, 10686 insertions, 30082 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile index 342bf3e26..4b01fa5f5 100644 --- a/perl-install/Makefile +++ b/perl-install/Makefile @@ -12,6 +12,14 @@ OTHERS = $(OTHERDIRS) $(OTHERFILES) OTHERDIRS = tools/ddcprobe tools/serial_probe OTHERFILES = tools/rpcinfo-flushed.c +USE_PCMCIA := n +ifeq ($(ARCH),i386) +USE_PCMCIA := y +endif +ifeq ($(ARCH),x86_64) +USE_PCMCIA := y +endif + .PHONY: all $(DIRS) install clean stage2 full_stage2 all: list_modules.pm TAGS $(DIRS) @@ -84,22 +92,22 @@ get_needed_files: $(DIRS) mo_files @if rpm -q XFree86-VGA16 | grep -q 29mdk; then echo "XFree86-VGA16 29mdk is bad, downgrade to 28mdk" ; exit 1 ; fi -# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > /tmp/list ' $(PERL) -d install2 < /dev/null +# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > $(TMPDIR)/list ' $(PERL) -d install2 < /dev/null eval `perl -V:version`; \ cat share/list `../tools/specific_arch share/list` | \ perl -pe "s/ARCH/$(ARCH)/g ; s/PERL_VERSION/$$version/g ; s|/LIB/|/$(LIB)/|g " | \ - perl -lpe '@l = glob; !m|\*.*/| || @l == 1 and $$_ = join("\n", @l)' > /tmp/list - rpm -ql perl-Gtk2 perl-Glib | grep '^/usr/lib/perl5' | grep -v '\.pod$$' >> /tmp/list + perl -lpe '@l = glob; !m|\*.*/| || @l == 1 and $$_ = join("\n", @l)' > $(TMPDIR)/list + rpm -ql perl-Gtk2 perl-Glib | grep '^/usr/lib/perl5' | grep -v '\.pod$$' >> $(TMPDIR)/list - @missing=`perl -lne 'print if !-e $$_' /tmp/list`; [ -z "$$missing" ] || { echo "missing or multiple files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing" ; echo "missing or multiple files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; } + @missing=`perl -lne 'print if !-e $$_' $(TMPDIR)/list`; [ -z "$$missing" ] || { echo "missing or multiple files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing" ; echo "missing or multiple files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; } - find auto -follow -name "*.so" >> /tmp/list + find auto -follow -name "*.so" >> $(TMPDIR)/list - for i in $(LOCALFILES) `cat /tmp/list` ; do \ - ldd $$i 2>/dev/null | grep "=>" | perl -pe 's/.*=> //; s/ .*//; s,^/lib/.*?/,/lib/,' | sort | uniq >> /tmp/list; \ + for i in $(LOCALFILES) `cat $(TMPDIR)/list` ; do \ + ldd $$i 2>/dev/null | grep "=>" | perl -pe 's/.*=> //; s/ .*//; s,^/(lib(64)?)/.*?/,/\1/,' | sort | uniq >> $(TMPDIR)/list; \ done - perl -Mlang -I. -e 'print "$$_\n" foreach lang::console_font_files()' >> /tmp/list + perl -Mlang -I. -e 'print "$$_\n" foreach lang::console_font_files()' >> $(TMPDIR)/list install -d $(DEST)/etc install -d $(DEST)/etc/sysconfig/network-scripts @@ -127,7 +135,7 @@ ifeq (i386,$(ARCH)) install -s /sbin/cardmgr $(DEST)/usr/bin endif - for i in `cat /tmp/list`; do \ + for i in `cat $(TMPDIR)/list`; do \ if (echo $$i | grep -q "lib/[^/]*\.so"); then \ install -s $$i $(DEST)/lib; \ elif (echo $$i | grep -q "lib64/[^/]*\.so"); then \ @@ -178,9 +186,10 @@ endif unneeded=`perl -I. -Mlang -e 'lang::get_unneeded_png_lang_files'`; cd $(DEST)/usr/share; rm -f $$unneeded cd share ; cp compssUsers compssUsers.* rpmsrate $(ROOTDEST)/Mandrake/base - clean-rpmsrate $(ROOTDEST)/Mandrake/base/rpmsrate $(ROOTDEST)/Mandrake/RPMS* + /usr/bin/clean-rpmsrate $(ROOTDEST)/Mandrake/base/rpmsrate $(ROOTDEST)/Mandrake/RPMS* for i in ../kernel/modules.description ../kernel/all.modules/modules.cz*; do cp -f $$i $(DEST)/lib/; done + rm -f $(DEST)/lib/modules.cz-cdcom.* $(MAKE) -C share/po install SUDO= NAME=libDrakX LOCALEDIR=$(DEST)/usr/share/locale_special @@ -188,7 +197,7 @@ endif # ga and sl are disabled because too few messages are translated rm -rf $(DEST)/usr/share/locale_special/{ar,fa,ga,sl} -ifeq (i386,$(ARCH)) +ifeq (y,$(USE_PCMCIA)) cp -a /etc/pcmcia $(DEST)/etc ../tools/patch_pcmcia_config.pl $(DEST)/etc/pcmcia/config ../kernel/all.modules/`cat ../kernel/all.kernels/.main`/modules.dep endif @@ -196,16 +205,19 @@ endif find $(DEST) -name CVS | xargs rm -rf full_stage2: - if [ `id -u` = 0 ]; then rm -rf $(DEST); else $(SUDO) rm -rf $(DEST); fi - mkdir -p $(DEST) - $(MAKE) get_needed_files $(MAKE) stage2 + $(MAKE) mdkinst_stage2 + +mdkinst_stage2: + $(ROOTDEST)/misc/make_mdkinst_stage2 $(DEST) $(ROOTDEST)/Mandrake/base/mdkinst_stage2 stage2: + if [ `id -u` = 0 ]; then rm -rf $(DEST); else $(SUDO) rm -rf $(DEST); fi + mkdir -p $(DEST) + $(MAKE) get_needed_files $(MAKE) install_pms find $(DEST)/usr -name "*.pm" | xargs gzip -9f cd $(DEST)/usr/lib/perl5 ; gunzip 5.*/{PerlIO,Exporter}.pm.gz 5.*/*-linux-thread-multi/{XSLoader,lib}.pm.gz vendor_perl/*/*-linux-thread-multi/PerlIO/gzip.pm.gz - $(ROOTDEST)/misc/make_mdkinst_stage2 $(DEST) $(ROOTDEST)/Mandrake/base/mdkinst_stage2 # rules to build a test rpm diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config index 2f572b348..92ad36781 100644 --- a/perl-install/Makefile.config +++ b/perl-install/Makefile.config @@ -10,6 +10,7 @@ endif VERSION = 2.2.10-BOOT SUDO = sudo +TMPDIR = /tmp SO_FILES = c/blib/arch/auto/c/c.so PMS_DIRS = Newt Xconfig c xf86misc diskdrake harddrake interactive modules network partition_table printer resize_fat sbus_probing security PMS = *.pm $(PMS_DIRS:%=%/*.pm) commands install2 diff --git a/perl-install/Xconfig/FILES b/perl-install/Xconfig/FILES index f6352dedf..deefdedec 100644 --- a/perl-install/Xconfig/FILES +++ b/perl-install/Xconfig/FILES @@ -1,6 +1,8 @@ - -parse --- xfree ---- default ------------------ main - \--- card -------------------/ test - \-- monitor ---------------/ various - \- screen ---------------/ proprietary - \ resolution_and_depth-/ + + xfree3 + / \ +parse - -- xfreeX -- xfree ---- default ------------------ main + \ / \--- card -------------------/ test + xfree4 \-- monitor ---------------/ various + \- screen ---------------/ proprietary + \ resolution_and_depth-/ diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm index 7c858589b..3a528ad26 100644 --- a/perl-install/Xconfig/card.pm +++ b/perl-install/Xconfig/card.pm @@ -9,6 +9,9 @@ use common; use log; +my $force_xf4 = 1; + + my %VideoRams = ( 256 => N_("256 kB"), 512 => N_("512 kB"), @@ -21,22 +24,75 @@ my %VideoRams = ( 65536 => N_("64 MB or more"), ); +our %serversdriver = arch() =~ /^sparc/ ? ( + 'Mach64' => "accel", + '3DLabs' => "accel", + 'Sun' => "fbdev", + 'Sun24' => "fbdev", + 'SunMono' => "fbdev", + 'VGA16' => "vga16", + 'FBDev' => "fbdev", +) : ( + 'SVGA' => "svga", + 'S3' => "accel", + 'Mach32' => "accel", + 'Mach8' => "accel", + '8514' => "accel", + 'P9000' => "accel", + 'AGX' => "accel", + 'W32' => "accel", + 'Mach64' => "accel", + 'I128' => "accel", + 'S3V' => "accel", + '3DLabs' => "accel", + 'VGA16' => "vga16", + 'FBDev' => "fbdev", +); +my @allbutfbservers = grep { arch() =~ /^sparc/ || $serversdriver{$_} ne "fbdev" } keys(%serversdriver); +my @allservers = keys(%serversdriver); + my @xfree4_Drivers = ((arch() =~ /^sparc/ ? qw(sunbw2 suncg14 suncg3 suncg6 sunffb sunleo suntcx) : qw(apm ark chips cirrus cyrix glide i128 i740 i810 imstt mga neomagic newport nv rendition r128 radeon vesa s3 s3virge savage siliconmotion sis tdfx tga trident tseng vmware)), qw(ati glint vga fbdev)); +my $lib = (arch() =~ /x86_64/) ? "lib64" : "lib"; + +#- using XF4 if {Driver} && !{prefer_xf3} otherwise using XF3 +#- error if $force_xf4 && !{Driver} || !{Driver} && !{server} +#- internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} && !{server} + +sub using_xf4 { + my ($card) = @_; + $card->{Driver} && !$card->{prefer_xf3}; +} + +sub server_binary { + my ($card) = @_; + "/usr/X11R6/bin/" . + (using_xf4($card) ? 'XFree86' : + $card->{server} =~ /Sun(.*)/ ? "Xsun$1" : + $card->{server} eq 'Xpmac' ? 'Xpmac' : + "XF86_$card->{server}"); +} + sub from_raw_X { my ($raw_X) = @_; my $device = $raw_X->get_device or die "no card configured"; + my ($xfree3_server) = readlink("$::prefix/etc/X11/X") =~ /XF86_(.*)/; + my $card = { - use_DRI_GLX => eval { any { /dri/ } $raw_X->get_modules }, + use_UTAH_GLX => eval { any { /glx/ } $raw_X->{xfree3}->get_modules }, + use_DRI_GLX => eval { any { /dri/ } $raw_X->{xfree4}->get_modules }, + server => $xfree3_server, + prefer_xf3 => $xfree3_server && !$force_xf4, %$device, }; add_to_card__using_Cards($card, $card->{BoardName}); + $card->{prog} = server_binary($card); $card; } @@ -51,21 +107,26 @@ sub to_raw_X { $raw_X->set_devices($card, @{$card->{cards} || []}); - $raw_X->get_ServerLayout->{Xinerama} = { commented => !$card->{Xinerama}, Option => 1 } + $raw_X->{xfree4}->get_ServerLayout->{Xinerama} = { commented => !$card->{Xinerama}, Option => 1 } if defined $card->{Xinerama}; - $raw_X->set_load_module('glx', !$card->{DRI_GLX_SPECIAL}); #- glx for everyone, except proprietary nvidia - $raw_X->set_load_module('dri', $card->{use_DRI_GLX} && !$card->{DRI_GLX_SPECIAL}); + $raw_X->{xfree3}->set_load_module('glx-3.so', $card->{use_UTAH_GLX}); #- glx.so may clash with server version 4. + + $raw_X->{xfree4}->set_load_module('glx', !$card->{DRI_GLX_SPECIAL} && $card->{Driver2} ne 'fglrx'); #- glx for everyone, except proprietary nvidia + $raw_X->{xfree4}->set_load_module('dri', $card->{use_DRI_GLX} && !$card->{DRI_GLX_SPECIAL}); # This loads the NVIDIA GLX extension module. # IT IS IMPORTANT TO KEEP NAME AS FULL PATH TO libglx.so ELSE # IT WILL LOAD XFree86 glx module and the server will crash. - $raw_X->set_load_module('/usr/X11R6/lib/modules/extensions/libglx.so', $card->{DRI_GLX_SPECIAL}); + $raw_X->{xfree4}->set_load_module("/usr/X11R6/$lib/modules/extensions/libglx.so", $card->{DRI_GLX_SPECIAL}); + if ($card->{Driver2} ne 'nvidia') { + $raw_X->{xfree4}->set_load_module("/usr/X11R6/$lib/modules/extensions/libglx.a", 1); + } - $raw_X->remove_Section('DRI'); - $raw_X->add_Section('DRI', { Mode => { val => '0666' } }) if $card->{use_DRI_GLX}; + $raw_X->{xfree4}->remove_Section('DRI'); + $raw_X->{xfree4}->add_Section('DRI', { Mode => { val => '0666' } }) if $card->{use_DRI_GLX}; - $raw_X->remove_load_module('v4l') if $card->{use_DRI_GLX} && $card->{Driver} eq 'r128'; + $raw_X->{xfree4}->remove_load_module('v4l') if $card->{use_DRI_GLX} && $card->{Driver} eq 'r128'; } sub default_ATI_fglrx_config() { our $default_ATI_fglrx_config } @@ -73,7 +134,7 @@ sub default_ATI_fglrx_config() { our $default_ATI_fglrx_config } sub probe() { #-for Pixel tests #- my @c = { driver => 'Card:Matrox Millennium G400 DualHead', description => 'Matrox|Millennium G400 Dual HeadCard' }; - my @c = detect_devices::matching_driver('(Card|Server|Driver):'); + my @c = detect_devices::matching_driver('^(Card|Server|Driver):'); my @cards = map { my @l = $_->{description} =~ /(.*?)\|(.*)/; @@ -83,11 +144,12 @@ sub probe() { BusID => "PCI:$_->{pci_bus}:$_->{pci_device}:$_->{pci_function}", }; if ($_->{driver} =~ /Card:(.*)/) { $card->{BoardName} = $1; add_to_card__using_Cards($card, $1) } + elsif ($_->{driver} =~ /Server:(.*)/) { $card->{server} = $1 } elsif ($_->{driver} =~ /Driver:(.*)/) { $card->{Driver} = $1 } else { internal_error() } $_->{VideoRam} = 4096 if $_->{Driver} eq 'i810'; - $_->{Options}{UseFBDev} = undef if arch() =~ /ppc/ && $_->{Driver} eq 'r128'; + $_->{Options_xfree4}{UseFBDev} = undef if arch() =~ /ppc/ && $_->{Driver} eq 'r128'; $card; } @c; @@ -141,9 +203,11 @@ sub card_config__not_listed { ); my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+"); + my @xf3 = $options->{allowFB} ? @allservers : @allbutfbservers; my @xf4 = grep { $options->{allowFB} || $_ ne 'fbdev' } @xfree4_Drivers; my @list = ( (map { 'Vendor|' . $_ } keys %$cards), + if_(!$force_xf4, map { 'XFree 3|' . $_ } @xf3), (map { 'XFree 4|' . $_ } @xf4), ); @@ -165,6 +229,8 @@ sub card_config__not_listed { %$card = (); if ($kind eq 'Vendor') { add_to_card__using_Cards($card, $s); + } elsif ($kind eq 'XFree 3') { + $card->{server} = $s; } else { $card->{Driver} = $s; } @@ -178,9 +244,7 @@ sub multi_head_choose { my @choices = multi_head_choices('', @cards); my $tc = $choices[0]; - if ($auto) { - @choices == 1 or return; - } else { + if (!$auto) { $tc = $in->ask_from_listf(N("Multi-head configuration"), N("Your system supports multiple head configuration. What do you want to do?"), sub { $_[0]{text} }, \@choices) or return; @@ -197,15 +261,15 @@ sub configure_auto_install { if ($card->{card_name}) { #- try to get info from given card_name add_to_card__using_Cards($card, $card->{card_name}); - undef $card->{card_name} if !$card->{Driver}; #- bad card_name as we can't find the driver + undef $card->{card_name} if !$card->{server} && !$card->{Driver}; #- bad card_name as we can't find the server } - return if $card->{Driver}; + return if $card->{server} || $card->{Driver}; } my @cards = probe(); my ($choice) = multi_head_choices($old_X->{Xinerama}, @cards); my $card = $choice ? $choice->{code}() : do { - log::l('no graphic card probed, try providing one using $o->{card}{Driver} or $o->{card}{card_name}. Defaulting...'); + log::l('no graphic card probed, try providing one using $o->{card}{Driver} or $o->{card}{server} or $o->{card}{card_name}. Defaulting...'); { Driver => ($options->{allowFB} ? 'fbdev' : 'vesa') }; }; @@ -214,7 +278,7 @@ sub configure_auto_install { $glx_choice->{code}(); set_glx_restrictions($card); - install_server($card, $options, $do_pkgs); + $card->{prog} = install_server($card, $options, $do_pkgs); if ($card->{needVideoRam} && !$card->{VideoRam}) { $card->{VideoRam} = $options->{VideoRam_probed} || 4096; log::l("argh, I need to know VideoRam! Taking " . ($options->{probed_VideoRam} ? "the probed" : "a default") . " value: VideoRam = $card->{VideoRam}"); @@ -229,7 +293,7 @@ sub configure { my @cards = probe(); @cards or @cards = {}; - if (!$cards[0]{Driver}) { + if (!$cards[0]{server} && !$cards[0]{Driver}) { if ($options->{allowFB}) { $cards[0]{Driver} = 'fbdev'; } elsif ($auto) { @@ -246,11 +310,12 @@ sub configure { xfree_and_glx_choose($in, $card, $auto) or return; - eval { install_server($card, $options, $do_pkgs) }; - if ($@) { + eval { + $card->{prog} = install_server($card, $options, $do_pkgs); + } or do { $in->ask_warn('', N("Can't install XFree package: %s", $@)); goto card_config__not_listed; - } + }; if ($card->{needVideoRam} && !$card->{VideoRam}) { if ($auto) { @@ -271,12 +336,12 @@ sub configure { } sub install_server { - my ($card, $_options, $do_pkgs) = @_; + my ($card, $options, $do_pkgs) = @_; - my $prog = "$::prefix/usr/X11R6/bin/XFree86"; + my $prog = server_binary($card); my @packages; - push @packages, 'XFree86-server' if ! -x $prog; + push @packages, using_xf4($card) ? 'XFree86-server' : "XFree86-$card->{server}" if ! -x "$::prefix$prog"; #- additional packages to install according available card. #- add XFree86-libs-DRI here if using DRI (future split of XFree86 TODO) @@ -285,10 +350,17 @@ sub install_server { push @packages, 'Glide_V3-DRI' if member($card->{card_name}, 'Voodoo3 (generic)', 'Voodoo Banshee (generic)'); push @packages, 'XFree86-glide-module' if $card->{card_name} =~ /Voodoo/; } + if ($card->{use_UTAH_GLX}) { + push @packages, 'Mesa'; + } + + if ($options->{freedriver}) { + delete $card->{Driver2}; + } my %proprietary_Driver2 = ( - nvidia => [ 'NVIDIA_kernel', 'NVIDIA_GLX' ], #- using NVIDIA driver (TNT, TN2 and GeForce cards only). - fglrx => [ 'ATI_kernel', 'ATI_GLX' ], #- using ATI fglrx driver (Radeon, Fire GL cards only). + nvidia => [ 'nvidia-kernel', 'nvidia' ], #- using NVIDIA driver (TNT, TN2 and GeForce cards only). + fglrx => [ 'ati-kernel', 'ati' ], #- using ATI fglrx driver (Radeon, Fire GL cards only). ); if (my $rpms_needed = $proprietary_Driver2{$card->{Driver2}}) { if (my $proprietary_packages = $do_pkgs->check_kernel_module_packages($rpms_needed->[0], $rpms_needed->[1])) { @@ -297,21 +369,33 @@ sub install_server { } $do_pkgs->install(@packages) if @packages; - -x $prog or die "server not available (should be in $prog)"; + -x "$::prefix$prog" or die "server $card->{server} is not available (should be in $::prefix$prog)"; #- make sure everything is correct at this point, packages have really been installed #- and driver and GLX extension is present. if ($card->{Driver2} eq 'nvidia' && - -e "$::prefix/usr/X11R6/lib/modules/drivers/nvidia_drv.o" && - -l "$::prefix/usr/X11R6/lib/modules/extensions/libglx.so") { + -e "$::prefix/usr/X11R6/$lib/modules/drivers/nvidia_drv.o" && + -l "$::prefix/usr/X11R6/$lib/modules/extensions/libglx.so") { log::l("Using specific NVIDIA driver and GLX extensions"); $card->{Driver} = 'nvidia'; $card->{DRI_GLX_SPECIAL} = 1; - $card->{Options}{IgnoreEDID} = 1; + $card->{Options_xfree4}{IgnoreEDID} = 1; } + my %driver_to_libgl_config = ( + nvidia => "/etc/ld.so.conf.d/.conf.nvidia", + fglrx => "/etc/ld.so.conf.d/.conf.ati", + ); + if (my $file = $driver_to_libgl_config{$card->{Driver2}}) { + if (-e $file) { + symlinkf($file, "/etc/ld.so.conf.d/GL.conf"); + } + } else { + eval { rm_rf("/etc/ld.so.conf.d/GL.conf") }; + } + system("/sbin/ldconfig") if $::isStandalone; if ($card->{Driver2} eq 'fglrx' && - -e "$::prefix/usr/X11R6/lib/modules/dri/fglrx_dri.so" && - -e "$::prefix/usr/X11R6/lib/modules/drivers/fglrx_drv.o") { + -e "$::prefix/usr/X11R6/$lib/modules/dri/fglrx_dri.so" && + -e "$::prefix/usr/X11R6/$lib/modules/drivers/fglrx_drv.o") { log::l("Using specific ATI fglrx and DRI drivers"); $card->{Driver} = 'fglrx'; } @@ -320,6 +404,8 @@ sub install_server { require Xconfig::proprietary; Xconfig::proprietary::install_matrox_hal($::prefix); } + + $prog; } sub xfree_and_glx_choose { @@ -359,6 +445,7 @@ sub multi_head_choices { map_index { { Screen => $::i, %$_ } } ($_) x ($_->{MULTI_HEAD} || 1); } @cards; + delete $_->{server} foreach @cards; #- XFree 3 doesn't handle multi head (?) my $card = shift @cards; #- assume good default. $card->{cards} = \@cards; $card->{Xinerama} = $_[0]; @@ -378,19 +465,53 @@ sub multi_head_choices { #- XFree version available, it would be better to parse available package and get version from it. sub xfree4_version() { '4.3' } +sub xfree3_version() { '3.3.6' } sub xfree_and_glx_choices { my ($card) = @_; - my @choices = if_($card->{Driver}, { text => N("XFree %s", xfree4_version()), code => sub {} }); + my $xf3 = if_($card->{server} && !$force_xf4, + { text => N("XFree %s", xfree3_version()), code => sub { $card->{prefer_xf3} = 1 } }); + my $xf4 = if_($card->{Driver}, + { text => N("XFree %s", xfree4_version()), code => sub { $card->{prefer_xf3} = 0 } }); + + #- no XFree3 with multi-head + my @choices = grep { $_ } ($card->{cards} ? $xf4 : $card->{prefer_xf3} ? ($xf3, $xf4) : ($xf4, $xf3)); #- no GLX with Xinerama return @choices if $card->{Xinerama}; + #- try to figure if 3D acceleration is supported + #- by XFree 3.3 but not XFree 4 then ask user to keep XFree 3.3 ? + if ($card->{UTAH_GLX} && !$force_xf4) { + my $e = { text => N("XFree %s with 3D hardware acceleration", xfree3_version()), + code => sub { $card->{prefer_xf3} = 1; $card->{use_UTAH_GLX} = 1 }, + more_messages => ($card->{Driver} && !$card->{DRI_GLX} ? +N("Your card can have 3D hardware acceleration support but only with XFree %s. +Your card is supported by XFree %s which may have a better support in 2D.", xfree3_version(), xfree4_version()) : +N("Your card can have 3D hardware acceleration support with XFree %s.", xfree3_version())), + }; + $card->{prefer_xf3} ? unshift(@choices, $e) : push(@choices, $e); + } + + #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration, currenlty + #- this is with Utah GLX and so, it can provide a way of testing. + if ($card->{UTAH_GLX_EXPERIMENTAL} && $::expert && !$force_xf4) { + push @choices, { text => N("XFree %s with EXPERIMENTAL 3D hardware acceleration", xfree3_version()), + code => sub { $card->{prefer_xf3} = 1; $card->{use_UTAH_GLX} = 1 }, + more_messages => (using_xf4($card) && !$card->{DRI_GLX} ? +N("Your card can have 3D hardware acceleration support but only with XFree %s, +NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER. +Your card is supported by XFree %s which may have a better support in 2D.", xfree3_version(), xfree4_version()) : +N("Your card can have 3D hardware acceleration support with XFree %s, +NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", xfree3_version())), + }; + } + #- ask the expert or any user on second pass user to enable or not hardware acceleration support. if ($card->{DRI_GLX}) { unshift @choices, { text => N("XFree %s with 3D hardware acceleration", xfree4_version()), - code => sub { $card->{use_DRI_GLX} = 1 }, + code => sub { $card->{prefer_xf3} = 0; $card->{use_DRI_GLX} = 1 }, more_messages => N("Your card can have 3D hardware acceleration support with XFree %s.", xfree4_version()), }; } @@ -398,17 +519,36 @@ sub xfree_and_glx_choices { #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration. if ($card->{DRI_GLX_EXPERIMENTAL} && $::expert) { push @choices, { text => N("XFree %s with EXPERIMENTAL 3D hardware acceleration", xfree4_version()), - code => sub { $card->{use_DRI_GLX} = 1 }, + code => sub { $card->{prefer_xf3} = 0; $card->{use_DRI_GLX} = 1 }, more_messages => N("Your card can have 3D hardware acceleration support with XFree %s, NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", xfree4_version()), }; } + + if (arch() =~ /ppc/ && $ENV{DISPLAY}) { + push @choices, { text => N("Xpmac (installation display driver)"), code => sub { + #- HACK: re-allowing XFree 3 + $force_xf4 = 0; + $card->{server} = "Xpmac"; + $card->{prefer_xf3} = 1; + } }; + } @choices; } sub set_glx_restrictions { my ($card) = @_; + #- hack for ATI Mach64 cards where two options should be used if using Utah-GLX. + if (member($card->{card_name}, 'ATI Mach64 Utah', 'ATI Rage Mobility')) { + $card->{Options_xfree3}{no_font_cache} = undef if $card->{use_UTAH_GLX}; + $card->{Options_xfree3}{no_pixmap_cache} = undef if $card->{use_UTAH_GLX}; + } + #- hack for SiS cards where an option should be used if using Utah-GLX. + if (member($card->{card_name}, 'SiS 6326', 'SiS 630')) { + $card->{Options_xfree3}{no_pixmap_cache} = undef if $card->{use_UTAH_GLX}; + } + #- 3D acceleration configuration for XFree 4 using DRI, this is enabled by default #- but for some there is a need to specify VideoRam (else it won't run). if ($card->{use_DRI_GLX}) { @@ -419,7 +559,7 @@ sub set_glx_restrictions { #- hack for ATI Rage 128 card using a bttv or peripheral with PCI bus mastering exchange #- AND using DRI at the same time. if (member($card->{card_name}, 'ATI Rage 128', 'ATI Rage 128 TVout', 'ATI Rage 128 Mobility')) { - $card->{Options}{UseCCEFor2D} = bool2text(modules::probe_category('multimedia/tv')); + $card->{Options_xfree4}{UseCCEFor2D} = bool2text(modules::probe_category('multimedia/tv')); } } @@ -437,15 +577,21 @@ sub add_to_card__using_Cards { add2hash($card, $cards->{$name}); $card->{BoardName} = $card->{card_name}; + delete @$card{'server'} if $force_xf4; + + delete @$card{'UTAH_GLX', 'UTAH_GLX_EXPERIMENTAL'} + if $force_xf4 || availableRamMB() > 800; #- no Utah GLX if more than 800 Mb (server, or kernel-enterprise, Utha GLX does not work with latest). + $card; } #- needed for bad cards not restoring cleanly framebuffer, according to which version of XFree are used. sub check_bad_card { my ($card) = @_; - my $bad_card = $card->{BAD_FB_RESTORE}; + my $bad_card = using_xf4($card) ? $card->{BAD_FB_RESTORE} : $card->{BAD_FB_RESTORE_XF3}; $bad_card ||= $card->{Driver} eq 'i810' || $card->{Driver} eq 'fbdev'; $bad_card ||= member($card->{Driver}, 'nvidia', 'vmware') if !$::isStandalone; #- avoid testing during install at any price. + $bad_card ||= $card->{server} =~ /FBDev|Sun/ if !using_xf4($card); log::l("the graphics card does not like X in framebuffer") if $bad_card; @@ -470,13 +616,17 @@ sub readCardsDB { }, LINE => sub { $val =~ s/^\s*//; $card->{raw_LINES} .= "$val\n" }, CHIPSET => sub { $card->{Chipset} = $val }, + SERVER => sub { $card->{server} = $val }, DRIVER => sub { $card->{Driver} = $val }, DRIVER2 => sub { $card->{Driver2} = $val }, NEEDVIDEORAM => sub { $card->{needVideoRam} = 1 }, DRI_GLX => sub { $card->{DRI_GLX} = 1 if $card->{Driver} }, + UTAH_GLX => sub { $card->{UTAH_GLX} = 1 if $card->{server} }, DRI_GLX_EXPERIMENTAL => sub { $card->{DRI_GLX_EXPERIMENTAL} = 1 if $card->{Driver} }, + UTAH_GLX_EXPERIMENTAL => sub { $card->{UTAH_GLX_EXPERIMENTAL} = 1 if $card->{server} }, MULTI_HEAD => sub { $card->{MULTI_HEAD} = $val if $card->{Driver} }, BAD_FB_RESTORE => sub { $card->{BAD_FB_RESTORE} = 1 }, + BAD_FB_RESTORE_XF3 => sub { $card->{BAD_FB_RESTORE_XF3} = 1 }, FB_TVOUT => sub { $card->{FB_TVOUT} = 1 }, UNSUPPORTED => sub { delete $card->{Driver} }, diff --git a/perl-install/Xconfig/default.pm b/perl-install/Xconfig/default.pm index 9d317fc3a..e1cd2e1b8 100644 --- a/perl-install/Xconfig/default.pm +++ b/perl-install/Xconfig/default.pm @@ -22,7 +22,7 @@ sub configure { my $raw_X = Xconfig::xfree->empty_config; - $raw_X->add_load_module($_) foreach qw(dbe v4l extmod type1 freetype); + $raw_X->{xfree4}->add_load_module($_) foreach qw(dbe v4l extmod type1 freetype); config_keyboard($raw_X, $keyboard); config_mouse($raw_X, $mouse); diff --git a/perl-install/Xconfig/main.pm b/perl-install/Xconfig/main.pm index cab241fae..1e11b2b49 100644 --- a/perl-install/Xconfig/main.pm +++ b/perl-install/Xconfig/main.pm @@ -17,7 +17,7 @@ sub configure_monitor { my ($in, $raw_X) = @_; my $before = $raw_X->prepare_write; - Xconfig::monitor::configure($in, $raw_X, int($raw_X->get_devices)) or return; + Xconfig::monitor::configure($in, $raw_X) or return; if ($raw_X->prepare_write ne $before) { $raw_X->write; 'config_changed'; @@ -30,9 +30,9 @@ sub configure_resolution { my ($in, $raw_X) = @_; my $card = Xconfig::card::from_raw_X($raw_X); - my $monitors = [ $raw_X->get_monitors ]; + my $monitor = Xconfig::monitor::from_raw_X($raw_X); my $before = $raw_X->prepare_write; - Xconfig::resolution_and_depth::configure($in, $raw_X, $card, $monitors) or return; + Xconfig::resolution_and_depth::configure($in, $raw_X, $card, $monitor) or return; if ($raw_X->prepare_write ne $before) { $raw_X->write; 'config_changed'; @@ -45,11 +45,11 @@ sub configure_resolution { sub configure_everything_auto_install { my ($raw_X, $do_pkgs, $old_X, $options) = @_; my $X = {}; - $X->{monitors} = Xconfig::monitor::configure_auto_install($raw_X, $old_X) or return; - $options->{VideoRam_probed} = $X->{monitors}[0]{VideoRam_probed}; + $X->{monitor} = Xconfig::monitor::configure_auto_install($raw_X, $old_X) or return; + $options->{VideoRam_probed} = $X->{monitor}{VideoRam_probed}; $X->{card} = Xconfig::card::configure_auto_install($raw_X, $do_pkgs, $old_X, $options) or return; - Xconfig::screen::configure($raw_X) or return; - $X->{resolution} = Xconfig::resolution_and_depth::configure_auto_install($raw_X, $X->{card}, $X->{monitors}, $old_X); + Xconfig::screen::configure($raw_X, $X->{card}) or return; + $X->{resolution} = Xconfig::resolution_and_depth::configure_auto_install($raw_X, $X->{card}, $X->{monitor}, $old_X); &write($raw_X, $X); @@ -61,13 +61,11 @@ sub configure_everything { my ($in, $raw_X, $do_pkgs, $auto, $options) = @_; my $X = {}; my $ok = 1; - - my $ddc_info = Xconfig::monitor::getinfoFromDDC(); - $options->{VideoRam_probed} = $ddc_info->{VideoRam_probed}; + $ok &&= $X->{monitor} = Xconfig::monitor::configure($in, $raw_X, $auto); + $options->{VideoRam_probed} = $X->{monitor}{VideoRam_probed}; $ok &&= $X->{card} = Xconfig::card::configure($in, $raw_X, $do_pkgs, $auto, $options); - $ok &&= $X->{monitors} = Xconfig::monitor::configure($in, $raw_X, int($raw_X->get_devices), $ddc_info, $auto); - $ok &&= Xconfig::screen::configure($raw_X); - $ok &&= $X->{resolution} = Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitors}, $auto); + $ok &&= Xconfig::screen::configure($raw_X, $X->{card}); + $ok &&= $X->{resolution} = Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitor}, $auto); $ok &&= Xconfig::test::test($in, $raw_X, $X->{card}, '', 'skip_badcard') if !$auto; if (!$ok) { @@ -88,7 +86,7 @@ sub configure_chooser_raw { my $update_texts = sub { $texts{card} = $X->{card} && $X->{card}{BoardName} || N("Custom"); - $texts{monitors} = $X->{monitors} && $X->{monitors}[0]{ModelName} || N("Custom"); + $texts{monitor} = $X->{monitor} && $X->{monitor}{ModelName} || N("Custom"); $texts{resolution} = Xconfig::resolution_and_depth::to_string($X->{resolution}); $texts{$_} =~ s/(.{20}).*/$1.../ foreach keys %texts; #- ensure not too long @@ -103,8 +101,8 @@ sub configure_chooser_raw { $b_modified = 1; $update_texts->(); - if (member($field, 'card', 'monitors')) { - Xconfig::screen::configure($raw_X); + if (member($field, 'card', 'monitor')) { + Xconfig::screen::configure($raw_X, $X->{card}); $raw_X->set_resolution($X->{resolution}) if $X->{resolution}; } } @@ -117,15 +115,15 @@ sub configure_chooser_raw { { label => N("Graphic Card"), val => \$texts{card}, clicked => sub { $may_set->('card', Xconfig::card::configure($in, $raw_X, $do_pkgs, 0, $options)); } }, - { label => N("Monitor"), val => \$texts{monitors}, clicked => sub { - $may_set->('monitors', Xconfig::monitor::configure($in, $raw_X, int($raw_X->get_devices))); + { label => N("Monitor"), val => \$texts{monitor}, clicked => sub { + $may_set->('monitor', Xconfig::monitor::configure($in, $raw_X)); } }, - { label => N("Resolution"), val => \$texts{resolution}, disabled => sub { !$X->{card} || !$X->{monitors} }, + { label => N("Resolution"), val => \$texts{resolution}, disabled => sub { !$X->{card} || !$X->{monitor} }, clicked => sub { - $may_set->('resolution', Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitors})); + $may_set->('resolution', Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitor})); } }, if_(Xconfig::card::check_bad_card($X->{card}) || $::isStandalone, - { val => N("Test"), disabled => sub { !$X->{card} || !$X->{monitors} }, + { val => N("Test"), disabled => sub { !$X->{card} || !$X->{monitor} }, clicked => sub { $ok = Xconfig::test::test($in, $raw_X, $X->{card}, 'auto', 0); } }, @@ -143,7 +141,7 @@ sub configure_chooser { my $X = { card => scalar eval { Xconfig::card::from_raw_X($raw_X) }, - monitors => [ $raw_X->get_monitors ], + monitor => $raw_X->get_monitors && Xconfig::monitor::from_raw_X($raw_X), resolution => scalar eval { $raw_X->get_resolution }, }; my $before = $raw_X->prepare_write; @@ -160,12 +158,17 @@ sub configure_chooser { sub configure_everything_or_configure_chooser { my ($in, $options, $auto, $o_keyboard, $o_mouse) = @_; my $raw_X = Xconfig::xfree->read; + my $default = Xconfig::default::configure($o_keyboard, $o_mouse); + my $has_conf = @{$raw_X->{xfree3}} || @{$raw_X->{xfree4}}; + $raw_X->{xfree3} = $default->{xfree3} if !@{$raw_X->{xfree3}}; + $raw_X->{xfree4} = $default->{xfree4} if !@{$raw_X->{xfree4}}; - if (is_empty_array_ref($raw_X)) { - $raw_X = Xconfig::default::configure($o_keyboard, $o_mouse); - Xconfig::main::configure_everything($in, $raw_X, $in->do_pkgs, $auto, $options) or return; + return $raw_X if $has_conf && $auto; + + if ($has_conf) { + Xconfig::main::configure_chooser($in, $raw_X, $in->do_pkgs, $options) or return; } else { - Xconfig::main::configure_chooser($in, $raw_X, $in->do_pkgs, $options) or return if !$auto; + Xconfig::main::configure_everything($in, $raw_X, $in->do_pkgs, $auto, $options) or return; } $raw_X; } @@ -188,7 +191,7 @@ sub write { export_to_install_X($X); $raw_X->write; Xconfig::various::check_XF86Config_symlink(); - symlinkf "../../usr/X11R6/bin/XFree86", "$::prefix/etc/X11/X"; + symlinkf "../..$X->{card}{prog}", "$::prefix/etc/X11/X" if $X->{card}{server} !~ /Xpmac/; } @@ -200,8 +203,8 @@ sub export_to_install_X { $::o->{X}{resolution_wanted} = $X->{resolution}{X}; $::o->{X}{default_depth} = $X->{resolution}{Depth}; $::o->{X}{bios_vga_mode} = $X->{resolution}{bios}; - $::o->{X}{monitors} = $X->{monitors} if $X->{monitors}[0]{manually_chosen} && $X->{monitors}[0]{vendor} ne "Plug'n Play"; - $::o->{X}{card} = $X->{card} if $X->{card}{manually_chosen}; + $::o->{X}{monitor} = $X->{monitor} if $X->{monitor}{manually_chosen} && $X->{monitor}{vendor} ne "Plug'n Play"; + $::o->{X}{card} = $X->{monitor} if $X->{card}{manually_chosen}; $::o->{X}{Xinerama} = 1 if $X->{card}{Xinerama}; } diff --git a/perl-install/Xconfig/monitor.pm b/perl-install/Xconfig/monitor.pm index 008e0aef8..07e228e34 100644 --- a/perl-install/Xconfig/monitor.pm +++ b/perl-install/Xconfig/monitor.pm @@ -30,63 +30,61 @@ my @HorizSync_ranges = ( "31.5-94.0", ); -sub configure { - my ($in, $raw_X, $nb_monitors, $o_ddc_info, $b_auto) = @_; - my $monitors = [ $raw_X->get_or_new_monitors($nb_monitors) ]; - if ($o_ddc_info) { - put_in_hash($monitors->[0], $o_ddc_info); - } - my $head_nb = 1; - foreach my $monitor (@$monitors) { - choose($in, $monitor, @$monitors > 1 ? $head_nb++ : 0, $b_auto) or return; +sub from_raw_X { + my ($raw_X) = @_; + + my $monitor = $raw_X->get_monitor; + if (!$monitor->{HorizSync}) { + put_in_hash($monitor, getinfoFromDDC()); } - $raw_X->set_monitors(@$monitors); - $monitors; + $monitor; +} + +sub configure { + my ($in, $raw_X, $b_auto) = @_; + + my $monitor = from_raw_X($raw_X); + choose($in, $monitor, $b_auto) or return; + $raw_X->set_monitors($monitor); + $monitor; } sub configure_auto_install { my ($raw_X, $old_X) = @_; - if ($old_X->{monitor}) { - #- keep compatibility - $old_X->{monitor}{VertRefresh} = $old_X->{monitor}{vsyncrange}; - $old_X->{monitor}{HorizSync} = $old_X->{monitor}{hsyncrange}; - - #- new name - $old_X->{monitors} = [ delete $old_X->{monitor} ]; + my $old_monitor = $old_X->{monitor} || {}; + my %rename = (vsyncrange => 'VertRefresh', hsyncrange => 'HorizSync'); + foreach (keys %rename) { + my $v = $old_monitor->{$_} or next; + $old_monitor->{$rename{$_}} = $v; } - my $monitors = [ $raw_X->get_or_new_monitors($old_X->{monitors} ? @{$old_X->{monitors}} : 1) ]; - mapn { - my ($monitor, $auto_install_monitor) = @_; - put_in_hash($monitor, $auto_install_monitor); - } $monitors, $old_X->{monitors} if $old_X->{monitors}; + my $monitor = from_raw_X($raw_X); + put_in_hash($monitor, $old_monitor); - if (!$monitors->[0]{HorizSync}) { - put_in_hash($monitors->[0], getinfoFromDDC()); + my $monitors = monitors(); + if (!configure_automatic($monitor, $monitors)) { + good_default_monitor() =~ /(.*)\|(.*)/ or internal_error("bad good_default_monitor"); + put_in_hash($monitor, { VendorName => $1, ModelName => $2 }); + configure_automatic($monitor, $monitors) or internal_error("good_default_monitor (" . good_default_monitor() . ") is unknown in MonitorDB"); } - - my $monitors_db = monitors_db(); - foreach my $monitor (@$monitors) { - configure_automatic($monitor, $monitors_db) or put_in_hash($monitor, { HorizSync => '31.5-35.1', VertRefresh => '50-61' }); - } - $raw_X->set_monitors(@$monitors); - $monitors; + $raw_X->set_monitors($monitor); + $monitor; } sub choose { - my ($in, $monitor, $head_nb, $b_auto) = @_; + my ($in, $monitor, $b_auto) = @_; - my $monitors_db = monitors_db(); + my $monitors = monitors(); - my $ok = configure_automatic($monitor, $monitors_db); + my $ok = configure_automatic($monitor, $monitors); if ($b_auto) { log::l("Xconfig::monitor: auto failed") if !$ok; return $ok; } - my %h_monitors = map {; "$_->{VendorName}|$_->{ModelName}" => $_ } @$monitors_db; + my %h_monitors = map {; "$_->{VendorName}|$_->{ModelName}" => $_ } @$monitors; ask_monitor: my $merged_name = do { @@ -104,7 +102,7 @@ sub choose { }; $in->ask_from_({ title => N("Monitor"), - messages => $head_nb ? N("Choose a monitor for head #%d", $head_nb) : N("Choose a monitor"), + messages => N("Choose a monitor"), interactive_help_id => 'configureX_monitor' }, [ { val => \$merged_name, separator => '|', @@ -118,8 +116,8 @@ sub choose { if ($merged_name eq "Plug'n Play") { local $::noauto = 0; #- hey, you asked for plug'n play, so i do probe! delete @$monitor{'VendorName', 'ModelName', 'EISA_ID'}; - put_in_hash($monitor, getinfoFromDDC()) if $head_nb <= 1; - if ($head_nb > 1 || configure_automatic($monitor, $monitors_db)) { + put_in_hash($monitor, getinfoFromDDC()); + if (configure_automatic($monitor, $monitors)) { $monitor->{VendorName} = "Plug'n Play"; } else { $in->ask_warn('', N("Plug'n Play probing failed. Please select the correct monitor")); @@ -145,11 +143,11 @@ that is beyond the capabilities of your monitor: you may damage your monitor. } sub configure_automatic { - my ($monitor, $monitors_db) = @_; + my ($monitor, $monitors) = @_; if ($monitor->{EISA_ID}) { log::l("EISA_ID: $monitor->{EISA_ID}"); - if (my $mon = find { lc($_->{EISA_ID}) eq $monitor->{EISA_ID} } @$monitors_db) { + if (my $mon = find { lc($_->{EISA_ID}) eq $monitor->{EISA_ID} } @$monitors) { add2hash($monitor, $mon); log::l("EISA_ID corresponds to: $monitor->{ModelName}"); } elsif (!$monitor->{HorizSync} || !$monitor->{VertRefresh}) { @@ -157,7 +155,7 @@ sub configure_automatic { delete @$monitor{'VendorName', 'ModelName', 'EISA_ID'}; } } else { - if (my $mon = find { $_->{VendorName} eq $monitor->{VendorName} && $_->{ModelName} eq $monitor->{ModelName} } @$monitors_db) { + if (my $mon = find { $_->{VendorName} eq $monitor->{VendorName} && $_->{ModelName} eq $monitor->{ModelName} } @$monitors) { put_in_hash($monitor, $mon); } } @@ -165,8 +163,51 @@ sub configure_automatic { return $monitor->{HorizSync} && $monitor->{VertRefresh}; } +# Parse XFree86 log in case with got not valuable information from +# ddcxinfos. NOTE: this is only safe at install stage. +sub getinfoFromXFree() { + my $xf86log = "/var/log/XFree86.0.log"; + $::isInstall && -r $xf86log or return; + + my ($VideoRAM, $HorizSync, $VertRefresh, $VendorName, $EISA_ID, $size); + for (cat_($xf86log)) { + if (/(VideoRAM|Total Mem): (\d+) kB/) { + $VideoRAM = $2; + } + elsif (/Ranges:\s+V min: (\d+)\s+V max: (\d+) ?Hz,\s+H min: (\d+)\s+H max: (\d+) ?kHz/) { + $HorizSync = "$3-$4"; + $VertRefresh = "$1-$2"; + } + elsif (/hsync range of ([.\d]+-[.\d]+) ?kHz/) { + $HorizSync = $1 if !$HorizSync; + } + elsif (/vrefresh range of ([.\d]+-[.\d]+) ?Hz/) { + $VertRefresh = $1 if !$VertRefresh; + } + elsif (/(Display dimensions|Image Size):\s+\(?(\d+)[,x\s]+(\d+)\)? mm/) { + my ($x, $y) = (($2+9)/10, ($3+9)/10); # round up + $size = sqrt($x*$x + $y*$y) / 2.54 * 1.08; + } + elsif (/Monitor name: (.+)/) { + $VendorName = $1; + } + elsif (/Manufacturer: (\w+)\s+Model: (\w+)/) { + $EISA_ID = "$1$2"; + } + } + + { + VideoRam_probed => $VideoRAM, + HorizSync => $HorizSync, + VertRefresh => $VertRefresh, + size => $size, + if_($EISA_ID, EISA_ID => lc($EISA_ID)), + VendorName => $VendorName || "Plug'n Play", + } +} + sub getinfoFromDDC() { - my ($VideoRam, @l) = any::ddcxinfos() or return; + my ($VideoRam, @l) = any::ddcxinfos() or return getinfoFromXFree(); my @Modes; local $_; @@ -177,6 +218,9 @@ sub getinfoFromDDC() { push @Modes, [ $x, $y, $depth ]; } + # last chance to get some useful information + return getinfoFromXFree() if ! @l; + my ($h, $v, $size, @_modes) = @l; { VideoRam_probed => to_int($VideoRam), @@ -189,13 +233,13 @@ sub getinfoFromDDC() { }; } -sub monitors_db() { +sub monitors() { readMonitorsDB("$ENV{SHARE_PATH}/ldetect-lst/MonitorsDB"); } sub readMonitorsDB { my ($file) = @_; - my @monitors_db; + my @monitors; my $F = openFileMaybeCompressed($file); local $_; my $lineno = 0; while (<$F>) { @@ -206,9 +250,9 @@ sub readMonitorsDB { my @fields = qw(VendorName ModelName EISA_ID HorizSync VertRefresh dpms); my %l; @l{@fields} = split /\s*;\s*/; - push @monitors_db, \%l; + push @monitors, \%l; } - \@monitors_db; + \@monitors; } diff --git a/perl-install/Xconfig/resolution_and_depth.pm b/perl-install/Xconfig/resolution_and_depth.pm index 436228d04..95c892f17 100644 --- a/perl-install/Xconfig/resolution_and_depth.pm +++ b/perl-install/Xconfig/resolution_and_depth.pm @@ -13,6 +13,7 @@ our %depth2text = ( 15 => N_("32 thousand colors (15 bits)"), 16 => N_("65 thousand colors (16 bits)"), 24 => N_("16 million colors (24 bits)"), + 32 => N_("4 billion colors (32 bits)"), ); our @depths_available = ikeys(%depth2text); @@ -83,21 +84,33 @@ sub allowed { my ($prefered_depth, @depths, @resolutions, @resolution_and_depth); - if ($card->{Driver} eq 'fbdev') { + my $using_xf4 = Xconfig::card::using_xf4($card); + + if ($using_xf4 ? $card->{Driver} eq 'fbdev' : $card->{server} eq 'FBDev') { push @resolution_and_depth, grep { $_->{Depth} == 16 } @bios_vga_modes; - } elsif ($card->{Driver} eq 'fglrx') { + } elsif ($using_xf4 && $card->{Driver} eq 'fglrx') { $prefered_depth = 24; push @depths, 24; - } else { + } elsif ($using_xf4) { if ($card->{use_DRI_GLX}) { $prefered_depth = 16; push @depths, 16, 24; } if ($card->{BoardName} eq 'RIVA128') { @depths = qw(8 15 24) } #- X doesn't even start in 16bpp for RIVA128 + } elsif ($card->{use_UTAH_GLX}) { + $prefered_depth = 16; + push @depths, 16; + } else { + if ($card->{server} eq 'Sun24') { push @depths, 24, 8, 2 } + elsif ($card->{server} eq 'Sun') { push @depths, 8, 2 } + elsif ($card->{server} eq 'SunMono') { push @depths, 2 } + elsif ($card->{server} eq 'VGA16') { push @depths, 8; push @resolutions, '640x480' } + elsif ($card->{BoardName} =~ /SiS/) { push @depths, 24, 16, 8 } + elsif ($card->{BoardName} eq 'S3 Trio3D') { push @depths, 24, 16, 8 } } if (!@resolution_and_depth || @depths || @resolutions) { - @depths = our @depths_available if !@depths; - @resolutions = @Xconfig::xfree::resolutions if !@resolutions; + @depths = grep { !($using_xf4 && /32/) } (our @depths_available) if !@depths; + @resolutions = @Xconfig::xfreeX::resolutions if !@resolutions; push @resolution_and_depth, map { @@ -136,16 +149,16 @@ sub choose { sub choices { - my ($_raw_X, $resolution_wanted, $card, $monitors) = @_; + my ($_raw_X, $resolution_wanted, $card, $monitor) = @_; $resolution_wanted ||= {}; my ($prefered_depth, @resolutions) = allowed($card); - @resolutions = filter_using_HorizSync($monitors->[0]{HorizSync}, @resolutions) if $monitors->[0]{HorizSync}; + @resolutions = filter_using_HorizSync($monitor->{HorizSync}, @resolutions) if $monitor->{HorizSync}; @resolutions = filter_using_VideoRam($card->{VideoRam}, @resolutions) if $card->{VideoRam}; my $x_res = do { - my $res = $resolution_wanted->{X} || ($monitors->[0]{ModelName} =~ /^Flat Panel (\d+x\d+)$/ ? $1 : size2default_resolution($monitors->[0]{size} || 14)); + my $res = $resolution_wanted->{X} || ($monitor->{ModelName} =~ /^Flat Panel (\d+x\d+)$/ ? $1 : size2default_resolution($monitor->{size} || 14)); my $x_res = first(split 'x', $res); #- take the first available resolution <= the wanted resolution max map { if_($_->{X} <= $x_res, $_->{X}) } @resolutions; @@ -167,13 +180,13 @@ sub choices { } sub configure { - my ($in, $raw_X, $card, $monitors, $b_auto) = @_; + my ($in, $raw_X, $card, $monitor, $b_auto) = @_; - my ($default_resolution, @resolutions) = choices($raw_X, $raw_X->get_resolution, $card, $monitors); + my ($default_resolution, @resolutions) = choices($raw_X, $raw_X->get_resolution, $card, $monitor); if ($b_auto) { #- use $default_resolution - if ($card->{Driver} eq 'fglrx') { + if (Xconfig::card::using_xf4($card) && $card->{Driver} eq 'fglrx') { $default_resolution = first(find { $default_resolution->{Y} eq $_->{Y} && $_->{Depth} == 24 } $default_resolution, @resolutions); $default_resolution ||= first(find { $_->{Depth} == 24 } $default_resolution, @resolutions); @@ -189,11 +202,11 @@ sub configure { } sub configure_auto_install { - my ($raw_X, $card, $monitors, $old_X) = @_; + my ($raw_X, $card, $monitor, $old_X) = @_; my $resolution_wanted = { X => $old_X->{resolution_wanted}, Depth => $old_X->{default_depth} }; - my ($default_resolution) = choices($raw_X, $resolution_wanted, $card, $monitors); + my ($default_resolution) = choices($raw_X, $resolution_wanted, $card, $monitor); $default_resolution or die "you selected an unusable depth"; $raw_X->set_resolution($default_resolution); diff --git a/perl-install/Xconfig/screen.pm b/perl-install/Xconfig/screen.pm index 89e416a4d..761c5defd 100644 --- a/perl-install/Xconfig/screen.pm +++ b/perl-install/Xconfig/screen.pm @@ -7,7 +7,7 @@ use common; sub configure { - my ($raw_X) = @_; + my ($raw_X, $card) = @_; my @devices = $raw_X->get_devices; my @monitors = $raw_X->get_monitors; @@ -17,12 +17,25 @@ sub configure { @monitors = $raw_X->get_monitors; } - my @sections = mapn { - my ($device, $monitor) = @_; - { Device => $device->{Identifier}, Monitor => $monitor->{Identifier} } - } \@devices, \@monitors; + if ($card->{server}) { + $raw_X->{xfree3}->set_screens({ Device => $devices[0]{Identifier}, Monitor => $monitors[0]{Identifier}, + Driver => $Xconfig::card::serversdriver{$card->{server}} || internal_error("bad XFree3 server $card->{server}"), + }); + } else { + @{$raw_X->{xfree3}} = (); + } + + if ($card->{Driver}) { + my @sections = mapn { + my ($device, $monitor) = @_; + { Device => $device->{Identifier}, Monitor => $monitor->{Identifier} } + } \@devices, \@monitors; + + $raw_X->{xfree4}->set_screens(@sections); + } else { + @{$raw_X->{xfree4}} = (); + } - $raw_X->set_screens(@sections); 1; } diff --git a/perl-install/Xconfig/test.pm b/perl-install/Xconfig/test.pm index e2ac0505a..8a2ecc632 100644 --- a/perl-install/Xconfig/test.pm +++ b/perl-install/Xconfig/test.pm @@ -48,7 +48,7 @@ sub test { fuzzy_pidofs(qr/\bxfs\b/) or die "xfs is not running"; my $f = $::testing ? $tmpconfig : "/etc/X11/XF86Config.test"; - $raw_X->write("$::prefix/$f"); + $raw_X->{Xconfig::card::using_xf4($card) ? 'xfree4' : 'xfree3'}->write("$::prefix/$f"); my $f_err = common::secured_file($::prefix . ($ENV{TMPDIR} || "$ENV{HOME}/tmp") . '/.drakx.Xoutput'); @@ -57,7 +57,9 @@ sub test { system("xauth add :9 . `mcookie`"); open STDERR, ">$f_err"; chroot $::prefix if $::prefix; - exec 'XFree86', '-xf86config', $f, ":9" or c::_exit(0); + exec $card->{prog}, + if_($card->{prog} !~ /Xsun/, "-xf86config", $f), + ":9" or c::_exit(0); } do { sleep 1 } until xtest(":9") || waitpid($pid, c::WNOHANG()); @@ -74,12 +76,26 @@ sub test { local $_; i: while (<$F>) { - if (/^\(EE\)/ && !/Disabling/ || /^Fatal\b/) { - my @msg = !/error/ && $_; - local $_; - while (<$F>) { - /reporting a problem/ and last; - $warn_error->(join(@msg, $_)); + if (Xconfig::card::using_xf4($card)) { + if (/^\(EE\)/ && !/Disabling/ || /^Fatal\b/) { + my @msg = !/error/ && $_; + local $_; + while (<$F>) { + /reporting a problem/ and last; + $warn_error->(join(@msg, $_)); + return 0; + } + } + } else { + if (/\b(error|not supported)\b/i) { + my @msg = !/error/ && $_; + local $_; + while (<$F>) { + /not fatal/ and last i; + /^$/ and last; + push @msg, $_; + } + $warn_error->(join(@msg)); return 0; } } diff --git a/perl-install/Xconfig/various.pm b/perl-install/Xconfig/various.pm index d3d49ee08..5849a1c17 100644 --- a/perl-install/Xconfig/various.pm +++ b/perl-install/Xconfig/various.pm @@ -18,28 +18,27 @@ sub to_string { sub info { my ($raw_X, $card) = @_; my $info; - my $xf_ver = Xconfig::card::xfree4_version(); - my $title = $card->{use_DRI_GLX} ? N("XFree %s with 3D hardware acceleration", $xf_ver) : - N("XFree %s", $xf_ver); + my $xf_ver = Xconfig::card::using_xf4($card) ? Xconfig::card::xfree4_version() : Xconfig::card::xfree3_version(); + my $title = $card->{use_DRI_GLX} || $card->{use_UTAH_GLX} ? + N("XFree %s with 3D hardware acceleration", $xf_ver) : N("XFree %s", $xf_ver); my $keyboard = eval { $raw_X->get_keyboard } || {}; - my @monitors = eval { $raw_X->get_monitors }; + my $monitor = eval { $raw_X->get_monitor } || {}; my $device = eval { $raw_X->get_device } || {}; my $mouse = eval { first($raw_X->get_mice) } || {}; $info .= N("Keyboard layout: %s\n", $keyboard->{XkbLayout}); $info .= N("Mouse type: %s\n", $mouse->{Protocol}); $info .= N("Mouse device: %s\n", $mouse->{Device}) if $::expert; - foreach my $monitor (@monitors) { - $info .= N("Monitor: %s\n", $monitor->{ModelName}); - $info .= N("Monitor HorizSync: %s\n", $monitor->{HorizSync}) if $::expert; - $info .= N("Monitor VertRefresh: %s\n", $monitor->{VertRefresh}) if $::expert; - } + $info .= N("Monitor: %s\n", $monitor->{ModelName}); + $info .= N("Monitor HorizSync: %s\n", $monitor->{HorizSync}) if $::expert; + $info .= N("Monitor VertRefresh: %s\n", $monitor->{VertRefresh}) if $::expert; $info .= N("Graphics card: %s\n", $device->{VendorName} . ' ' . $device->{BoardName}); $info .= N("Graphics memory: %s kB\n", $device->{VideoRam}) if $device->{VideoRam}; if (my $resolution = eval { $raw_X->get_resolution }) { $info .= N("Color depth: %s\n", translate($Xconfig::resolution_and_depth::depth2text{$resolution->{Depth}})); $info .= N("Resolution: %s\n", join('x', @$resolution{'X', 'Y'})); } + $info .= N("XFree86 server: %s\n", $card->{server}) if $card->{server}; $info .= N("XFree86 driver: %s\n", $device->{Driver}) if $device->{Driver}; "$title\n\n$info"; } @@ -67,7 +66,7 @@ sub choose_xdm { my ($in, $b_auto) = @_; my $xdm = $::isStandalone ? runlevel() == 5 : 1; - if (!$b_auto) { + if (!$b_auto || $::isStandalone) { $xdm = $in->ask_yesorno_({ title => N("Graphical interface at startup"), messages => @@ -82,7 +81,7 @@ Would you like XFree to start when you reboot?"), sub tvout { my ($in, $card, $options) = @_; - $card->{FB_TVOUT} && $options->{allowFB} or return; + $card->{FB_TVOUT} && Xconfig::card::using_xf4($card) && $options->{allowFB} or return; $in->ask_yesorno('', N("Your graphic card seems to have a TV-OUT connector. It can be configured to work using frame-buffer. @@ -105,25 +104,26 @@ sub configure_FB_TVOUT { my ($use_FB_TVOUT) = @_; my $raw_X = Xconfig::default::configure(); - return if is_empty_array_ref($raw_X); + my $xfree4 = $raw_X->{xfree4}; + return if is_empty_array_ref($xfree4); - $raw_X->set_monitors({ HorizSync => '30-50', VertRefresh => ($use_FB_TVOUT->{norm} eq 'NTSC' ? 60 : 50) }); - first($raw_X->get_Sections('Monitor'))->{ModeLine} = [ + $xfree4->set_monitors({ HorizSync => '30-50', VertRefresh => ($use_FB_TVOUT->{norm} eq 'NTSC' ? 60 : 50) }); + first($xfree4->get_monitor_sections)->{ModeLine} = [ { val => '"640x480" 29.50 640 675 678 944 480 530 535 625', pre_comment => "# PAL\n" }, { val => '"800x600" 36.00 800 818 820 960 600 653 655 750' }, { val => '"640x480" 28.195793 640 656 658 784 480 520 525 600', pre_comment => "# NTSC\n" }, { val => '"800x600" 38.769241 800 812 814 880 600 646 649 735' }, ]; - $raw_X->set_devices({ Driver => 'fbdev' }); + $xfree4->set_devices({ Driver => 'fbdev' }); - my ($device) = $raw_X->get_devices; - my ($monitor) = $raw_X->get_monitors; - $raw_X->set_screens({ Device => $device->{Identifier}, Monitor => $monitor->{Identifier} }); + my ($device) = $xfree4->get_devices; + my ($monitor) = $xfree4->get_monitors; + $xfree4->set_screens({ Device => $device->{Identifier}, Monitor => $monitor->{Identifier} }); - my $Screen = $raw_X->get_default_screen; + my $Screen = $xfree4->get_default_screen; $Screen->{Display} = [ map { { l => { Depth => { val => $_ } } } } 8, 16 ]; - $raw_X->write("$::prefix/etc/X11/XF86Config.tvout"); + $xfree4->write("$::prefix/etc/X11/XF86Config-4.tvout"); check_XF86Config_symlink(); diff --git a/perl-install/Xconfig/xfree.pm b/perl-install/Xconfig/xfree.pm index 33600f9c0..df6c0d3e0 100644 --- a/perl-install/Xconfig/xfree.pm +++ b/perl-install/Xconfig/xfree.pm @@ -5,476 +5,111 @@ use strict; use common; use Xconfig::parse; +use Xconfig::xfree3; +use Xconfig::xfree4; +use log; -#- mostly internal only -sub new { - my ($class, $val) = @_; - bless $val, $class; -} -################################################################################ -# I/O ########################################################################## -################################################################################ sub read { - my ($class) = @_; - my $file = "$::prefix/etc/X11/XF86Config"; - $file = "$file-4" if -e "$file-4"; #- prefer XF86Config-4 when there is one. Writing will take care of keeping only the new name - $class->new(Xconfig::parse::read_XF86Config($file)); + my ($class, $o_xfree3_file, $o_xfree4_file) = @_; + bless { xfree3 => eval { Xconfig::xfree3->read($o_xfree3_file) } || [], + xfree4 => eval { Xconfig::xfree4->read($o_xfree4_file) } || [] }, $class; } sub write { - my ($raw_X) = @_; - my $file = "$::prefix/etc/X11/XF86Config"; - rename $file, "$file.old"; - rename "$file-4", "$file-4.old"; #- there won't be any XF86Config-4 anymore, we want this! - Xconfig::parse::write_XF86Config($raw_X, $file); + my ($both, $o_xfree3_file, $o_xfree4_file) = @_; + $both->{xfree3} ? $both->{xfree3}->write($o_xfree3_file) : unlink($o_xfree3_file); + $both->{xfree4} ? $both->{xfree4}->write($o_xfree4_file) : unlink($o_xfree4_file); } sub prepare_write { - my ($raw_X) = @_; - join('', Xconfig::parse::prepare_write_XF86Config($raw_X)); + my ($both) = @_; + ($both->{xfree4} || $both->{xfree3})->prepare_write; } + sub empty_config { my ($class) = @_; - $class->new(Xconfig::parse::read_XF86Config_from_string(our $default_header)); -} - -################################################################################ -# keyboard ##################################################################### -################################################################################ -my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions XkbCompat); -sub get_keyboard { - my ($raw_X) = @_; - my $raw_kbd = $raw_X->get_Section('Keyboard') or die "no keyboard section"; - raw_export_section($raw_kbd, \@keyboard_fields); -} -sub set_keyboard { - my ($raw_X, $kbd) = @_; - my $raw_kbd = $raw_X->get_Section('Keyboard') || _new_keyboard_section($raw_X); - raw_import_section($raw_kbd, $kbd); - _set_Option('keyboard', $raw_kbd, keys %$kbd); -} -sub _new_keyboard_section { - my ($raw_X) = @_; - my $raw_kbd = { Identifier => { val => 'Keyboard1' }, Driver => { val => 'Keyboard' } }; - $raw_X->add_Section('InputDevice', $raw_kbd); - - my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; - push @$layout, { val => '"Keyboard1" "CoreKeyboard"' }; - - $raw_kbd; -} - - -################################################################################ -# mouse ######################################################################## -################################################################################ -#- example: { Protocol => 'IMPS/2', Device => '/dev/psaux', Emulate3Buttons => undef, Emulate3Timeout => 50, ZAxisMapping => [ '4 5', '6 7' ] } -my @mouse_fields = qw(Protocol Device ZAxisMapping Emulate3Buttons Emulate3Timeout); #-); -sub get_mice { - my ($raw_X) = @_; - my @raw_mice = $raw_X->get_InputDevices('mouse'); - map { raw_export_section($_, \@mouse_fields) } @raw_mice; -} -sub set_mice { - my ($raw_X, @mice) = @_; - my @raw_mice = _new_mouse_sections($raw_X, int @mice); - mapn { - my ($raw_mouse, $mouse) = @_; - raw_import_section($raw_mouse, $mouse); - _set_Option('mouse', $raw_mouse, keys %$mouse); - } \@raw_mice, \@mice; -} -sub _new_mouse_sections { - my ($raw_X, $nb_new) = @_; - $raw_X->remove_InputDevices('mouse'); - - my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; - @$layout = grep { $_->{val} !~ /^"Mouse/ } @$layout; - - $nb_new or return; - - my @l = map { - my $h = { Identifier => { val => "Mouse$_" }, Driver => { val => 'mouse' } }; - $raw_X->add_Section('InputDevice', $h); - } (1 .. $nb_new); - - push @$layout, { val => qq("Mouse1" "CorePointer") }; - push @$layout, { val => qq("Mouse$_" "SendCoreEvents") } foreach 2 .. $nb_new; - - @l; -} - - -################################################################################ -# resolution ################################################################### -################################################################################ -sub get_resolution { - my ($raw_X, $o_Screen) = @_; - my $Screen = $o_Screen || $raw_X->get_default_screen or return {}; - - my $depth = val($Screen->{DefaultColorDepth}); - my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return {}; - $Display->{l}{Virtual} && val($Display->{l}{Virtual}) =~ /(\d+)\s+(\d+)/ or - val($Display->{l}{Modes}) =~ /(\d+)x(\d+)/ or return {}; - { X => $1, Y => $2, Depth => val($Display->{l}{Depth}) }; -} -sub set_resolution { - my ($raw_X, $resolution, $o_Screen_) = @_; - - foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_Sections('Screen')) { - $Screen ||= $raw_X->get_default_screen or internal_error('no screen'); - - $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} eq '32' ? 24 : $resolution->{Depth} }; - $Screen->{Display} = [ map { - { l => { Depth => { val => $_ }, Virtual => { val => join(' ', @$resolution{'X', 'Y'}) } } }; - } 8, 15, 16, 24 ]; - } -} - - -################################################################################ -# device ####################################################################### -################################################################################ -my @device_fields = qw(VendorName BoardName Driver VideoRam Screen BusID); #-); -sub get_device { - my ($raw_X) = @_; - first(get_devices($raw_X)); + bless { xfree3 => Xconfig::xfree3->empty_config, + xfree4 => Xconfig::xfree4->empty_config }, $class; } -sub get_devices { - my ($raw_X) = @_; - my @raw_devices = $raw_X->get_Sections('Device'); - map { - my $raw_device = $_; - my $device = raw_export_section($raw_device, [ 'Identifier', @device_fields ]); - $device->{Options} = raw_export_section($raw_device, [ grep { (deref_array($raw_device->{$_}))[0]->{Option} } keys %$raw_device ]); - $device; - } @raw_devices; -} -sub set_devices { - my ($raw_X, @devices) = @_; - my @raw_devices = _new_device_sections($raw_X, int @devices); - mapn { - my ($raw_device, $device) = @_; - my %Options = %{$device->{Options} || {}}; - raw_import_section($raw_device, $device, \@device_fields); - raw_import_section($raw_device, \%Options); - $_->{Option} = 1 foreach map { deref_array($raw_device->{$_}) } keys %Options; - $raw_device->{''} = [ { post_comment => $device->{raw_LINES} } ] if $device->{raw_LINES}; - } \@raw_devices, \@devices; -} -sub _new_device_sections { - my ($raw_X, $nb_new) = @_; - $raw_X->remove_Section('Device'); - map { $raw_X->add_Section('Device', { Identifier => { val => "device$_" }, DPMS => { Option => 1 } }) } (1 .. $nb_new); -} - - -################################################################################ -# wacoms ####################################################################### -################################################################################ -sub set_wacoms { - my ($raw_X, @wacoms) = @_; - $raw_X->remove_InputDevices('wacom'); - - my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; - @$layout = grep { $_->{val} !~ /^"(Stylus|Eraser|Cursor)/ } @$layout; - - @wacoms or return; - - my %Modes = (Stylus => 'Absolute', Eraser => 'Absolute', Cursor => 'Relative'); - - each_index { - my $wacom = $_; - foreach (keys %Modes) { - my $identifier = $_ . ($::i + 1); - my $h = { Identifier => { val => $identifier }, - Driver => { val => 'wacom' }, - Type => { val => lc $_, Option => 1 }, - Device => { val => $wacom->{Device}, Option => 1 }, - Mode => { val => $Modes{$_}, Option => 1 }, - if_($wacom->{USB}, USB => { Option => 1 }) - }; - $raw_X->add_Section('InputDevice', $h); - push @$layout, { val => qq("$identifier" "AlwaysCore") }; - } - } @wacoms; -} - - -################################################################################ -# monitor ###################################################################### -################################################################################ -my @monitor_fields = qw(VendorName ModelName HorizSync VertRefresh); -sub get_monitors { - my ($raw_X) = @_; - my @raw_monitors = $raw_X->get_Sections('Monitor'); - map { raw_export_section($_, [ 'Identifier', @monitor_fields ]) } @raw_monitors; -} -sub set_monitors { - my ($raw_X, @monitors) = @_; - my @raw_monitors = _new_monitor_sections($raw_X, int @monitors); - mapn { - my ($raw_monitor, $monitor) = @_; - raw_import_section($raw_monitor, $monitor, \@monitor_fields); - } \@raw_monitors, \@monitors; -} -sub get_or_new_monitors { - my ($raw_X, $nb_new) = @_; - my @monitors = $raw_X->get_monitors; - #- ensure we have exactly $nb_new monitors; - if ($nb_new > @monitors) { - @monitors, ({}) x ($nb_new - @monitors); - } else { - splice(@monitors, 0, $nb_new); - } -} -sub _new_monitor_sections { - my ($raw_X, $nb_new) = @_; - my $ModeLine = ModeLine_from_string(qq(Section "Monitor"\n) . (our $default_ModeLine) . qq(EndSection\n)); - $raw_X->remove_Section('Monitor'); - map { $raw_X->add_Section('Monitor', { Identifier => { val => "monitor$_" }, ModeLine => $ModeLine }) } (1 .. $nb_new); -} +sub get_keyboard { get_both('get_keyboard', @_) } +sub set_keyboard { set_both('set_keyboard', @_) } +sub get_mice { get_both('get_mice', @_) } +sub set_mice { set_both('set_mice', @_) } +sub get_resolution { get_both('get_resolution', @_) } +sub set_resolution { set_both('set_resolution', @_) } -################################################################################ -# screens ###################################################################### -################################################################################ -sub get_default_screen { - my ($raw_X) = @_; - my @l = $raw_X->get_Sections('Screen'); - (find { $_->{Identifier} && val($_->{Identifier}) eq 'screen1' || - $_->{Driver} && val($_->{Driver}) =~ /svga|accel/ } @l) || $l[0]; -} -sub set_screens { - my ($raw_X, @screens) = @_; - my @raw_screens = _new_screen_sections($raw_X, int @screens); - mapn { - my ($raw_screen, $screen) = @_; - raw_import_section($raw_screen, $screen); - } \@raw_screens, \@screens; -} -sub _new_screen_sections { - my ($raw_X, $nb_new) = @_; - $raw_X->remove_Section('Screen'); - my @l = map { $raw_X->add_Section('Screen', { Identifier => { val => "screen$_" } }) } (1 .. $nb_new); - - get_ServerLayout($raw_X)->{Screen} = [ - { val => qq("screen1") }, - map { { val => sprintf('"screen%d" RightOf "screen%d"', $_, $_ - 1) } } (2 .. $nb_new) - ]; - @l; -} -sub is_fbdev { - my ($raw_X, $o_Screen) = @_; - - my $Screen = $o_Screen || $raw_X->get_default_screen or return; - - my $Device = $raw_X->get_Section_by_Identifier('Device', val($Screen->{Device})) or internal_error("no device named $Screen->{Device}"); - val($Device->{Driver}) eq 'fbdev'; -} +sub get_device { get_both('get_device', @_) } +sub get_devices { get_both('get_devices', @_) } +sub set_devices { set_both('set_devices', @_) } +sub set_wacoms { set_both('set_wacoms', @_) } +sub get_monitor { get_both('get_monitor', @_) } +sub get_monitors { get_both('get_monitors', @_) } +sub set_monitors { set_both('set_monitors', @_) } - -################################################################################ -# modules ###################################################################### -################################################################################ -sub get_modules { - my ($raw_X) = @_; - my $raw_Module = $raw_X->get_Section('Module') or return; - my $Module = raw_export_section($raw_Module, ['Load']); - @{$Module->{Load} || []}; -} -sub add_load_module { - my ($raw_X, $module) = @_; - my $raw_Module = $raw_X->get_Section('Module') || $raw_X->add_Section('Module', {}); - - my %load_modules_comment = ( - dbe => 'Double-Buffering Extension', - v4l => 'Video for Linux', - dri => 'direct rendering', - glx => '3D layer', - 'glx-3.so' => '3D layer', - ); - my $comment = $load_modules_comment{$module}; - push @{$raw_Module->{Load}}, { val => $module, - comment_on_line => $comment && " # $comment", - } if !member($module, $raw_X->get_modules); -} -sub remove_load_module { - my ($raw_X, $module) = @_; - my $raw_Module = $raw_X->get_Section('Module') or return; - if (my @l = grep { $_->{val} ne $module } @{$raw_Module->{Load}}) { - $raw_Module->{Load} = \@l; - } else { - $raw_X->remove_Section('Module'); - } -} -sub set_load_module { - my ($raw_X, $module, $bool) = @_; - $bool ? add_load_module($raw_X, $module) : remove_load_module($raw_X, $module); -} - - -#-############################################################################## -#- helpers -#-############################################################################## -sub _set_Option { - my ($category, $node, @names) = @_; - - if (member($category, 'keyboard', 'mouse')) { - #- everything we export is an Option - $_->{Option} = 1 foreach map { deref_array($node->{$_}) } @names; - } -} - -sub get_InputDevices { - my ($raw_X, $Driver) = @_; - $raw_X->get_Sections('InputDevice', sub { val($_[0]{Driver}) eq $Driver }); -} -sub remove_InputDevices { - my ($raw_X, $Driver) = @_; - $raw_X->remove_Section('InputDevice', sub { val($_[0]{Driver}) ne $Driver }); -} - -sub get_ServerLayout { - my ($raw_X) = @_; - $raw_X->get_Section('ServerLayout') || - $raw_X->add_Section('ServerLayout', { Identifier => { val => 'layout1' } }); -} +sub is_fbdev { get_both('is_fbdev', @_) } #-############################################################################## #- helpers #-############################################################################## -sub raw_export_section { - my ($section, $fields) = @_; - - my $export_name = sub { - my ($name) = @_; - my $h = $section->{$name} or return; - - my @l = map { if_(!$_->{commented}, $_->{val}) } deref_array($h) or return; - $name => (ref($h) eq 'ARRAY' ? \@l : $l[0]); - }; +sub get_both { + my ($getter, $both) = @_; - my %h = map { $export_name->($_) } @$fields; - \%h; -} - -sub raw_import_section { - my ($section, $h, $o_fields) = @_; - foreach ($o_fields ? grep { exists $h->{$_} } @$o_fields : keys %$h) { - my @l = map { ref($_) eq 'HASH' ? $_ : { val => $_ } } deref_array($h->{$_}); - $section->{$_} = (ref($h->{$_}) eq 'ARRAY' ? \@l : $l[0]); + if (is_empty_array_ref($both->{xfree3})) { + $both->{xfree4}->$getter; + } elsif (is_empty_array_ref($both->{xfree4})) { + $both->{xfree3}->$getter; + } else { + my @l3 = $both->{xfree3}->$getter; + my @l4 = $both->{xfree4}->$getter; + merge_values(\@l3, \@l4); } } +sub set_both { + my ($setter, $both, @l) = @_; + + $both->{xfree3}->$setter(@l) if !is_empty_array_ref($both->{xfree3}); + $both->{xfree4}->$setter(@l) if !is_empty_array_ref($both->{xfree4}); +} + +sub merge_values { + my ($l3, $l4) = @_; + + sub merge_values__hashes { + my ($h3, $h4) = @_; + $h3 || $h4 or return; + $h3 or return $h4; + $h4 or return $h3; + + my %h = %$h4; + foreach (keys %$h3) { + if (exists $h{$_}) { + if (ref($h{$_}) eq 'HASH' && ref($h3->{$_}) eq 'HASH') { + #- needed for "Options" of Devices + $h{$_} = +{ %{$h3->{$_}}, %{$h{$_}} }; + } else { + my $s4 = join(", ", deref_array($h{$_})); + my $s3 = join(", ", deref_array($h3->{$_})); + my $s3_ = join(", ", map { qq("$_") } deref_array($h3->{$_})); + if ($s4 eq $s3_) { + #- keeping the non-double-quoted value + $h{$_} = $h3->{$_}; + } else { + $s4 eq $s3 or log::l(qq(XFree: conflicting value for $_, "$s4" and "$s3" are different)); + } + } + } else { + $h{$_} = $h3->{$_}; + } + } + \%h; + } -sub add_Section { - my ($raw_X, $Section, $h) = @_; - my @suggested_ordering = qw(Files ServerFlags Module DRI Keyboard Pointer XInput InputDevice Monitor Device Screen ServerLayout); - my %order = map_index { { lc($_) => $::i } } @suggested_ordering; - my $e = { name => $Section, l => $h }; - my $added; - @$raw_X = map { - if ($order{lc $_->{name}} > $order{lc $Section} && !$added) { - $added = 1; - ($e, $_); - } else { $_ } - } @$raw_X; - push @$raw_X, $e if !$added; - $h; -} -sub remove_Section { - my ($raw_X, $Section, $o_when) = @_; - @$raw_X = grep { $_->{name} ne $Section || $o_when && $o_when->($_->{l}) } @$raw_X; - $raw_X; -} -sub get_Sections { - my ($raw_X, $Section, $o_when) = @_; - map { if_($_->{name} eq $Section && (!$o_when || $o_when->($_->{l})), $_->{l}) } @$raw_X; -} -sub get_Section { - my ($raw_X, $Section, $o_when) = @_; - my @l = get_Sections($raw_X, $Section, $o_when); - @l > 1 and log::l("Xconfig: found more than one Section $Section"); - $l[0]; -} -sub get_Section_by_Identifier { - my ($raw_X, $Section, $Identifier) = @_; - my @l = get_Sections($raw_X, $Section, sub { val($_[0]{Identifier}) eq $Identifier }); - @l > 1 and die "more than one Section $Section has Identifier $Identifier"; - $l[0]; -} - -sub val { - my ($ref) = @_; - $ref && $ref->{val}; -} - + my @r = mapn_(\&merge_values__hashes, $l3, $l4); -sub ModeLine_from_string { - my ($s) = @_; - my $raw_X_for_ModeLine = Xconfig::parse::read_XF86Config_from_string($s); - get_Section($raw_X_for_ModeLine, 'Monitor')->{ModeLine}; + @r == 1 ? $r[0] : @r; } - - -our @resolutions = ('640x480', '800x600', '1024x768', if_(arch() =~ /ppc/, '1152x768'), '1152x864', '1280x960', '1280x1024', '1400x1050', '1600x1200', '1920x1440', '2048x1536'); - -our $default_header = <<'END'; -# File generated by XFdrake. - -# ********************************************************************** -# Refer to the XF86Config man page for details about the format of -# this file. -# ********************************************************************** - -Section "Files" - # Multiple FontPath entries are allowed (they are concatenated together) - # By default, Mandrake 6.0 and later now use a font server independent of - # the X server to render fonts. - FontPath "unix/:-1" -EndSection - -Section "ServerFlags" - #DontZap # disable <Crtl><Alt><BS> (server abort) - #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching) - AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work -EndSection -END - -our $default_ModeLine = arch() =~ /ppc/ ? <<'END_PPC' : <<'END'; - # Apple iMac modes - ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync - ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync - ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync - # Apple monitors tend to do 832x624 - ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync - # Apple PowerBook G3 - ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync - # Apple TI Powerbook - ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync +vsync - # Pismo Firewire G3 - ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync - # iBook2 - ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync - # 17" Apple Studio Display - ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync - # HiRes Apple Studio Display - ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 - # Another variation - ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync -END_PPC - # Sony Vaio C1(X,XS,VE,VN)? - # 1024x480 @ 85.6 Hz, 48 kHz hsync - ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync - - # TV fullscreen mode or DVD fullscreen output. - # 768x576 @ 79 Hz, 50 kHz hsync - ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 - # 768x576 @ 100 Hz, 61.6 kHz hsync - ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 -END - 1; diff --git a/perl-install/Xconfig/xfree3.pm b/perl-install/Xconfig/xfree3.pm new file mode 100644 index 000000000..2c753f148 --- /dev/null +++ b/perl-install/Xconfig/xfree3.pm @@ -0,0 +1,281 @@ +package Xconfig::xfree3; # $Id$ + +use diagnostics; +use strict; + +use common; +use Xconfig::parse; +use Xconfig::xfreeX; + +our @ISA = 'Xconfig::xfreeX'; + +sub name { 'xfree3' } +sub config_file { '/etc/X11/XF86Config' } + + +sub get_keyboard_section { + my ($raw_X) = @_; + return $raw_X->get_Section('Keyboard') or die "no keyboard section"; +} +sub new_keyboard_section { + my ($raw_X) = @_; + return $raw_X->add_Section('Keyboard', { Protocol => { val => 'Standard' } }); +} + +sub get_mouse_sections { + my ($raw_X) = @_; + my $main = $raw_X->get_Section('Pointer') or die "no mouse section"; + my $XInput = $raw_X->get_Section('XInput'); + $main, if_($XInput, map { $_->{l} } @{$XInput->{Mouse} || []}); +} + +sub new_mouse_sections { + my ($raw_X, $nb_new) = @_; + + $raw_X->remove_Section('Pointer'); + my $XInput = $raw_X->get_Section('XInput'); + delete $XInput->{Mouse} if $XInput; + $raw_X->remove_Section('XInput') if $nb_new <= 1 && $XInput && !%$XInput; + + $nb_new or return; + + my $main = $raw_X->add_Section('Pointer', {}); + + if ($nb_new == 1) { + $main; + } else { + my @l = map { { AlwaysCore => {} } } (2 .. $nb_new); + $XInput ||= $raw_X->add_Section('XInput', {}); + $XInput->{Mouse} = [ map { { l => $_ } } @l ]; + $main, @l; + } +} + +sub set_mice { + my ($raw_X, @mice) = @_; + @mice = map { + my %h = %$_; + put_in_hash(\%h, { Protocol => 'IMPS/2', ZAxisMapping => '4 5' }) if $h{Protocol} eq 'ExplorerPS/2'; + \%h; + } @mice; + $raw_X->SUPER::set_mice(@mice); +} + +sub set_wacoms { + my ($raw_X, @wacoms) = @_; + + my %Modes = (Stylus => 'Absolute', Eraser => 'Absolute', Cursor => 'Relative'); + + my $XInput = $raw_X->get_Section('XInput'); + if ($XInput) { + delete $XInput->{"Wacom$_"} foreach keys %Modes; + $raw_X->remove_Section('XInput') if !@wacoms && $XInput && !%$XInput; + } + #- only wacom is handled in XFree 3 + my ($wacom) = @wacoms or return; + + $XInput ||= $raw_X->add_Section('XInput', {}); + foreach (keys %Modes) { + $XInput->{"Wacom$_"} = [ { l => { Port => { val => qq("$wacom->{Device}") }, + Mode => { val => $Modes{$_} }, + if_($wacom->{USB}, USB => {}), + AlwaysCore => {} } } ]; + } +} + +sub depths { 8, 15, 16, 24, 32 } + +sub set_resolution { + my ($raw_X, $resolution, $o_Screen_) = @_; + + foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_screens) { + $Screen ||= $raw_X->get_default_screen or internal_error('no screen'); + + $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} }; + $Screen->{Display} = [ map { + my $modes = do { + if ($raw_X->is_fbdev($Screen)) { + '"default"'; + } else { + my @Modes = grep { + if_(m/(\d+)x(\d+)/, + $1 <= $resolution->{X} && (!$resolution->{Y} || $2 <= $resolution->{Y})); + } reverse @Xconfig::xfreeX::resolutions; + join(" ", map { qq("$_") } @Modes); + } + }; + { l => { Depth => { val => $_ }, Modes => { val => $modes } } }; + } $raw_X->depths ]; + } +} + +sub get_device_section_fields { + qw(VendorName BoardName Chipset VideoRam); #-); +} + +sub default_ModeLine { + my ($raw_X) = @_; + $raw_X->SUPER::default_ModeLine . (our $default_ModeLine); +} + +sub new_device_sections { + my ($raw_X, $nb_new) = @_; + my @l = $raw_X->SUPER::new_device_sections($nb_new); + $_->{power_saver} = { Option => 1 } foreach @l; + @l; +} + +sub is_fbdev { + my ($raw_X, $o_Screen) = @_; + + my $Screen = $o_Screen || $raw_X->get_default_screen or return; + + val($Screen->{Server}) eq 'FBDev'; +} + +sub set_Option { + my ($_raw_X, $_category, $_node, @_names) = @_; +} + + +sub val { + my ($ref) = @_; + $ref && $ref->{val}; +} + +our $default_ModeLine = <<'END'; + # This is a set of standard mode timings. Modes that are out of monitor spec + # are automatically deleted by the server (provided the HorizSync and + # VertRefresh lines are correct), so there's no immediate need to + # delete mode timings (unless particular mode timings don't work on your + # monitor). With these modes, the best standard mode that your monitor + # and video card can support for a given resolution is automatically + # used. + + # 640x400 @ 70 Hz, 31.5 kHz hsync + ModeLine "640x400" 25.175 640 664 760 800 400 409 411 450 + # 640x480 @ 60 Hz, 31.5 kHz hsync + ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 + # 800x600 @ 56 Hz, 35.15 kHz hsync + ModeLine "800x600" 36 800 824 896 1024 600 601 603 625 + # 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync + ModeLine "1024x768" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace + + # 640x400 @ 85 Hz, 37.86 kHz hsync + ModeLine "640x400" 31.5 640 672 736 832 400 401 404 445 -HSync +VSync + # 640x480 @ 75 Hz, 37.50 kHz hsync + ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync + # 800x600 @ 60 Hz, 37.8 kHz hsync + ModeLine "800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync + + # 640x480 @ 85 Hz, 43.27 kHz hsync + ModeLine "640x480" 36 640 696 752 832 480 481 484 509 -HSync -VSync + # 1152x864 @ 89 Hz interlaced, 44 kHz hsync + ModeLine "1152x864" 65 1152 1168 1384 1480 864 865 875 985 Interlace + + # 800x600 @ 72 Hz, 48.0 kHz hsync + ModeLine "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync + # 1024x768 @ 60 Hz, 48.4 kHz hsync + ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync + + # 640x480 @ 100 Hz, 53.01 kHz hsync + ModeLine "640x480" 45.8 640 672 768 864 480 488 494 530 -HSync -VSync + # 1152x864 @ 60 Hz, 53.5 kHz hsync + ModeLine "1152x864" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync + # 800x600 @ 85 Hz, 55.84 kHz hsync + ModeLine "800x600" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync + + # 1024x768 @ 70 Hz, 56.5 kHz hsync + ModeLine "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync + # 1280x1024 @ 87 Hz interlaced, 51 kHz hsync + ModeLine "1280x1024" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace + + # 800x600 @ 100 Hz, 64.02 kHz hsync + ModeLine "800x600" 69.65 800 864 928 1088 600 604 610 640 -HSync -VSync + # 1024x768 @ 76 Hz, 62.5 kHz hsync + ModeLine "1024x768" 85 1024 1032 1152 1360 768 784 787 823 + # 1152x864 @ 70 Hz, 62.4 kHz hsync + ModeLine "1152x864" 92 1152 1208 1368 1474 864 865 875 895 + # 1280x1024 @ 61 Hz, 64.2 kHz hsync + ModeLine "1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054 + # 1400x1050 @ 60 Hz, 65.5 kHz + ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +HSync +VSync + + # 1024x768 @ 85 Hz, 70.24 kHz hsync + ModeLine "1024x768" 98.9 1024 1056 1216 1408 768 782 788 822 -HSync -VSync + # 1152x864 @ 78 Hz, 70.8 kHz hsync + ModeLine "1152x864" 110 1152 1240 1324 1552 864 864 876 908 + + # 1280x1024 @ 70 Hz, 74.59 kHz hsync + ModeLine "1280x1024" 126.5 1280 1312 1472 1696 1024 1032 1040 1068 -HSync -VSync + # 1600x1200 @ 60Hz, 75.00 kHz hsync + ModeLine "1600x1200" 162 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync + # 1152x864 @ 84 Hz, 76.0 kHz hsync + ModeLine "1152x864" 135 1152 1464 1592 1776 864 864 876 908 + + # 1280x1024 @ 75 Hz, 79.98 kHz hsync + ModeLine "1280x1024" 135 1280 1296 1440 1688 1024 1025 1028 1066 +HSync +VSync + + # 1024x768 @ 100Hz, 80.21 kHz hsync + ModeLine "1024x768" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync + # 1400x1050 @ 75 Hz, 82.2 kHz hsync + ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +HSync +VSync + + # 1600x1200 @ 70 Hz, 87.50 kHz hsync + ModeLine "1600x1200" 189 1600 1664 1856 2160 1200 1201 1204 1250 -HSync -VSync + # 1152x864 @ 100 Hz, 89.62 kHz hsync + ModeLine "1152x864" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync + # 1280x1024 @ 85 Hz, 91.15 kHz hsync + ModeLine "1280x1024" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +VSync + # 1600x1200 @ 75 Hz, 93.75 kHz hsync + ModeLine "1600x1200" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync + # 1600x1200 @ 85 Hz, 105.77 kHz hsync + ModeLine "1600x1200" 220 1600 1616 1808 2080 1200 1204 1207 1244 +HSync +VSync + # 1600x1200 @ 85 Hz, 106.3 kHz hsync + ModeLine "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync + # 1280x1024 @ 100 Hz, 107.16 kHz hsync + ModeLine "1280x1024" 181.75 1280 1312 1440 1696 1024 1031 1046 1072 -HSync -VSync + + # 1800x1440 @ 64Hz, 96.15 kHz hsync + ModeLine "1800X1440" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync + # 1800x1440 @ 70Hz, 104.52 kHz hsync + ModeLine "1800X1440" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync + + # 1920x1440 @ 60 Hz, 90.0 kHz hsync + ModeLine "1920x1440" 234.0 1920 2048 2256 2600 1440 1441 1444 1500 -HSync +VSync + # 1920x1440 @ 75 Hz, 112.5kHz hsync + ModeLine "1920x1440" 297.0 1920 2064 2288 2640 1440 1441 1444 1500 -HSync +VSync + + # 512x384 @ 78 Hz, 31.50 kHz hsync + ModeLine "512x384" 20.160 512 528 592 640 384 385 388 404 -HSync -VSync + # 512x384 @ 85 Hz, 34.38 kHz hsync + ModeLine "512x384" 22 512 528 592 640 384 385 388 404 -HSync -VSync + + + # Low-res Doublescan modes + # If your chipset does not support doublescan, you get a 'squashed' + # resolution like 320x400. + + # 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio + ModeLine "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan + # 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio + ModeLine "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan + # 320x240 @ 72 Hz, 36.5 kHz hsync + ModeLine "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan + # 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio + ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan + # 400x300 @ 60 Hz, 37.8 kHz hsync + ModeLine "400x300" 20 400 416 480 528 300 301 303 314 Doublescan + # 400x300 @ 72 Hz, 48.0 kHz hsync + ModeLine "400x300" 25 400 424 488 520 300 319 322 333 Doublescan + # 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio + ModeLine "480x300" 21.656 480 496 536 616 300 301 302 312 Doublescan + # 480x300 @ 60 Hz, 37.8 kHz hsync + ModeLine "480x300" 23.890 480 496 576 632 300 301 303 314 Doublescan + # 480x300 @ 63 Hz, 39.6 kHz hsync + ModeLine "480x300" 25 480 496 576 632 300 301 303 314 Doublescan + # 480x300 @ 72 Hz, 48.0 kHz hsync + ModeLine "480x300" 29.952 480 504 584 624 300 319 322 333 Doublescan +END + +1; diff --git a/perl-install/Xconfig/xfree4.pm b/perl-install/Xconfig/xfree4.pm new file mode 100644 index 000000000..5c2d23286 --- /dev/null +++ b/perl-install/Xconfig/xfree4.pm @@ -0,0 +1,165 @@ +package Xconfig::xfree4; # $Id$ + +use diagnostics; +use strict; + +use common; +use Xconfig::parse; +use Xconfig::xfree; + +our @ISA = 'Xconfig::xfreeX'; + +sub name { 'xfree4' } +sub config_file { '/etc/X11/XF86Config-4' } + + +sub get_keyboard_section { + my ($raw_X) = @_; + my ($raw_kbd) = get_InputDevices($raw_X, 'Keyboard') or die "no keyboard section"; + $raw_kbd; +} + +sub new_keyboard_section { + my ($raw_X) = @_; + my $raw_kbd = { Identifier => { val => 'Keyboard1' }, Driver => { val => 'Keyboard' } }; + $raw_X->add_Section('InputDevice', $raw_kbd); + + my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; + push @$layout, { val => '"Keyboard1" "CoreKeyboard"' }; + + $raw_kbd; +} + +sub get_mouse_sections { + my ($raw_X) = @_; + get_InputDevices($raw_X, 'mouse'); +} +sub new_mouse_sections { + my ($raw_X, $nb_new) = @_; + $raw_X->remove_InputDevices('mouse'); + + my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; + @$layout = grep { $_->{val} !~ /^"Mouse/ } @$layout; + + $nb_new or return; + + my @l = map { + my $h = { Identifier => { val => "Mouse$_" }, Driver => { val => 'mouse' } }; + $raw_X->add_Section('InputDevice', $h); + } (1 .. $nb_new); + + push @$layout, { val => qq("Mouse1" "CorePointer") }; + push @$layout, { val => qq("Mouse$_" "SendCoreEvents") } foreach 2 .. $nb_new; + + @l; +} + +sub set_wacoms { + my ($raw_X, @wacoms) = @_; + $raw_X->remove_InputDevices('wacom'); + + my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= []; + @$layout = grep { $_->{val} !~ /^"(Stylus|Eraser|Cursor)/ } @$layout; + + @wacoms or return; + + my %Modes = (Stylus => 'Absolute', Eraser => 'Absolute', Cursor => 'Relative'); + + each_index { + my $wacom = $_; + foreach (keys %Modes) { + my $identifier = $_ . ($::i + 1); + my $h = { Identifier => { val => $identifier }, + Driver => { val => 'wacom' }, + Type => { val => lc $_, Option => 1 }, + Device => { val => $wacom->{Device}, Option => 1 }, + Mode => { val => $Modes{$_}, Option => 1 }, + if_($wacom->{USB}, USB => { Option => 1 }) + }; + $raw_X->add_Section('InputDevice', $h); + push @$layout, { val => qq("$identifier" "AlwaysCore") }; + } + } @wacoms; +} + +sub depths { 8, 15, 16, 24 } +sub set_resolution { + my ($raw_X, $resolution, $o_Screen_) = @_; + + foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_screens) { + $Screen ||= $raw_X->get_default_screen or internal_error('no screen'); + + $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} eq '32' ? 24 : $resolution->{Depth} }; + $Screen->{Display} = [ map { + { l => { Depth => { val => $_ }, Virtual => { val => join(' ', @$resolution{'X', 'Y'}) } } }; + } $raw_X->depths ]; + } +} + +sub get_device_section_fields { + qw(VendorName BoardName Driver VideoRam Screen BusID); #-); +} + +sub new_device_sections { + my ($raw_X, $nb_new) = @_; + my @l = $raw_X->SUPER::new_device_sections($nb_new); + $_->{DPMS} = { Option => 1 } foreach @l; + @l; +} + +sub new_screen_sections { + my ($raw_X, $nb_new) = @_; + my @l = $raw_X->SUPER::new_screen_sections($nb_new); + each_index { $_->{Identifier} = { val => "screen" . ($::i+1) } } @l; + + get_ServerLayout($raw_X)->{Screen} = [ + { val => qq("screen1") }, #-) + map { { val => sprintf('"screen%d" RightOf "screen%d"', $_, $_ - 1) } } (2 .. $nb_new) + ]; + + @l; +} + +sub is_fbdev { + my ($raw_X, $Screen) = @_; + + my $Screen_ = $Screen || $raw_X->get_default_screen or return; + + my $Device = $raw_X->get_Section_by_Identifier('Device', val($Screen_->{Device})) or internal_error("no device named $Screen_->{Device}"); + val($Device->{Driver}) eq 'fbdev'; +} + +sub set_Option { + my ($_raw_X, $category, $node, @names) = @_; + + if (member($category, 'keyboard', 'mouse')) { + #- everything we export is an Option + $_->{Option} = 1 foreach map { deref_array($node->{$_}) } @names; + } +} + + +#-############################################################################## +#- helpers +#-############################################################################## +sub get_InputDevices { + my ($raw_X, $Driver) = @_; + $raw_X->get_Sections('InputDevice', sub { val($_[0]{Driver}) eq $Driver }); +} +sub remove_InputDevices { + my ($raw_X, $Driver) = @_; + $raw_X->remove_Section('InputDevice', sub { val($_[0]{Driver}) ne $Driver }); +} + +sub get_ServerLayout { + my ($raw_X) = @_; + $raw_X->get_Section('ServerLayout') || + $raw_X->add_Section('ServerLayout', { Identifier => { val => 'layout1' } }); +} + +sub val { + my ($ref) = @_; + $ref && $ref->{val}; +} + +1; diff --git a/perl-install/Xconfig/xfreeX.pm b/perl-install/Xconfig/xfreeX.pm new file mode 100644 index 000000000..7d830ddee --- /dev/null +++ b/perl-install/Xconfig/xfreeX.pm @@ -0,0 +1,357 @@ +package Xconfig::xfreeX; # $Id$ + +use diagnostics; +use strict; + +use Xconfig::parse; +use common; +use log; + + +sub empty_config { + my ($class) = @_; + my $raw_X = Xconfig::parse::read_XF86Config_from_string(our $default_header); + bless $raw_X, $class; +} + +sub read { + my ($class, $o_file) = @_; + my $file = $o_file || ($::prefix || '') . (bless {}, $class)->config_file; + my $raw_X = Xconfig::parse::read_XF86Config($file); + bless $raw_X, $class; +} +sub write { + my ($raw_X, $o_file) = @_; + my $file = $o_file || ($::prefix || '') . $raw_X->config_file; + rename $file, "$file.old"; + Xconfig::parse::write_XF86Config($raw_X, $file); +} +sub prepare_write { + my ($raw_X) = @_; + join('', Xconfig::parse::prepare_write_XF86Config($raw_X)); +} + + +my @monitor_fields = qw(VendorName ModelName HorizSync VertRefresh); +sub get_monitors { + my ($raw_X) = @_; + my @raw_monitors = $raw_X->get_monitor_sections; + map { raw_export_section($_, [ 'Identifier', @monitor_fields ]) } @raw_monitors; +} +sub set_monitors { + my ($raw_X, @monitors) = @_; + my @raw_monitors = $raw_X->new_monitor_sections(int @monitors); + mapn { + my ($raw_monitor, $monitor) = @_; + raw_import_section($raw_monitor, $monitor, \@monitor_fields); + } \@raw_monitors, \@monitors; +} +sub get_monitor { + my ($raw_X) = @_; + my @l = $raw_X->get_monitors; + if (!@l) { + $raw_X->new_monitor_sections(1); + @l = $raw_X->get_monitors; + } + $l[0] +} + +my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions XkbCompat); +sub get_keyboard { + my ($raw_X) = @_; + my $raw_kbd = $raw_X->get_keyboard_section; + raw_export_section($raw_kbd, \@keyboard_fields); +} +sub set_keyboard { + my ($raw_X, $kbd) = @_; + my $raw_kbd = eval { $raw_X->get_keyboard_section } || $raw_X->new_keyboard_section; + raw_import_section($raw_kbd, $kbd); + $raw_X->set_Option('keyboard', $raw_kbd, keys %$kbd); +} + +#- example: { Protocol => 'IMPS/2', Device => '/dev/psaux', Emulate3Buttons => undef, Emulate3Timeout => 50, ZAxisMapping => [ '4 5', '6 7' ] } +my @mouse_fields = qw(Protocol Device ZAxisMapping Emulate3Buttons Emulate3Timeout); #-); +sub get_mice { + my ($raw_X) = @_; + my @raw_mice = $raw_X->get_mouse_sections; + map { raw_export_section($_, \@mouse_fields) } @raw_mice; +} +sub set_mice { + my ($raw_X, @mice) = @_; + my @raw_mice = $raw_X->new_mouse_sections(int @mice); + mapn { + my ($raw_mouse, $mouse) = @_; + raw_import_section($raw_mouse, $mouse); + $raw_X->set_Option('mouse', $raw_mouse, keys %$mouse); + } \@raw_mice, \@mice; +} + +sub get_devices { + my ($raw_X) = @_; + my @raw_devices = $raw_X->get_device_sections; + map { + my $raw_device = $_; + my $device = raw_export_section($raw_device, [ 'Identifier', $raw_X->get_device_section_fields ]); + $device->{Options} = raw_export_section($raw_device, [ grep { (deref_array($raw_device->{$_}))[0]->{Option} } keys %$raw_device ]); + $device; + } @raw_devices; +} +sub set_devices { + my ($raw_X, @devices) = @_; + my @raw_devices = $raw_X->new_device_sections(int @devices); + mapn { + my ($raw_device, $device) = @_; + my %Options = %{$device->{Options} || {}}; + add2hash(\%Options, $device->{'Options_' . $raw_X->name}); + raw_import_section($raw_device, $device, [ $raw_X->get_device_section_fields ]); + raw_import_section($raw_device, \%Options); + $_->{Option} = 1 foreach map { deref_array($raw_device->{$_}) } keys %Options; + $raw_device->{''} = [ { post_comment => $device->{raw_LINES} } ] if $device->{raw_LINES}; + } \@raw_devices, \@devices; +} + +sub get_device { + my ($raw_X) = @_; + first(get_devices($raw_X)); +} + +sub get_screens { + my ($raw_X) = @_; + $raw_X->get_Sections('Screen'); +} +sub get_default_screen { + my ($raw_X) = @_; + my @l = get_screens($raw_X); + (find { $_->{Identifier} && val($_->{Identifier}) eq 'screen1' || + $_->{Driver} && val($_->{Driver}) =~ /svga|accel/ } @l) || $l[0]; +} +sub set_screens { + my ($raw_X, @screens) = @_; + my @raw_screens = $raw_X->new_screen_sections(int @screens); + mapn { + my ($raw_screen, $screen) = @_; + raw_import_section($raw_screen, $screen); + } \@raw_screens, \@screens; +} + +sub get_modules { + my ($raw_X) = @_; + my $raw_Module = $raw_X->get_Section('Module') or return; + my $Module = raw_export_section($raw_Module, ['Load']); + @{$Module->{Load} || []}; +} +sub add_load_module { + my ($raw_X, $module) = @_; + my $raw_Module = $raw_X->get_Section('Module') || $raw_X->new_module_section; + + my %load_modules_comment = ( + dbe => 'Double-Buffering Extension', + v4l => 'Video for Linux', + dri => 'direct rendering', + glx => '3D layer', + 'glx-3.so' => '3D layer', + ); + my $comment = $load_modules_comment{$module}; + push @{$raw_Module->{Load}}, { val => $module, + comment_on_line => $comment && " # $comment", + } if !member($module, $raw_X->get_modules); +} +sub remove_load_module { + my ($raw_X, $module) = @_; + my $raw_Module = $raw_X->get_Section('Module') or return; + if (my @l = grep { $_->{val} ne $module } @{$raw_Module->{Load}}) { + $raw_Module->{Load} = \@l; + } else { + $raw_X->remove_Section('Module'); + } +} +sub set_load_module { + my ($raw_X, $module, $bool) = @_; + $bool ? add_load_module($raw_X, $module) : remove_load_module($raw_X, $module); +} + +sub get_resolution { + my ($raw_X, $o_Screen) = @_; + my $Screen = $o_Screen || $raw_X->get_default_screen or return {}; + + my $depth = val($Screen->{DefaultColorDepth}); + my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return {}; + $Display->{l}{Virtual} && val($Display->{l}{Virtual}) =~ /(\d+)\s+(\d+)/ or + val($Display->{l}{Modes}) =~ /(\d+)x(\d+)/ or return {}; + { X => $1, Y => $2, Depth => val($Display->{l}{Depth}) }; +} + +#-############################################################################## +#- common to xfree3 and xfree4 +#-############################################################################## +sub default_ModeLine { our $default_ModeLine } + + +sub get_device_sections { + my ($raw_X) = @_; + $raw_X->get_Sections('Device'); +} +sub new_device_sections { + my ($raw_X, $nb_new) = @_; + $raw_X->remove_Section('Device'); + map { $raw_X->add_Section('Device', { Identifier => { val => "device$_" } }) } (1 .. $nb_new); +} + +sub get_monitor_sections { + my ($raw_X) = @_; + $raw_X->get_Sections('Monitor'); +} +sub new_monitor_sections { + my ($raw_X, $nb_new) = @_; + my $ModeLine = ModeLine_from_string(qq(Section "Monitor"\n) . $raw_X->default_ModeLine . qq(EndSection\n)); + $raw_X->remove_Section('Monitor'); + map { $raw_X->add_Section('Monitor', { Identifier => { val => "monitor$_" }, ModeLine => $ModeLine }) } (1 .. $nb_new); +} + +sub new_screen_sections { + my ($raw_X, $nb_new) = @_; + $raw_X->remove_Section('Screen'); + map { $raw_X->add_Section('Screen', {}) } (1 .. $nb_new); +} + +sub new_module_section { + my ($raw_X) = @_; + return $raw_X->add_Section('Module', {}); +} + + +#-############################################################################## +#- helpers +#-############################################################################## +sub raw_export_section { + my ($section, $fields) = @_; + + my $export_name = sub { + my ($name) = @_; + my $h = $section->{$name} or return; + + my @l = map { if_(!$_->{commented}, $_->{val}) } deref_array($h) or return; + $name => (ref($h) eq 'ARRAY' ? \@l : $l[0]); + }; + + my %h = map { $export_name->($_) } @$fields; + \%h; +} + +sub raw_import_section { + my ($section, $h, $o_fields) = @_; + foreach ($o_fields ? grep { exists $h->{$_} } @$o_fields : keys %$h) { + my @l = map { ref($_) eq 'HASH' ? $_ : { val => $_ } } deref_array($h->{$_}); + $section->{$_} = (ref($h->{$_}) eq 'ARRAY' ? \@l : $l[0]); + } +} + +sub add_Section { + my ($raw_X, $Section, $h) = @_; + my @suggested_ordering = qw(Files ServerFlags Module DRI Keyboard Pointer XInput InputDevice Monitor Device Screen ServerLayout); + my %order = map_index { { lc($_) => $::i } } @suggested_ordering; + my $e = { name => $Section, l => $h }; + my $added; + @$raw_X = map { + if ($order{lc $_->{name}} > $order{lc $Section} && !$added) { + $added = 1; + ($e, $_); + } else { $_ } + } @$raw_X; + push @$raw_X, $e if !$added; + $h; +} +sub remove_Section { + my ($raw_X, $Section, $o_when) = @_; + @$raw_X = grep { $_->{name} ne $Section || $o_when && $o_when->($_->{l}) } @$raw_X; + $raw_X; +} +sub get_Sections { + my ($raw_X, $Section, $o_when) = @_; + map { if_($_->{name} eq $Section && (!$o_when || $o_when->($_->{l})), $_->{l}) } @$raw_X; +} +sub get_Section { + my ($raw_X, $Section, $o_when) = @_; + my @l = get_Sections($raw_X, $Section, $o_when); + @l > 1 and log::l("Xconfig: found more than one Section $Section"); + $l[0]; +} +sub get_Section_by_Identifier { + my ($raw_X, $Section, $Identifier) = @_; + my @l = get_Sections($raw_X, $Section, sub { val($_[0]{Identifier}) eq $Identifier }); + @l > 1 and die "more than one Section $Section has Identifier $Identifier"; + $l[0]; +} + +sub val { + my ($ref) = @_; + $ref && $ref->{val}; +} + +sub ModeLine_from_string { + my ($s) = @_; + my $raw_X_for_ModeLine = Xconfig::parse::read_XF86Config_from_string($s); + get_Section($raw_X_for_ModeLine, 'Monitor')->{ModeLine}; +} + + + +our @resolutions = ('640x480', '800x600', '1024x768', if_(arch() =~ /ppc/, '1152x768'), '1152x864', '1280x960', '1280x1024', '1400x1050', '1600x1200', '1920x1440', '2048x1536'); + +our $default_header = <<'END'; +# File generated by XFdrake. + +# ********************************************************************** +# Refer to the XF86Config man page for details about the format of +# this file. +# ********************************************************************** + +Section "Files" + # Multiple FontPath entries are allowed (they are concatenated together) + # By default, Mandrake 6.0 and later now use a font server independent of + # the X server to render fonts. + FontPath "unix/:-1" +EndSection + +Section "ServerFlags" + #DontZap # disable <Crtl><Alt><BS> (server abort) + #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching) + AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work +EndSection +END + +our $default_ModeLine = arch() =~ /ppc/ ? <<'END_PPC' : <<'END'; + # Apple iMac modes + ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync + ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync + ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync + # Apple monitors tend to do 832x624 + ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync + # Apple PowerBook G3 + ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync + # Apple TI Powerbook + ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync +vsync + # Pismo Firewire G3 + ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync + # iBook2 + ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync + # 17" Apple Studio Display + ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync + # HiRes Apple Studio Display + ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 + # Another variation + ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync +END_PPC + # Sony Vaio C1(X,XS,VE,VN)? + # 1024x480 @ 85.6 Hz, 48 kHz hsync + ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync + + # TV fullscreen mode or DVD fullscreen output. + # 768x576 @ 79 Hz, 50 kHz hsync + ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 + # 768x576 @ 100 Hz, 61.6 kHz hsync + ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 +END + +1; + diff --git a/perl-install/any.pm b/perl-install/any.pm index 5eff5c9b2..1be4bd3ca 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -593,9 +593,9 @@ sub autologin { my @wm = sessions(); my @users = map { $_->{name} } @{$o->{users} || []}; - if (member('KDE', @wm) && @users == 1 && $o->{meta_class} eq 'desktop') { - $o->{desktop} = 'KDE'; - $o->{autologin} = $users[0]; + if (!$::corporate && member('KDE', @wm) && @users == 1 && $o->{meta_class} eq 'desktop') { + $o->{desktop} = 'KDE'; + $o->{autologin} = $users[0]; } elsif (@wm > 1 && @users && !$o->{authentication}{NIS} && $o->{security} <= 2) { my $use_autologin = @users == 1; @@ -623,17 +623,23 @@ sub selectLanguage { if ($::isInstall) { my $langs = $o_langs_ || {}; my $using_images = $in->isa('interactive::gtk') && !$in->{vga16}; - - #- to create the default value, use the first location for that value :/ - $lang = if_(!$::move, first(lang::l2location($lang)).'|').$lang; my %name2l = map { lang::l2name($_) => $_ } lang::list_langs(); my $listval2val = sub { $_[0] =~ /\|(.*)/ ? $1 : $_[0] }; - my @langs = map { my $l = $_; uniq_ { $_->[0] } map { [ $::move ? $l : "$_|$l", $_, $l ] } lang::l2location($l) } lang::list_langs(); #- since gtk version will use images (function image2f) we need to sort differently my $sort_func = $using_images ? \&lang::l2transliterated : \&lang::l2name; - @langs = map { $_->[0] } sort { $sort_func->($a->[2]) cmp $sort_func->($b->[2]) } @langs; + 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 $last_utf8 = $in->{locale}{utf8}; add2hash($common, { cancel => '', @@ -841,22 +847,26 @@ Allowing this will permit users to simply click on \"Share\" in konqueror and na my $custom = $r eq $l[2]; if ($r ne $l[0]) { #- verify we can export in $type - my %type2file = (nfs => [ 'nfs-utils', '/etc/init.d/nfs' ], smb => [ 'samba-server', '/etc/init.d/smb' ]); + my %type2service = (nfs => [ 'nfs-utils', 'nfs' ], smb => [ 'samba-server', 'smb' ]); my %l; if ($type) { %l = ($type => 1); } else { - %l = map_each { $::a => -e $::b->[1] } %type2file; + %l = map_each { $::a => -e $::b->[1] } %type2service; $in->ask_from('', N("You can export using NFS or Samba. Please select which you'd like to use."), [ map { { text => $_, val => \$l{$_}, type => 'bool' } } keys %l ]) or return; } foreach (keys %l) { - my ($pkg, $file) = @{$type2file{$_}} or die "unknown type $_\n"; + my ($pkg, $service) = @{$type2service{$_}} or die "unknown type $_\n"; + my $file = "/etc/init.d/$service"; + require services; if ($l{$_}) { $in->do_pkgs->ensure_is_installed($pkg, $file) or return; + services::start($service); + services::start_service_on_boot($service); } elsif (-e $file) { - $in->ask_okcancel('', N("The package %s is going to be removed.", $pkg), 1) or return; - $in->do_pkgs->remove($pkg); + services::stop($service); + services::do_not_start_service_on_boot($service); } } } diff --git a/perl-install/authentication.pm b/perl-install/authentication.pm index 767ddd7cb..a7fcfba00 100644 --- a/perl-install/authentication.pm +++ b/perl-install/authentication.pm @@ -3,19 +3,47 @@ package authentication; # $Id$ use common; use any; - sub kinds() { - ('local', 'LDAP', 'NIS', 'winbind'); + ('local', 'LDAP', 'NIS', 'SmartCard', 'winbind', 'AD', 'SMBKRB'); } -sub kind2description { + +sub kind2name { my ($kind) = @_; - ${{ local => N("Local files"), LDAP => N("LDAP"), NIS => N("NIS"), winbind => N("Windows Domain") }}{$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}; +} + +sub kind2description() { + join('', + map { + qq($_->[0]\n$_->[1]\n\n) + } + ( + [ N("Local file:"), N("Use local for all authentication and information user tell in local file"), ], + [ N("LDAP:"), N("Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."), ], + [ 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."), ], + [ N("Windows Domain:"), N("Winbind allows a system to retrieve information about users and to authenticate users by using in an Windows domain."), ], + [ N("Active Directory with SFU:"), N("Allows a system to retreive user information from Active Directory with SFU installed"), ], + [ N("Active Directory with Winbind:"), N("Allows a system to retreive user information from Active Directory.") ], + ) + ); } 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, $netc, $authentication, $kind) = @_; @@ -24,35 +52,84 @@ sub ask_parameters { delete $authentication->{$_} if $_ ne $kind; } - my $val = $authentication->{$kind} ||= ''; - if ($kind eq 'LDAP') { - $val ||= 'ldap.' . $netc->{DOMAINNAME}; - $netc->{LDAPDOMAIN} ||= join(',', map { "dc=$_" } split /\./, $netc->{DOMAINNAME}); + $authentication->{LDAP_server} ||= 'ldap.' . $netc->{DOMAINNAME}; + $netc->{LDAPDOMAIN} ||= domain_to_ldap_domain($netc->{DOMAINNAME}); $in->ask_from('', N("Authentication LDAP"), [ { label => N("LDAP Base dn"), val => \$netc->{LDAPDOMAIN} }, - { label => N("LDAP Server"), val => \$val }, + { label => N("LDAP Server"), val => \$authentication->{LDAP_server} }, ]) or return; + } elsif ($kind eq 'AD') { + + $authentication->{AD_domain} ||= $netc->{DOMAINNAME}; + $authentication->{AD_users_db} ||= 'cn=users,' . domain_to_ldap_domain($authentication->{AD_domain}); + + $in->do_pkgs->install(qw(perl-Net-DNS)); + + my @srvs = query_srv_names($authentication->{AD_domain}); + $authentication->{AD_server} ||= $srvs[0] if @srvs; + + my %sub_kinds = my @sub_kinds = ( + simple => N("simple"), + tls => N("TLS"), + ssl => N("SSL"), + kerberos => N("security layout (SASL/Kerberos)"), + ); + my $tls = ''; + + 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")."\n", + [ + { label => N("Use anomymous bind"), val => \$authentication->{anonymous}, type => 'bool',"\n\n" }, + { label => N("User allowed to bind Active Directory"), val => \$AD_user, disabled => sub { $authentication->{anonymous} } }, + { label => N("Password for user"), val => \$authentication->{AD_password},hidden => 1, disabled => sub { $authentication->{anonymous} }}, + { label => N("Enable TLS"), val => \$authentication->{tls}, type => 'bool'}, + { label => "\n".N("Domain"), val => \$authentication->{AD_domain} }, + { label => N("Server"), type => 'combo', val => \$authentication->{AD_server}, list => \@srvs , not_edit => 0, }, + { label => N("LDAP users database"), val => \$authentication->{AD_users_db}, }, + ]) 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') { - $val ||= 'broadcast'; + $authentication->{NIS_server} ||= 'broadcast'; + $netc->{NISDOMAIN} ||= $netc->{DOMAINNAME}; $in->ask_from('', N("Authentication NIS"), - [ { label => N("NIS Domain"), val => \ ($netc->{NISDOMAIN} ||= $netc->{DOMAINNAME}) }, - { label => N("NIS Server"), val => \$val, list => ["broadcast"], not_edit => 0 }, + [ { label => N("NIS Domain"), val => \$netc->{NISDOMAIN} }, + { label => N("NIS Server"), val => \$authentication->{NIS_server}, list => ["broadcast"], not_edit => 0 }, ]) or return; - } elsif ($kind eq 'winbind') { + } 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 isn't 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.\nYou will also need the username/password of a Domain Admin to join the machine to the Windows(TM) domain.\nIf networking is not yet enabled, Drakx will attempt to join the domain after the network setup step.\nShould 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.\nThe command 'wbinfo -t' will test whether your authentication secrets are good.")); + $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} ||= $netc->{DOMAINNAME} if $kind eq 'SMBKRB'; + $authentication->{AD_users_idmap} ||= 'ou=idmap,' . domain_to_ldap_domain($authentication->{AD_domain}) if $kind eq 'SMBKRB'; + $netc->{WINDOMAIN} ||= $netc->{DOMAINNAME}; + my $anonymous = "off"; $in->ask_from('', - N("Authentication Windows Domain"), - [ { label => N("Windows Domain"), val => \ ($netc->{WINDOMAIN} ||= $netc->{DOMAINNAME}) }, - { label => N("Domain Admin User Name"), val => \$val }, + $kind eq 'SMBKRB' ? N("Authentication Active Directory") : N("Authentication Windows Domain"), + [ if_($kind eq 'SMBKRB', + { label => N("Active Directory Tree"), val => \$authentication->{AD_domain} } + ), + { label => N("Windows Domain"), val => \$netc->{WINDOMAIN} }, + { label => N("Domain Admin User Name"), val => \$authentication->{winuser} }, { label => N("Domain Admin Password"), val => \$authentication->{winpass}, hidden => 1 }, ]) or return; } - $authentication->{$kind} = $val; + $authentication->{$kind} ||= 1; 1; } @@ -62,29 +139,95 @@ sub set { any::enableShadow() if $authentication->{shadow}; my $kind = authentication::to_kind($authentication); - my $val = $authentication->{$kind}; - log::l("authentication::set $kind with $val"); + log::l("authentication::set $kind"); - if ($kind eq 'LDAP') { + if ($kind eq 'local') { + set_pam_authentication(); + } elsif ($kind eq 'SmartCard') { + $in->do_pkgs->install('castella-pam'); + set_pam_authentication('castella'); + } elsif ($kind eq 'LDAP') { $in->do_pkgs->install(qw(openldap-clients nss_ldap pam_ldap autofs)); my $domain = $netc->{LDAPDOMAIN} || do { - my $s = run_program::rooted_get_stdout($::prefix, 'ldapsearch', '-x', '-h', $val, '-b', '', '-s', 'base', '+'); + 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 $val"), return; + } or log::l("no ldap domain found on server $authentication->{LDAP_server}"), return; set_nsswitch_priority('ldap'); set_pam_authentication('ldap'); - set_ldap_conf($domain, $val, 1); + + 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') { + $in->do_pkgs->install(qw(nss_ldap )); + + my $port = "389"; + + set_nsswitch_priority('ldap'); + set_pam_authentication('krb5'); + + my $ssl = { + anonymous => 'off', + simple => 'off', + tls => 'start_tls', + ssl => 'on', + kerberos => 'off', + }->{$authentication->{sub_kind}}; + + if ($authentication->{tls} eq '1' ){ + $tls = 'start_tls'; + }; + + + + 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 => $tls, + port => $port, + + binddn => $authentication->{AD_user}, + bindpw => $authentication->{AD_password}, + + (map_each { "nss_map_objectclass_$::a" => $::b } + posixAccount => 'User', + shadowAccount => 'User', + posixGroup => 'Group', + ), + (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') { - $in->do_pkgs->install('ypbind'); + $in->do_pkgs->install(qw(ypbind autofs)); my $domain = $netc->{NISDOMAIN}; - $domain || $val ne "broadcast" or die N("Can't use broadcast with no NIS domain"); - my $t = $domain ? "domain $domain" . ($val ne "broadcast" && " server") : "ypserver"; + $domain || $authentication->{NIS_server} ne "broadcast" or die N("Can't use broadcast with no NIS domain"); + my $t = $domain ? "domain $domain" . ($authentication->{NIS_server} ne "broadcast" && " server") : "ypserver"; substInFile { $_ = "#~$_" unless /^#/; - $_ .= "$t $val\n" if eof; + $_ .= "$t $authentication->{NIS_server}\n" if eof; } "$::prefix/etc/yp.conf"; set_nsswitch_priority('nis'); @@ -94,28 +237,58 @@ sub set { run_program::rooted($::prefix, 'nisdomainname', $domain); run_program::rooted($::prefix, 'service', 'ypbind', 'restart'); }) if !$::isInstall; #- TODO: also do it during install since nis can be useful to resolve domain names. Not done because 9.2-RC +# } elsif ($kind eq 'winbind' || $kind eq 'AD' && $authentication->{subkind} eq 'winbind') { + +# }) if !$::isInstall; +#- TODO: also do it during install since nis can be useful to resolve domain names. Not done because 9.2-RC } elsif ($kind eq 'winbind') { - my $domain = $netc->{WINDOMAIN}; - $domain =~ tr/a-z/A-Z/; - $in->do_pkgs->install(qw(samba-winbind samba-common)); + my $domain = uc $netc->{WINDOMAIN}; + + $in->do_pkgs->install('samba-winbind'); + set_nsswitch_priority('winbind'); set_pam_authentication('winbind'); require network::smb; network::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::rooted($::prefix, 'smbpasswd', '-j', $domain, '-U', $val . '%' . $authentication->{winpass}); + run_program::rooted($::prefix, 'net', 'join', $domain, '-U', $authentication->{winuser} . '%' . $authentication->{winpass}); + }); + } elsif ($kind eq 'SMBKRB') { + $authentication->{AD_server} ||= $authentication->{AD_domain}; + my $domain = uc $netc->{WINDOMAIN}; + my $realm = $authentication->{AD_domain}; + + configure_krb5_for_AD($authentication); + $in->do_pkgs->install('samba-winbind', 'samba-server', 'samba-client'); + set_nsswitch_priority('winbind'); + set_pam_authentication('winbind'); + + + require network::smb; + network::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::rooted($::prefix, 'net', 'ads', 'join', '-U', $authentication->{winuser} . '%' . $authentication->{winpass}); }); } } sub pam_modules() { - 'pam_ldap', 'pam_winbind', 'pam_mkhomedir'; + 'pam_ldap', 'pam_castella', 'pam_winbind', 'pam_krb5', 'pam_mkhomedir'; } sub pam_module_from_path { $_[0] && $_[0] =~ m|(/lib/security/)?(pam_.*)\.so| && $2; @@ -139,41 +312,66 @@ sub get_raw_pam_authentication() { \%before_deny; } -sub set_raw_pam_authentication { - my ($before_deny, $before_first) = @_; +sub set_pam_authentication { + my (@authentication_kinds) = @_; + + my %special = ( + auth => \@authentication_kinds, + account => [ difference2(\@authentication_kinds, [ 'castella' ]) ], + password => [ intersection(\@authentication_kinds, [ 'ldap', 'krb5' ]) ], + ); + my %before_first = ( + 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') : '', + ); + substInFile { my ($type, $control, $module, @para) = split; - my $added_pre_line = ''; if ($module = pam_module_from_path($module)) { - if ($module eq 'pam_unix' && member($type, 'auth', 'account')) { - #- remove likeauth, nullok and use_first_pass - $_ = pam_format_line($type, 'sufficient', $module, grep { !member($_, qw(likeauth nullok use_first_pass)) } @para); + if (member($module, pam_modules())) { + #- first removing previous config + $_ = ''; + } + if ($module eq 'pam_unix' && $special{$type}) { + my @para_for_last = + $type eq 'auth' ? qw(likeauth nullok use_first_pass) : + $type eq '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'); - ($added_pre_line, $_) = ($_, pam_format_line($type, $control, $module)); + $_ .= pam_format_line($type, $control, $module); } } - if (member($module, pam_modules())) { - #- first removing previous config - warn "dropping line $_"; - $_ = ''; - } else { - if ($before_first->{$type}) { - foreach my $module (keys %{$before_first->{$type}}) { - $_ = pam_format_line($type, 'required', $module, @{$before_first->{$type}{$module}}) . $_; - } - delete $before_first->{$type}; - } - if ($control eq 'required' && $module eq 'pam_deny') { - if ($before_deny->{$type}) { - foreach my $module (keys %{$before_deny->{$type}}) { - $_ = pam_format_line($type, 'sufficient', $module, @{$before_deny->{$type}{$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; } } - $_ = $added_pre_line . $_; } } "$::prefix/etc/pam.d/system-auth"; } @@ -183,20 +381,6 @@ sub get_pam_authentication_kinds() { map { s/pam_//; $_ } keys %{$before_deny->{auth}}; } -sub set_pam_authentication { - my (@authentication_kinds) = @_; - my $before_deny = {}; - my $before_first = {}; - foreach (@authentication_kinds) { - my $module = 'pam_' . $_; - $before_deny->{auth}{$module} = [ 'likeauth', 'nullok', 'use_first_pass' ]; - $before_deny->{account}{$module} = [ 'use_first_pass' ]; - $before_deny->{password}{$module} = [] if $_ eq 'ldap'; - $before_first->{session}{pam_mkhomedir} = [ 'skel=/etc/skel/', 'umask=0022' ] if $_ eq 'winbind'; - } - set_raw_pam_authentication($before_deny, $before_first); -} - sub set_nsswitch_priority { my (@kinds) = @_; # allowed: files nis ldap dns @@ -207,33 +391,156 @@ sub set_nsswitch_priority { } "$::prefix/etc/nsswitch.conf"; } +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_(/(\S+)\s+(.*)/, $1 => $2) } cat_("$::prefix/etc/ldap.conf"); + my %conf = map { + s/^\s*#.*//; + if_(_after_read_ldap_line($_) =~ /(\S+)\s+(.*)/, $1 => $2); + } cat_("$::prefix/etc/ldap.conf"); \%conf; } -sub set_ldap_conf { - my ($domain, $servers, $b_ssl) = @_; - - my %wanted_conf = ( - host => $servers, - base => $domain, - port => $b_ssl ? 636 : 389, - ssl => $b_ssl ? 'on' : 'off', - nss_base_shadow => "ou=People,$domain", - nss_base_passwd => "ou=People,$domain", - nss_base_group => "ou=Group,$domain", - ); +sub update_ldap_conf { + my (%conf) = @_; substInFile { - my ($cmd) = /^#?\s*(\w+)\s/; - if ($cmd && exists $wanted_conf{$cmd}) { - my $val = $wanted_conf{$cmd}; - $wanted_conf{$cmd} = ''; - $_ = $val ? "$cmd $val\n" : ''; + 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', + )); + + 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; +} + +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 values %subst; + %subst = (); + } elsif (/^\s*([^=]*?)\s*=/) { + if (my $e = delete $subst{lc($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 values %subst; + } + + MDK::Common::File::output($file, $s); + +} + +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; +} + 1; diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 0cdbfc1bd..6429cb00a 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -39,6 +39,21 @@ our %vga_modes = ( #-##################################################################################### #- 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 get { my ($kernel, $bootloader) = @_; @@ -658,18 +673,21 @@ sub detect_bootloader() { sub method_choices { my ($fstab, $bootloader) = @_; - my %choices = ( - if_(arch() =~ /sparc/, + my %choices = + arch() =~ /sparc/ ? ( 'silo' => N("SILO"), - ), if_(arch() !~ /sparc|ppc/ && !isLoopback(fsedit::get_root($fstab)) && whereis_binary('lilo'), - if_(!detect_devices::matching_desc('ProSavageDDR'), 'lilo-graphic' => N("LILO with graphical menu")), - 'lilo-menu' => N("LILO with text menu"), - ), if_(arch() !~ /sparc|ppc/ && !isRAID(fsedit::get_root($fstab)) && whereis_binary('grub'), - 'grub' => N("Grub"), - ), if_(arch() =~ /ppc/, + ) : arch() =~ /ppc/ ? ( 'yaboot' => N("Yaboot"), - ), - ); + ) : arch() =~ /ia64/ ? ( + 'lilo' => N("Elilo"), + ) : ( + if_(!isLoopback(fsedit::get_root($fstab)) && whereis_binary('lilo'), + if_(!detect_devices::matching_desc('ProSavageDDR'), 'lilo-graphic' => N("LILO with graphical menu")), + 'lilo-menu' => N("LILO with text menu"), + ), if_(!isRAID(fsedit::get_root($fstab)) && whereis_binary('grub'), + 'grub' => N("Grub"), + ), + ); my $prefered; $prefered ||= 'grub' if $::isStandalone && detect_bootloader() =~ /GRUB/; $prefered ||= 'lilo-' . (member($bootloader->{install}, 'text', 'menu', 'graphic') ? $bootloader->{install} : 'graphic'); @@ -1152,10 +1170,8 @@ sub install_grub { if (!$::testing) { log::l("Installing boot loader..."); - symlink "$::prefix/boot", "/boot"; my $error; - run_program::run("sh", $f, "2>", \$error) or die "grub failed: $error"; - unlink "/boot"; + run_program::rooted($::prefix, "sh", $f, "2>", \$error) or die "grub failed: $error"; } } diff --git a/perl-install/c/smp.c b/perl-install/c/smp.c index 2438418bb..9cc75978d 100644 --- a/perl-install/c/smp.c +++ b/perl-install/c/smp.c @@ -64,30 +64,132 @@ int sparcDetectSMP(void) } #endif /* __sparc__ */ -/* just a placeholder for now - don't have an SMP machine - need something in place to build - s.benedict */ - #ifdef __powerpc__ +/* minifind.c -- simple find library + * + * Copyright (c) 2002 Terra Soft Solutions, Inc. + * Written by Dan Burcaw <dburcaw@terrasoftsolutions.com> + * + * This software may be freely redistributed under the terms of the GNU + * library public license. + * + * You should have received a copy of the GNU Library 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 <string.h> +#include <dirent.h> +#include <malloc.h> +#include <unistd.h> +#include <sys/stat.h> +#include <sys/types.h> + +struct pathNode +{ + char *path; + struct pathNode *next; +}; + +struct findNode +{ + struct pathNode *result; + struct pathNode *exclude; +}; + +// insert a node at head of linked-list +static void insert_node(struct pathNode *n, char *path) +{ + struct pathNode *new = (struct pathNode *) malloc(sizeof(struct pathNode)); + new->path = path; + new->next = n->next; + n->next = new; +} + +// return input strip less last character +static char *stripLastChar(char *in) +{ + char *out = malloc(sizeof(char)*strlen(in)); + snprintf(out, strlen(in) - 1, "%s", in); + return out; +} + +// do the work +static char *minifind(char *dir, char *search, struct findNode *list) +{ + char *d = NULL; + int n; + struct dirent **namelist; + struct stat buf; + + if (dir[strlen(dir)-1] == '/') + dir = stripLastChar(dir); + + // check is there is an exact filematch to dir + // when search is not specified + if (search == NULL) + { + if (lstat(dir, &buf) == 0) + insert_node(list->result, dir); + return 0; + } + + n = scandir(dir, &namelist, 0, alphasort); + if (n >= 0) + { + while (n--) + { + d = malloc(sizeof(char) * (strlen(dir) \ + + strlen(namelist[n]->d_name)+1)); + sprintf(d, "%s/%s", dir, namelist[n]->d_name); + if (strstr(namelist[n]->d_name, search)) + insert_node(list->result, d); + + if ((lstat(d, &buf) == 0) && S_ISDIR(buf.st_mode)) + { + if (strcmp(namelist[n]->d_name, ".") && + strcmp(namelist[n]->d_name, "..")) + d = minifind(d, search, list); + } + free(namelist[n]); + } + free(namelist); + return d; + } + return 0; +} + int ppcDetectSMP(void) { - int issmp = 0; + int issmp = -1; FILE *f; - - f = fopen("/proc/cpuinfo", "r"); - if (f) { - char buff[1024]; + struct findNode *list = (struct findNode *) malloc(sizeof(struct findNode)); + struct pathNode *n; - while (fgets (buff, 1024, f) != NULL) { - if (!strncmp (buff, "ncpus active\t: ", 15)) { - if (strtoul (buff + 15, NULL, 0) > 1) - issmp = 1; - break; + list->result = (struct pathNode *) malloc(sizeof(struct pathNode)); + list->result->path = NULL; + list->result->next = list->result; + + minifind("/proc/device-tree/cpus", "device_type", list); + + for (n = list->result->next; n != list->result; n = n->next) + { + f = fopen(n->path, "r"); + if (f) { + char buff[1024]; + while (fgets (buff, 1024, f) != NULL) { + if (!strncmp (buff, "cpu", 3)) + { + issmp++; + break; + } + } + fclose(f); } } - fclose(f); - } else - return -1; - + return issmp; } #endif /* __powerpc__ */ @@ -152,6 +254,11 @@ typedef unsigned int vm_offset_t; #include <machine/types.h> #endif +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef vm_offset_t addr_t; + /* EBDA is @ 40:0e in real-mode terms */ #define EBDA_POINTER 0x040e /* location of EBDA pointer */ @@ -172,43 +279,43 @@ typedef unsigned int vm_offset_t; /* MP Floating Pointer Structure */ typedef struct MPFPS { char signature[ 4 ]; - void* pap; - u_char length; - u_char spec_rev; - u_char checksum; - u_char mpfb1; - u_char mpfb2; - u_char mpfb3; - u_char mpfb4; - u_char mpfb5; + addr_t pap; + u8 length; + u8 spec_rev; + u8 checksum; + u8 mpfb1; + u8 mpfb2; + u8 mpfb3; + u8 mpfb4; + u8 mpfb5; } mpfps_t; /* MP Configuration Table Header */ typedef struct MPCTH { char signature[ 4 ]; - u_short base_table_length; - u_char spec_rev; - u_char checksum; - u_char oem_id[ 8 ]; - u_char product_id[ 12 ]; - void* oem_table_pointer; - u_short oem_table_size; - u_short entry_count; - void* apic_address; - u_short extended_table_length; - u_char extended_table_checksum; - u_char reserved; + u16 base_table_length; + u8 spec_rev; + u8 checksum; + u8 oem_id[ 8 ]; + u8 product_id[ 12 ]; + addr_t oem_table_pointer; + u16 oem_table_size; + u16 entry_count; + addr_t apic_address; + u16 extended_table_length; + u8 extended_table_checksum; + u8 reserved; } mpcth_t; typedef struct PROCENTRY { - u_char type; - u_char apicID; - u_char apicVersion; - u_char cpuFlags; - u_long cpuSignature; - u_long featureFlags; - u_long reserved1; - u_long reserved2; + u8 type; + u8 apicID; + u8 apicVersion; + u8 cpuFlags; + u32 cpuSignature; + u32 featureFlags; + u32 reserved1; + u32 reserved2; } ProcEntry; #define PROCENTRY_FLAG_EN 0x01 @@ -274,7 +381,7 @@ static int intelDetectSMP_mptable(void) mpcth_t cth; int count, i; - paddr = (vm_offset_t) mpfps.pap; + paddr = mpfps.pap; seekEntry( paddr ); readEntry( &cth, sizeof( cth ) ); /* if we don't have any entries, the kernel sure diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl index 26e6ce413..07249d66b 100644 --- a/perl-install/c/stuff.xs.pl +++ b/perl-install/c/stuff.xs.pl @@ -23,6 +23,8 @@ print ' #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> @@ -398,13 +400,68 @@ hasNetDevice(device) int s = socket(AF_INET, SOCK_DGRAM, 0); if (s == -1) { RETVAL = 0; return; } - strcpy(req.ifr_name, device); + strncpy(req.ifr_name, device, IFNAMSIZ); RETVAL = ioctl(s, SIOCGIFFLAGS, &req) == 0; close(s); 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: @@ -415,7 +472,7 @@ getNetDriver(char* device) int s = socket(AF_INET, SOCK_DGRAM, 0); memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, device, sizeof(ifr.ifr_name)-1); + strncpy(ifr.ifr_name, device, IFNAMSIZ); drvinfo.cmd = ETHTOOL_GDRVINFO; ifr.ifr_data = (caddr_t) &drvinfo; diff --git a/perl-install/common.pm b/perl-install/common.pm index 170ad831d..93004c37f 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -308,4 +308,44 @@ sub unpack_with_refs { @r; } + +sub my_cp_with_option { + my $option = shift @_; + my $keep_special = $option =~ /a/; + + 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 && $keep_special) { + 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"; + my_cp_af(glob_($src), $dest); + } elsif ((-b $src || -c $src) && $keep_special) { + my @stat = stat($src); + require MDK::Common::System; + MDK::Common::System::syscall_('mknod', $dest, $stat[2], $stat[6]) or die "mknod failed (dev $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 $_; while (<$F>) { print $G $_ } + chmod((stat($src))[2], $dest); + } + } + 1; +} + +sub my_cp_f { my_cp_with_option('f', @_) } +sub my_cp_af { my_cp_with_option('af', @_) } + 1; diff --git a/perl-install/crypto.pm b/perl-install/crypto.pm index 7cd0b2447..830c908cd 100644 --- a/perl-install/crypto.pm +++ b/perl-install/crypto.pm @@ -44,6 +44,14 @@ use ftp; %mirrors = (); +sub compat_arch_for_updates($) { + # FIXME: We prefer 64-bit packages to update on biarch platforms, + # since the system is populated with 64-bit packages anyway. + my ($arch) = @_; + return $arch =~ /x86_64|amd64/ if (arch() eq 'x86_64'); + MDK::Common::System::compat_arch($arch); +} + sub mirror2text { $mirrors{$_[0]} && $mirrors{$_[0]}[0] . '|' . $_[0] } sub mirrors { my ($o_distro_type) = @_; @@ -60,7 +68,7 @@ sub mirrors { my $sub_dir = $distro_type =~ /cooker|community/ ? '' : ($::corporate ? '/corporate' : '') . '/' . version(); foreach (<$f>) { my ($arch, $url, $dir) = m|$distro_type([^:]*):ftp://([^/]*)(/\S*)| or next; - MDK::Common::System::compat_arch($arch) or + compat_arch_for_updates($arch) or log::l("ignoring updates from $url because of incompatible arch: $arch"), next; my $land = N("United States"); foreach (keys %url2land) { @@ -104,11 +112,12 @@ sub bestMirror { #- hack to retrieve Mandrakelinux version... sub version() { - require pkgs; - my $pkg = pkgs::packageByName($::o->{packages}, 'mandrake-release'); - $pkg && $pkg->version || '9.1'; #- safe but dangerous ;-) + my $release = cat_("$::prefix/etc/mandrake-release"); + my ($version) = $release =~ /Mandrake\s*linux.*\srelease\s+([\d.]+)/i; + $version || '10.0'; #- safe but dangerous ;-) } + sub dir { $mirrors{$_[0]}[1] } sub ftp($) { ftp::new($_[0], dir($_[0])) } diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index 3e699ba24..835785f06 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -180,7 +180,7 @@ sub isKeyUsb { $_[0]{usb_media_type} && index($_[0]{usb_media_type}, 'Mass Stora sub isFloppyUsb { $_[0]{usb_driver} && $_[0]{usb_driver} eq 'Removable:floppy' } sub isRemovableDrive { my ($e) = @_; - isZipDrive($e) || isLS120Drive($e) || $e->{media_type} && $e->{media_type} eq 'fd' || isRemovableUsb($e) || $e->{usb_media_type} && index($e->{usb_media_type}, 'Mass Storage|Floppy (UFI)') == 0; + isZipDrive($e) || isLS120Drive($e) || $e->{media_type} && $e->{media_type} eq 'fd' || $e->{usb_media_type} && index($e->{usb_media_type}, 'Mass Storage|Floppy (UFI)') == 0; } sub getSCSI_24() { @@ -270,6 +270,8 @@ sub getSCSI_26() { }; } all($dev_dir); + @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) { @@ -342,6 +344,12 @@ sub getIDE() { @idi; } +sub block_devices() { + -d '/sys/block' + ? map { s|!|/|; $_ } all('/sys/block') + : map { $_->{dev} } devices::read_proc_partitions_raw(); +} + sub getCompaqSmartArray() { my (@idi, $f); @@ -351,12 +359,14 @@ sub getCompaqSmartArray() { my ($name) = m|/(.*)|; for (my $i = 0; -r ($f = "${prefix}$i"); $i++) { - foreach (cat_($f)) { - if (my ($raw_device) = m|^\s*($name/.*?):|) { - 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 => 'ida' }; - } + my @raw_devices = cat_($f) =~ m|^\s*($name/.*?):|gm; + @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 }; } } } @@ -506,29 +516,27 @@ sub getNet() { # mapgrep(sub {member (($_[0] =~ /\s*(\w*):/), @netdevices), $1 }, split(/\n/, cat_("/proc/net/dev"))); #} -# heavily inspirated from hidups driver from nut: sub getUPS() { - # nut/driver/hidups.h: - my $UPS_USAGE = 0x840004; - my $POWER_USAGE = 0x840020; - my $hiddev_find_application = sub { - my ($fd, $usage) = @_; - my $i = 0; - my $ret; - do { $i++ } while ($ret = ioctl($fd, c::HIDIOCAPPLICATION(), $i)) && $ret != $usage; - return $ret == $usage ? 1 : 0; - }; + # MGE serial PnP devices: + my @usb_devices = map { ($_->{name} = $_->{description}) =~ s/.*\|//; $_ } usb_probe(); - (map { $_->{driver} = "mge-shut"; $_ } grep { $_->{DESCRIPTION} =~ /MGE UPS/ } values %serialprobe), (map { - open(my $f, $_); - if_(!$hiddev_find_application->($f, $UPS_USAGE) && !$hiddev_find_application->($f, $POWER_USAGE), - { port => $_, - name => c::get_usb_ups_name(fileno($f)), - driver => "hidups", - } - ); - } -e "/dev/.devfsd" ? glob("/dev/usb/hid/hiddev*") : glob("/dev/usb/hiddev*")); + $_->{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 { $_->{description} =~ /American Power Conversion\|Back-UPS/ } @usb_devices), + (map { + $_->{port} = "auto"; + $_->{media_type} = 'UPS'; + $_->{driver} = 'newhidups'; + $_; + } grep { $_->{driver} =~ /ups$/ } @usb_devices); } $pcitable_addons = <<'EOF'; @@ -617,6 +625,12 @@ sub firewire_probe() { @l; } +sub real_pcmcia_probe() { + return if $::testing; + + c::pcmcia_probe() || (find { $_->{driver} eq 'yenta_socket' } pci_probe()) && 'yenta_socket'; +} + sub pcmcia_probe() { -e '/var/run/stab' || -e '/var/lib/pcmcia/stab' or return (); diff --git a/perl-install/devices.pm b/perl-install/devices.pm index 434397a61..8a3654566 100644 --- a/perl-install/devices.pm +++ b/perl-install/devices.pm @@ -38,7 +38,7 @@ sub del_loop { run_program::run("losetup", "-d", $dev); } sub find_free_loop() { - foreach (0..7) { + 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 diff --git a/perl-install/do_pkgs.pm b/perl-install/do_pkgs.pm index 11cb4e84b..a84223f24 100644 --- a/perl-install/do_pkgs.pm +++ b/perl-install/do_pkgs.pm @@ -41,6 +41,20 @@ sub is_installed { $do->are_installed($name); } +sub check_kernel_module_packages { + my ($do, $base_name, $o_ext_name) = @_; + + require bootloader; + my @l = map { $base_name . '-' . bootloader::vmlinuz2version($_) } bootloader::installed_vmlinuz(); + my @ext = if_($o_ext_name, $o_ext_name); + my @rpms = $do->are_available(@ext, @l); + + log::l("found kernel module packages $_") foreach @rpms; + + #- we want at least a kernel package and the ext package if specified + @rpms > @ext && \@rpms; +} + ################################################################################ package do_pkgs_during_install; use run_program; @@ -57,7 +71,7 @@ sub new { sub install { my ($do, @l) = @_; log::l("do_pkgs_during_install::install"); - if ($::testing) { + if ($::testing || $::globetrotter) { log::l("i would install packages " . join(' ', @l)); return 1; } else { @@ -65,30 +79,16 @@ sub install { } } -sub check_kernel_module_packages { - my ($do, $base_name, $o_ext_name) = @_; - - if (!$o_ext_name || pkgs::packageByName($do->{o}{packages}, $o_ext_name)) { - my @rpms = map { - my $name = $base_name . $_->{ext} . '-' . $_->{version}; - if ($_->{pkg}->flag_available && pkgs::packageByName($do->{o}{packages}, $name)) { - log::l("found kernel module packages $name"); - $name; - } else { - (); - } - } pkgs::packages2kernels($do->{o}{packages}); - - @rpms and return [ @rpms, if_($o_ext_name, $o_ext_name) ]; - } - return undef; -} - sub what_provides { my ($do, $name) = @_; map { $_->name } pkgs::packagesProviding($do->{o}{packages}, $name); } +sub are_available { + my ($do, @pkgs) = @_; + grep { pkgs::packageByName($do->{o}{packages}, $_) } @pkgs; +} + sub are_installed { my ($do, @l) = @_; grep { @@ -148,13 +148,9 @@ sub install { $ret; } -sub check_kernel_module_packages { - my ($_do, $base_name, $o_ext_name) = @_; - my ($result, %list, %select); - my @rpm_qa if 0; - - #- initialize only once from rpm -qa output... - @rpm_qa or @rpm_qa = `rpm -qa`; +sub are_available { + my ($_do, @pkgs) = @_; + my %pkgs = map { $_ => 1 } @pkgs; eval { local *_; @@ -164,35 +160,9 @@ sub check_kernel_module_packages { foreach (grep { !$_->{ignore} } @{$urpm->{media} || []}) { $urpm->parse_synthesis("$urpm->{statedir}/synthesis.$_->{hdlist}"); } - foreach (@{$urpm->{depslist} || []}) { - $_->name eq $o_ext_name and $list{$_->name} = 1; - $_->name =~ /$base_name/ and $list{$_->name} = 1; - } - foreach (@rpm_qa) { - my ($name) = /(.*?)-[^-]*-[^-]*$/ or next; - $name eq $o_ext_name and $list{$name} = 0; - $name =~ /$base_name/ and $list{$name} = 0; - } + map { $_->name } grep { $pkgs{$_->name} } @{$urpm->{depslist} || []}; }; - if (!$o_ext_name || exists $list{$o_ext_name}) { - eval { - my ($version_release, $ext); - if (c::kernel_version() =~ /([^-]*)-([^-]*mdk)(\S*)/) { - $version_release = "$1.$2"; - $ext = $3 ? "-$3" : ""; - exists $list{"$base_name$ext-$version_release"} or die "no $base_name for current kernel"; - $list{"$base_name$ext-$version_release"} and $select{"$base_name$ext-$version_release"} = 1; - } else { - #- kernel version is not recognized, what to do ? - } - foreach (@rpm_qa) { - ($ext, $version_release) = /kernel[^\-]*(-smp|-enterprise|-secure)?(?:-([^\-]+))$/; - $list{"$base_name$ext-$version_release"} and $select{"$base_name$ext-$version_release"} = 1; - } - $result = [ keys(%select), if_($o_ext_name, $o_ext_name) ]; - } - } - return $result; + } sub what_provides { diff --git a/perl-install/drakxtools.spec b/perl-install/drakxtools.spec index 195710d1b..97c7044bf 100644 --- a/perl-install/drakxtools.spec +++ b/perl-install/drakxtools.spec @@ -1,12 +1,12 @@ Summary: The drakxtools (XFdrake, diskdrake, keyboarddrake, mousedrake...) Name: drakxtools Version: 10 -Release: 34mdk +Release: 34.10.100mdk Url: http://www.mandrakelinux.com/en/drakx.php3 Source0: %name-%version.tar.bz2 License: GPL Group: System/Configuration/Other -Requires: %{name}-newt = %version-%release, perl-Gtk2 >= 1.040-1mdk, perl-Glib >= 1.040-1mdk, /usr/X11R6/bin/xtest, font-tools, usermode >= 1.63-5mdk, perl-MDK-Common >= 1.1.10, gurpmi, mandrake-doc-common >= 9.2-5mdk +Requires: %{name}-newt = %version-%release, perl-Gtk2 >= 1.023-3mdk, perl-Glib >= 1.021-3mdk, /usr/X11R6/bin/xtest, font-tools, usermode >= 1.63-5mdk, perl-MDK-Common >= 1.1.11, gurpmi, mandrake-doc-common >= 9.2-5mdk Requires: foomatic-db-engine %ifarch sparc sparc64 %{ix86} x86_64 amd64 Requires: mkbootdisk @@ -314,6 +314,106 @@ file /etc/sysconfig/harddrake2/previous_hw | fgrep -q perl && %_datadir/harddrak %config(noreplace) %_sysconfdir/logrotate.d/drakxtools-http %changelog +* Thu Jul 7 2005 Stew Benedict <sbenedict@mandriva.com> 10-34.10.100mdk +- update requires for perl-MDK-Common + +* Fri Jul 1 2005 Thierry Vignaud <tvignaud@mandriva.com> 10-34.9.100mdk +- drakfirewall: fix port range syntax for samba (blino, #16604) +- drakfont: fix uninstalling fonts (#9324) +- drakbackup (stew, #12861): + o directories with spaces Mandrakeclub + o perms too relaxed on tarballs + +* Wed Nov 17 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34.8.100mdk +- fix network on new laptops with broadcom chips + +* Wed Nov 17 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34.7.100mdk +- harddrake service: adapt to new nvidia driver location (DKMS one) + +* Wed Nov 10 2004 Pixel <pixel@mandrakesoft.com> 10-34.6.100mdk +- drakauth: add SmartCard authentication + +* Mon Oct 25 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34.5.100mdk +- update drakups + +* Wed Aug 25 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 10-34.4.100mdk +- rebuild with amd64-branch changes: + o fix smp detection + o handle lib64 drivers on x86_64 + o add XFS to known x86_64 FS list + o major ddcxinfos portability fixes + o parse XF86 log in last resort if ddcxinfos was not useful enough + o always prefer 64-bit packages for updates on biarch platforms + +* Fri Jul 30 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34.3.100mdk +- diskdrake: + o fix Compaq Smart Array support + o misc bug fixes +- drakbackup: + o fix Anthill bugs #927 and #929 (filenames with spaces, + .backupignore, misc GUI issues) + o fix AntHill bugs #1009 and #1010 (DVD recording, disk quota) + o fix .backupignore issue + o typo in "other" routine +- drakboot: fix doble windows on LILO/GRUB error +- drakconnect: misc bug fixes +- draksplash: make it works again... +- drakTermServ: misc fixes +- drakupdate_fstab: add support for floppies +- drakxtv: fix tv modules that weren't loaded on boot +- globetrooter support (a mdk10.0 based product with automatic hw + configuration in harddrake service) +- harddrake GUI: do not automatically configure removable media but + run the proper config tool instead +- harddrake service: + o fix adding a removable medium + o fix misdetection of nvidia nforce ethernet cards (broken since + forcedeth replaced nvnet on 2004-01-21 in MDK10's ldetect-lst) + o fix logs of newly added hardware + o only stop boot progressbar if there a non automatic tool to run + o fix duplicated USB disks (in both disk and unknown categories in GUI) +- XFdrake: fix monitor detection (based on mandrakemove) + +* Fri May 28 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34.2.100mdk +- authentication: install autofs for nis authentication (florin & fcrozat) +- diskdrake: disable package instead of removing nfs-utils or + samba-server (when "diskdrake --fileshare" disables a export kind) + (pixel, #9804) +- drakbackup (stew): + o fix dropped .txt files when running mkisofs (Anthill #799) + o use binary mode for ftp + o fix gui "double screen" effect during restores +- drakconnect: + o prevent identification mismatch on ethtool results (#9669) + o fix card name lookup when driver does not support GDRVINFO command + from ETHTOOL ioctl and there's only one card managed by this driver + o fallback on sysfs in order to get driver and card description when + ethtool is not supported (eg: ipw2100 driver for intel centrino) + o fix protocol switching from manual to DHCP when stepping back in + wizard +- drakfirewall: handle BitTorrent (robert vojta) +- drakTermServ: add /etc/modprobe* mount points for client hardware + config (stew) +- keyboardrake (pablo): + o support more keyboards + o Nepali uses devanagari script +- localedrake: handle Latgalian language (pablo) +- net_monitor: ignore sit0 + +* Tue May 11 2004 Pixel <pixel@mandrakesoft.com> 10-34.1mdk +- fix pam configuration when using winbind (also fixes LDAP and NIS (?)) +- drakclock: do saner check for ntp package (Robert Vojta) +- drakconnect: + o fix speedtouch ADSL model (using kernel mode) (poulpy) + o better LAN vs wireless filtering by using SIOCGIWNAME ioctl) + o handle ipw2100 wireless driver + o do not offer to set DOMAINNAME2 since it is never saved nor read + (#9580) + o kill "speedtouch and ISDN only work under 2.4 kernel" warnings + (poulpy) +- drakfirewall: open more ports for samba +- scannerdrake: fix firmware installation (till) + * Tue May 4 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-34mdk - drakconnect: o fix last step of interface destruction wizard @@ -321,7 +421,6 @@ file /etc/sysconfig/harddrake2/previous_hw | fgrep -q perl && %_datadir/harddrak to use it (poulpy) - drakupdate_fstab: fix adding twice an entry in fstab, one with the old name, one with the devfs name (pixel) -- XFdrake: kill XFree86 3.x support (pixel) * Fri Apr 30 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 10-33mdk - create ~/tmp if needed when running a program diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm index 9f6874ce9..fc1ace108 100644 --- a/perl-install/fsedit.pm +++ b/perl-install/fsedit.pm @@ -168,8 +168,8 @@ sub lvms { @lvms; } -sub hds { - my ($flags, $o_ask_before_blanking) = @_; +sub get_hds { + my ($flags, $o_in) = @_; $flags ||= {}; $flags->{readonly} && ($flags->{clearall} || $flags->{clear}) and die "conflicting flags readonly and clear/clearall"; @@ -188,8 +188,10 @@ sub hds { if (my $err = $@) { if ($err =~ /write error:/) { $hd->{readonly} = 1; + } elsif ($err =~ /read error:/) { + next; } else { - cdie $err if $err !~ /read error:/; + $o_in and $o_in->ask_warn('', $err); next; } } @@ -197,18 +199,47 @@ sub hds { if ($flags->{clearall} || member($hd->{device}, @{$flags->{clear} || []})) { partition_table::raw::zero_MBR_and_dirty($hd); } else { - eval { - partition_table::read($hd); - compare_with_proc_partitions($hd) if $::isInstall; - }; - if (my $err = $@) { + my $handle_die_and_cdie = sub { if ($hd->{readonly}) { log::l("using /proc/partitions since diskdrake failed :("); use_proc_partitions($hd); + 1; } elsif (exists $hd->{usb_description} && ($hd->{type} ||= typeOfPart($hd->{device}))) { + #- non partitioned drive push @raw_hds, $hd; - next; - } elsif ($o_ask_before_blanking && $o_ask_before_blanking->($hd->{device}, $err)) { + $hd = ''; + 1; + } else { + 0; + } + }; + my $handled; + eval { + catch_cdie { + partition_table::read($hd); + compare_with_proc_partitions($hd) if $::isInstall; + } sub { + my $err = $@; + if ($handle_die_and_cdie->()) { + $handled = 1; + 0; #- don't 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't 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 @@ -216,6 +247,8 @@ sub hds { use_proc_partitions($hd); } } + $hd or next; + member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_) foreach partition_table::get_normal_parts($hd); } @@ -229,6 +262,7 @@ sub hds { my $type = typeOfPart($_->{device}); $_->{type} = $type if ($type & 0xff) == $wanted_type || $type && $hd->isa('partition_table::gpt'); } + push @hds, $hd; } @@ -243,27 +277,6 @@ sub hds { $all_hds; } -sub get_hds { - #- $in is optional - my ($flags, $o_in) = @_; - - if ($o_in) { - catch_cdie { hds($flags, sub { - my ($dev, $err) = @_; - $o_in->ask_yesorno(N("Error"), -N("I can't 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? -", $dev, formatError($err))); - }) } sub { $o_in->ask_okcancel('', formatError($@)) }; - } else { - catch_cdie { hds($flags) } sub { 1 } - } -} - sub read_proc_partitions { my ($hds) = @_; diff --git a/perl-install/harddrake/autoconf.pm b/perl-install/harddrake/autoconf.pm new file mode 100644 index 000000000..985fecb4e --- /dev/null +++ b/perl-install/harddrake/autoconf.pm @@ -0,0 +1,27 @@ +package harddrake::autoconf; + +use common; +use any; + +sub xconf { + my ($o) = @_; + + log::l('automatic XFree configuration'); + + require Xconfig::default; + $o->{raw_X} = Xconfig::default::configure(keyboard::read()); + + require Xconfig::main; + require class_discard; + Xconfig::main::configure_everything_auto_install($o->{raw_X}, class_discard->new, {}, { allowFB => 1 }); + + modules::load_category('various/agpgart'); +} + +sub network_conf { + my ($o) = @_; + require network::network; + network::network::easy_dhcp($o->{netc}, $o->{intf}) and $o->{netcnx}{type} = 'lan'; +} + +1; diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm index e1cea8be9..00f6c1d33 100644 --- a/perl-install/harddrake/data.pm +++ b/perl-install/harddrake/data.pm @@ -38,12 +38,17 @@ sub is_removable { $_[0] =~ /FLOPPY|ZIP|DVDROM|CDROM|BURNER/ } sub set_removable_configurator { my ($class, $device) = @_; - return "/usr/sbin/diskdrake --auto --removable=$device->{device}" if is_removable($class); + return "/usr/sbin/diskdrake --removable=$device->{device}" if is_removable($class); + } + +sub set_removable_auto_configurator { + my ($class, $device) = @_; + return "/usr/sbin/drakupdate_fstab --auto --no-flag --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); + return "/usr/sbin/drakupdate_fstab --auto --no-flag --del $device->{device}" if is_removable($class); } @@ -75,7 +80,7 @@ our @tree = string => N("Disk"), icon => "harddisk.png", configurator => "$sbindir/diskdrake", - detector => \&detect_devices::hds, + detector => sub { f(detect_devices::hds()) }, checked_on_boot => 1, }, @@ -197,7 +202,7 @@ our @tree = #- protocol report are not accurate) so I'll need to verify against #- known drivers :-( require list_modules; - my @usbnet = (list_modules::category2modules('network/usb'), "nvnet"); # rought hack for nforce2's nvet + my @usbnet = (list_modules::category2modules('network/usb'), qw(forcedeth nvnet)); # rought hack for nforce2's nvnet f(grep { $_->{media_type} && $_->{media_type} =~ /^NETWORK/ @@ -367,7 +372,15 @@ our @tree = sub pciusb_id { my ($dev) = @_; - join(':', map { $dev->{$_} } qw(bus pci_bus pci_device vendor id subvendor subid description)); + 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)); } diff --git a/perl-install/harddrake/v4l.pm b/perl-install/harddrake/v4l.pm index 9d4feaa14..e6e24eee1 100644 --- a/perl-install/harddrake/v4l.pm +++ b/perl-install/harddrake/v4l.pm @@ -302,8 +302,10 @@ sub config { $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}}; - $conf{pll} = -1 if !defined $pll_lst{$conf{tuner}}; - $conf{radio} = 0 if $conf{radio} !~ /(0|1)/; + 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. @@ -319,11 +321,7 @@ If your card is misdetected, you can force the right tuner and card types here. )) { $conf{card} = $cards_list{$conf{card}}; - - my $options = - 'radio=' . ($conf{radio} ? 1 : 0) . ' ' . - join(' ', map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers)); - if ($options) { + 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::set_options($driver, $options); diff --git a/perl-install/install2.pm b/perl-install/install2.pm index c1a47d33d..6fea37b19 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -206,7 +206,7 @@ sub formatPartitions { #- needed by lilo if (my @vgs = map { $_->{VG_name} } @{$o->{all_hds}{lvms}}) { - cp_af("/dev/$_", "$::prefix/dev") foreach 'mapper', @vgs; + common::my_cp_af("/dev/$_", "$::prefix/dev") foreach 'mapper', @vgs; } } @@ -264,7 +264,7 @@ sub configureNetwork { #------------------------------------------------------------------------------ sub installUpdates { my ($_clicked, $_ent_number, $auto) = @_; - installStepsCall($o, $auto, 'installUpdates'); + installStepsCall($o, $auto, 'installUpdates') if $o->{meta_class} ne 'firewall'; } #------------------------------------------------------------------------------ sub configureServices { @@ -384,6 +384,7 @@ sub main { step => sub { $o->{steps}{first} = $v }, expert => sub { $::expert = $v }, meta_class => sub { $o->{meta_class} = $v }, + freedriver => sub { $o->{freedriver} = $v }, 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>)) }, @@ -411,6 +412,7 @@ sub main { nomouseprobe => sub { $o->{nomouseprobe} = $v }, updatemodules => sub { $o->{updatemodules} = 1 }, move => sub { $::move = 1 }, + globetrotter => sub { $::move = 1; $::globetrotter = 1 }, }}{lc $n}; &$f if $f; } %cmdline; diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 9fb467cfa..3e88c58ed 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -1,6 +1,5 @@ package install_any; # $Id$ -use diagnostics; use strict; use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $boot_medium $current_medium $asked_medium @advertising_images); @@ -38,6 +37,13 @@ $asked_medium = $boot_medium; #-###################################################################################### my $postinstall_rpms = ''; my $cdrom; + +sub mountCdrom($;$) { + my ($mountpoint, $cdrom_) = @_; + $cdrom_ = $cdrom if !defined $cdrom_; + eval { fs::mount($cdrom_, $mountpoint, "iso9660", 'readonly') }; +} + sub useMedium($) { #- before ejecting the first CD, there are some files to copy! #- does nothing if the function has already been called. @@ -60,37 +66,43 @@ sub relGetFile($) { $_; } sub askChangeMedium($$) { - my ($method, $medium) = @_; + my ($method, $medium_name) = @_; my $allow; do { - eval { $allow = changeMedium($method, $medium) }; + local $::o->{method} = $method = 'cdrom' if $medium_name =~ /^\d+s$/; #- Suppl CD + eval { $allow = changeMedium($method, $medium_name) }; } while $@; #- really it is not allowed to die in changeMedium!!! or install will cores with rpmlib!!! - log::l($allow ? "accepting medium $medium" : "refusing medium $medium"); + log::l($allow ? "accepting medium $medium_name" : "refusing medium $medium_name"); $allow; } + +sub method_allows_medium_change($) { $_[0] eq "cdrom" } + sub errorOpeningFile($) { my ($file) = @_; $file eq 'XXX' and return; #- special case to force closing file after rpmlib transaction. $current_medium eq $asked_medium and log::l("errorOpeningFile $file"), return; #- nothing to do in such case. - $::o->{packages}{mediums}{$asked_medium}{selected} or return; #- not selected means no need for worying about. + $::o->{packages}{mediums}{$asked_medium}{selected} or return; #- not selected means no need to worry about. + my $current_method = $::o->{packages}{mediums}{$asked_medium}{method} || $::o->{method}; my $max = 32; #- always refuse after $max tries. - if ($::o->{method} eq "cdrom") { - cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1; + if ($current_method eq "cdrom") { + cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(/mnt/cdrom|/tmp/image), + and ($cdrom, my $mountpoint) = ($1, $2); return unless $cdrom; - ejectCdrom($cdrom); - while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) { + ejectCdrom($cdrom, $mountpoint); + while ($max > 0 && askChangeMedium($current_method, $asked_medium)) { $current_medium = $asked_medium; - eval { fs::mount($cdrom, "/tmp/image", "iso9660", 'readonly') }; + mountCdrom("/tmp/image"); my $getFile = getFile($file); $getFile && @advertising_images and copy_advertising($::o); $getFile and return $getFile; $current_medium = 'unknown'; #- don't know what CD is inserted now. - ejectCdrom($cdrom); + ejectCdrom($cdrom, $mountpoint); --$max; } } else { - while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) { + while ($max > 0 && askChangeMedium($current_method, $asked_medium)) { $current_medium = $asked_medium; my $getFile = getFile($file); $getFile and return $getFile; $current_medium = 'unknown'; #- don't know what CD image has been copied. @@ -98,19 +110,24 @@ sub errorOpeningFile($) { } } + #- Don't unselect supplementary CDs. + return if $asked_medium =~ /^\d+s$/; + #- keep in mind the asked medium has been refused on this way. #- this means it is no more selected. $::o->{packages}{mediums}{$asked_medium}{selected} = undef; #- on cancel, we can expect the current medium to be undefined too, - #- this enable remounting if selecting a package back. + #- this enables remounting if selecting a package back. $current_medium = 'unknown'; return; } + sub getFile { - my ($f, $o_method) = @_; - log::l("getFile $f:$o_method"); + my ($f, $o_method, $o_altroot) = @_; + my $current_method = ($asked_medium ? $::o->{packages}{mediums}{$asked_medium}{method} : '') || $::o->{method}; + log::l("getFile $f:$o_method ($asked_medium:$current_method)"); my $rel = relGetFile($f); do { if ($f =~ m|^http://|) { @@ -119,22 +136,25 @@ sub getFile { } elsif ($o_method =~ /crypto|update/i) { require crypto; crypto::getFile($f); - } elsif ($::o->{method} eq "ftp") { + } elsif ($current_method eq "ftp") { require ftp; ftp::getFile($rel); - } elsif ($::o->{method} eq "http") { + } elsif ($current_method eq "http") { require http; - http::getFile("$ENV{URLPREFIX}/$rel"); + http::getFile(($ENV{URLPREFIX} || $o_altroot) . "/$rel"); } else { - #- try to open the file, but examine if it is present in the repository, this allow - #- handling changing a media when some of the file on the first CD has been copied - #- to other to avoid media change... + #- try to open the file, but examine if it is present in the repository, + #- this allows handling changing a media when some of the files on the + #- first CD have been copied to other to avoid media change... my $f2 = "$postinstall_rpms/$f"; - $f2 = "/tmp/image/$rel" if !$postinstall_rpms || !-e $f2; - my $F; open($F, $f2) && $F; + $o_altroot ||= '/tmp/image'; + $f2 = "$o_altroot/$rel" if $rel !~ m,^/, && (!$postinstall_rpms || !-e $f2); + $f2 = "/$rel" if !$::o->{packages}{mediums}{$asked_medium}{rpmsdir} && !-e $f2; + my $F; open($F, $f2) ? $F : do { $f2 !~ /XXX/ and log::l("Can't open $f2: $!"); undef } } } || errorOpeningFile($f); } + sub getAndSaveFile { my ($file, $local) = @_ == 1 ? ("Mandrake/mdkinst$_[0]", $_[0]) : @_; local $/ = \ (16 * 1024); @@ -282,12 +302,89 @@ sub preConfigureTimezone { add2hash_($o->{timezone}, { UTC => $utc, ntp => $ntp }); } +sub ask_if_suppl_media { + my ($o) = @_; + return $o->ask_yesorno('', N("Do you have a supplementary CD to install?"), 0) ? "CD-ROM" : "None"; +} + +sub selectSupplMedia { + my ($o, $suppl_method) = @_; + #- ask whether there are supplementary media + my $prev_asked_medium = $asked_medium; + if ($suppl_method && (my $suppl = ask_if_suppl_media($o)) ne 'None') { + #- translate to method name + $suppl_method = 'cdrom'; + #- by convention, the media names for suppl. CDs match /^\d+s$/ + my $medium_name = (max(map { $_->{medium} =~ /^(\d+)s$/ ? $1 : 0 } values %{$o->{packages}{mediums}}) + 1) . "s"; + local $::isWizard = 0; + my $main_method = $o->{method}; + local $o->{method} = $suppl_method; + (my $cdromdev) = detect_devices::cdroms(); + $o->ask_warn('', N("No device found")), return 'error' if !$cdromdev; + $cdrom = $cdromdev->{device}; + devices::make($cdrom); + ejectCdrom($cdrom); + if ($o->ask_okcancel('', N("Insert the CD"), 1)) { + #- mount suppl CD in /mnt/cdrom to avoid umounting /tmp/image + mountCdrom("/mnt/cdrom", $cdrom); + log::l($@) if $@; + useMedium($medium_name); + + #- probe for an hdlists file and then look for all hdlists listed herein + eval { pkgs::psUsingHdlists($o, $suppl_method, "/mnt/cdrom", $o->{packages}, $medium_name) }; + log::l("psUsingHdlists failed: $@") if $@; + + #- copy latest compssUsers and rpmsrate somewhere locally + getAndSaveFile("/mnt/cdrom/Mandrake/base/compssUsers", "/tmp/compssUsers"); + getAndSaveFile("/mnt/cdrom/Mandrake/base/compssUsers.$o->{meta_class}", "/tmp/compssUsers.$o->{meta_class}"); + getAndSaveFile("/mnt/cdrom/Mandrake/base/rpmsrate", "/tmp/rpmsrate"); + + #- umount supplementary CD. Will re-ask for it later + getFile("XXX"); #- close still opened filehandles + log::l("Umounting suppl. CD, back to medium 1"); + eval { fs::umount("/mnt/cdrom") }; + #- re-mount CD 1 if this was a cdrom install + if ($main_method eq 'cdrom') { + eval { + my $dev = detect_devices::tryOpen($cdrom); + ioctl($dev, c::CDROMEJECT(), 1); + }; + $o->ask_warn('', N("Insert the CD 1 again")); + mountCdrom("/tmp/image", $cdrom); + log::l($@) if $@; + $asked_medium = 1; + } + } + } else { + $suppl_method = ''; + } + useMedium($prev_asked_medium); #- back to main medium + return $suppl_method; +} + +sub load_rate_files { + my ($o) = @_; + #- must be done after getProvides + #- if there is a supplementary media, the rpmsrate/compssUsers are overridable + pkgs::read_rpmsrate( + $o->{packages}, + getFile(-e "/tmp/rpmsrate" ? "/tmp/rpmsrate" : "Mandrake/base/rpmsrate") + ); + ($o->{compssUsers}, $o->{compssUsersSorted}) = pkgs::readCompssUsers( + $o->{meta_class}, + -e '/tmp/compssUsers' || -e "/tmp/compssUsers.$o->{meta_class}" ? '/tmp/compssUsers' : 'Mandrake/base/compssUsers' + ); +} + sub setPackages { my ($o, $rebuild_needed) = @_; require pkgs; if (!$o->{packages} || is_empty_array_ref($o->{packages}{depslist})) { - $o->{packages} = pkgs::psUsingHdlists($o->{prefix}, $o->{method}); + my $cdrom; + ($o->{packages}, my $suppl_method) = pkgs::psUsingHdlists($o, $o->{method}); + + $suppl_method = $o->selectSupplMedia($suppl_method); #- open rpm db according to right mode needed. $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix}, $rebuild_needed); @@ -300,13 +397,12 @@ sub setPackages { pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, 'basesystem') || die("missing basesystem package"), 1); - #- must be done after getProvides - pkgs::read_rpmsrate($o->{packages}, getFile("Mandrake/base/rpmsrate")); - ($o->{compssUsers}, $o->{compssUsersSorted}) = pkgs::readCompssUsers($o->{meta_class}); + load_rate_files($o); #- preselect default_packages and compssUsersChoices. setDefaultPackages($o); pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}}; + } else { #- this has to be done to make sure necessary files for urpmi are #- present. @@ -380,11 +476,10 @@ sub setDefaultPackages { detect_devices::matching_desc('[nN][vV]idia.*Quadro'); - foreach (lang::langs($o->{locale}{langs}), substr(lang::c2locale($o->{locale}{country}), 0, 2)) { - unshift @{$o->{default_packages}}, map { $_->name } pkgs::packagesProviding($o->{packages}, "locales-$_"); - } - foreach (lang::langs($o->{locale}{langs}), #- mainly for zh in case of zh_TW.Big5 - lang::langsLANGUAGE($o->{locale}{langs})) { + my @locale_pkgs = map { pkgs::packagesProviding($o->{packages}, 'locales-' . $_) } lang::langsLANGUAGE($o->{locale}{langs}); + unshift @{$o->{default_packages}}, uniq(map { $_->name } @locale_pkgs); + + foreach (lang::langsLANGUAGE($o->{locale}{langs})) { $o->{compssUsersChoice}{qq(LOCALES"$_")} = 1; } $o->{compssUsersChoice}{'CHARSET"' . lang::l2charset($o->{locale}{lang}) . '"'} = 1; @@ -464,20 +559,20 @@ sub unlockCdrom(;$) { $cdrom or cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1; eval { $cdrom and ioctl detect_devices::tryOpen($1), c::CDROM_LOCKDOOR(), 0 }; } -sub ejectCdrom(;$) { - my ($cdrom) = @_; +sub ejectCdrom { + my ($o_cdrom, $o_mountpoint) = @_; getFile("XXX"); #- close still opened filehandle - $cdrom ||= $1 if cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image),; - if ($cdrom) { - #- umount BEFORE opening the cdrom device otherwise the umount will - #- D state if the cdrom is already removed - eval { fs::umount("/tmp/image") }; - if ($@) { log::l("files still open: ", readlink($_)) foreach map { glob_("$_/fd/*") } glob_("/proc/*") } - eval { - my $dev = detect_devices::tryOpen($cdrom); - ioctl($dev, c::CDROMEJECT(), 1) if ioctl($dev, c::CDROM_DRIVE_STATUS(), 0) == c::CDS_DISC_OK(); - }; - } + my $cdrom = $o_cdrom || cat_("/proc/mounts") =~ m!(/(?:dev|tmp)/\S+)\s+(/mnt/cdrom|/tmp/image)! && $1 or return; + $o_mountpoint ||= $2 || '/tmp/image'; + + #- umount BEFORE opening the cdrom device otherwise the umount will + #- D state if the cdrom is already removed + eval { fs::umount($o_mountpoint) }; + if ($@) { log::l("files still open: ", readlink($_)) foreach map { glob_("$_/fd/*") } glob_("/proc/*") } + eval { + my $dev = detect_devices::tryOpen($cdrom); + ioctl($dev, c::CDROMEJECT(), 1) if ioctl($dev, c::CDROM_DRIVE_STATUS(), 0) == c::CDS_DISC_OK(); + }; } sub setupFB { @@ -502,6 +597,7 @@ sub install_urpmi { #- rare case where urpmi cannot be installed (no hd install path). $method eq 'disk' && !any::hdInstallPath() and return; + log::l("install_urpmi $method"); #- clean to avoid opening twice the rpm db. delete $packages->{rpmdb}; @@ -529,7 +625,8 @@ sub install_urpmi { cdrom => "removable://mnt/cdrom" }}{$method} || #- for live_update or live_install script. readlink("/tmp/image/Mandrake") =~ m,^(/.*)/Mandrake/*$, && "removable:/$1") . "/$_->{rpmsdir}"; - my $need_list = $dir =~ m,^(?:[^:]*://[^/:\@]*:[^/:\@]+\@|.*%{),; #- use list file only if visible password or macro. + #- use list file only if visible password or macro. + my $need_list = $dir =~ m,^(?:[^:]*://[^/:\@]*:[^/:\@]+\@|.*%{),; #- } #- build a list file if needed. if ($need_list) { @@ -537,7 +634,7 @@ sub install_urpmi { open(my $LIST, ">$prefix/var/lib/urpmi/list.$name") or log::l("failed to write list.$name"); umask $mask; - #- build list file using internal data, synthesis file should exists. + #- build list file using internal data, synthesis file should exist. if ($_->{end} > $_->{start}) { #- WARNING this method of build only works because synthesis (or hdlist) #- has been read. @@ -581,7 +678,7 @@ sub install_urpmi { } else { $with = $_->{rpmsdir}; $with =~ s|/[^/]*%{ARCH}.*||; - $with =~ s|/+|/|g; $with =~ s|/$||; $with =~ s|[^/]||g; $with =~ s|/|../|g; + $with =~ s|/+|/|g; $with =~ s|/$||; $with =~ s|[^/]||g; $with =~ s!/!../!g; $with .= "../Mandrake/base/$_->{hdlist}"; } @@ -598,6 +695,7 @@ sub install_urpmi { "; } else { #- remove not selected media by removing hdlist and synthesis files copied. + log::l("removing media $name"); unlink "$prefix/var/lib/urpmi/hdlist.$name.cz"; unlink "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz"; } @@ -775,12 +873,6 @@ sub getAndSaveAutoInstallFloppies { my $dev = devices::set_loop($img) or log::l("couldn't set loopback device"), return; find { eval { fs::mount($dev, $mountdir, $_, 0); 1 } } qw(ext2 vfat) or return; - if (@imgs == 1 || $img =~ /drivers/) { - local $o->{partitioning}{clearall} = !$replay; - eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)) }; - $@ and log::l("Warning: <", formatError($@), ">"); - } - if (-e "$mountdir/menu.lst") { # hd_grub boot disk is different than others substInFile { @@ -788,17 +880,25 @@ sub getAndSaveAutoInstallFloppies { 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"; - unlink "$mountdir/help.msg"; - output "$mountdir/boot.msg", "\n0c", + 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" if !$replay; +" . "07\n"; + } + + if (@imgs == 1 || $img =~ /drivers/) { + local $o->{partitioning}{clearall} = !$replay; + eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)) }; + $@ and log::l("Warning: <", formatError($@), ">"); } fs::umount($mountdir); @@ -962,8 +1062,18 @@ sub find_root_parts { if ($s) { chomp($s); $s =~ s/\s+for\s+\S+//; - log::l("find_root_parts found $_->{device}: $s"); - { release => $s, part => $_ }; + my $oem_file = "$handle->{dir}/etc/sysconfig/oem"; + my $t; + if (-f $oem_file) { + my $oem = cat_($oem_file); + my ($company) = $oem =~ /company=(.*)/i; + my ($system) = $oem =~ /system=(.*)/i; + my ($product) = $oem =~ /product=(.*)/i; + $t = "$company $system $product" + } + $t ||= $s; + log::l("find_root_parts found $_->{device}: $s ($t) file $oem_file"); + { release => $t, real_release => $s, part => $_ }; } else { () } } @$fstab; } @@ -1027,6 +1137,14 @@ sub log_sizes { formatXiB(sum(run_program::rooted_get_stdout($o->{prefix}, 'rpm', '-qa', '--queryformat', '%{size}\n')))) if -x "$o->{prefix}/bin/rpm"; } +sub X_options_from_o { + my ($o) = @_; + { + freedriver => $o->{freedriver}, + allowFB => $o->{allowFB}, + }; +} + sub copy_advertising { my ($o) = @_; diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm index c7086f915..85b3e51ce 100644 --- a/perl-install/install_gtk.pm +++ b/perl-install/install_gtk.pm @@ -109,8 +109,7 @@ widget "*" style "default-font" sub default_theme { my ($o) = @_; $::move ? '/usr/share/themes/Galaxy/gtk-2.0/gtkrc' : - $o->{meta_class} eq 'firewall' ? 'mdk-Firewall' : - $o->{simple_themes} || $o->{vga16} ? 'blue' : 'galaxy'; + $o->{simple_themes} || $o->{vga16} ? 'blue' : $::corporate ? 'corporate' : 'galaxy'; } sub install_theme { @@ -256,8 +255,7 @@ sub createXconf { symlink("/tmp/stage2/etc/X11", "/etc/X11"); if ($Driver) { - output($file, sprintf(<<'END', $mouse_type, $Driver, $Driver eq 'fbdev' ? '"default"' : '"800x600" "640x480"')); - + output($file, sprintf(<<'END', ($::globetrotter ? "" : 'Option "XkbDisable"'), $mouse_type, $Driver, $Driver eq 'fbdev' ? '"default"' : '"800x600" "640x480"')); Section "Files" FontPath "/usr/X11R6/lib/X11/fonts:unscaled" EndSection @@ -265,7 +263,7 @@ EndSection Section "InputDevice" Identifier "Keyboard" Driver "Keyboard" - Option "XkbDisable" + %s Option "XkbModel" "pc105" Option "XkbLayout" "" EndSection diff --git a/perl-install/install_messages.pm b/perl-install/install_messages.pm index e668c0ff5..323cf0885 100644 --- a/perl-install/install_messages.pm +++ b/perl-install/install_messages.pm @@ -138,7 +138,7 @@ consult the Errata available from: Information on configuring your system is available in the post install chapter of the Official Mandrakelinux User's Guide.", -N("http://www.mandrakelinux.com/en/100errata.php3")); +N("http://www.mandrakelinux.com/en/corpo30errata.php3")); } 1; diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 2c779e9b4..c665a5479 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -287,6 +287,8 @@ sub setPackages { $rebuild_needed and pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix}); } +sub selectSupplMedia { '' } + sub choosePackages { my ($o, $packages, $_compssUsers, $first_time) = @_; @@ -560,11 +562,12 @@ sub updateModulesFromFloppy { my @dest_files = map { chomp_($_) } run_program::rooted_get_stdout($o->{prefix}, 'find', '/lib/modules'); foreach my $s (@src_files) { log::l("found updatable module $s"); - my ($sfile, $sext) = $s =~ m!([^/\.]*\.k?o)(?:\.gz|\.bz2)?$!; + my ($sfile, $sext) = $s =~ m!([^/\.]*\.k?o)(\.gz|\.bz2)?$!; my $qsfile = quotemeta $sfile; my $qsext = quotemeta $sext; foreach my $target (@dest_files) { $target =~ /$qsfile/ or next; + $target = "$o->{prefix}/$target"; eval { cp_af($s, $target) }; if ($@) { log::l("updating module $target by $s failed: $@"); @@ -630,7 +633,7 @@ sub summaryBefore {} sub summary { my ($o) = @_; configureTimezone($o); - configurePrinter($o) if $o->{printer}; + configurePrinter($o) if $o->{printer} && $o->{printer}{SPOOLER}; } sub summaryAfter { @@ -808,6 +811,15 @@ sub setupBootloaderBefore { if (cat_("/proc/cmdline") =~ /\bnoapic/) { bootloader::set_append($o->{bootloader}, 'noapic'); } + if (cat_("/proc/cmdline") =~ /\bnolapic/) { + bootloader::set_append($o->{bootloader}, 'nolapic'); + } + if (cat_("/proc/cmdline") =~ /\b(idle)=(\S+)/) { + bootloader::set_append($o->{bootloader}, $1, $2); + } + if (cat_("/proc/cmdline") =~ /ide=nodma/) { + bootloader::set_append($o->{bootloader}, 'ide', 'nodma'); + } my ($MemTotal) = cat_("/proc/meminfo") =~ /^MemTotal:\s*(\d+)/m; if (my ($biggest_swap) = sort { $b->{size} <=> $a->{size} } grep { isSwap($_) } @{$o->{fstab}}) { log::l("MemTotal: $MemTotal < ", $biggest_swap->{size} / 2); @@ -868,7 +880,7 @@ sub configureX { $o->{raw_X} = Xconfig::default::configure($o->{keyboard}, $o->{mouse}); require Xconfig::main; - Xconfig::main::configure_everything_auto_install($o->{raw_X}, $o->do_pkgs, $o->{X}, { allowFB => $o->{allowFB} }); + 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 { @@ -913,11 +925,13 @@ sub miscellaneousAfter { $ENV{SECURE_LEVEL} = $o->{security}; #- deprecated with chkconfig 1.3.4-2mdk, uses /etc/sysconfig/msec addToBeDone { - setVarsInSh("$o->{prefix}/etc/sysconfig/system", { + my %l = ( CLASS => $::expert && 'expert' || 'beginner', SECURITY => $o->{security}, META_CLASS => $o->{meta_class} || 'PowerPack', - }); + ); + $l{SYSTEM} = 'Corporate' if $::corporate; + setVarsInSh("$o->{prefix}/etc/sysconfig/system", \%l); substInFile { s/KEYBOARD_AT_BOOT=.*/KEYBOARD_AT_BOOT=yes/ } "$o->{prefix}/etc/sysconfig/usb" if detect_devices::usbKeyboards(); } 'installPackages'; diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 68082c61b..c9bb3c413 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -45,11 +45,11 @@ sub new($$) { my @options = $wanted_DISPLAY; if ($server eq 'Xnest') { push @options, '-ac', '-geometry', $o->{vga} || ($o->{vga16} ? '640x480' : '800x600'); - } elsif (!$::move) { + } elsif ($::globetrotter || !$::move) { install_gtk::createXconf($f, @{$o->{mouse}}{"XMOUSETYPE", "device"}, $o->{mouse}{wacom}[0], $Driver); - push @options, '-kb', '-allowMouseOpenFail', '-xf86config', $f if arch() !~ /^sparc/ && arch() ne 'ppc'; - push @options, 'tty7', '-dpms', '-s', '240'; + push @options, if_(!$::globetrotter, '-kb'), '-allowMouseOpenFail', '-xf86config', $f if arch() !~ /^sparc/ && arch() ne 'ppc'; + push @options, 'tty7', '-dpms', '-s', '240', '-dpi', '75'; #- old weird servers: Xpmac and Xsun push @options, cat_('/proc/cmdline') !~ /ofonly/ ? ('-mode', '17', '-depth', '32') : '-mach64' if $server =~ /Xpmac/; @@ -92,7 +92,7 @@ sub new($$) { } else { @servers = qw(Xsun24); } - } elsif (arch() =~ /ia64|x86_64/) { + } elsif (arch() =~ /ia64/) { require Xconfig::card; my ($card) = Xconfig::card::probe(); @servers = map { if_($_, "Driver:$_") } $card && $card->{Driver}, 'fbdev'; @@ -100,12 +100,12 @@ sub new($$) { @servers = qw(Xpmac); } - if ($::move && !$::testing) { + if (($::move || $::globetrotter) && !$::testing) { require move; require run_program; move::automatic_xconf($o); run_program::run('/sbin/service', 'xfs', 'start'); - @servers = qw(X_move); + @servers = $::globetrotter ? qw(Driver:fbdev) : qw(X_move); } foreach (@servers) { @@ -117,7 +117,7 @@ sub new($$) { install_any::getAndSaveFile("Mandrake/mdkinst$dir/$prog", "$dir/$prog") or die "failed to get server $prog: $!"; chmod 0755, "$dir/$prog"; } - if (/FB/) { + if (/FB/i) { !$o->{vga16} && $o->{allowFB} or next; $o->{allowFB} = &$launchX($prog, $Driver) #- keep in mind FB is used. @@ -232,37 +232,30 @@ sub reallyChooseGroups { gtkpack_($w->create_box_with_title(N("Package Group Selection")), 1, gtkpack_(Gtk2::VBox->new(0, 0), 1, gtkpack_(Gtk2::HBox->new(0, 0), - $o->{meta_class} eq 'server' ? ( - 1, gtkpack(Gtk2::VBox->new(0, 0), - $entries_in_path->('Workstation'), - '', - $entries_in_path->('Server'), - ), - 1, gtkpack(Gtk2::VBox->new(0, 0), - $entries_in_path->('Graphical Environment'), - '', - $entries_in_path->('Development'), - '', - $entries_in_path->('Utilities'), - ), - ) : $o->{meta_class} eq 'desktop' ? ( - 1, gtkpack(Gtk2::VBox->new(0, 0), - $entries_in_path->('Workstation'), - ), - ) : ( - 1, gtkpack(Gtk2::VBox->new(0, 0), - $entries_in_path->('Workstation'), - '', - $entry->('Development|Development'), - $entry->('Development|Documentation'), - $entry->('Development|LSB'), - ), - 0, gtkpack(Gtk2::VBox->new(0, 0), - $entries_in_path->('Server'), - '', - $entries_in_path->('Graphical Environment'), - ), - ), + $o->{meta_class} eq 'server' ? + $::corporate ? + (any { /development/i } @{$o->{compssUsersSorted}}) ? + ( 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Server'),), + 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Development'), '', $entries_in_path->('Utilities'),), + ) : + ( 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Server'), ), + 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Utilities'), ), + ) + : + ( 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Workstation'), '', ), + 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Server'), ), + 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Development'), '', $entries_in_path->('Utilities'), ), + ) : + $o->{meta_class} eq 'desktop' ? + (any { /development/i } @{$o->{compssUsersSorted}}) ? ( + 1, gtkpack__(Gtk2::VBox->new(0, 0), map { Gtk2::Label->new(' '), $_ } $entries_in_path->('Workstation'), ), + 1, gtkpack__(Gtk2::VBox->new(0, 0), map { Gtk2::Label->new(' '), $_ } $entries_in_path->('Development'), ), + ) : ( + 1, gtkpack__(Gtk2::VBox->new(0, 0), map { Gtk2::Label->new(' '), $_ } $entries_in_path->('Workstation'), ), + ) : ( + 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Workstation'), '', $entry->('Development|Development'), $entry->('Development|Documentation'), $entry->('Development|LSB'), ), + 0, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Server'), '', $entries_in_path->('Graphical Environment'), ), + ), )), 1, '', 0, gtkadd(Gtk2::HBox->new(0, 0), diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 896d60641..3de853a65 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -87,6 +87,10 @@ sub acceptLicense { }, [ { list => [ N_("Accept"), N_("Refuse") ], val => \$r, type => 'list', format => sub { translate($_[0]) } } ])) or do { + if ($::globetrotter) { + system("killall XFree86"); + exec("/sbin/reboot"); + }; install_any::ejectCdrom(); $o->exit; }; @@ -119,7 +123,7 @@ sub selectKeyboard { { val => \$ext_keyboard, type => 'list', format => $format, list => [ difference2([ keyboard::KEYBOARDs() ], \@best) ], advanced => @best > 1 } ]); - $o->{keyboard}{KEYBOARD} = $other ? $ext_keyboard : $KEYBOARD; + $o->{keyboard}{KEYBOARD} = @best <= 1 || $other ? $ext_keyboard : $KEYBOARD; delete $o->{keyboard}{unsafe}; } keyboard::group_toggle_choose($o, $o->{keyboard}) or goto &selectKeyboard; @@ -217,7 +221,7 @@ sub setupSCSI { my ($o) = @_; if (!$::noauto && arch() =~ /i.86/) { - if ($o->{pcmcia} ||= !$::testing && c::pcmcia_probe()) { + if ($o->{pcmcia} ||= detect_devices::real_pcmcia_probe()) { my $w = $o->wait_message(N("PCMCIA"), N("Configuring PCMCIA cards...")); my $results = modules::configure_pcmcia($o->{pcmcia}); undef $w; @@ -378,6 +382,12 @@ sub setPackages { pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix}); } } + +sub selectSupplMedia { + my ($o, $suppl_method) = @_; + install_any::selectSupplMedia($o, $suppl_method); +} + #------------------------------------------------------------------------------ sub choosePackages { my ($o, $packages, $compssUsers, $_first_time) = @_; @@ -410,7 +420,7 @@ sub choosePackages { undef $w; chooseGroups: - $o->chooseGroups($packages, $compssUsers, $min_mark, \$individual, $max_size) if !$o->{isUpgrade} && !$::corporate && $o->{meta_class} ne 'desktop'; + $o->chooseGroups($packages, $compssUsers, $min_mark, \$individual, $max_size) if !$o->{isUpgrade} && $::corporate || $o->{meta_class} ne 'desktop'; ($o->{packages_}{ind}) = pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $min_mark, $availableC); @@ -418,7 +428,7 @@ sub choosePackages { $o->choosePackagesTree($packages) or goto chooseGroups if $individual; install_any::warnAboutRemovedPackages($o, $o->{packages}); - install_any::warnAboutNaughtyServers($o) or goto chooseGroups if !$o->{isUpgrade}; + install_any::warnAboutNaughtyServers($o) or goto chooseGroups if !$o->{isUpgrade} && $o->{meta_class} ne 'firewall'; } sub choosePackagesTree { @@ -731,9 +741,15 @@ sub updateModulesFromFloppy { #------------------------------------------------------------------------------ sub configureNetwork { my ($o) = @_; - require network::network; - network::network::easy_dhcp($o->{netc}, $o->{intf}) and $o->{netcnx}{type} = 'lan'; - $o->SUPER::configureNetwork; + + if ($o->{meta_class} eq 'firewall') { + require network::netconnect; + network::netconnect::main($o->{prefix}, $o->{netcnx} ||= {}, $o, $o->{netc}, $o->{mouse}, $o->{intf}, 0, 1); + } else { + require network::network; + network::network::easy_dhcp($o->{netc}, $o->{intf}) and $o->{netcnx}{type} = 'lan'; + $o->SUPER::configureNetwork; + } } #------------------------------------------------------------------------------ @@ -1140,6 +1156,7 @@ sub setRootPassword { $o->ask_from_({ title => N("Set root password and network authentication methods"), messages => N("Set root password"), + advanced_messages => authentication::kind2description(), interactive_help_id => "setRootPassword", cancel => ($o->{security} <= 2 && !$::corporate ? #-PO: keep this short or else the buttons will not fit in the window @@ -1154,7 +1171,7 @@ sub setRootPassword { } } }, [ { label => N("Password"), val => \$sup->{password}, hidden => 1 }, { label => N("Password (again)"), val => \$sup->{password2}, hidden => 1 }, -{ label => N("Authentication"), val => \$authentication_kind, list => [ authentication::kinds() ], format => \&authentication::kind2description, advanced => 1 }, +{ label => N("Authentication"), val => \$authentication_kind, type => 'list', list => [ authentication::kinds() ], format => \&authentication::kind2name, advanced => 1 }, ]) or delete $sup->{password}; authentication::ask_parameters($o, $o->{netc}, $o->{authentication}, $authentication_kind) or goto &setRootPassword; @@ -1235,7 +1252,7 @@ try to force installation even if that destroys the first partition?")); sub miscellaneous { my ($o, $_clicked) = @_; - if ($o->{meta_class} ne 'desktop' && !$o->{isUpgrade}) { + 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}); @@ -1255,12 +1272,8 @@ sub configureX { install_steps::configureXBefore($o); symlink "$o->{prefix}/etc/gtk", "/etc/gtk"; - my $options = { - allowFB => $o->{allowFB}, - }; - require Xconfig::main; - if (my $raw_X = Xconfig::main::configure_everything_or_configure_chooser($o, $options, !$expert, $o->{keyboard}, $o->{mouse})) { + if (my $raw_X = Xconfig::main::configure_everything_or_configure_chooser($o, install_any::X_options_from_o($o), !$expert, $o->{keyboard}, $o->{mouse})) { $o->{raw_X} = $raw_X; install_steps::configureXAfter($o); } diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 7f3d90edd..a92f8ee13 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -23,6 +23,7 @@ my $KMAP_MAGIC = 0x8B39C07F; my %lang2keyboard = ( 'af' => 'us_intl', + 'am' => 'us:90', 'ar' => 'ar:90', 'as' => 'ben:90 dev:20 us_intl:5', 'az' => 'az:90 tr_q:10 us_intl:5', @@ -38,18 +39,22 @@ my %lang2keyboard = 'de' => 'de_nodeadkeys:70 de:50 be:50 ch_de:50', 'el' => 'gr:90', 'en' => 'us:89 us_intl:50 qc:50 uk:50', +'en_IE' => 'ie:80 uk:70', 'en_US' => 'us:90 us_intl:50', 'en_GB' => 'uk:89 us:60 us_intl:50', - 'eo' => 'us_intl:89 dvorak:20', + 'eo' => 'us_intl:89 dvorak_eo:30 dvorak:20', 'es' => 'es:85 la:80 us_intl:50', 'et' => 'ee:90', 'eu' => 'es:90 fr:15', 'fa' => 'ir:90', 'fi' => 'fi:90', + 'fo' => 'dk:90', 'fr' => 'fr:89 qc:85 be:85 ch_fr:70', + 'fur' => 'it:90', 'ga' => 'ie:80 uk:70', 'gd' => 'uk:80 ie:70', 'gl' => 'es:90', + 'gn' => 'la:85 es:80 us_intl:50', 'gu' => 'guj:90', 'gv' => 'uk:80 ie:70', 'he' => 'il:90 il_phonetic:10', @@ -57,10 +62,11 @@ my %lang2keyboard = 'hr' => 'hr:90 si:50', 'hu' => 'hu:90', 'hy' => 'am:90 am_old:10 am_phonetic:5', + 'ia' => 'us:90 us_intl:20', 'id' => 'us:90 us_intl:20', 'is' => 'is:90', - 'iu' => 'iu:90', 'it' => 'it:90 ch_fr:50 ch_de:50', + 'iu' => 'iu:90', 'ja' => 'jp:90 us:50 us_intl:20', 'ka' => 'ge_la:90 ge_ru:50', 'kl' => 'dk:80 us_intl:30', @@ -68,9 +74,11 @@ my %lang2keyboard = 'ko' => 'kr:90 us:60', 'ku' => 'tr_q:90 tr_f:30', 'kw' => 'uk:80 ie:70', + 'ky' => 'ky:90 ru_yawerty:40', 'li' => 'us_intl:80 be:70 nl:10 us:5', 'lo' => 'lao:90', 'lt' => 'lt:80 lt_new:70 lt_b:60 lt_p:50', + 'ltg' => 'lv:90 lt:40 lt_new:30 lt_b:20 lt_p:10 ee:5', 'lv' => 'lv:90 lt:40 lt_new:30 lt_b:20 lt_p:10 ee:5', 'mi' => 'us_intl:90 uk:20 us:10', 'mk' => 'mk:90', @@ -81,9 +89,11 @@ my %lang2keyboard = 'mt' => 'mt:90 mt_us:35 us_intl:10', 'my' => 'mm:90', 'nb' => 'no:90 dvorak_no:10', + 'nds' => 'de_nodeadkeys:70 de:50 us_intl:40 nl:10 us:5', + 'ne' => 'dev:90', 'nl' => 'us_intl:80 be:70 nl:10 us:5', 'nn' => 'no:90 dvorak_no:10', - 'no' => 'no:90 dvorak_no:10', + 'no' => 'no:90 dvorak_no:10', # for compatiblity only 'oc' => 'fr:90', 'or' => 'ori:90', 'pa' => 'gur:90', @@ -94,38 +104,51 @@ my %lang2keyboard = 'pt' => 'pt:90', 'ro' => 'ro2:80 ro:40 us_intl:10', 'ru' => 'ru:85 ru_yawerty:80 ua:50', + 'sc' => 'it:90', 'se' => 'sapmi:70 sapmi_sefi:50', 'sh' => 'yu:80', 'sk' => 'sk_qwerty:80 sk:70', 'sl' => 'si:90 hr:50', 'sq' => 'al:90', 'sr' => 'sr:80', + 'ss' => 'us_intl', + 'st' => 'us_intl', 'sv' => 'se:90 fi:30 dvorak_se:10', 'ta' => 'tscii:80 tml:20', 'te' => 'tel:90', 'tg' => 'tj:90 ru_yawerty:40', 'th' => 'th:90', + 'tk' => 'tr_q:50 tr_f:40', # proper Turkmen keyboard still to come + 'tl' => 'us:90 us_intl:20', 'tr' => 'tr_q:90 tr_f:30', 'tt' => 'ru:50 ru_yawerty:40', 'uk' => 'ua:90 ru:50 ru_yawerty:40', - 'uz' => 'us:80 uz:80', + 'ur' => 'ar:50 ir:40', # proper Urdu keyboard still to come + 'uz' => 'uz:80 ru_yawerty:40', 'uz\@Cyrl' => 'uz:80 ru_yawerty:40', + 'uz\@Latn' => 'us:80 uz:80', + 've' => 'us_intl', 'vi' => 'vn:80 us:60 us_intl:50', 'wa' => 'be:90 fr:5', + 'xh' => 'us_intl', 'yi' => 'il_phonetic:90 il:10 us_intl:10', 'zh_CN' => 'us:60', 'zh_TW' => 'us:60', + 'zu' => 'us_intl', ); # USB kbd table # The numeric values are the bCountryCode field (5th byte) of HID descriptor +# NOTE: we don't trust when the layout is declared as us layout (0x21) +# as most manufacturers just use that value when selling physical devices +# with different layouts printed on the keys. my @usb2keyboard = ( qw(SKIP ar_SKIP be ca_SKIP qc cz dk fi fr de gr il hu us_intl it jp), #- 0x10 qw(kr la nl no ir pl pt ru sk es se ch_de ch_de ch_de tw_SKIP tr_q), #- 0x20 - qw(uk us yu tr_f), + qw(uk us_SKIP yu tr_f), #- higher codes not attribued as of 2002-02 ); @@ -173,6 +196,7 @@ arch() =~ /^sparc/ ? ( "dev" => [ N_("Devanagari"), "us", "dev", 0 ], "dk" => [ N_("Danish"), "dk-latin1", "dk", 0 ], "dvorak" => [ N_("Dvorak (US)"), "pc-dvorak-latin1", "dvorak", 0 ], + "dvorak_eo" => [ N_("Dvorak (Esperanto)"), "us", "dvorak(eo)", 0 ], "dvorak_no" => [ N_("Dvorak (Norwegian)"), "no-dvorak", "dvorak(no)", 0 ], "dvorak_se" => [ N_("Dvorak (Swedish)"), "se-dvorak", "dvorak(se)", 0 ], "ee" => [ N_("Estonian"), "ee-latin9", "ee", 0 ], @@ -202,6 +226,7 @@ arch() =~ /^sparc/ ? ( #There is no XKB korean file yet; but using xmodmap one disables # some functioanlity; "us" used for XKB until this is fixed "kr" => [ N_("Korean keyboard"), "us", "us", 1 ], + "ky" => [ N_("Kyrgyz keyboard"), "ru", "ky", 1 ], "la" => [ N_("Latin American"), "la-latin1", "la", 0 ], "lao" => [ N_("Laotian"), "us", "lo", 1 ], "lt" => [ N_("Lithuanian AZERTY (old)"), "lt-latin7", "lt_a", 0 ], @@ -548,7 +573,7 @@ sub check() { } } /SKIP/ || $keyboards{$_} or $err->("invalid keyboard $_ in \@usb2keyboard keyboard.pm") foreach @usb2keyboard; - $usb2keyboard[0x21] eq 'us' or $err->('@usb2keyboard is badly modified, 0x21 is not us keyboard'); + $usb2keyboard[0x21] eq 'us_SKIP' or $err->('@usb2keyboard is badly modified, 0x21 is not us keyboard'); my @xkb_groups = map { if_(/grp:(\S+)/, $1) } cat_('/usr/lib/X11/xkb/rules/xfree86.lst'); $err->("invalid xkb group toggle '$_' in \%grp_toggles") foreach difference2([ keys %grp_toggles ], \@xkb_groups); diff --git a/perl-install/lang.pm b/perl-install/lang.pm index 7f6115718..7e4c67d1d 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -797,6 +797,7 @@ sub set { my ($locale, $b_translate_for_console) = @_; if ($::move) { + move::handleI18NClp($locale->{lang}); put_in_hash(\%ENV, i18n_env($locale)); return; } @@ -1131,10 +1132,6 @@ sub during_install__l2charset { uc($c); } -sub get_unneeded_png_lang_files() { - print join(' ', map { if_(m|(langs/lang-(.*)\.png)| && !member($2, list_langs()), $1) } glob("pixmaps/langs/lang-*.png")); -} - sub check() { $^W = 0; my $ok = 1; diff --git a/perl-install/lvm.pm b/perl-install/lvm.pm index 0770bf2b9..63ba79b3d 100644 --- a/perl-install/lvm.pm +++ b/perl-install/lvm.pm @@ -116,6 +116,7 @@ sub vg_destroy { 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}; $_->{isFormatted} = 0; $_->{notFormatted} = 1; diff --git a/perl-install/modules.pm b/perl-install/modules.pm index 638bebd5b..4a96caf9f 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -25,17 +25,17 @@ sub category2modules_and_description { map { $_ => $modules_descriptions{$_} } category2modules($categories); } -%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"); +%mappings_24_26 = ("usb-ohci" => [ "ohci-hcd" ], + "usb-uhci" => [ "uhci-hcd" ], + "uhci" => [ "uhci-hcd" ], + "printer" => [ "usblp" ], + "bcm4400" => [ "b44", "bcm4400" ], + "3c559" => [ "3c359" ], + "3c90x" => [ "3c59x" ], + "dc395x_trm" => [ "dc395x" ]); %mappings_26_24 = reverse %mappings_24_26; sub mapping_24_26 { - return map { c::kernel_version() =~ /^\Q2.6/ ? $mappings_24_26{$_} || $_ : $_ } @_; + map { c::kernel_version() =~ /^\Q2.6/ ? $mappings_24_26{$_} || [ $_ ] : [ $_ ] } @_; } sub mapping_26_24 { my ($modname) = @_; @@ -60,7 +60,8 @@ sub load { my @l = map { my ($name, @options) = ref($_) ? @$_ : $_; $options{$name} = \@options; - dependencies_closure(mapping_24_26($name)); + my ($a) = mapping_24_26($name); + map { dependencies_closure($_) } @$a; } @_; @l = difference2([ uniq(@l) ], [ map { my $s = $_; $s =~ s/_/-/g; $s, $_ } loaded_modules() ]) or return; @@ -318,7 +319,7 @@ sub write_conf() { } my @l; push @l, 'scsi_hostadapter' if !is_empty_array_ref($conf{scsi_hostadapter}{probeall}); - push @l, grep { detect_devices::matching_driver('^$_$') } qw(bttv cx8800 saa7134); + push @l, grep { detect_devices::matching_driver("^$_\$") } qw(bttv cx8800 saa7134); my @l_26 = @l; if (my ($agp) = probe_category('various/agpgart')) { push @l_26, $agp->{driver}; diff --git a/perl-install/network/adsl.pm b/perl-install/network/adsl.pm index 9dab12255..26d2565fc 100644 --- a/perl-install/network/adsl.pm +++ b/perl-install/network/adsl.pm @@ -134,17 +134,17 @@ sync speedtouch => { - start => '/usr/sbin/modem_run -v 0 -f /usr/share/speedtouch/mgmt.o', + start => '/usr/sbin/modem_run -k -n 2 -f /usr/share/speedtouch/mgmt.o', overide_script => 1, server => { - pppoa => '"/usr/sbin/pppoa3 -e 1 -c -vpi ' . hex($netc->{vpi}) . " -vci " . hex($netc->{vci}) . '"', + pppoa => '"/usr/sbin/pppoa3 -e 1 -c" +plugin pppoatm.so +' . join('.', hex($netc->{vpi}), hex($netc->{vci})), }, ppp_options => qq( sync noaccomp), aliases => [ - # disable kernel driver, we use userland stuff but for firmware upload - if_(c::kernel_version() =~ /^\Q2.4/, ['speedtch', 'off']), ['char-major-108', 'ppp_generic'], ['tty-ldisc-3', 'ppp_async'], ['tty-ldisc-13', 'n_hdlc'], @@ -156,7 +156,9 @@ noaccomp), }, sagem => { - start => "/usr/sbin/eaglectrl -w", + start => qq( +modprobe eagle-usb +/usr/sbin/eaglectrl -w), stop => "/usr/bin/killall pppoa", get_intf => "/usr/sbin/eaglectrl -i", server => { @@ -235,10 +237,10 @@ usepeerdns defaultroute) ); + my $pty_option = $modems{$adsl_device}{server}{$adsl_type} && "pty $modems{$adsl_device}{server}{$adsl_type}"; output("$::prefix/etc/ppp/peers/adsl", qq(noauth noipdefault -pty $modems{$adsl_device}{server}{$adsl_type} $modems{$adsl_device}{ppp_options} kdebug 1 nopcomp @@ -249,6 +251,7 @@ maxfail 25 persist usepeerdns defaultroute +$pty_option user "$adsl->{login}" )); @@ -284,10 +287,9 @@ user "$adsl->{login}" set_cnx_script($netc, "adsl", join("\n", "/sbin/route del default", $modems{$adsl_device}{start}, - # /usr/sbin/pppd call adsl - #$modems{$adsl_device}{server}{$adsl_type} || - "/usr/sbin/pppd file /etc/ppp/peers/adsl $modems{$adsl_device}{pppd_options}", - $ppp_options{$adsl_type}{connect} + $ppp_options{$adsl_type}{connect} || + "/usr/sbin/pppd file /etc/ppp/peers/adsl $modems{$adsl_device}{pppd_options}", + "" ), $ppp_options{$adsl_type}{disconnect}, $netc->{adsltype} @@ -336,9 +338,16 @@ INTERFACE=`$modems{$adsl_device}{get_intf}` } elsif ($adsl_device eq 'speedtouch') { # speedtouch really is used only with pppoa, let its own script handle firmware upload and the like: set_cnx_script($netc, 'adsl', - qq(/sbin/route del default -/usr/share/speedtouch/speedtouch.sh start\n), - "/usr/share/speedtouch/speedtouch.sh stop\n", + qq(/sbin/route del default 2>/dev/null +/usr/sbin/modem_run -k -n 2 -f /usr/share/speedtouch/mgmt.o +pppd call adsl + +for i in 0 1 2 3 4; do + /sbin/ifconfig | grep -q 'ppp' && exit + sleep 3 +done +exit 1\n), + "/usr/bin/killall pppd\n", $netc->{adsltype}); } diff --git a/perl-install/network/drakfirewall.pm b/perl-install/network/drakfirewall.pm index 7c9450107..f1b9355e9 100644 --- a/perl-install/network/drakfirewall.pm +++ b/perl-install/network/drakfirewall.pm @@ -47,7 +47,7 @@ my @all_servers = { name => N_("Samba server"), pkg => 'samba-server', - ports => '137/tcp 137/udp 138/tcp 138/udp 139/tcp 139/udp 1024-1100/tcp 1024-1100/udp', + ports => '137/tcp 137/udp 138/tcp 138/udp 139/tcp 139/udp 1024:1100/tcp 1024:1100/udp', hide => 1, }, { @@ -61,6 +61,12 @@ my @all_servers = ports => '8/icmp', force_default_selection => 0, }, + { + name => "BitTorrent", + ports => '6881:6999/tcp', + hide => 1, + pkg => 'bittorrent bittorrent-shadowsclient', + }, ); sub port2server { diff --git a/perl-install/network/ethernet.pm b/perl-install/network/ethernet.pm index 845d7b3d8..a6e58df1b 100644 --- a/perl-install/network/ethernet.pm +++ b/perl-install/network/ethernet.pm @@ -39,7 +39,8 @@ sub mapIntfToDevice { my ($interface) = @_; my $hw_addr = c::getHwIDs($interface); my ($bus, $slot, $func) = map { hex($_) } ($hw_addr =~ /([0-9a-f]+):([0-9a-f]+)\.([0-9a-f]+)/); - $hw_addr ? grep { $_->{pci_bus} == $bus && $_->{pci_device} == $slot && $_->{pci_function} == $func } detect_devices::probeall() : {}; + $hw_addr && (every { defined $_ } $bus, $slot, $func) ? + grep { $_->{pci_bus} == $bus && $_->{pci_device} == $slot && $_->{pci_function} == $func } detect_devices::probeall() : {}; } @@ -62,8 +63,19 @@ sub get_eth_cards() { ($description) = (mapIntfToDevice($interface))[0]->{description}; } if (!$description) { + my $drv = readlink("/sys/class/net/$interface/driver"); + if ($drv and $drv =~ s!.*/!!) { + $a = $drv; + my %l; + my %sysfs_fields = (id => "device", subid => "subsystem_device", vendor => "vendor", subvendor => "subsystem_vendor"); + $l{$_} = hex(chomp_(cat_("/sys/class/net/$interface/device/" . $sysfs_fields{$_}))) foreach keys %sysfs_fields; + my @cards = grep { my $dev = $_; every { $dev->{$_} eq $l{$_} } keys %l } detect_devices::probeall(); + $description = $cards[0]{description} if $#cards == 0; + } + } + if (!$description) { my @cards = grep { $_->{driver} eq ($a || $saved_driver) } detect_devices::probeall(); - $description = $cards[0]{descripxtion} if @cards == 1; + $description = $cards[0]->{description} if $#cards == 0; } $a and $saved_driver = $a; # handle multiple cards managed by the same driver [ $interface, $saved_driver, if_($description, $description) ] diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm index d4ff1ab1d..d52523ad8 100644 --- a/perl-install/network/netconnect.pm +++ b/perl-install/network/netconnect.pm @@ -86,7 +86,7 @@ sub real_main { my ($ntf_name, $ipadr, $netadr, $gateway_ex, $up, $need_restart_network); my ($isdn, $isdn_name, $isdn_type, %isdn_cards); my $my_isdn = join('', N("Manual choice"), " (", N("Internal ISDN card"), ")"); - my ($module, $auto_ip, $onboot, $needhostname, $hotplug, $track_network_id, @fields); # lan config + my ($module, $auto_ip, $protocol, $onboot, $needhostname, $hotplug, $track_network_id, @fields); # lan config my $success = 1; my $ethntf = {}; my $db_path = "$::prefix/usr/share/apps/kppp/Provider"; @@ -130,8 +130,8 @@ sub real_main { @all_cards = network::ethernet::get_eth_cards(); %eth_intf = network::ethernet::get_eth_cards_names(@all_cards); require list_modules; - my @wmodules = list_modules::category2modules('network/wireless'); - %eth_intf = map { $_->[0] => join(': ', $_->[0], $_->[2]) } grep { int(!$is_wireless) ^ member($_->[1], @wmodules) } @all_cards; + %eth_intf = map { $_->[0] => join(': ', $_->[0], $_->[2]) } + grep { $is_wireless ^ !c::isNetDeviceWirelessAware($_->[0]) } @all_cards; }; my $find_lan_module = sub { @@ -175,7 +175,7 @@ sub real_main { ); my $offer_to_connect = sub { - return "ask_connect_now" if $netc->{internet_cnx_choice} eq 'adsl' && $adsl_devices{$ntf_name}; + return "ask_connect_now" if $netc->{internet_cnx_choice} eq 'adsl' && ($adsl_devices{$ntf_name} || $adsl_type eq 'pppoe'); return "ask_connect_now" if member($netc->{internet_cnx_choice}, qw(modem isdn)); return "end"; }; @@ -334,10 +334,6 @@ sub real_main { [ { label => N("Net Device"), type => "list", val => \$isdn_name, allow_empty_list => 1, list => [ $my_isdn, N("External ISDN modem"), keys %isdn_cards ] } ] }, - complete => sub { - $in->ask_warn(N("Warning"), N("Sorry, we support only 2.4 and above kernels.")) if c::kernel_version() !~ /^\Q2.4/; - return 0; - }, post => sub { # !intern_pci: # data => [ { val => \$isdn_type, type => "list", list => [ , ], } ], @@ -346,7 +342,7 @@ sub real_main { return "isdn_ask"; } elsif ($isdn_name eq N("External ISDN modem")) { detect($netc->{autodetect}, 'modem'); - $netc->{isdntype} = 'isdn_external'; + $netcnx->{type} = $netc->{isdntype} = 'isdn_external'; $netcnx->{isdn_external}{device} = network::modem::first_modem($netc); network::isdn::read_config($netcnx->{isdn_external}); $netcnx->{isdn_external}{special_command} = 'AT&F&O2B40'; @@ -653,12 +649,6 @@ killall pppd name => N("ADSL configuration") . "\n\n" . N("Select the network interface to configure:"), data => [ { label => N("Net Device"), type => "list", val => \$ntf_name, allow_empty_list => 1, list => \@adsl_devices, format => sub { $eth_intf{$_[0]} || $adsl_devices{$_[0]} } } ], - complete => sub { - if (c::kernel_version() !~ /^\Q2.4/ && $ntf_name eq 'speedtouch') { - $in->ask_warn(N("Warning"), N("Sorry, we support only 2.4 and above kernels.")); - } - return 0; - }, post => sub { my %packages = ( 'eci' => [ 'eciadsl', 'missing' ], @@ -836,7 +826,7 @@ You can find a driver on http://eciadsl.flashtux.org/"), pre => $lan_detect, name => N("Select the network interface to configure:"), data => sub { - [ { label => N("Net Device"), type => "list", val => \$ntf_name, list => [ N("Manual choice"), sort keys %eth_intf ], + [ { label => N("Net Device"), type => "list", val => \$ntf_name, list => [ (sort keys %eth_intf), N("Manual choice") ], allow_empty_list => 1, format => sub { $eth_intf{$_[0]} || $_[0] } } ]; }, post => sub { @@ -875,7 +865,7 @@ Modifying the fields below will override this configuration."), { pre => sub { $find_lan_module->(); - $auto_ip = $l10n_lan_protocols{defined $auto_ip ? ($auto_ip ? 'dhcp' : 'static') : $ethntf->{BOOTPROTO}} || 0; + $protocol = $l10n_lan_protocols{defined $auto_ip ? ($auto_ip ? 'dhcp' : 'static') : $ethntf->{BOOTPROTO}} || 0; }, name => sub { my $_msg = N("Zeroconf hostname resolution"); @@ -883,10 +873,10 @@ Modifying the fields below will override this configuration."), N("The following protocols can be used to configure an ethernet connection. Please choose the one you want to use") }, data => sub { - [ { val => \$auto_ip, type => "list", list => [ sort values %l10n_lan_protocols ] } ]; + [ { val => \$protocol, type => "list", list => [ sort values %l10n_lan_protocols ] } ]; }, post => sub { - $auto_ip = $auto_ip ne $l10n_lan_protocols{static} || 0; + $auto_ip = $protocol ne $l10n_lan_protocols{static} || 0; return 'lan_intf'; }, }, @@ -1320,11 +1310,6 @@ fi output_with_perm("$::prefix$network::tools::connect_prog", 0755, $connect_cmd) if $connect_cmd; $netcnx->{$_} = $netc->{$_} foreach qw(NET_DEVICE NET_INTERFACE); $netcnx->{type} =~ /adsl/ or run_program::rooted($::prefix, "/chkconfig --del adsl 2> /dev/null"); - - if ($::isInstall && $::o->{security} >= 3) { - require network::drakfirewall; - network::drakfirewall::main($in, $::o->{security} <= 3); - } } sub main { diff --git a/perl-install/network/smb.pm b/perl-install/network/smb.pm index 941463c65..4ef3f45a4 100644 --- a/perl-install/network/smb.pm +++ b/perl-install/network/smb.pm @@ -42,7 +42,7 @@ sub smbclient { my $group = $server->{group} ? " -W $server->{group}" : ''; my $U = $server->{username} ? sprintf("%s/%s%%%s", @$server{'domain', 'username', 'password'}) : '%'; - `smbclient -U $U -L $name $ip$group`; + `smbclient -U $U -L $name $ip$group 2>/dev/null`; } sub find_servers { @@ -178,4 +178,34 @@ sub write_smb_conf { "); } +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 didn't 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/partition_table.pm b/perl-install/partition_table.pm index 45b3a7088..75a535514 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -19,7 +19,7 @@ use log; @important_types = ('Linux native', 'Linux swap', if_(arch() =~ /i.86/, 'Journalised FS: ext3', 'Journalised FS: ReiserFS', 'Journalised FS: JFS', 'Journalised FS: XFS', 'DOS FAT16', 'FAT32'), if_(arch() =~ /ia64/, 'Journalised FS: ext3', 'Journalised FS: ReiserFS', 'Journalised FS: XFS', 'FAT32'), - if_(arch() =~ /x86_64/, 'Journalised FS: ext3', 'Journalised FS: ReiserFS', 'FAT32'), + if_(arch() =~ /x86_64/, 'Journalised FS: ext3', 'Journalised FS: ReiserFS', 'Journalised FS: XFS', 'FAT32'), if_(arch() =~ /ppc/, 'Journalised FS: ext3', 'Journalised FS: ReiserFS', 'Journalised FS: JFS', 'Journalised FS: XFS', 'Apple HFS Partition', 'Apple Bootstrap')); @important_types2 = ('Linux RAID', 'Linux Logical Volume Manager partition'); @@ -50,6 +50,7 @@ if_(arch() =~ /^ppc/, 0x483 => 'Journalised FS: ext3', ), if_(arch() =~ /^x86_64/, 0x183 => 'Journalised FS: ReiserFS', + 0x283 => 'Journalised FS: XFS', 0x483 => 'Journalised FS: ext3', ), if_(arch() =~ /^sparc/, 0x1 => 'SunOS boot', diff --git a/perl-install/partition_table/empty.pm b/perl-install/partition_table/empty.pm index 596088619..66a384ab3 100644 --- a/perl-install/partition_table/empty.pm +++ b/perl-install/partition_table/empty.pm @@ -30,7 +30,7 @@ sub read($$) { partition_table::raw::zero_MBR($hd); - $hd->{primary}{raw}; + $hd->{primary}{raw}, $hd->{primary}{info}; } 1; diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index f6626d312..d03b3be9f 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -1,6 +1,5 @@ package pkgs; # $Id$ -use diagnostics; use strict; use MDK::Common::System; @@ -47,7 +46,7 @@ sub packageMedium { my ($packages, $p) = @_; $p or die "invalid package from\n" defined $_->{start} && defined $_->{end} or next; $p->id >= $_->{start} && $p->id <= $_->{end} and return $_; } - return } + return {} } sub cleanHeaders { my ($prefix) = @_; @@ -85,6 +84,11 @@ sub extractHeaders { } } +sub isSupplCDMedium($) { + my ($medium) = @_; + $medium->{method} eq 'cdrom' && $medium->{medium} =~ /^\d+s$/; +} + #- TODO BEFORE TODO #- size and correction size functions for packages. my $B = 1.20873; @@ -224,8 +228,8 @@ sub allMediums { sort { $a <=> $b } keys %{$packages->{mediums}}; } sub mediumDescr { - my ($packages, $medium) = @_; - $packages->{mediums}{$medium}{descr}; + my ($packages, $medium_name) = @_; + $packages->{mediums}{$medium_name}{descr}; } sub packageRequest { @@ -339,14 +343,21 @@ sub unselectAllPackages($) { callback_choices => \&packageCallbackChoices); } +sub urpmidir { + my ($prefix) = @_; + my $v = "$prefix/var/lib/urpmi"; + -l $v && !-e _ and unlink $v and mkdir $v, 0755; #- dangling symlink + -w $v ? $v : '/tmp'; +} + sub psUpdateHdlistsDeps { my ($prefix, $_method, $packages) = @_; my $need_copy = 0; + my $urpmidir = urpmidir($prefix); #- check if current configuration is still up-to-date and do not need to be updated. foreach (values %{$packages->{mediums}}) { $_->{selected} || $_->{ignored} or next; - my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp"; my $hdlistf = "$urpmidir/hdlist.$_->{fakemedium}.cz" . ($_->{hdlist} =~ /\.cz2/ && "2"); my $synthesisf = "$urpmidir/synthesis.hdlist.$_->{fakemedium}.cz" . ($_->{hdlist} =~ /\.cz2/ && "2"); if (-s $hdlistf != $_->{hdlist_size}) { @@ -362,52 +373,62 @@ sub psUpdateHdlistsDeps { if ($need_copy) { #- this is necessary for urpmi. - my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp"; install_any::getAndSaveFile("Mandrake/base/$_", "$urpmidir/$_") foreach qw(rpmsrate); } } sub psUsingHdlists { - my ($prefix, $method) = @_; - my $listf = install_any::getFile('Mandrake/base/hdlists') or die "no hdlists found"; - my $packages = new URPM; - - #- add additional fields used by DrakX. - @$packages{qw(count mediums)} = (0, {}); + my ($o, $method, $o_hdlistsprefix, $o_packages, $o_initialmedium) = @_; + my $prefix = $o->{prefix}; + my $listf = install_any::getFile($o_hdlistsprefix ? "$o_hdlistsprefix/Mandrake/base/hdlists" : 'Mandrake/base/hdlists') + or die "no hdlists found"; + my $suppl_CDs = 0; + if (!$o_packages) { + $o_packages = new URPM; + #- add additional fields used by DrakX. + @$o_packages{qw(count mediums)} = (0, {}); + } #- parse hdlists file. - my $medium = 1; + my $medium_name = $o_initialmedium || 1; + my @hdlists; foreach (<$listf>) { 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/) { $suppl_CDs = 1; next } + my $cdsuppl = index($medium_name, 's') >= 0; m/^\s*(noauto:)?(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die qq(invalid hdlist description "$_" in hdlists file); + push @hdlists, [ $2, $medium_name, $3, $4, !$1, + #- hdlist path, suppl CDs are mounted on /mnt/cdrom : + $o_hdlistsprefix ? "$o_hdlistsprefix/Mandrake/base/$2" : undef, + ]; + $cdsuppl ? ($medium_name = ($medium_name + 1) . 's') : ++$medium_name; + } + foreach my $h (@hdlists) { #- make sure the first medium is always selected! #- by default select all image. - psUsingHdlist($prefix, $method, $packages, $2, $medium, $3, $4, !$1); - - ++$medium; + my $supplmedium = psUsingHdlist($prefix, $method, $o_packages, @$h); } - log::l("psUsingHdlists read " . int(@{$packages->{depslist}}) . - " headers on " . int(keys %{$packages->{mediums}}) . " hdlists"); + log::l("psUsingHdlists read " . int(@{$o_packages->{depslist}}) . + " headers on " . int(keys %{$o_packages->{mediums}}) . " hdlists"); - $packages; + return $o_packages, $suppl_CDs; } sub psUsingHdlist { - my ($prefix, $method, $packages, $hdlist, $medium, $rpmsdir, $descr, $selected, $o_fhdlist, $o_pubkey) = @_; - my $fakemedium = "$descr ($method$medium)"; - my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp"; - log::l("trying to read $hdlist for medium $medium"); - - #- if the medium already exist, use it. - $packages->{mediums}{$medium} and return $packages->{mediums}{$medium}; + my ($prefix, $method, $packages, $hdlist, $medium_name, $rpmsdir, $descr, $selected, $o_fhdlist, $o_pubkey) = @_; + my $fakemedium = "$descr ($method$medium_name)"; + my $urpmidir = urpmidir($prefix); + log::l("trying to read $hdlist for medium $medium_name"); my $m = { hdlist => $hdlist, method => $method, - medium => $medium, + medium => $medium_name, rpmsdir => $rpmsdir, #- where is RPMS directory. descr => $descr, fakemedium => $fakemedium, @@ -424,11 +445,17 @@ sub psUsingHdlist { $m->{hdlist_size} = -s $newf; #- keep track of size for post-check. symlinkf $newf, "/tmp/$hdlist"; - #- if $o_fhdlist is defined, this is preferable not to try to find the associated synthesis. my $newsf = "$urpmidir/synthesis.hdlist.$fakemedium.cz" . ($hdlist =~ /\.cz2/ && "2"); - unless ($o_fhdlist) { + #- if $o_fhdlist is a filehandle, it's preferable not to try to find the associated synthesis. + if (!ref $o_fhdlist) { #- copy existing synthesis file too. - install_any::getAndSaveFile("Mandrake/base/synthesis.$hdlist", $newsf); + my $synth; + if ($o_fhdlist) { + $synth = $o_fhdlist; + $synth =~ s/hdlist/synthesis.hdlist/ or $synth = undef; + } + $synth ||= "Mandrake/base/synthesis.$hdlist"; + install_any::getAndSaveFile($synth, $newsf); $m->{synthesis_hdlist_size} = -s $newsf; #- keep track of size for post-check. -s $newsf > 0 or unlink $newsf; } @@ -444,31 +471,46 @@ sub psUsingHdlist { } #- integrate medium in media list, only here to avoid download error (update) to be propagated. - $packages->{mediums}{$medium} = $m; + $packages->{mediums}{$medium_name} = $m; #- avoid using more than one medium if Cd is not ejectable. #- but keep all medium here so that urpmi has the whole set. - $m->{ignored} ||= $method eq 'cdrom' && $medium > 1 && !common::usingRamdisk(); + $m->{ignored} ||= ( + install_any::method_allows_medium_change($method) && $medium_name > 1 #- first cdrom + && $medium_name !~ /^\d+s/ #- not a suppl. CD + && !common::usingRamdisk()); #- parse synthesis (if available) of directly hdlist (with packing). if ($m->{ignored}) { log::l("ignoring packages in $hdlist"); } else { + my $nb_suppl_pkg_skipped = 0; + my $callback = sub { + my (undef, $p) = @_; + our %uniq_pkg_seen; + if ($uniq_pkg_seen{$p->fullname}++) { + log::l("skipping " . scalar $p->fullname); + ++$nb_suppl_pkg_skipped; + return 0; + } else { + return 1; + } + }; if (-s $newsf) { - ($m->{start}, $m->{end}) = $packages->parse_synthesis($newsf); + ($m->{start}, $m->{end}) = $packages->parse_synthesis($newsf, callback => $callback); } elsif (-s $newf) { - ($m->{start}, $m->{end}) = $packages->parse_hdlist($newf, 1); + ($m->{start}, $m->{end}) = $packages->parse_hdlist($newf, callback => $callback); } else { - delete $packages->{mediums}{$medium}; + delete $packages->{mediums}{$medium_name}; unlink $newf; $o_fhdlist or unlink $newsf; die "fatal: no hdlist nor synthesis to read for $fakemedium"; } - $m->{start} > $m->{end} and do { delete $packages->{mediums}{$medium}; + $m->{start} > $m->{end} and do { delete $packages->{mediums}{$medium_name}; unlink $newf; $o_fhdlist or unlink $newsf; die "fatal: nothing read in hdlist or synthesis for $fakemedium" }; - log::l("read " . ($m->{end} - $m->{start} + 1) . " packages in $hdlist"); + log::l("read " . ($m->{end} - $m->{start} + 1) . " packages in $hdlist, $nb_suppl_pkg_skipped skipped"); } $m; } @@ -560,9 +602,9 @@ sub read_rpmsrate { } sub readCompssUsers { - my ($meta_class) = @_; + my ($meta_class, $file) = @_; - my $file = 'Mandrake/base/compssUsers'; + $file = 'Mandrake/base/compssUsers' if !$file; my $f = $meta_class && install_any::getFile("$file.$meta_class") || install_any::getFile($file) or die "can't find $file"; readCompssUsers_raw($f); } @@ -607,19 +649,19 @@ sub saveCompssUsers { } } } - my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp"; + my $urpmidir = urpmidir($prefix); output "$urpmidir/compssUsers.flat", $flat; } sub setSelectedFromCompssList { - my ($packages, $compssUsersChoice, $min_level, $max_size) = @_; - $compssUsersChoice->{TRUE} = 1; #- ensure TRUE is set + 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 { /^!(.*)/ ? !$compssUsersChoice->{$1} : $compssUsersChoice->{$_} } split('\|\|') } @flags; + 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. @@ -885,6 +927,8 @@ sub selectPackagesToUpgrade { sub allowedToUpgrade { $_[0] !~ /^(kernel|kernel22|kernel2.2|kernel-secure|kernel-smp|kernel-linus|kernel-linus2.2|hackkernel|kernel-enterprise)$/ } +sub supplCDMountPoint { $::o->{mainmethod} eq 'cdrom' ? "/tmp/image" : "/mnt/cdrom" } + sub installTransactionClosure { my ($packages, $id2pkg) = @_; my ($id, %closure, @l, $medium, $min_id, $max_id); @@ -920,13 +964,29 @@ sub installTransactionClosure { $medium or return (); #- no more medium usable -> end of installation by returning empty list. ($min_id, $max_id) = ($medium->{start}, $medium->{end}); + #- Supplementary CD : switch temporarily to "cdrom" method + my $suppl_CD = isSupplCDMedium($medium); + $::o->{mainmethod} = $::o->{method}; + local $::o->{method} = do { + my $cdrom; + cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1; + if (!defined $cdrom) { + (my $cdromdev) = detect_devices::cdroms(); + $cdrom = $cdromdev->{device}; + log::l("cdrom redetected at $cdrom"); + devices::make($cdrom); + install_any::ejectCdrom($cdrom) if $::o->{method} eq 'cdrom'; + install_any::mountCdrom(supplCDMountPoint(), $cdrom); + } else { log::l("cdrom already found at $cdrom") } + 'cdrom'; + } if $suppl_CD; #- it is sure at least one package will be installed according to medium chosen. install_any::useMedium($medium->{medium}); - if ($medium->{method} eq 'cdrom') { + if (install_any::method_allows_medium_change($medium->{method})) { my $pkg = $packages->{depslist}[$l[0]]; #- force changeCD callback to be called from main process. - install_any::getFile($pkg->filename, $medium->{descr}); + install_any::getFile($pkg->filename, $medium->{descr}, $suppl_CD ? supplCDMountPoint() : undef); #- close opened handle above. install_any::getFile('XXX'); } @@ -1062,7 +1122,8 @@ sub install($$$;$$) { my $trans = $db->create_transaction($prefix); if ($retry_pkg) { log::l("opened rpm database for retry transaction of 1 package only"); - $trans->add($retry_pkg, $isUpgrade && allowedToUpgrade($retry_pkg->name)); + $trans->add($retry_pkg, $isUpgrade && allowedToUpgrade($retry_pkg->name)) + or log::l("add failed for ".$retry_pkg->fullname); } else { log::l("opened rpm database for transaction of " . int(@transToInstall) . " new packages, still $nb after that to do"); @@ -1082,7 +1143,11 @@ sub install($$$;$$) { my $medium = packageMedium($packages, $pkg); my $f = $pkg && $pkg->filename; print $LOG "$f\n"; - $fd = install_any::getFile($f, $medium->{descr}); + if (isSupplCDMedium($medium)) { + $fd = install_any::getFile($f, $medium->{descr}, supplCDMountPoint()); + } else { + $fd = install_any::getFile($f, $medium->{descr}, $medium->{prefix}); + } $fd ? fileno $fd : -1; }, callback_close => sub { my ($data, $_type, $id) = @_; @@ -1092,6 +1157,7 @@ sub install($$$;$$) { my ($p) = @_; $check_installed ||= $pkg->compare_pkg($p) == 0; }); + $check_installed or log::l($pkg->name . " not installed, " . c::rpmErrorString()); $check_installed and print OUTPUT "close:$id\n"; }, callback_inst => sub { my ($_data, $type, $id, $subtype, $amount, $total) = @_; @@ -1176,6 +1242,7 @@ sub install($$$;$$) { log::l("closing install.log file"); close $LOG; + eval { fs::umount("/mnt/cdrom") }; cleanHeaders($prefix); diff --git a/perl-install/printer/cups.pm b/perl-install/printer/cups.pm index ab9e28b21..eb443482e 100644 --- a/perl-install/printer/cups.pm +++ b/perl-install/printer/cups.pm @@ -27,15 +27,17 @@ sub lpstat_lpv() { my $currentitem = -1; for my $line (@lpstat) { - chomp ($line); - if (!($line =~ m!^\s*$!)) { - if ($line =~ m!^printer\s+(\S+)\s+(\S.*)$!) { + chomp($line); + if ($line !~ m!^\s*$!) { + if ($line =~ m!^printer\s+(\S+)\s+.*\b(enabled|disabled)\b!) { # Beginning of new printer's entry my $name = $1; + my $state = $2; push(@items, {}); $currentitem = $#items; $itemshash->{$name} = $currentitem; $items[$currentitem]{queuename} ||= $name; + $items[$currentitem]{state} ||= $state; } elsif ($line =~ m!^\s+Description:\s+(\S.*)$!) { # Description field if ($currentitem != -1) { @@ -51,7 +53,7 @@ sub lpstat_lpv() { my $name = $1; my $uri = $2; if (defined($itemshash->{$name})) { - if ($uri !~ /:/) {$uri = "file:" . $uri}; + if ($uri !~ /:/) { $uri = "file:" . $uri } $currentitem = $itemshash->{$name}; if (($currentitem <= $#items) && ($items[$currentitem]{queuename} eq $name)) { @@ -114,10 +116,10 @@ sub get_formatted_remote_queues { map { join('!', if_($printer->{expert}, N("CUPS")), N("Configured on other machines"), $_); } map { - my $comment = N("On CUPS server \"%s\"", $_->{ipp}) . ($_->{queuename} eq $printer->{DEFAULT} ? N(" (Default)") : ""); + my $comment = N("On CUPS server \"%s\"", ($_->{ipp} ? $_->{ipp} : $printer->{remote_cups_server})) . ($_->{queuename} eq $printer->{DEFAULT} ? N(" (Default)") : ""); "$_->{queuename}: $comment"; } grep { - $_->{ipp} && !$printer->{configured}{$_->{queuename}}; + !$printer->{configured}{$_->{queuename}}; } lpstat_v(); } @@ -133,4 +135,13 @@ sub get_remote_queues { } lpstat_v(); } +sub queue_enabled { + my ($queue) = @_; + 0 != grep { + /\b$queue\b.*\benabled\b/i; + } run_program::rooted_get_stdout($::prefix, 'lpstat', '-p', $queue); +} + + + 1; diff --git a/perl-install/printer/data.pm b/perl-install/printer/data.pm index 4a64ead75..1b824636a 100644 --- a/perl-install/printer/data.pm +++ b/perl-install/printer/data.pm @@ -6,64 +6,110 @@ use vars qw(@ISA @EXPORT); @ISA = qw(Exporter); @EXPORT = qw(%spoolers %spooler_inv %shortspooler_inv - $kernelversion $usbprintermodule); + $kernelversion $usbprintermodule $lib + $commonpackages $gimpprintingpackages $gnomecupspackages + $localqueuepackages); +# Kernel-specific data our $kernelversion = `uname -r 2>/dev/null`; $kernelversion =~ s/^(\s*)(\d+\.\d+)(\..*)$/$2/; chomp $kernelversion; our $usbprintermodule = ($kernelversion eq '2.6' ? "usblp" : "printer"); +# Architecture-specific data +our $lib = arch() =~ /x86_64/ ? "lib64" : "lib"; + +# Packages which are always needed to run printerdrake +our $commonpackages = [ [ 'foomatic-db-engine' ], + [ '/usr/bin/foomatic-configure' ] ]; + +# Packages which are needed to print with the GIMP +our $gimpprintingpackages = [ [ 'gutenprint-gimp' ], + [ "/usr/$lib/gimp/1.2/plug-ins/print" ] ]; + +# Packages which are needed for CUPS under GNOME +our $gnomecupspackages = [ [ 'desktop-printing' ], + [ '/usr/bin/eggcups' ] ]; + +# Packages which are needed to create and manage local print queues +our $localqueuepackages = [ [ 'foomatic-filters', 'foomatic-db', + 'foomatic-db-hpijs', 'foomatic-db-engine', + 'printer-filters', + 'printer-utils', 'printer-testpages', + 'ghostscript', 'hplip-hpijs', 'gutenprint-ijs', + 'gutenprint-foomatic', 'gutenprint-escputil', + 'postscript-ppds', + 'hplip-model-data', 'nmap', 'scli' ], + [qw(/usr/bin/foomatic-rip + /usr/share/foomatic/db/source/driver/ljet4.xml + /usr/share/foomatic/db/source/driver/hpijs.xml + /usr/bin/foomatic-configure + /usr/bin/pnm2ppa + /usr/bin/getusbprinterid + /usr/share/printer-testpages/testprint.ps + /usr/bin/gs-common + /usr/bin/hpijs + /usr/share/man/man1/ijsgutenprint.1.bz2 + /usr/share/foomatic/db/source/driver/gutenprint-ijs.5.0.xml + /usr/bin/escputil + /usr/share/cups/model/postscript.ppd.gz + /usr/share/hplip/data/xml/models.xml + /usr/bin/nmap + /usr/bin/scli)] ]; + +# Spooler-specific data our %spoolers = ('pdq' => { 'help' => "/usr/bin/pdq -h -P %s 2>&1 |", 'print_command' => 'lpr-pdq', 'print_gui' => 'xpdq', - 'long_name' => N("PDQ - Print, Don't Queue"), + 'long_name' => N("PDQ - Print, Do not Queue"), 'short_name' => N("PDQ"), + 'local_queues' => 1, 'packages2add' => [ [ 'pdq' ], [qw(/usr/bin/pdq /usr/X11R6/bin/xpdq)] ], 'alternatives' => [ [ 'lpr', '/usr/bin/lpr-pdq' ], [ 'lpq', '/usr/bin/lpq-foomatic' ], [ 'lprm', '/usr/bin/lprm-foomatic' ] ], - }, - 'lpd' => { + }, + 'lpd' => { 'print_command' => 'lpr-lpd', - 'print_gui' => 'gpr', + 'print_gui' => 'lpr-lpd', 'long_name' => N("LPD - Line Printer Daemon"), 'short_name' => N("LPD"), 'boot_spooler' => 'lpd', 'service' => 'lpd', - 'packages2add' => [ [qw(lpr net-tools gpr a2ps ImageMagick)], + 'local_queues' => 1, + 'packages2add' => [ [qw(lpr net-tools a2ps ImageMagick)], [qw(/usr/sbin/lpf /usr/sbin/lpd /sbin/ifconfig - /usr/bin/gpr /usr/bin/a2ps /usr/bin/convert)] ], - 'packages2rm' => [ 'LPRng', '/usr/lib/filters/lpf' ], + 'packages2rm' => [ 'LPRng', "/usr/$lib/filters/lpf" ], 'alternatives' => [ [ 'lpr', '/usr/bin/lpr-lpd' ], [ 'lpq', '/usr/bin/lpq-lpd' ], [ 'lprm', '/usr/bin/lprm-lpd' ], [ 'lpc', '/usr/sbin/lpc-lpd' ] ] - }, + }, 'lprng' => { 'print_command' => 'lpr-lpd', - 'print_gui' => 'gpr', + 'print_gui' => 'lpr-lpd', 'long_name' => N("LPRng - LPR New Generation"), 'short_name' => N("LPRng"), 'boot_spooler' => 'lpd', 'service' => 'lpd', - 'packages2add' => [ [qw(LPRng net-tools gpr a2ps ImageMagick)], - [qw(/usr/lib/filters/lpf - /usr/sbin/lpd - /sbin/ifconfig - /usr/bin/gpr - /usr/bin/a2ps - /usr/bin/convert)] ], + 'local_queues' => 1, + 'packages2add' => [ [qw(LPRng net-tools a2ps ImageMagick)], + ["/usr/$lib/filters/lpf", + "/usr/sbin/lpd", + "/sbin/ifconfig", + "/usr/bin/a2ps", + "/usr/bin/convert"] ], 'packages2rm' => [ 'lpr', '/usr/sbin/lpf' ], 'alternatives' => [ [ 'lpr', '/usr/bin/lpr-lpd' ], @@ -74,7 +120,7 @@ our %spoolers = ('pdq' => { [ 'lpstat', '/usr/bin/lpstat-lpd' ], [ 'lpc', '/usr/sbin/lpc-lpd' ] ] - }, + }, 'cups' => { 'help' => "/usr/bin/lphelp %s |", 'print_command' => 'lpr-cups', @@ -83,12 +129,14 @@ our %spoolers = ('pdq' => { 'short_name' => N("CUPS"), 'boot_spooler' => 'cups', 'service' => 'cups', - 'packages2add' => [ ['cups', 'net-tools', 'xpp', 'cups-drivers', + 'local_queues' => 1, + 'packages2add' => [ ['cups', 'net-tools', 'xpp', 'cups-drivers', 'gutenprint-cups', $::isInstall ? 'curl' : 'webfetch'], - [ qw(/usr/lib/cups/cgi-bin/printers.cgi - /sbin/ifconfig - /usr/bin/xpp - /usr/share/cups/model/postscript.ppd.gz), + [ "/usr/$lib/cups/cgi-bin/printers.cgi", + "/sbin/ifconfig", + "/usr/bin/xpp", + "/usr/$lib/cups/filter/rastertolxx74", + "/usr/$lib/cups/filter/commandtoepson", $::isInstall || !(-x '/usr/bin/wget') ? '/usr/bin/curl' : @@ -102,6 +150,26 @@ our %spoolers = ('pdq' => { [ 'lpstat', '/usr/bin/lpstat-cups' ], [ 'lpc', '/usr/sbin/lpc-cups' ] ] + }, + 'rcups' => { + 'help' => "/usr/bin/lphelp %s |", + 'print_command' => 'lpr-cups', + 'print_gui' => 'xpp', + 'long_name' => N("CUPS - Common Unix Printing System (remote server)"), + 'short_name' => N("Remote CUPS"), + 'local_queues' => 0, + 'packages2add' => [ ['cups-common', 'xpp'], + ['/usr/bin/lpr-cups', + '/usr/bin/xpp'] ], + 'alternatives' => [ + [ 'lpr', '/usr/bin/lpr-cups' ], + [ 'lpq', '/usr/bin/lpq-cups' ], + [ 'lprm', '/usr/bin/lprm-cups' ], + [ 'lp', '/usr/bin/lp-cups' ], + [ 'cancel', '/usr/bin/cancel-cups' ], + [ 'lpstat', '/usr/bin/lpstat-cups' ], + [ 'lpc', '/usr/sbin/lpc-cups' ] + ] } ); our %spooler_inv = map { $spoolers{$_}{long_name} => $_ } keys %spoolers; diff --git a/perl-install/printer/default.pm b/perl-install/printer/default.pm index af997fd48..41da25c56 100644 --- a/perl-install/printer/default.pm +++ b/perl-install/printer/default.pm @@ -11,17 +11,25 @@ my $FOOMATIC_DEFAULT_SPOOLER = "$FOOMATICCONFDIR/defaultspooler"; sub set_printer { my ($printer) = $_[0]; - run_program::rooted($::prefix, "foomatic-configure", - "-D", "-q", "-s", $printer->{SPOOLER}, - "-n", $printer->{DEFAULT}) or return 0; + my $spooler = $printer->{SPOOLER}; + if ($spooler eq "rcups") { + run_program::rooted($::prefix, "lpoptions", + "-d", $printer->{DEFAULT}) or return 0; + } else { + run_program::rooted($::prefix, "foomatic-configure", + "-D", "-q", "-s", $spooler, + "-n", $printer->{DEFAULT}) or return 0; + } return 1; } sub get_printer { my $printer = $_[0]; + my $spooler = $printer->{SPOOLER}; + $spooler = "cups" if $spooler eq "rcups"; local *F; open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - "foomatic-configure -Q -q -s $printer->{SPOOLER} |" or return undef; + "foomatic-configure -Q -q -s $spooler |" or return undef; my $line; while ($line = <F>) { if ($line =~ m!^\s*<defaultqueue>(.*)</defaultqueue>\s*$!) { @@ -37,7 +45,12 @@ sub get_spooler () { if (-f "$::prefix$FOOMATIC_DEFAULT_SPOOLER") { my $spool = cat_("$::prefix$FOOMATIC_DEFAULT_SPOOLER"); chomp $spool; - return $spool if $spool =~ /cups|lpd|lprng|pdq/; + if ($spool =~ /cups/) { + my ($daemonless_cups, $_remote_cups_server) = + printer::main::read_client_conf(); + $spool = ($daemonless_cups > 0 ? "rcups" : "cups"); + } + return $spool if $spool =~ /cups|lpd|lprng|pdq/; } } diff --git a/perl-install/printer/detect.pm b/perl-install/printer/detect.pm index 71adef0cf..fcb8316dd 100644 --- a/perl-install/printer/detect.pm +++ b/perl-install/printer/detect.pm @@ -8,17 +8,23 @@ use printer::data; sub local_detect() { modules::get_probeall("usb-interface") and eval { modules::load($usbprintermodule) }; - eval { modules::unload(qw(lp parport_pc parport)) }; #- on kernel 2.4 parport has to be unloaded to probe again - eval { modules::load(qw(parport_pc lp)) }; #- take care as not available on 2.4 kernel (silent error). - whatPrinter(); + # Reload parallel port modules only when we were not called by + # automatic setup of print queues, to avoid recursive calls + if ($::autoqueue) { + whatUsbport(); + } else { + eval { modules::unload(qw(lp parport_pc ppdev parport)) }; #- on kernel 2.4 parport has to be unloaded to probe again + eval { modules::load(qw(ppdev parport_pc lp)) }; #- take care as not available on 2.4 kernel (silent error). + whatPrinter(); + } } -sub net_detect() { whatNetPrinter(1, 0) } +sub net_detect { whatNetPrinter(1, 0, @_) } -sub net_smb_detect() { whatNetPrinter(0, 1) } +sub net_smb_detect { whatNetPrinter(0, 1, @_) } -sub detect() { - local_detect(), whatNetPrinter(1, 1); +sub detect { + local_detect(), whatNetPrinter(1, 1, @_); } @@ -34,26 +40,32 @@ sub whatPrinter() { sub whatParport() { my @res; - foreach (0..3) { + my $i = 0; + foreach (sort { $a =~ /(\d+)/; my $m = $1; $b =~ /(\d+)/; my $n = $1; $m <=> $n } `ls -1d /proc/parport/[0-9]* /proc/sys/dev/parport/parport[0-9]* 2>/dev/null`) { + chomp; my $elem = {}; my $F; - open $F, "/proc/parport/$_/autoprobe" or open $F, "/proc/sys/dev/parport/parport$_/autoprobe" or next; + open $F, "$_/autoprobe" or next; { local $_; my $itemfound = 0; - while (<$F>) { + while (<$F>) { + chomp; if (/(.*):(.*);/) { #-# $elem->{$1} = $2; $elem->{$1} =~ s/Hewlett[-\s_]Packard/HP/; $elem->{$1} =~ s/HEWLETT[-\s_]PACKARD/HP/; $itemfound = 1; + # Add IEEE-1284 device ID string + $elem->{IEEE1284} .= $_; } } # Some parallel printers miss the "CLASS" field $elem->{CLASS} = 'PRINTER' if $itemfound && !defined($elem->{CLASS}); } - push @res, { port => "/dev/lp$_", val => $elem }; + push @res, { port => "/dev/lp$i", val => $elem }; + $i ++; } @res; } @@ -99,6 +111,10 @@ sub whatUsbport() { next; }; close $PORT; + # Cut resulting string to its real length + my $length = ord(substr($idstr, 1, 1)) + + (ord(substr($idstr, 0, 1)) << 8); + $idstr = substr($idstr, 2, $length-2); # Remove non-printable characters $idstr =~ tr/[\x00-\x1f]/./; # If we do not find any item in the ID string, we try to read @@ -108,6 +124,9 @@ sub whatUsbport() { my ($manufacturer, $model, $serialnumber, $description, $commandset) = ("", "", "", "", ""); my ($sku); + if ($idstr =~ /CLS:([^;]+);/ || $idstr =~ /CLASS:([^;]+);/) { + $itemfound = 1; + } if ($idstr =~ /MFG:([^;]+);/ || $idstr =~ /MANUFACTURER:([^;]+);/) { $manufacturer = $1; $manufacturer =~ s/Hewlett[-\s_]Packard/HP/; @@ -141,12 +160,12 @@ sub whatUsbport() { $itemfound = 1; } # Nothing found? Try again if not in the third attempt, - # in the third attempt always accept. - next if !$itemfound && $j < 3; + # after the third attempt give up + next if !$itemfound; # Was there a manufacturer and a model in the string? if ($manufacturer eq "" || $model eq "") { $manufacturer = ""; - $model = N("Unknown Model"); + $model = N("Unknown model"); } # No description field? Make one out of manufacturer and model. if ($description eq "") { @@ -160,7 +179,8 @@ sub whatUsbport() { DESCRIPTION => $description, SERIALNUMBER => $serialnumber, 'COMMAND SET' => $commandset, - SKU => $sku + SKU => $sku, + IEEE1284 => $idstr, } }; last; } @@ -169,10 +189,14 @@ sub whatUsbport() { } sub whatNetPrinter { - my ($network, $smb) = @_; + my ($network, $smb, $timeout) = @_; my (@res); + # Set timeouts for "nmap" + $timeout = 4000 if !$timeout; + my $irtimeout = $timeout / 2; + # Which ports should be scanned? my @portstoscan; push @portstoscan, "139" if $smb; @@ -180,12 +204,13 @@ sub whatNetPrinter { return () if $#portstoscan < 0; my $portlist = join ",", @portstoscan; - + # Which hosts should be scanned? - # (Applying nmap to a whole network is very time-consuming, because nmap - # waits for a certain timeout period on non-existing hosts, so we get a - # lists of existing hosts by pinging the broadcast addresses for existing - # hosts and then scanning only them, which is much faster) + # (Applying nmap to a whole network is very time-consuming, + # because nmap waits for a certain timeout period on non-existing + # hosts, so we get a lists of existing hosts by pinging the + # broadcast addresses for existing hosts and then scanning only + # them, which is much faster) my @hostips = getIPsInLocalNetworks(); return () if $#hostips < 0; my $hostlist = join " ", @hostips; @@ -194,25 +219,36 @@ sub whatNetPrinter { # delays caused by machines blocking their ports with a firewall local *F; open F, ($::testing ? "" : "chroot $::prefix/ ") . - qq(/bin/sh -c "export LC_ALL=C; nmap -r -P0 --host_timeout 400 --initial_rtt_timeout 200 -p $portlist $hostlist" |) + qq(/bin/sh -c "export LC_ALL=C; nmap -r -P0 --host_timeout $timeout --initial_rtt_timeout $irtimeout -p $portlist $hostlist" 2> /dev/null |) or return @res; - my ($host, $ip, $port, $modelinfo) = ("", "", "", ""); + my ($host, $ip, $port, $modelinfo, $namechecked) = ("", "", "", "", 0); while (my $line = <F>) { chomp $line; # head line of the report of a host with the ports in question open - #if ($line =~ m/^\s*Interesting\s+ports\s+on\s+(\S*)\s*\(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\)\s*:\s*$/i) { - if ($line =~ m/^\s*Interesting\s+ports\s+on\s+(\S*)\s*\((\S+)\)\s*:\s*$/i) { + if (($line =~ m/^\s*Interesting\s+ports\s+on\s+(\S*)\s*\((\S+)\)\s*:\s*$/i) || + ($line =~ m/^\s*Interesting\s+ports\s+on\s+(\S+)\s*:\s*$/i)) { ($host, $ip) = ($1, $2); + $ip = $host if !$ip; $host = $ip if $host eq ""; $port = ""; + $namechecked = 0; undef $modelinfo; } elsif ($line =~ m!^\s*(\d+)/\S+\s+open\s+!i) { next if $ip eq ""; $port = $1; - + + # Check integrity of the host name (work around DNS problems + # by using IP if host name is broken) + if (!$namechecked && ($host ne $ip)) { + $namechecked = 1; # Do not check more than once + my $packedip = gethostbyname("$host"); + my ($a,$b,$c,$d) = unpack('C4',$packedip); + my $ipfromdns = sprintf("%d.%d.%d.%d", $a, $b, $c, $d); + $host = $ip if $ip ne $ipfromdns; + } # Now we have all info for one printer # Store this auto-detection result in the data structure @@ -224,7 +260,7 @@ sub whatNetPrinter { foreach my $share (@shares) { push @res, { port => "smb://$host/$share->{name}", val => { CLASS => 'PRINTER', - MODEL => N("Unknown Model"), + MODEL => N("Unknown model"), MANUFACTURER => "", DESCRIPTION => $share->{description}, SERIALNUMBER => "" @@ -260,7 +296,7 @@ sub getNetworkInterfaces() { local *IFCONFIG_OUT; open IFCONFIG_OUT, ($::testing ? "" : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; ifconfig" |' or return (); + '/bin/sh -c "export LC_ALL=C; ifconfig" 2> /dev/null |' or return (); while (my $readline = <IFCONFIG_OUT>) { # New entry ... if ($readline =~ /^(\S+)\s/) { @@ -291,7 +327,7 @@ sub getIPsOfLocalMachine() { local *IFCONFIG_OUT; open IFCONFIG_OUT, ($::testing ? "" : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; ifconfig" |' or return (); + '/bin/sh -c "export LC_ALL=C; ifconfig" 2> /dev/null |' or return (); while (my $readline = <IFCONFIG_OUT>) { # New entry ... if ($readline =~ /^(\S+)\s/) { @@ -328,57 +364,90 @@ sub getIPsInLocalNetworks() { # Read the output of "ifconfig" to determine the broadcast addresses of # the local networks my $dev_is_localnet = 0; - my @local_bcasts; - my $current_bcast = ""; - + my $local_nets = {}; + my $dev; local *IFCONFIG_OUT; open IFCONFIG_OUT, ($::testing ? "" : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; ifconfig" |' or return (); + '/bin/sh -c "export LC_ALL=C; ifconfig" 2> /dev/null |' or return (); while (my $readline = <IFCONFIG_OUT>) { # New entry ... if ($readline =~ /^(\S+)\s/) { - my $dev = $1; + $dev = $1; # ... for a local network (eth = ethernet, # vmnet = VMWare, # ethernet card connected to ISP excluded)? $dev_is_localnet = $dev =~ /^eth/ || $dev =~ /^vmnet/; - # delete previous address - $current_bcast = ""; } - # Are we in the important line now? - if ($readline =~ /\sBcast:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\s/) { - # Rip out the broadcast IP address - $current_bcast = $1; - - # Are we in an entry for a local network? - if ($dev_is_localnet == 1) { - # Store current IP address - push @local_bcasts, $current_bcast; + if ($dev_is_localnet) { + # Are we in the important line now? + if ($readline =~ /\saddr:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\s/) { + # Rip out the broadcast IP address + $local_nets->{$dev}{ip} = $1; + } + if ($readline =~ /\sBcast:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\s/) { + # Rip out the broadcast IP address + $local_nets->{$dev}{bcast} = $1; + } + if ($readline =~ /\sMask:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\s/) { + # Rip out the broadcast IP address + $local_nets->{$dev}{mask} = $1; } } } close(IFCONFIG_OUT); + # Now find all addresses in the local networks which we will investigate my @addresses; - # Now ping all broadcast addresses and additionally "nmblookup" the - # networks (to find Windows servers which do not answer to ping) - foreach my $bcast (@local_bcasts) { - local *F; - open F, ($::testing ? "" : "chroot $::prefix/ ") . - qq(/bin/sh -c "export LC_ALL=C; ping -w 1 -b -n $bcast | cut -f 4 -d ' ' | sed s/:// | egrep '^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+' | uniq | sort" |) - or next; - local $_; - while (<F>) { chomp; push @addresses, $_ } - close F; - if (-x "/usr/bin/nmblookup") { + foreach $dev (keys %{$local_nets}) { + my $ip = $local_nets->{$dev}{ip}; + my $bcast = $local_nets->{$dev}{bcast}; + my $mask = $local_nets->{$dev}{mask}; + if ($mask =~ /255.255.255.(\d+)/) { + # Small network, never more than 255 boxes, so we return + # all addresses belonging to this network, without pinging + my $lastnumber = $1; + my $masknumber; + if ($lastnumber < 128) { + $masknumber = 24; + } elsif ($lastnumber < 192) { + $masknumber = 25; + } elsif ($lastnumber < 224) { + $masknumber = 26; + } elsif ($lastnumber < 240) { + $masknumber = 27; + } elsif ($lastnumber < 248) { + $masknumber = 28; + } elsif ($lastnumber < 252) { + $masknumber = 29; + } elsif ($lastnumber < 254) { + $masknumber = 30; + } elsif ($lastnumber < 255) { + $masknumber = 31; + } else { + $masknumber = 32; + } + push @addresses, "$ip/$masknumber"; + } else { + # Big network, probably more than 255 boxes, so ping the + # broadcast address and additionally "nmblookup" the + # networks (to find Windows servers which do not answer to ping) local *F; open F, ($::testing ? "" : "chroot $::prefix/ ") . - qq(/bin/sh -c "export LC_ALL=C; nmblookup -B $bcast \\* | cut -f 1 -d ' ' | egrep '^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+' | uniq | sort" |) + qq(/bin/sh -c "export LC_ALL=C; ping -w 1 -b -n $bcast 2> /dev/null | cut -f 4 -d ' ' | sed s/:// | egrep '^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+' | uniq | sort" |) or next; local $_; - while (<F>) { - chomp; - push @addresses, $_ if !(member($_,@addresses)); + while (<F>) { chomp; push @addresses, $_ } + close F; + if (-x "/usr/bin/nmblookup") { + local *F; + open F, ($::testing ? "" : "chroot $::prefix/ ") . + qq(/bin/sh -c "export LC_ALL=C; nmblookup -B $bcast \\* 2> /dev/null | cut -f 1 -d ' ' | egrep '^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+' | uniq | sort" |) + or next; + local $_; + while (<F>) { + chomp; + push @addresses, $_ if !(member($_,@addresses)); + } } } } @@ -392,7 +461,7 @@ sub getSMBPrinterShares { # SMB request to auto-detect shares local *F; open F, ($::testing ? "" : "chroot $::prefix/ ") . - qq(/bin/sh -c "export LC_ALL=C; smbclient -N -L $host" |) or return (); + qq(/bin/sh -c "export LC_ALL=C; smbclient -N -L $host" 2> /dev/null |) or return (); my $insharelist = 0; my @shares; while (my $l = <F>) { @@ -424,9 +493,9 @@ sub getSNMPModel { # SNMP request to auto-detect model local *F; open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - qq(/bin/sh -c "scli -v 1 -c 'show printer info' $host" |) or + qq(/bin/sh -c "scli -v 1 -c 'show printer info' $host" 2> /dev/null |) or return { CLASS => 'PRINTER', - MODEL => N("Unknown Model"), + MODEL => N("Unknown model"), MANUFACTURER => "", DESCRIPTION => "", SERIALNUMBER => "" @@ -453,7 +522,43 @@ sub getSNMPModel { # Was there a manufacturer and a model in the output? # If not, get them from the description if ($manufacturer eq "" || $model eq "") { - if ($description =~ /^\s*(\S*)\s+(\S.*)$/) { + # Replace bad description + if ((length($description) < 5) && + (length($description) >= 5)) { + $description = $model; + } + # Guess manufacturer by model name + if ($description =~ + /^\s*(DeskJet|LaserJet|OfficeJet|PSC|PhotoSmart)\b/i) { + # HP printer + $manufacturer = "HP"; + $model = $description; + } elsif ($description =~ + /^\s*(Stylus|EPL|AcuLaser)\b/i) { + # Epson printer + $manufacturer = "Epson"; + $model = $description; + } elsif ($description =~ + /^\s*(Aficio)\b/i) { + # Ricoh printer + $manufacturer = "Ricoh"; + $model = $description; + } elsif ($description =~ + /^\s*(Optra|Color\s+JetPrinter)\b/i) { + # Lexmark printer + $manufacturer = "Lexmark"; + $model = $description; + } elsif ($description =~ + /^\s*(imageRunner|Pixma|Pixus|BJC|LBP)\b/i) { + # Canon printer + $manufacturer = "Canon"; + $model = $description; + } elsif ($description =~ + /^\s*(Phaser|DocuPrint|(Work|Document)\s*(Home|)Centre)\b/i) { + # Xerox printer + $manufacturer = "Xerox"; + $model = $description; + } elsif ($description =~ /^\s*(\S*)\s+(\S.*)$/) { $manufacturer = $1 if $manufacturer eq ""; $model = $2 if $model eq ""; } @@ -463,7 +568,7 @@ sub getSNMPModel { } # We couldn't determine a model - $model = N("Unknown Model") if $model eq ""; + $model = N("Unknown model") if $model eq ""; # Remove trailing spaces $manufacturer =~ s/(\S+)\s+$/$1/; @@ -485,7 +590,7 @@ sub network_running() { # If the network is not running return 0, otherwise 1. local *F; open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; /sbin/ifconfig" |' or + '/bin/sh -c "export LC_ALL=C; /sbin/ifconfig" 2> /dev/null |' or die 'Could not run "ifconfig"!'; while (my $line = <F>) { if ($line !~ /^lo\s+/ && # The loopback device can have been @@ -506,8 +611,18 @@ sub parport_addr { $device =~ m!^/dev/lp(\d+)$! or $device =~ m!^/dev/printers/(\d+)$!; my $portnumber = $1; + my $i = 0; + my $parportdir; + foreach (sort { $a =~ /(\d+)/; my $m = $1; $b =~ /(\d+)/; my $n = $1; $m <=> $n } `ls -1d /proc/parport/[0-9]* /proc/sys/dev/parport/parport[0-9]* 2>/dev/null`) { + chomp; + if ($i == $portnumber) { + $parportdir = $_; + last; + } + $i++; + } my $parport_addresses = - `cat /proc/sys/dev/parport/parport$portnumber/base-addr`; + `cat $parportdir/base-addr`; my $address_arg; if ($parport_addresses =~ /^\s*(\d+)\s+(\d+)\s*$/) { $address_arg = sprintf(" -base 0x%x -basehigh 0x%x", $1, $2); diff --git a/perl-install/printer/gimp.pm b/perl-install/printer/gimp.pm deleted file mode 100644 index 8da3a7625..000000000 --- a/perl-install/printer/gimp.pm +++ /dev/null @@ -1,361 +0,0 @@ -package printer::gimp; - -use strict; -use run_program; -use common; -use printer::common; -use printer::data; -use printer::cups; - -# ------------------------------------------------------------------ -# GIMP-print related stuff -# ------------------------------------------------------------------ - -sub configure { - my ($printer) = @_; - # Do we have files to treat? - my @configfilenames = findconfigfiles(); - return 1 if $#configfilenames < 0; - # There is no system-wide config file, treat every user's config file - foreach my $configfilename (@configfilenames) { - # Load GIMP's printer config file - my $configfilecontent = readconfigfile($configfilename); - # Update local printer queues - foreach my $queue (keys(%{$printer->{configured}})) { - # Check if we have a PPD file - if (! -r "$::prefix/etc/foomatic/$queue.ppd") { - if (-r "$::prefix/etc/cups/ppd/$queue.ppd") { - # If we have a PPD file in the CUPS config dir, link to it - run_program::rooted($::prefix, - "ln", "-sf", - "/etc/cups/ppd/$queue.ppd", - "/etc/foomatic/$queue.ppd"); - } elsif (-r "$::prefix/usr/share/postscript/ppd/$queue.ppd") { - # Check PPD directory of GPR, too - run_program::rooted( - $::prefix, - "ln", "-sf", - "/usr/share/postscript/ppd/$queue.ppd", - "/etc/foomatic/$queue.ppd"); - } else { - # No PPD file at all? We cannot set up this printer - next; - } - } - # Add the printer entry - if (!isprinterconfigured($queue, $configfilecontent)) { - # Remove the old printer entry - $configfilecontent = - removeprinter($queue, $configfilecontent); - # Add the new printer entry - $configfilecontent = - makeprinterentry($printer, $queue, - $configfilecontent); - } - } - # Default printer - if ($printer->{DEFAULT}) { - if ($configfilecontent !~ /^\s*Current\-Printer\s*:/m) { - $configfilecontent =~ - s/\n/\nCurrent-Printer: $printer->{DEFAULT}\n/s; - } else { - if ($configfilecontent =~ /^\s*Current\-Printer\s*:\s*(\S+)\s*$/m && - !isprinterconfigured($1, $configfilecontent)) { - $configfilecontent =~ - s/(Current\-Printer\s*:\s*)\S+/$1$printer->{DEFAULT}/; - } - } - } - # Write back GIMP's printer configuration file - writeconfigfile($configfilename, $configfilecontent); - } - return 1; -} - -sub addcupsremoteto { - my ($printer, $queue) = @_; - # Do we have files to treat? - my @configfilenames = findconfigfiles(); - return 1 if $#configfilenames < 0; - my @printerlist = printer::cups::get_remote_queues(); - my $ppdfile = ""; - if ($printer->{SPOOLER} eq "cups" && - (-x "$::prefix/usr/bin/curl" || -x "$::prefix/usr/bin/wget")) { - foreach my $listentry (@printerlist) { - next if $listentry !~ /^([^\|]+)\|([^\|]+)$/; - my $q = $1; - next if $q ne $queue; - my $server = $2; - # Remove server name from queue name - $q =~ s/^([^@]*)@.*$/$1/; - if (-x "$::prefix/usr/bin/wget") { - eval(run_program::rooted( - $::prefix, "/usr/bin/wget", "-O", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$q.ppd")); - } else { - eval(run_program::rooted( - $::prefix, "/usr/bin/curl", "-o", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$q.ppd")); - } - # Does the file exist and is it not an error message? - if (-r "$::prefix/etc/foomatic/$queue.ppd" && - cat_("$::prefix/etc/foomatic/$queue.ppd") =~ /^\*PPD-Adobe/) { - $ppdfile = "/etc/foomatic/$queue.ppd"; - } else { - unlink "$::prefix/etc/foomatic/$queue.ppd"; - return 0; - } - } - } else { return 1 } - # There is no system-wide config file, treat every user's config file - foreach my $configfilename (@configfilenames) { - # Load GIMP's printer config file - my $configfilecontent = readconfigfile($configfilename); - # Add the printer entry - if (!isprinterconfigured($queue, $configfilecontent)) { - # Remove the old printer entry - $configfilecontent = removeprinter($queue, $configfilecontent); - # Add the new printer entry - $configfilecontent = makeprinterentry($printer, $queue, $configfilecontent); - } - # Write back GIMP's printer configuration file - writeconfigfile($configfilename, $configfilecontent); - } - return 1; -} - -sub removeprinterfrom { - my ($_printer, $queue) = @_; - # Do we have files to treat? - my @configfilenames = findconfigfiles(); - return 1 if $#configfilenames < 0; - # There is no system-wide config file, treat every user's config file - foreach my $configfilename (@configfilenames) { - # Load GIMP's printer config file - my $configfilecontent = readconfigfile($configfilename); - # Remove the printer entry - $configfilecontent = removeprinter($queue, $configfilecontent); - # Write back GIMP's printer configuration file - writeconfigfile($configfilename, $configfilecontent); - } - return 1; -} - -sub removelocalprintersfrom { - my ($printer) = @_; - # Do we have files to treat? - my @configfilenames = findconfigfiles(); - return 1 if $#configfilenames < 0; - # There is no system-wide config file, treat every user's config file - foreach my $configfilename (@configfilenames) { - # Load GIMP's printer config file - my $configfilecontent = readconfigfile($configfilename); - # Remove the printer entries - foreach my $queue (keys(%{$printer->{configured}})) { - $configfilecontent = removeprinter($queue, $configfilecontent); - } - # Write back GIMP's printer configuration file - writeconfigfile($configfilename, $configfilecontent); - } - return 1; -} - -sub makeprinterentry { - my ($printer, $queue, $configfile) = @_; - # Make printer's section - $configfile = addprinter($queue, $configfile); - # Load PPD file - my $ppd = cat_("$::prefix/etc/foomatic/$queue.ppd"); - # Is the printer configured with GIMP-Print? - my $gimpprintqueue = 0; - my $gimpprintdriver = "ps2"; - if ($ppd =~ /CUPS\s*\+\s*GIMP\s*\-\s*Print/im) { - # Native CUPS driver - $gimpprintqueue = 1; - $gimpprintdriver = $1 if $ppd =~ /\s*\*ModelName:\s*\"(\S+)\"\s*$/im; - } elsif ($ppd =~ /Foomatic\s*\+\s*gimp\s*\-\s*print/im) { - # GhostScript + Foomatic driver - $gimpprintqueue = 1; - $ppd =~ /\-sModel=((escp2|pcl|bjc|lexmark)\-[^\s\"\']*)/im and - $gimpprintdriver = $1; - } - if ($gimpprintqueue) { - # Get the paper size from the PPD file - if ($ppd =~ /^\s*\*DefaultPageSize:\s*(\S+)\s*$/m) { - my $papersize = $1; - $configfile = removeentry($queue, - "Media-Size", $configfile); - $configfile = addentry($queue, - "Media-Size: $papersize", $configfile); - } - $configfile = removeentry($queue, "PPD-File:", $configfile); - $configfile = addentry($queue, "PPD-File:", $configfile); - $configfile = removeentry($queue, "Driver:", $configfile); - $configfile = addentry($queue, "Driver: $gimpprintdriver", $configfile); - $configfile = removeentry($queue, "Destination:", $configfile); - $configfile = addentry($queue, - sprintf("Destination: /usr/bin/%s -P %s -o raw", $spoolers{$printer->{SPOOLER}}{print_command}, $queue), $configfile); - } else { - $configfile = removeentry($queue, "PPD-File:", $configfile); - $configfile = addentry($queue, "PPD-File: /etc/foomatic/$queue.ppd", $configfile); - $configfile = removeentry($queue, "Driver:", $configfile); - $configfile = addentry($queue, "Driver: ps2", $configfile); - $configfile = removeentry($queue, "Destination:", $configfile); - $configfile = addentry($queue, - sprintf("Destination: /usr/bin/%s -P %s", $spoolers{$printer->{SPOOLER}}{print_command}, $queue), $configfile); - } - return $configfile; -} - -sub findconfigfiles() { - my @configfilenames = (if_(-d "$::prefix/usr/lib/gimp/1.2", ".gimp-1.2/printrc"), - if_(-d "$::prefix/usr/lib/gimp/1.3", ".gimp-1.3/printrc"), - if_(-d "$::prefix/usr/lib/gimp/2.0", ".gimp-2.0/printrc")); - return () unless @configfilenames; - my @filestotreat; - foreach (&list_passwd()) { - last if ($#filestotreat > 50); - my ($username, undef, $uid, $gid, undef, undef, undef, $homedir) = @$_; - next if 0 < $uid && $uid < 500 || $username eq "nobody"; - foreach my $file (@configfilenames) { - my $dir = "$homedir/$file"; - $dir =~ s,/[^/]*$,,; - next if -f $dir; - if (! -d "$::prefix$dir") { - eval { mkdir_p("$::prefix$dir") } or next; - run_program::rooted($::prefix, "/bin/chown", "$uid.$gid", $dir) or next; - } - if (! -f "$::prefix$homedir/$file") { - eval { output("$::prefix$homedir/$file", "#PRINTRCv1 written by GIMP-PRINT 4.2.2 - 13 Sep 2002\n") } or next; - run_program::rooted($::prefix, "/bin/chown", "$uid.$gid", "$homedir/$file") or next; - } - push @filestotreat, "$homedir/$file"; - } - } - @filestotreat; -} - -sub readconfigfile { - my ($file) = @_; - local *F; - open F, "< $::prefix$file" or return ""; - my $filecontent = join("", <F>); - close F; - return $filecontent; -} - -sub writeconfigfile { - my ($file, $filecontent) = @_; - local *F; - open F, "> $::prefix$file" or return 0; - print F $filecontent; - close F; - return 1; -} - -sub addentry { - my ($section, $entry, $filecontent) = @_; - my $sectionfound = 0; - my $entryinserted = 0; - my @lines = pop_spaces(split("\n", $filecontent)); - foreach (@lines) { - if (!$sectionfound) { - $sectionfound = 1 if /^\s*Printer\s*:\s*($section)\s*$/; - } else { - if (!/^\s*$/ && !/^\s*;/) { - $_ = "$entry\n$_"; - $entryinserted = 1; - last; - } - } - } - push(@lines, $entry) if $sectionfound && !$entryinserted; - return join("\n", @lines) . "\n"; -} - -sub addprinter { - my ($section, $filecontent) = @_; - foreach (pop_spaces(split("\n", $filecontent))) { - # section already there, nothing to be done - return $filecontent if /^\s*Printer\s*:\s*($section)\s*$/; - } - return $filecontent . "\nPrinter: $section\n"; -} - -sub pop_spaces { - my @lines = @_; - pop @lines while @lines && $lines[-1] !~ /\S/; -} - -sub removeentry { - my ($section, $entry, $filecontent) = @_; - my $sectionfound; - my @lines = pop_spaces(split(/^/, $filecontent)); - foreach (@lines) { - if (!$sectionfound) { - $sectionfound = /^\s*Printer\s*:\s*($section)\s*$/; - } else { - last if /^\s*Printer\s*:\s*.*\s*$/; # Next section - if (/^\s*$entry/) { - $_ = ""; - last; - } - } - } - return join "", @lines; -} - -sub removeprinter { - my ($section, $filecontent) = @_; - my $sectionfound; - my @lines = pop_spaces(split(/^/, $filecontent)); - foreach (@lines) { - if (!$sectionfound) { - if (/^\s*Printer\s*:\s*($section)\s*$/) { - $_ = ""; - $sectionfound = 1; - } - } else { - last if /^\s*Printer\s*:\s*.*\s*$/; # Next section - $_ = ""; - } - } - return join "", @lines; -} - -sub isprinterconfigured { - my ($queue, $filecontent) = @_; - my $sectionfound = 0; - my $done = 0; - my $drivernotps2 = 0; - my $ppdfileset = 0; - my $nonrawprinting = 0; - foreach (split("\n", $filecontent)) { - if (!$sectionfound) { - if (/^\s*Printer\s*:\s*($queue)\s*$/) { - $sectionfound = 1; - } - } else { - if (/^\s*Printer\s*:\s*.*\s*$/) { # Next section - $done = 1; - last; - } elsif (/^\s*Driver:\s*(\S+)\s*$/) { - $drivernotps2 = $1 ne "ps2"; - } elsif (/^\s*PPD\-File:\s*(\S+)\s*$/) { - $ppdfileset = 1; - } elsif (my ($dest) = /^\s*Destination:\s*(\S+.*)$/) { - $nonrawprinting = $dest !~ /\-o\s*raw/; - } - } - } - return 0 if $done && !$sectionfound; # FIXME: IMPOSSIBLE; should be just $done - return 1 if $ppdfileset || $drivernotps2 || $nonrawprinting; - return 0; -} - - -# ------------------------------------------------------------------ - -1; diff --git a/perl-install/printer/main.pm b/perl-install/printer/main.pm index d9f06ddde..31d8981ba 100644 --- a/perl-install/printer/main.pm +++ b/perl-install/printer/main.pm @@ -9,28 +9,24 @@ use run_program; use printer::data; use printer::services; use printer::default; -use printer::gimp; use printer::cups; -use printer::office; use printer::detect; use handle_configs; use services; +use lang; use vars qw(@ISA @EXPORT); @ISA = qw(Exporter); @EXPORT = qw(%printer_type %printer_type_inv); -#-Did we already read the subroutines of /usr/sbin/ptal-init? -my $ptalinitread = 0; - our %printer_type = ( N("Local printer") => "LOCAL", N("Remote printer") => "REMOTE", N("Printer on remote CUPS server") => "CUPS", N("Printer on remote lpd server") => "LPD", N("Network printer (TCP/Socket)") => "SOCKET", - N("Printer on SMB/Windows 95/98/NT server") => "SMB", + N("Printer on SMB/Windows server") => "SMB", N("Printer on NetWare server") => "NCP", N("Enter a printer device URI") => "URI", N("Pipe job into a command") => "POSTPIPE" @@ -39,6 +35,14 @@ our %printer_type = ( our %printer_type_inv = reverse %printer_type; our %thedb; +our %linkedppds; + +our $hplipdevicesdb; + +# Translation of the "(recommended)" in printer driver entries +our $recstr = N("recommended"); +our $precstr = "($recstr)"; +our $sprecstr = quotemeta($precstr); #------------------------------------------------------------------------------ @@ -56,9 +60,9 @@ sub spooler() { # PDQ is not officially supported any more since version 9.1, so # show it only in the spooler menu when it was manually installed. - return map { $spoolers{$_}{long_name} } qw(cups), + return map { $spoolers{$_}{long_name} } ('cups', 'rcups' , if_(files_exist(qw(/usr/bin/pdq)), 'pdq'), - if_(files_exist(qw(/usr/lib/filters/lpf /usr/sbin/lpd)), 'lprng'); + if_(files_exist("/usr/$lib/filters/lpf", "/usr/sbin/lpd"), 'lprng')); } sub printer_type($) { @@ -68,14 +72,15 @@ sub printer_type($) { /lpd/ and return @printer_type_inv{qw(LOCAL LPD SOCKET SMB NCP), if_($printer->{expert}, qw(POSTPIPE URI))}; /lprng/ and return @printer_type_inv{qw(LOCAL LPD SOCKET SMB NCP), if_($printer->{expert}, qw(POSTPIPE URI))}; /pdq/ and return @printer_type_inv{qw(LOCAL LPD SOCKET), if_($printer->{expert}, qw(URI))}; + /rcups/ and return (); } } sub SIGHUP_daemon { my ($service) = @_; - if ($service eq "cupsd") { $service = "cups" }; - # PDQ has no daemon, exit. - if ($service eq "pdq") { return 1 }; + if ($service eq "cupsd") { $service = "cups" } + # PDQ and remote CUPS have no daemons, exit. + if (($service eq "pdq") || ($service eq "rcups")) { return 1 } # CUPS needs auto-correction for its configuration run_program::rooted($::prefix, "/usr/sbin/correctcupsconfig") if $service eq "cups"; # Name of the daemon @@ -125,18 +130,17 @@ sub assure_device_is_available_for_cups { } my $maxattempts = 3; for ($i = 0; $i < $maxattempts; $i++) { - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; /usr/sbin/lpinfo -v" |' or + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + '/bin/sh -c "export LC_ALL=C; /usr/sbin/lpinfo -v" |') or die 'Could not run "lpinfo"!'; - while (my $line = <F>) { + while (my $line = <$F>) { if ($line =~ /$sdevice/) { # Found a line containing the device # name, so CUPS knows it. - close F; + close $F; return 1; } } - close F; + close $F; $result = printer::services::restart("cups"); } return $result; @@ -150,15 +154,14 @@ sub spooler_in_security_level { $sp = $spooler eq "lpr" || $spooler eq "lprng" ? "lpd" : $spooler; my $file = "$::prefix/etc/security/msec/server.$level"; if (-f $file) { - local *F; - open F, "< $file" or return 0; - while (my $line = <F>) { + open(my $F, "< $file") or return 0; + while (my $line = <$F>) { if ($line =~ /^\s*$sp\s*$/) { - close F; + close $F; return 1; } } - close F; + close $F; } return 0; } @@ -206,7 +209,7 @@ sub resetinfo($) { $printer->{QUEUE} = ""; $printer->{OLD_QUEUE} = ""; $printer->{OLD_CHOICE} = ""; - $printer->{ARGS} = ""; + $printer->{ARGS} = {}; $printer->{DBENTRY} = ""; $printer->{DEFAULT} = ""; $printer->{currentqueue} = {}; @@ -222,24 +225,26 @@ sub read_configured_queues($) { $printer->{SPOOLER} ||= printer::default::get_spooler(); if (!$printer->{SPOOLER}) { #- Find the first spooler where there are queues - foreach my $spooler (qw(cups pdq lprng lpd)) { + foreach my $spooler (qw(rcups cups pdq lprng lpd)) { #- Is the spooler's daemon running? my $service = $spooler; if ($service eq "lprng") { $service = "lpd"; } - if ($service ne "pdq") { + if (($service ne "pdq") && ($service ne "rcups")) { next unless services::is_service_running($service); # daemon is running, spooler found $printer->{SPOOLER} = $spooler; } - #- poll queue info - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - "foomatic-configure -P -q -s $spooler |" or - die "Could not run foomatic-configure"; - eval join('', <F>); - close F; + #- poll queue info + if ($service ne "rcups") { + open(my $F, ($::testing ? + $::prefix : "chroot $::prefix/ ") . + "foomatic-configure -P -q -s $spooler |") or + die "Could not run foomatic-configure"; + eval join('', <$F>); + close $F; + } if ($service eq "pdq") { #- Have we found queues? PDQ has no damon, so we consider #- it in use when there are defined printer queues @@ -247,6 +252,17 @@ sub read_configured_queues($) { $printer->{SPOOLER} = $spooler; last; } + } elsif ($service eq "rcups") { + #- In daemon-less CUPS mode there are no local queues, + #- we can only recognize it by a server entry in + #- /etc/cups/client.conf + my ($daemonless_cups, $remote_cups_server) = + printer::main::read_client_conf(); + if ($daemonless_cups) { + $printer->{SPOOLER} = $spooler; + $printer->{remote_cups_server} = $remote_cups_server; + last; + } } else { #- For other spoolers we have already found a running #- daemon when we have arrived here @@ -254,13 +270,18 @@ sub read_configured_queues($) { } } } else { - #- Poll the queues of the current default spooler - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . - "foomatic-configure -P -q -s $printer->{SPOOLER} -r |" or - die "Could not run foomatic-configure"; - eval join('', <F>); - close F; + if ($printer->{SPOOLER} ne "rcups") { + #- Poll the queues of the current default spooler + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "foomatic-configure -P -q -s $printer->{SPOOLER} -r |") or + die "Could not run foomatic-configure"; + eval join('', <$F>); + close $F; + } else { + my ($_daemonless_cups, $remote_cups_server) = + printer::main::read_client_conf(); + $printer->{remote_cups_server} = $remote_cups_server; + } } $printer->{configured} = {}; my $i; @@ -285,21 +306,24 @@ sub read_configured_queues($) { } # Read out which PPD file was originally used to set up this # queue - local *F; - if (open F, "< $::prefix/etc/cups/ppd/$QUEUES[$i]{queuedata}{queue}.ppd") { - while (my $line = <F>) { + if (open(my $F, "< $::prefix/etc/cups/ppd/$QUEUES[$i]{queuedata}{queue}.ppd")) { + while (my $line = <$F>) { if ($line =~ /^\*%MDKMODELCHOICE:(.+)$/) { $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{ppd} = $1; } } - close F; - } - # Mark that we have a CUPS queue but do not know the name - # the PPD file in /usr/share/cups/model - if (!$printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{ppd}) { - $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{ppd} = '1'; + close $F; + # Mark that we have a CUPS queue but do not know the + # name the PPD file in /usr/share/cups/model + $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{ppd} ||= '1'; + # Mark that our PPD file is not a Foomatic one + $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{driver} = "PPD"; + } else { + # We do not have a PPD file for this queue + $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{ppd} = undef; + # No PPD found? Then we have a raw queue + $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{driver} = "raw"; } - $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{driver} = 'PPD'; $printer->{OLD_QUEUE} = ""; } $printer->{configured}{$QUEUES[$i]{queuedata}{queue}}{queuedata}{make} ||= ""; @@ -340,6 +364,17 @@ sub make_menuentry { $connection = N(", USB printer #%s", $number); } elsif ($connect =~ m!^usb://!) { $connection = N(", USB printer"); + } elsif ($connect =~ m!^hp:/(.+?)$!) { + my $hplipdevice = $1; + if ($hplipdevice =~ m!^par/!) { + $connection = N(", HP printer on a parallel port"); + } elsif ($hplipdevice =~ m!^usb/!) { + $connection = N(", HP printer on USB"); + } elsif ($hplipdevice =~ m!^net/!) { + $connection = N(", HP printer on HP JetDirect"); + } else { + $connection = N(", HP printer"); + } } elsif ($connect =~ m!^ptal://?(.+?)$!) { my $ptaldevice = $1; if ($ptaldevice =~ /^mlc:par:(\d+)$/) { @@ -356,21 +391,27 @@ sub make_menuentry { $connection = N(", multi-function device"); } } elsif ($connect =~ m!^file:(.+)$!) { - $connection = N(", printing to %s", $1); + my $file = $1; + $connection = N(", printing to %s", $file); } elsif ($connect =~ m!^lpd://([^/]+)/([^/]+)/?$!) { - $connection = N(" on LPD server \"%s\", printer \"%s\"", $1, $2); + my ($server, $printer) = ($1, $2); + $connection = N(" on LPD server \"%s\", printer \"%s\"", $server, $printer); } elsif ($connect =~ m!^socket://([^/:]+):([^/:]+)/?$!) { - $connection = N(", TCP/IP host \"%s\", port %s", $1, $2); + my ($host, $port) = ($1, $2); + $connection = N(", TCP/IP host \"%s\", port %s", $host, $port); } elsif ($connect =~ m!^smb://([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^smb://.*/([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^smb://.*\@([^/\@]+)/([^/\@]+)/?$!) { - $connection = N(" on SMB/Windows server \"%s\", share \"%s\"", $1, $2); + my ($server, $share) = ($1, $2); + $connection = N(" on SMB/Windows server \"%s\", share \"%s\"", $server, $share); } elsif ($connect =~ m!^ncp://([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^ncp://.*/([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^ncp://.*\@([^/\@]+)/([^/\@]+)/?$!) { - $connection = N(" on Novell server \"%s\", printer \"%s\"", $1, $2); + my ($server, $printer) = ($1, $2); + $connection = N(" on Novell server \"%s\", printer \"%s\"", $server, $printer); } elsif ($connect =~ m!^postpipe:(.+)$!) { - $connection = N(", using command %s", $1); + my $command = $1; + $connection = N(", using command %s", $command); } else { $connection = ($printer->{expert} ? ", URI: $connect" : ""); } @@ -391,6 +432,17 @@ sub connectionstr { $connection = N("USB printer #%s", $number); } elsif ($connect =~ m!^usb://!) { $connection = N("USB printer"); + } elsif ($connect =~ m!^hp:/(.+?)$!) { + my $hplipdevice = $1; + if ($hplipdevice =~ m!^par/!) { + $connection = N("HP printer on a parallel port"); + } elsif ($hplipdevice =~ m!^usb/!) { + $connection = N("HP printer on USB"); + } elsif ($hplipdevice =~ m!^net/!) { + $connection = N("HP printer on HP JetDirect"); + } else { + $connection = N("HP printer"); + } } elsif ($connect =~ m!^ptal://?(.+?)$!) { my $ptaldevice = $1; if ($ptaldevice =~ /^mlc:par:(\d+)$/) { @@ -407,21 +459,27 @@ sub connectionstr { $connection = N("Multi-function device"); } } elsif ($connect =~ m!^file:(.+)$!) { - $connection = N("Prints into %s", $1); + my $file = $1; + $connection = N("Prints into %s", $file); } elsif ($connect =~ m!^lpd://([^/]+)/([^/]+)/?$!) { - $connection = N("LPD server \"%s\", printer \"%s\"", $1, $2); + my ($server, $port) = ($1, $2); + $connection = N("LPD server \"%s\", printer \"%s\"", $server, $port); } elsif ($connect =~ m!^socket://([^/:]+):([^/:]+)/?$!) { - $connection = N("TCP/IP host \"%s\", port %s", $1, $2); + my ($host, $port) = ($1, $2); + $connection = N("TCP/IP host \"%s\", port %s", $host, $port); } elsif ($connect =~ m!^smb://([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^smb://.*/([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^smb://.*\@([^/\@]+)/([^/\@]+)/?$!) { - $connection = N("SMB/Windows server \"%s\", share \"%s\"", $1, $2); + my ($server, $share) = ($1, $2); + $connection = N("SMB/Windows server \"%s\", share \"%s\"", $server, $share); } elsif ($connect =~ m!^ncp://([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^ncp://.*/([^/\@]+)/([^/\@]+)/?$! || $connect =~ m!^ncp://.*\@([^/\@]+)/([^/\@]+)/?$!) { - $connection = N("Novell server \"%s\", printer \"%s\"", $1, $2); + my ($server, $share) = ($1, $2); + $connection = N("Novell server \"%s\", printer \"%s\"", $server, $share); } elsif ($connect =~ m!^postpipe:(.+)$!) { - $connection = N("Uses command %s", $1); + my $command = $1; + $connection = N("Uses command %s", $command); } else { $connection = N("URI: %s", $connect); } @@ -430,22 +488,36 @@ sub connectionstr { sub read_printer_db { - my ($printer, $spooler) = @_; + my ($printer, $spooler, $newppd) = @_; + + # If a $newppd is supplied, we return the key of the DB entry which + # is for this file. This way we can pre-select a freshly added PPD in + # the model/driver list. - local *DBPATH; #- don't have to do close ... and don't modify globals at least - # Generate the Foomatic printer/driver overview, read it from the - # appropriate file when it is already generated - open DBPATH, ($::testing ? $::prefix : "chroot $::prefix/ ") . #-# - "foomatic-configure -O -q |" or + # No local queues available in daemon-less CUPS mode + return 1 if $spooler eq "rcups"; + + my $DBPATH; #- do not have to do close ... and do not modify globals at least + # Generate the Foomatic printer/driver overview + open($DBPATH, ($::testing ? $::prefix : "chroot $::prefix/ ") . #-# + "foomatic-configure -O -q |") or die "Could not run foomatic-configure"; + %linkedppds = (); my $entry = {}; + @{$entry->{drivers}} = (); my $inentry = 0; my $indrivers = 0; + my $inppds = 0; + my $inppd = 0; my $inautodetect = 0; my $autodetecttype = ""; + my $ppds = {}; + my $ppddriver = ""; + my $ppdfile = ""; + my $ppdentry = ""; local $_; - while (<DBPATH>) { + while (<$DBPATH>) { chomp; if ($inentry) { # We are inside a printer entry @@ -457,6 +529,31 @@ sub read_printer_db { } elsif (m!^\s*<driver>(.+)</driver>\s*$!) { push @{$entry->{drivers}}, $1; } + } elsif ($inppds) { + # We are inside the ppds block of a printers entry + if ($inppd) { + # We are inside a PPD entry in the ppds block + if (m!^\s*</ppd>\s*$!) { + # End of ppds block + $inppd = 0; + if ($ppddriver && $ppdfile) { + $ppds->{$ppddriver} = $ppdfile; + } + $ppddriver = ""; + $ppdfile = ""; + } elsif (m!^\s*<driver>(.+)</driver>\s*$!) { + $ppddriver = $1; + } elsif (m!^\s*<ppdfile>(.+)</ppdfile>\s*$!) { + $ppdfile = $1; + } + } else { + if (m!^\s*</ppds>\s*$!) { + # End of ppds block + $inppds = 0; + } elsif (m!^\s*<ppd>\s*$!) { + $inppd = 1; + } + } } elsif ($inautodetect) { # We are inside the autodetect block of a printers entry # All entries inside this block will be ignored @@ -513,13 +610,20 @@ sub read_printer_db { $driverstr = "GhostScript + $driver"; } if ($driver eq $entry->{defaultdriver}) { - $driverstr .= " (recommended)"; + $driverstr .= " $precstr"; } $entry->{ENTRY} = "$entry->{make}|$entry->{model}|$driverstr"; $entry->{ENTRY} =~ s/^CITOH/C.ITOH/i; $entry->{ENTRY} =~ s/^KYOCERA[\s\-]*MITA/KYOCERA/i; $entry->{driver} = $driver; + if (defined($ppds->{$driver})) { + $entry->{ppd} = $ppds->{$driver}; + $ppds->{$driver} =~ m!([^/]+)$!; + push(@{$linkedppds{$1}}, $entry->{ENTRY}); + } else { + undef $entry->{ppd}; + } # Duplicate contents of $entry because it is multiply entered to the database map { $thedb{$entry->{ENTRY}}{$_} = $entry->{$_} } keys %$entry; } @@ -532,11 +636,21 @@ sub read_printer_db { $entry->{ENTRY} =~ s/^KYOCERA[\s\-]*MITA/KYOCERA/i; if ($entry->{defaultdriver}) { - $entry->{driver} = $entry->{defaultdriver}; + my $driver = $entry->{defaultdriver}; + $entry->{driver} = $driver; + if (defined($ppds->{$driver})) { + $entry->{ppd} = $ppds->{$driver}; + $ppds->{$driver} =~ m!([^/]+)$!; + push(@{$linkedppds{$1}}, $entry->{ENTRY}); + } else { + undef $entry->{ppd}; + } map { $thedb{$entry->{ENTRY}}{$_} = $entry->{$_} } keys %$entry; } } $entry = {}; + @{$entry->{drivers}} = (); + $ppds = {}; } elsif (m!^\s*<id>\s*([^\s<>]+)\s*</id>\s*$!) { # Foomatic printer ID $entry->{printer} = $1; @@ -552,7 +666,9 @@ sub read_printer_db { } elsif (m!^\s*<drivers>\s*$!) { # Drivers block $indrivers = 1; - @{$entry->{drivers}} = (); + } elsif (m!^\s*<ppds>\s*$!) { + # PPDs block + $inppds = 1; } elsif (m!^\s*<autodetect>\s*$!) { # Autodetect block $inautodetect = 1; @@ -565,7 +681,7 @@ sub read_printer_db { } } } - close DBPATH; + close $DBPATH; # Add raw queue $entry->{ENTRY} = N("Raw printer (No driver)"); @@ -576,7 +692,7 @@ sub read_printer_db { #- Load CUPS driver database if CUPS is used as spooler if ($spooler && $spooler eq "cups") { - poll_ppd_base($printer); + $ppdentry = poll_ppd_base($printer, $newppd); } #my @entries_db_short = sort keys %printer::thedb; @@ -585,24 +701,25 @@ sub read_printer_db { #@entry_db_description = keys %descr_to_db; #db_to_descr = reverse %descr_to_db; + return $ppdentry if $newppd; + } sub read_foomatic_options ($) { my ($printer) = @_; # Generate the option data for the chosen printer/driver combo my $COMBODATA; - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "foomatic-configure -P -q -p $printer->{currentqueue}{printer}" . " -d $printer->{currentqueue}{driver}" . ($printer->{OLD_QUEUE} ? " -s $printer->{SPOOLER} -n $printer->{OLD_QUEUE}" : "") . ($printer->{SPECIAL_OPTIONS} ? " $printer->{SPECIAL_OPTIONS}" : "") - . " |" or + . " |") or die "Could not run foomatic-configure"; - eval join('', (<F>)); - close F; + eval join('', (<$F>)); + close $F; # Return the arguments field return $COMBODATA->{args}; } @@ -611,47 +728,77 @@ sub read_ppd_options ($) { my ($printer) = @_; # Generate the option data for a given PPD file my $COMBODATA; - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "foomatic-configure -P -q" . - " --ppd /usr/share/cups/model/$printer->{currentqueue}{ppd}" . + if_($printer->{currentqueue}{ppd} && + ($printer->{currentqueue}{ppd} ne '1'), + " --ppd \'" . ($printer->{currentqueue}{ppd} !~ m!^/! ? + "/usr/share/cups/model/" : "") . + $printer->{currentqueue}{ppd} . "\'") . ($printer->{OLD_QUEUE} ? " -s $printer->{SPOOLER} -n $printer->{OLD_QUEUE}" : "") . ($printer->{SPECIAL_OPTIONS} ? " $printer->{SPECIAL_OPTIONS}" : "") - . " |" or + . " |") or die "Could not run foomatic-configure"; - eval join('', (<F>)); - close F; + eval join('', (<$F>)); + close $F; # Return the arguments field return $COMBODATA->{args}; } -my %sysconfig = getVarsFromSh("$::prefix/etc/sysconfig/printing"); - sub set_cups_special_options { - my ($queue) = $_[0]; + my ($printer, $queue) = @_; # Set some special CUPS options - my @lpoptions = chomp_(cat_("$::prefix/etc/cups/lpoptions")); - # If nothing is already configured, set text file borders of half an inch - # and decrease the font size a little bit, so nothing of the text gets - # cut off by unprintable borders. - if (!any { /$queue.*\s(page-(top|bottom|left|right)|lpi|cpi)=/ } @lpoptions) { - run_program::rooted($::prefix, "lpoptions", - "-p", $queue, - "-o", "page-top=36", "-o", "page-bottom=36", - "-o", "page-left=36", "-o page-right=36", - "-o", "cpi=12", "-o", "lpi=7", "-o", "wrap"); + my @lpoptions = cat_("$::prefix/etc/cups/lpoptions"); + # If nothing is already configured, set text file borders of half + # an inch so nothing of the text gets cut off by unprintable + # borders. Do this only when the driver is not Gutenprint or HPIJS, as + # both drivers decent border settings are already done and with + # Gutenprint this will even break PostScript printing + if ((($queue eq $printer->{currentqueue}{$queue}) && + (($printer->{currentqueue}{driver} =~ + /(guten.*print|hpijs|hplip)/i) || + ($printer->{currentqueue}{ppd} =~ + /(guten.*print|hpijs|hplip)/i))) || + ((defined($printer->{configured}{$queue})) && + (($printer->{configured}{$queue}{queuedata}{driver} =~ + /(guten.*print|hpijs|hplip)/i) || + ($printer->{configured}{$queue}{queuedata}{ppd} =~ + /(guten.*print|hpijs|hplip)/i))) || + (($printer->{SPOOLER} eq "cups") && + (-r "$::prefix/etc/cups/ppd/$queue.ppd") && + (`egrep -ic '(gutenprint|hpijs|hplip)' $::prefix/etc/cups/ppd/$queue.ppd` > 2))) { + # Remove page margin settings + foreach (@lpoptions) { + s/\s*page-(top|bottom|left|right)=\S+//g if /$queue/; + } + output("$::prefix/etc/cups/lpoptions", @lpoptions); + } else { + if (!any { /$queue.*\spage-(top|bottom|left|right)=/ } @lpoptions) { + run_program::rooted($::prefix, "lpoptions", + "-p", $queue, + "-o", "page-top=36", "-o", "page-bottom=36", + "-o", "page-left=36", "-o page-right=36"); + } } - # Let images fill the whole page by default + # Let images fill the whole page by default and let text be word-wrapped + # and printed in a slightly smaller font if (!any { /$queue.*\s(scaling|natural-scaling|ppi)=/ } @lpoptions) { run_program::rooted($::prefix, "lpoptions", "-p", $queue, "-o", "scaling=100"); } + if (!any { /$queue.*\s(cpi|lpi)=/ } @lpoptions) { + run_program::rooted($::prefix, "lpoptions", + "-p", $queue, + "-o", "cpi=12", "-o", "lpi=7", "-o", "wrap"); + } return 1; } +my %sysconfig = getVarsFromSh("$::prefix/etc/sysconfig/printing"); + sub set_cups_autoconf { my ($autoconf) = @_; $sysconfig{CUPS_CONFIG} = $autoconf ? "automatic" : "manual"; @@ -672,10 +819,54 @@ sub set_usermode { sub get_usermode() { $sysconfig{USER_MODE} eq 'expert' ? 1 : 0 } +sub set_auto_admin { + my ($printer) = @_; + $sysconfig{ENABLE_QUEUES_ON_PRINTER_CONNECTED} = + $printer->{enablequeuesonnewprinter} ? "yes" : "no"; + $sysconfig{AUTO_SETUP_QUEUES_ON_PRINTER_CONNECTED} = + $printer->{autoqueuesetuponnewprinter} ? "yes" : "no"; + $sysconfig{ENABLE_QUEUES_ON_SPOOLER_START} = + $printer->{enablequeuesonspoolerstart} ? "yes" : "no"; + $sysconfig{AUTO_SETUP_QUEUES_ON_PRINTERDRAKE_START} = + $printer->{autoqueuesetuponstart} ? "yes" : "no"; + $sysconfig{AUTO_SETUP_QUEUES_MODE} = + $printer->{autoqueuesetupgui} ? "waitforgui" : "nogui"; + setVarsInSh("$::prefix/etc/sysconfig/printing", \%sysconfig); + return 1; +} + +sub get_auto_admin { + my ($printer) = @_; + $printer->{enablequeuesonnewprinter} = + (!defined($sysconfig{ENABLE_QUEUES_ON_PRINTER_CONNECTED}) || + ($sysconfig{ENABLE_QUEUES_ON_PRINTER_CONNECTED} =~ /no/i) ? + 0 : 1); + $printer->{autoqueuesetuponnewprinter} = + (!defined($sysconfig{AUTO_SETUP_QUEUES_ON_PRINTER_CONNECTED}) || + ($sysconfig{AUTO_SETUP_QUEUES_ON_PRINTER_CONNECTED} =~ /yes/i) ? + 1 : 0); + $printer->{enablequeuesonspoolerstart} = + (!defined($sysconfig{ENABLE_QUEUES_ON_SPOOLER_START}) || + ($sysconfig{ENABLE_QUEUES_ON_SPOOLER_START} =~ /no/i) ? + 0 : 1); + $printer->{autoqueuesetuponstart} = + (!defined($sysconfig{AUTO_SETUP_QUEUES_ON_PRINTERDRAKE_START}) || + ($sysconfig{AUTO_SETUP_QUEUES_ON_PRINTERDRAKE_START} =~ /yes/i) ? + 1 : 0); + $printer->{autoqueuesetupgui} = + (!defined($sysconfig{AUTO_SETUP_QUEUES_MODE}) || + ($sysconfig{AUTO_SETUP_QUEUES_MODE} =~ /waitforgui/i) ? + 1 : 0); +} + sub set_jap_textmode { my $textmode = ($_[0] ? 'cjk' : ''); + # Do not write mime.convs if the file does not exist, as then + # CUPS is not installed and the created mime.convs will be broken. + # When installing CUPS later it will not work. + return 1 if (! -r "$::prefix/etc/cups/mime.convs"); substInFile { - s!^(\s*text/plain\s+\S+\s+\d+\s+)\S+(\s*$)!$1${textmode}texttops$2! + s!^(\s*text/plain\s+\S+\s+\d+\s+)\S+(\s*$)!$1${textmode}texttops$2!; } "$::prefix/etc/cups/mime.convs"; return 1; } @@ -691,15 +882,46 @@ sub get_jap_textmode() { # Handling of /etc/cups/cupsd.conf sub read_cupsd_conf() { - cat_("$::prefix/etc/cups/cupsd.conf"); + # If /etc/cups/cupsd.conf does not exist a default cupsd.conf will be + # put out to avoid writing of a broken cupsd.conf file when we write + # it back later. + my @cupsd_conf = cat_("$::prefix/etc/cups/cupsd.conf"); + if (!@cupsd_conf) { + @cupsd_conf = map { /\n$/s or "$_\n" } split('\n', +'LogLevel info +TempDir /var/spool/cups/tmp +Port 631 +Browsing On +BrowseAddress @LOCAL +BrowseDeny All +BrowseAllow 127.0.0.1 +BrowseAllow @LOCAL +BrowseOrder deny,allow +<Location /> +Order Deny,Allow +Deny From All +Allow From 127.0.0.1 +Allow From @LOCAL +</Location> +<Location /admin> +AuthType Basic +AuthClass System +Order Deny,Allow +Deny From All +Allow From 127.0.0.1 +</Location> +'); + } + return @cupsd_conf; } + sub write_cupsd_conf { my (@cupsd_conf) = @_; - + # Do not write cupsd.conf if the file does not exist, as then + # CUPS is not installed and the created cupsd.conf will be broken. + # When installing CUPS later it will not start. + return 1 if (! -r "$::prefix/etc/cups/cupsd.conf"); output("$::prefix/etc/cups/cupsd.conf", @cupsd_conf); - - #- restart cups after updating configuration. - printer::services::restart("cups"); } sub read_location { @@ -718,7 +940,7 @@ sub read_location { my $location_end = -1; # Go through all the lines, bail out when start and end line found for (my $i = 0; - $i <= $#{$cupsd_conf_ptr} and $location_end == -1; + $i <= $#{$cupsd_conf_ptr} && $location_end == -1; $i++) { if ($cupsd_conf_ptr->[$i] =~ m!^\s*<\s*Location\s+$path\s*>!) { # Start line of block @@ -739,7 +961,7 @@ sub read_location { # "undef" @result = undef; } - return (@result); + return @result; } sub rip_location { @@ -761,7 +983,7 @@ sub rip_location { if (any { m!^\s*<Location\s+$path\s*>! } @$cupsd_conf_ptr) { # Go through all the lines, bail out when start and end line found for (my $i = 0; - $i <= $#{$cupsd_conf_ptr} and $location_end == -1; + $i <= $#{$cupsd_conf_ptr} && $location_end == -1; $i++) { if ($cupsd_conf_ptr->[$i] =~ m!^\s*<\s*Location\s+$path\s*>!) { # Start line of block @@ -784,7 +1006,7 @@ sub rip_location { @location = ("<Location $path>\n", "</Location>\n"); } - return ($location_start, @location); + return $location_start, @location; } sub insert_location { @@ -912,7 +1134,7 @@ sub networkaddress { my ($address) = @_; if ($address =~ /\.255$/) { - while ($address =~ s/\.255$//) {}; + while ($address =~ s/\.255$//) {} $address .= ".*"; } @@ -1068,7 +1290,7 @@ sub clientnetworks { $haveallowedhostwithoutbrowseallow || $havebrowseallowwithoutallowedhost); - return ($configunsupported, @sharehosts); + return $configunsupported, @sharehosts; } sub makesharehostlist { @@ -1199,7 +1421,7 @@ sub read_cups_config { my @localips = printer::detect::getIPsOfLocalMachine(); @{$printer->{cupsconfig}{root}{AllowFrom}} = grep { - !member($_, @localips) + !member($_, @localips); } @{$printer->{cupsconfig}{root}{AllowFrom}}; # Keyword "Deny from" @@ -1297,7 +1519,7 @@ sub write_cups_config { "Allow From " . join("\nAllow From ", grep { - !member($_, @localips) + !member($_, @localips); } @{$printer->{cupsconfig}{clientnetworks}}) . "\n" : "") . "</Location>\n"; @@ -1314,7 +1536,7 @@ sub write_cups_config { @{$printer->{cupsconfig}{clientnetworks}})); } else { handle_configs::comment_directive($printer->{cupsconfig}{cupsd_conf}, - 'BrowseAddress') + 'BrowseAddress'); } # Set "BrowseAllow" lines if ($#{$printer->{cupsconfig}{clientnetworks}} >= 0) { @@ -1358,6 +1580,35 @@ sub clean_cups_config { } #---------------------------------------------------------------------- +# Handling of /etc/cups/client.conf + +sub read_client_conf() { + return (0, undef) if (! -r "$::prefix/etc/cups/client.conf"); + my @client_conf = cat_("$::prefix/etc/cups/client.conf"); + my @servers = handle_configs::read_directives(\@client_conf, + "ServerName"); + return (@servers > 0, + $servers[0]); # If there is more than one entry in client.conf, + # the first one counts. +} + +sub write_client_conf { + my ($daemonless_cups, $remote_cups_server) = @_; + # Create the directory for client.conf if needed + (-d "$::prefix/etc/cups/") || mkdir("$::prefix/etc/cups/") || return 1; + my (@client_conf) = cat_("$::prefix/etc/cups/client.conf"); + if ($daemonless_cups) { + handle_configs::set_directive(\@client_conf, + "ServerName $remote_cups_server"); + } else { + handle_configs::comment_directive(\@client_conf, "ServerName"); + } + output("$::prefix/etc/cups/client.conf", @client_conf); +} + + + +#---------------------------------------------------------------------- sub read_printers_conf { my ($printer) = @_; my $current; @@ -1369,9 +1620,9 @@ sub read_printers_conf { #- Location > Location Text #- State > Idle|Stopped #- Accepting > Yes|No - local *PRINTERS; open PRINTERS, "$::prefix/etc/cups/printers.conf" or return; + open(my $PRINTERS, "$::prefix/etc/cups/printers.conf") or return; local $_; - while (<PRINTERS>) { + while (<$PRINTERS>) { chomp; /^\s*#/ and next; if (/^\s*<(?:DefaultPrinter|Printer)\s+([^>]*)>/) { $current = { mode => 'cups', QUEUE => $1, } } @@ -1379,7 +1630,7 @@ sub read_printers_conf { add2hash($printer->{configured}{$current->{QUEUE}} ||= {}, $current); $current = undef } elsif (/\s*(\S*)\s+(.*)/) { $current->{$1} = $2 } } - close PRINTERS; + close $PRINTERS; #- assume this printing system. $printer->{SPOOLER} ||= 'cups'; @@ -1388,12 +1639,12 @@ sub read_printers_conf { sub get_direct_uri() { #- get the local printer to access via a Device URI. my @direct_uri; - local *F; open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/sbin/lpinfo -v |"; + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/sbin/lpinfo -v |"); local $_; - while (<F>) { + while (<$F>) { /^(direct|usb|serial)\s+(\S*)/ and push @direct_uri, $2; } - close F; + close $F; @direct_uri; } @@ -1413,7 +1664,7 @@ sub installppd { mkdir_p("$::prefix/usr/share/cups/model/printerdrake"); # "cp_f()" is broken, it hangs infinitely # cp_f($ppdfile, "$::prefix/usr/share/cups/model/printerdrake"); - run_program::rooted($::prefix, "cp", "-f", "$ppdfile", + run_program::rooted($::prefix, "cp", "-f", $ppdfile, "$::prefix/usr/share/cups/model/printerdrake"); $ppdfile =~ s!^(.*)(/[^/]+)$!/usr/share/cups/model/printerdrake$2!; chmod 0644, "$::prefix$ppdfile"; @@ -1421,10 +1672,9 @@ sub installppd { printer::services::restart("cups") if $printer->{SPOOLER} eq "cups"; # Re-read printer database %thedb = (); - read_printer_db($printer, $printer->{SPOOLER}); - # Return description string of the PPD file - my $ppdentry = get_descr_from_ppdfile($printer, $ppdfile); - return $ppdentry; + # Supplying $ppdfile returns us the key for this PPD file in the + # so that we can point to it in the printer/driver list + return read_printer_db($printer, $printer->{SPOOLER}, $ppdfile); } sub clean_manufacturer_name { @@ -1462,11 +1712,11 @@ sub ppd_entry_str { $descr =~ s/Foomatic \+ Postscript/PostScript/; } elsif ($descr =~ /Foomatic/i) { $descr =~ s/Foomatic/GhostScript/i; - } elsif ($descr =~ /CUPS\+GIMP-print/i) { - $descr =~ s/CUPS\+GIMP-print/CUPS + GIMP-Print/i; + } elsif ($descr =~ /CUPS\+Gimp-Print/i) { + $descr =~ s/CUPS\+Gimp-Print/CUPS + Gimp-Print/i; } elsif ($descr =~ /Series CUPS/i) { $descr =~ s/Series CUPS/Series, CUPS/i; - } elsif ($descr !~ /(PostScript|GhostScript|CUPS|Foomatic)/i) { + } elsif ($descr !~ /(PostScript|GhostScript|CUPS|Foomatic|PCL|PXL)/i) { $descr .= ", PostScript"; } # Split model and driver @@ -1476,20 +1726,26 @@ sub ppd_entry_str { /^\s*(Generic\s*PostScript\s*Printer)\s*,?\s*(.*)$/i || $descr =~ /^\s*(PostScript\s*Printer)\s*,?\s*(.*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s*(Foomatic.*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s*(GhostScript.*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s*(CUPS.*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s+(PS.*)$/i || + $descr =~ /^([^,]+?)\s*,?\s*(Foomatic.*)$/i || + $descr =~ /^([^,]+?)\s*,?\s*(GhostScript.*)$/i || + $descr =~ /^([^,]+?)\s*,?\s*(CUPS.*)$/i || + $descr =~ /^([^,]+?)\s*,\s+(PS.*)$/i || + $descr =~ /^([^,]+?)\s*,\s+(PXL.*)$/i || + $descr =~ /^([^,]+?)\s*,\s+(PCL.*)$/i || $descr =~ - /^([^,]+[^,\s])\s*,?\s*(\(v?\.?\s*\d\d\d\d\.\d\d\d\).*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s*(v\d+\.\d+.*)$/i || - $descr =~ /^([^,]+[^,\s])\s*,?\s*(PostScript.*)$/i || - $descr =~ /^([^,]+)\s*,?\s*(.+)$/) { + /^([^,]+?)\s*,?\s*(\(v?\.?\s*\d\d\d\d\.\d\d\d\).*)$/i || + $descr =~ /^([^,]+?)\s*,?\s*(v?\.?\s*\d+\.\d+.*)$/i || + $descr =~ /^([^,]+?)\s*,?\s*(PostScript.*)$/i || + $descr =~ /^([^,]+?)\s*,\s*(.+?)$/) { $model = $1; $driver = $2; $model =~ s/[\-\s,]+$//; $driver =~ s/\b(PS|PostScript\b)/PostScript/gi; $driver =~ s/(PostScript)(.*)(PostScript)/$1$2/i; + $driver =~ s/\b(PXL|PCL[\s\-]*(6|XL)\b)/PCL-XL/gi; + $driver =~ s/(PCL-XL)(.*)(PCL-XL)/$1$2/i; + $driver =~ s/\b(PCL[\s\-]*(|4|5|5c|5e)\b)/PCL/gi; + $driver =~ s/(PCL)(.*)(PCL)/$1$2/i; $driver =~ s/^\s*(\(?v?\.?\s*\d\d\d\d\.\d\d\d\)?|v\d+\.\d+)([,\s]*)(.*?)\s*$/$3$2$1/i; $driver =~ s/,\s*\(/ (/g; @@ -1503,7 +1759,13 @@ sub ppd_entry_str { } else { # Some PPDs do not have the ", <driver>" part. $model = $descr; - $driver = "PostScript"; + if ($model =~ /\b(PXL|PCL[\s\-]*(6|XL))\b/i) { + $driver = "PCL-XL"; + } elsif ($model =~ /\b(PCL[\s\-]*(|4|5|5c|5e)\b)/i) { + $driver = "PCL"; + } else { + $driver = "PostScript"; + } } } # Remove manufacturer's name from the beginning of the model @@ -1519,7 +1781,7 @@ sub ppd_entry_str { $model =~ s/BJC\s+/BJC-/; } # New MF devices from Epson have mis-spelled name in PPD files for - # native CUPS drivers of GIMP-Print + # native CUPS drivers of Gimp-Print if ($mf eq "EPSON") { $model =~ s/Stylus CX\-/Stylus CX/; } @@ -1529,9 +1791,11 @@ sub ppd_entry_str { $model =~ s/Oki\s+//i; } # Try again to remove manufacturer's name from the beginning of the - # model name, this with the cleaned manufacturer name + # model name, this time with the cleaned manufacturer name $model =~ s/^$mf[\s\-]+//i if $mf && $mf !~ m![\\/\(\)\[\]\|\.\$\@\%\*\?]!; + # Translate "(recommended)" in the driver string + $driver =~ s/\(recommended\)/$precstr/gi; # Put out the resulting description string uc($mf) . '|' . $model . '|' . $driver . ($lang && " (" . lc(substr($lang, 0, 2)) . ")"); @@ -1557,9 +1821,9 @@ sub get_descr_from_ppdfile { local $_; foreach (catMaybeCompressed("$::prefix$ppdfile")) { # "OTHERS|Generic PostScript printer|PostScript (en)"; - /^\*([^\s:]*)\s*:\s*\"([^\"]*)\"/ and + /^\*([^\s:]*)\s*:\s*"([^"]*)"/ and do { $ppd{$1} = $2; next }; - /^\*([^\s:]*)\s*:\s*([^\s\"]*)/ and + /^\*([^\s:]*)\s*:\s*([^\s"]*)/ and do { $ppd{$1} = $2; next }; } }; @@ -1579,34 +1843,40 @@ sub ppd_devid_data { $ppd = "$::prefix/usr/share/cups/model/$ppd"; my @content; if ($ppd =~ /\.gz$/i) { - @content = cat_("$::prefix/bin/zcat $ppd |") or return ("", ""); + @content = cat_("$::prefix/bin/zcat $ppd |") or return "", ""; } else { - @content = cat_($ppd) or return ("", ""); + @content = cat_($ppd) or return "", ""; } my ($devidmake, $devidmodel); - /^\*Manufacturer:\s*\"(.*)\"\s*$/ and $devidmake = $1 + /^\*Manufacturer:\s*"(.*)"\s*$/ and $devidmake = $1 foreach @content; - /^\*Product:\s*\"\(?(.*?)\)?\"\s*$/ and $devidmodel = $1 + /^\*Product:\s*"\(?(.*?)\)?"\s*$/ and $devidmodel = $1 foreach @content; - return ($devidmake, $devidmodel); + return $devidmake, $devidmodel; } -sub poll_ppd_base() { - my ($printer) = @_; +sub poll_ppd_base { + my ($printer, $ppdfile) = @_; + + # If a $ppdfile is supplied, we return the key of the DB entry which + # is for this file. This way we can pre-select a freshly added PPD in + # the model/driver list. + #- Before trying to poll the ppd database available to cups, we have #- to make sure the file /etc/cups/ppds.dat is no more modified. #- If cups continue to modify it (because it reads the ppd files #- available), the poll_ppd_base program simply cores :-) - # else cups will not be happy! and ifup lo don't run ? + # else cups will not be happy! and ifup lo do not run ? run_program::rooted($::prefix, 'ifconfig', 'lo', '127.0.0.1'); printer::services::start_not_running_service("cups"); my $driversthere = scalar(keys %thedb); + my $ppdentry = ""; foreach (1..60) { - local *PPDS; open PPDS, ($::testing ? $::prefix : - "chroot $::prefix/ ") . - "/usr/bin/poll_ppd_base -a |"; + open(my $PPDS, ($::testing ? $::prefix : + "chroot $::prefix/ ") . + "/usr/bin/poll_ppd_base -a |"); local $_; - while (<PPDS>) { + while (<$PPDS>) { chomp; my ($ppd, $mf, $descr, $lang) = split /\|/; if ($ppd eq "raw") { next } @@ -1619,20 +1889,20 @@ sub poll_ppd_base() { $driver =~ s/\s*\([a-z]{2}(|_[A-Z]{2})\)\s*$//; # Recommended Foomatic PPD? Extract "(recommended)" my $isrecommended = - $driver =~ s/\s+\(recommended\)\s*$//i; + $driver =~ s/\s+$sprecstr\s*$//i; # Remove trailing white space $driver =~ s/\s+$//; # For Foomatic: Driver with "GhostScript + " my $fullfoomaticdriver = $driver; # Foomatic PPD? Extract driver name my $isfoomatic = - $driver =~ s/^\s*(GhostScript|Foomatic)\s*\+\s*//i; + $driver =~ s!^\s*(GhostScript|Foomatic)(\s*\+\s*|/)!!i; # Foomatic PostScript driver? $isfoomatic ||= $descr =~ /Foomatic/i; # Native CUPS? my $isnativecups = $driver =~ /CUPS/i; # Native PostScript - my $isnativeps = (!$isfoomatic and !$isnativecups); + my $isnativeps = !$isfoomatic && !$isnativecups; # Key without language tag (key as it was produced for the # entries from the Foomatic XML database) my $keynolang = $key; @@ -1645,10 +1915,75 @@ sub poll_ppd_base() { # Foomatic $key = $keynolang; } - if (!$printer->{expert}) { + my ($devidmake, $devidmodel, $deviddesc, $devidcmdset); + # Replace an existing printer entry if it has linked + # to the current PPD file. + my ($filename, $ppdkey); + $ppd =~ m!([^/]+\.ppd)(\.gz|\.bz2|)$!; + if (($filename = $1) && + ($#{$linkedppds{$filename}} >= 0)) { + foreach $ppdkey (@{$linkedppds{$filename}}) { + next if !defined($thedb{$ppdkey}); + # Save the autodetection data + $devidmake = $thedb{$ppdkey}{devidmake}; + $devidmodel = $thedb{$ppdkey}{devidmodel}; + $deviddesc = $thedb{$ppdkey}{deviddesc}; + $devidcmdset = $thedb{$ppdkey}{devidcmdset}; + # We must preserve make and model if we have one + # PPD for multiple printers + my $oldmake = $thedb{$ppdkey}{make}; + my $oldmodel = $thedb{$ppdkey}{model}; + # Remove the old entry + delete $thedb{$ppdkey}; + my $newkey = $key; + if (!$printer->{expert}) { + # Remove driver part in recommended mode + $newkey =~ s/^([^\|]+\|[^\|]+)\|.*$/$1/; + } else { + # If the Foomatic entry is "recommended" let + # the new PPD entry be "recommended" + $newkey =~ s/\s*$sprecstr//g; + $newkey .= " $precstr" + if $ppdkey =~ m!$precstr!; + # Remove duplicate "recommended" tags and have + # the "recommended" tag at the end + $newkey =~ + s/(\s*$sprecstr)(.*?)(\s*$sprecstr)/$2$3/; + $newkey =~ s/(\s*$sprecstr)(.+)$/$2$1/; + } + # If the PPD serves for multiple printers, conserve + # the make and model of the original entry + if (($#{$linkedppds{$filename}} > 0)) { + $newkey =~ + s/^([^\|]+)(\|[^\|]+)(\|.*|)$/$oldmake$2$3/; + $newkey =~ + s/^([^\|]+\|)([^\|]+)(\|.*|)$/$1$oldmodel$3/; + } + # Create the new entry + $thedb{$newkey}{ppd} = $ppd; + $thedb{$newkey}{make} = $mf; + $thedb{$newkey}{model} = $model; + $thedb{$newkey}{driver} = $driver; + # Recover saved autodetection data + $thedb{$newkey}{devidmake} = $devidmake + if $devidmake; + $thedb{$newkey}{devidmodel} = $devidmodel + if $devidmodel; + $thedb{$newkey}{deviddesc} = $deviddesc + if $deviddesc; + $thedb{$newkey}{devidcmdset} = $devidcmdset + if $devidcmdset; + # Rememeber which entry is the freshly added + # PPD file + $ppdentry = $newkey if + $ppdfile eq "/usr/share/cups/model/$ppd"; + } + next; + } elsif (!$printer->{expert}) { # Remove driver from printer list entry when in # recommended mode $key =~ s/^([^\|]+\|[^\|]+)\|.*$/$1/; + # Only replace an existing printer entry if # - its driver is not the same as the driver of the # new one @@ -1663,18 +1998,25 @@ sub poll_ppd_base() { if (defined($thedb{$key})) { next if lc($thedb{$key}{driver}) eq lc($driver); - next unless $isnativeps && - $thedb{$key}{driver} =~ /^PostScript$/i || - $thedb{$key}{driver} ne "PPD" && $isrecommended || - $thedb{$key}{driver} eq "PPD" && $isrecommended && $driver ne "PostScript"; - - # Remove the old entry - delete $thedb{$key}; + if ($isnativeps && + $thedb{$key}{driver} =~ /^PostScript$/i || + $thedb{$key}{driver} ne "PPD" && $isrecommended || + $thedb{$key}{driver} eq "PPD" && $isrecommended && $driver ne "PostScript") { + # Save the autodetection data + $devidmake = $thedb{$key}{devidmake}; + $devidmodel = $thedb{$key}{devidmodel}; + $deviddesc = $thedb{$key}{deviddesc}; + $devidcmdset = $thedb{$key}{devidcmdset}; + # Remove the old entry + delete $thedb{$key}; + } else { + next; + } } } elsif ((defined $thedb{"$mf|$model|$fullfoomaticdriver"} || defined - $thedb{"$mf|$model|$fullfoomaticdriver (recommended)"}) && + $thedb{"$mf|$model|$fullfoomaticdriver $precstr"}) && $isfoomatic) { # Expert mode: There is already an entry for the # same printer/driver combo produced by the @@ -1682,72 +2024,86 @@ sub poll_ppd_base() { # entry next; } elsif (defined - $thedb{"$mf|$model|PostScript (recommended)"} && + $thedb{"$mf|$model|PostScript $precstr"} && $isnativeps) { # Expert mode: "Foomatic + Postscript" driver is # recommended and this is a PostScript PPD? Make # this PPD the recommended one foreach (keys - %{$thedb{"$mf|$model|PostScript (recommended)"}}) { + %{$thedb{"$mf|$model|PostScript $precstr"}}) { $thedb{"$mf|$model|PostScript"}{$_} = - $thedb{"$mf|$model|PostScript (recommended)"}{$_}; + $thedb{"$mf|$model|PostScript $precstr"}{$_}; } delete - $thedb{"$mf|$model|PostScript (recommended)"}; + $thedb{"$mf|$model|PostScript $precstr"}; if (!$isrecommended) { - $key .= " (recommended)"; + $key .= " $precstr"; } } elsif ($driver =~ /PostScript/i && $isrecommended && $isfoomatic && (my @foundkeys = grep { /^$mf\|$model\|/ && !/CUPS/i && - $thedb{$_}{driver} eq "PPD" + $thedb{$_}{driver} eq "PPD"; } keys %thedb)) { # Expert mode: "Foomatic + Postscript" driver is # recommended and there was a PostScript PPD? Make # the PostScript PPD the recommended one my $firstfound = $foundkeys[0]; - if (!(any { /\(recommended\)/ } @foundkeys)) { + if (!(any { /$sprecstr/ } @foundkeys)) { # Do it only if none of the native PostScript # PPDs for this printer is already "recommended" foreach (keys %{$thedb{$firstfound}}) { - $thedb{"$firstfound (recommended)"}{$_} = + $thedb{"$firstfound $precstr"}{$_} = $thedb{$firstfound}{$_}; } delete $thedb{$firstfound}; } - $key =~ s/\s*\(recommended\)//; + $key =~ s/\s*$sprecstr//; } elsif ($driver !~ /PostScript/i && $isrecommended && $isfoomatic && (@foundkeys = grep { - /^$mf\|$model\|.*\(recommended\)/ && - !/CUPS/i && $thedb{$_}{driver} eq "PPD" + /^$mf\|$model\|.*$sprecstr/ && + !/CUPS/i && $thedb{$_}{driver} eq "PPD"; } keys %thedb)) { # Expert mode: Foomatic driver other than "Foomatic + # Postscript" is recommended and there was a PostScript - # PPD which was recommended? Make The Foomatic driver + # PPD which was recommended? Make the Foomatic driver # the recommended one foreach my $sourcekey (@foundkeys) { # Remove the "recommended" tag my $destkey = $sourcekey; - $destkey =~ s/\s+\(recommended\)\s*$//i; + $destkey =~ s/\s+$sprecstr\s*$//i; foreach (keys %{$thedb{$sourcekey}}) { $thedb{$destkey}{$_} = $thedb{$sourcekey}{$_}; } delete $thedb{$sourcekey}; } } + + # Remove duplicate "recommended" tags and have the + # "recommended" tag at the end + $key =~ s/(\s*$sprecstr)(.*?)(\s*$sprecstr)/$2$3/; + $key =~ s/(\s*$sprecstr)(.+)$/$2$1/; + # Create the new entry $thedb{$key}{ppd} = $ppd; $thedb{$key}{make} = $mf; $thedb{$key}{model} = $model; $thedb{$key}{driver} = $driver; - # Get auto-detection data + # Recover saved autodetection data + $thedb{$key}{devidmake} = $devidmake if $devidmake; + $thedb{$key}{devidmodel} = $devidmodel if $devidmodel; + $thedb{$key}{deviddesc} = $deviddesc if $deviddesc; + $thedb{$key}{devidcmdset} = $devidcmdset if $devidcmdset; + # Get autodetection data #my ($devidmake, $devidmodel) = ppd_devid_data($ppd); #$thedb{$key}{devidmake} = $devidmake; #$thedb{$key}{devidmodel} = $devidmodel; - } + # Rememeber which entry is the freshly added PPD file + $ppdentry = $key if + $ppdfile eq "/usr/share/cups/model/$ppd"; + }; } - close PPDS; + close $PPDS; scalar(keys %thedb) - $driversthere > 5 and last; #- we have to try again running the program, wait here a little #- before. @@ -1756,6 +2112,7 @@ sub poll_ppd_base() { #scalar(keys %descr_to_ppd) > 5 or # die "unable to connect to cups server"; + return $ppdentry; } @@ -1783,16 +2140,25 @@ sub configure_queue($) { ("-p", $printer->{currentqueue}{printer}, "-d", $printer->{currentqueue}{driver}) : ($printer->{currentqueue}{ppd} ? - ("--ppd", - ($printer->{currentqueue}{ppd} !~ m!^/! ? - "/usr/share/cups/model/" : "") . - $printer->{currentqueue}{ppd}) : + ($printer->{currentqueue}{ppd} ne '1' ? + ("--ppd", + ($printer->{currentqueue}{ppd} !~ m!^/! ? + "/usr/share/cups/model/" : "") . + $printer->{currentqueue}{ppd}) : ()) : ("-d", "raw"))), "-N", $printer->{currentqueue}{desc}, "-L", $printer->{currentqueue}{loc}, + if_($printer->{SPOOLER} eq "cups", + "--backend-dont-disable=" . + $printer->{currentqueue}{dd}, + "--backend-attempts=" . + $printer->{currentqueue}{att}, + "--backend-delay=" . + $printer->{currentqueue}{delay}), @{$printer->{currentqueue}{options}} - ) or return 0;; - if ($printer->{currentqueue}{ppd}) { + ) or return 0; + if ($printer->{currentqueue}{ppd} && + ($printer->{currentqueue}{ppd} ne '1')) { # Add a comment line containing the path of the used PPD file to the # end of the PPD file if ($printer->{currentqueue}{ppd} ne '1') { @@ -1801,18 +2167,12 @@ sub configure_queue($) { } # Make sure that queue is active - if ($printer->{SPOOLER} ne "pdq") { + if ($printer->{NEW} && ($printer->{SPOOLER} ne "pdq")) { run_program::rooted($::prefix, "foomatic-printjob", "-s", $printer->{currentqueue}{spooler}, "-C", "up", $printer->{currentqueue}{queue}); } - # In case of CUPS set some more useful defaults for text and image - # printing - if ($printer->{SPOOLER} eq "cups") { - set_cups_special_options($printer->{currentqueue}{queue}); - } - # Check whether a USB printer is configured and activate USB printing if so my $useUSB = 0; foreach (values %{$printer->{configured}}) { @@ -1849,6 +2209,14 @@ sub configure_queue($) { $printer->{configured}{$printer->{currentqueue}{queue}}{args} = {}; $printer->{configured}{$printer->{currentqueue}{queue}}{args} = $printer->{ARGS}; + + # In case of CUPS set some more useful defaults for text and image + # printing + if ($printer->{SPOOLER} eq "cups") { + set_cups_special_options($printer, + $printer->{currentqueue}{queue}); + } + # Clean up delete($printer->{ARGS}); $printer->{OLD_CHOICE} = ""; @@ -1859,9 +2227,19 @@ sub configure_queue($) { return 1; } +sub enable_disable_queue { + my ($printer, $queue, $state) = @_; + + if (($printer->{SPOOLER} ne "pdq") && + ($printer->{SPOOLER} ne "rcups")) { + run_program::rooted($::prefix, "foomatic-printjob", + "-s", $printer->{SPOOLER}, + "-C", ($state ? "start" : "stop"), $queue); + } +} + sub remove_queue($$) { - my ($printer) = $_[0]; - my ($queue) = $_[1]; + my ($printer, $queue) = @_; run_program::rooted($::prefix, "foomatic-configure", "-R", "-q", "-s", $printer->{SPOOLER}, "-n", $queue); @@ -1873,7 +2251,6 @@ sub remove_queue($$) { $printer->{ARGS} = {}; $printer->{DBENTRY} = ""; $printer->{currentqueue} = {}; - removeprinterfromapplications($printer, $queue); } sub restart_queue($) { @@ -1908,38 +2285,39 @@ sub print_pages($@) { my $queue = $printer->{QUEUE}; my $lpr = "/usr/bin/foomatic-printjob"; my $lpq = "$lpr -Q"; + my $spooler = $printer->{SPOOLER}; + $spooler = "cups" if $spooler eq "rcups"; # Print the pages foreach (@pages) { my $page = $_; - # Only text and PostScript can be printed directly with all spoolers, - # images must be treated seperately + # Only text and PostScript can be printed directly with all + # spoolers, images must be treated seperately if ($page =~ /\.jpg$/) { - if ($printer->{SPOOLER} ne "cups") { + if ($spooler ne "cups") { # Use "convert" from ImageMagick for non-CUPS spoolers system(($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/bin/convert $page -page 427x654+100+65 PS:- | " . ($::testing ? $::prefix : "chroot $::prefix/ ") . - "$lpr -s $printer->{SPOOLER} -P $queue"); + "$lpr -s $spooler -P $queue"); } else { # Use CUPS's internal image converter with CUPS, tell it # to let the image occupy 90% of the page size (so nothing # gets cut off by unprintable borders) - run_program::rooted($::prefix, $lpr, "-s", $printer->{SPOOLER}, + run_program::rooted($::prefix, $lpr, "-s", $spooler, "-P", $queue, "-o", "scaling=90", $page); } } else { - run_program::rooted($::prefix, $lpr, "-s", $printer->{SPOOLER}, + run_program::rooted($::prefix, $lpr, "-s", $spooler, "-P", $queue, $page); } } sleep 5; #- allow lpr to send pages. # Check whether the job is queued - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "$lpq -s $printer->{SPOOLER} -P $queue |"; + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "$lpq -s $spooler -P $queue |"); my @lpq_output = - grep { !/^no entries/ && !(/^Rank\s+Owner/ .. /^\s*$/) } <F>; - close F; + grep { !/^no entries/ && !(/^Rank\s+Owner/ .. /^\s*$/) } <$F>; + close $F; @lpq_output; } @@ -1947,10 +2325,9 @@ sub help_output { my ($printer, $spooler) = @_; my $queue = $printer->{QUEUE}; - local *F; - open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . sprintf($spoolers{$spooler}{help}, $queue); - my $helptext = join("", <F>); - close F; + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . sprintf($spoolers{$spooler}{help}, $queue)); + my $helptext = join("", <$F>); + close $F; $helptext ||= "Option list not available!\n"; return $helptext; } @@ -1982,17 +2359,19 @@ sub print_optionlist { sub get_copiable_queues { my ($oldspooler, $newspooler) = @_; + # No local queues available in daemon-less CUPS mode + return () if ($oldspooler eq "rcups") or ($newspooler eq "rcups"); + my @queuelist; #- here we will list all Foomatic-generated queues # Get queue list with foomatic-configure - local *QUEUEOUTPUT; - open QUEUEOUTPUT, ($::testing ? $::prefix : "chroot $::prefix/ ") . - "foomatic-configure -Q -q -s $oldspooler |" or + open(my $QUEUEOUTPUT, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "foomatic-configure -Q -q -s $oldspooler |") or die "Could not run foomatic-configure"; my $entry = {}; my $inentry = 0; local $_; - while (<QUEUEOUTPUT>) { + while (<$QUEUEOUTPUT>) { chomp; if ($inentry) { # We are inside a queue entry @@ -2002,7 +2381,7 @@ sub get_copiable_queues { if ($entry->{foomatic} && $entry->{spooler} eq $oldspooler) { # Is the connection type supported by the new # spooler? - if ($newspooler eq "cups" && $entry->{connect} =~ /^(file|ptal|lpd|socket|smb|ipp):/ || + if ($newspooler eq "cups" && $entry->{connect} =~ /^(file|hp|ptal|lpd|socket|smb|ipp):/ || $newspooler =~ /^(lpd|lprng)$/ && $entry->{connect} =~ /^(file|ptal|lpd|socket|smb|ncp|postpipe):/ || $newspooler eq "pdq" && $entry->{connect} =~ /^(file|ptal|lpd|socket):/) { push(@queuelist, $entry->{name}); @@ -2017,7 +2396,7 @@ sub get_copiable_queues { $entry->{connect} = $1; } } else { - if (m!^\s*<queue\s+foomatic\s*=\s*\"?(\d+)\"?\s*spooler\s*=\s*\"?(\w+)\"?\s*>\s*$!) { + if (m!^\s*<queue\s+foomatic\s*=\s*"?(\d+)"?\s*spooler\s*=\s*"?(\w+)"?\s*>\s*$!) { # new entry $inentry = 1; $entry->{foomatic} = $1; @@ -2025,8 +2404,8 @@ sub get_copiable_queues { } } } - close QUEUEOUTPUT; - + close $QUEUEOUTPUT; + return @queuelist; } @@ -2038,7 +2417,7 @@ sub copy_foomatic_queue { "-C", $oldspooler, $oldqueue); # In case of CUPS set some more useful defaults for text and image printing if ($printer->{SPOOLER} eq "cups") { - set_cups_special_options($newqueue); + set_cups_special_options($printer, $newqueue); } } @@ -2054,7 +2433,7 @@ sub copy_foomatic_queue { sub autodetectionentry_for_uri { my ($uri, @autodetected) = @_; - if ($uri =~ m!^usb://([^/]+)/([^/\?]+)(|\?serial=(\S+))$!) { + if ($uri =~ m!^usb://([^/]+)/([^\?]+)(|\?serial=(\S+))$!) { # USB device with URI referring to printer model my $make = $1; my $model = $2; @@ -2083,6 +2462,49 @@ sub autodetectionentry_for_uri { return $p; } } + } elsif ($uri =~ m!^hp:/(usb|par|net)/!) { + # HP printer (controlled by HPLIP) + my $hplipdevice = $uri; + $hplipdevice =~ m!^hp:/(usb|par|net)/(\S+?)(\?(serial|device)=(\S+)|)$!; + my $bus = $1; + my $model = $2; + my $serial = undef; + my $device = undef; + if ($4 eq 'serial') { + $serial = $5; + } elsif ($4 eq 'device') { + $device = $5; + } + $model =~ s/_/ /g; + foreach my $p (@autodetected) { + next if (!$p->{port}) || + (($p->{port} =~ m!/usb!) && ($bus ne "usb")) || + (($p->{port} =~ m!/dev/(lp|par.*|printer.*)\d+!) && + ($bus ne "par")); + next if !$p->{val}{MODEL}; + if (uc($p->{val}{MODEL}) ne uc($model)) { + my $entry = hplip_device_entry($p->{port}, @autodetected); + next if !$entry; + my $m = $entry->{model}; + $m =~ s/_/ /g; + next if uc($m) ne uc($model); + } + next if ($serial && !$p->{val}{SERIALNUMBER}) || + (!$serial && $p->{val}{SERIALNUMBER}) || + (uc($serial) ne uc($p->{val}{SERIALNUMBER})); + if ($device) { + if ($bus eq "par") { + $device =~ m!/dev/(lp|parport|printer/)(\d+)!; + my $parporthplip = $1; + $p->{port} =~ m!/dev/(lp|parport|printer/)(\d+)!; + my $parportauto = $1; + next if $parporthplip != $parportauto; + } else { + next if $device ne $p->{port}; + } + } + return $p; + } } elsif ($uri =~ m!^ptal://?mlc:!) { # HP multi-function device (controlled by HPOJ) my $ptaldevice = $uri; @@ -2119,424 +2541,392 @@ sub autodetectionentry_for_uri { # ------------------------------------------------------------------ # -# Configuration of HP multi-function devices +# Configuration of HP printers and multi-function devices with HPLIP # # ------------------------------------------------------------------ -sub configure_hpoj { - my ($device, @autodetected) = @_; +sub read_hplip_db { - # Make the subroutines of /usr/sbin/ptal-init available - # It's only necessary to read it at the first call of this subroutine, - # the subroutine definitions stay valid after leaving this subroutine. - if (!$ptalinitread) { - local *PTALINIT; - open PTALINIT, "$::prefix/usr/sbin/ptal-init" or do { - die "unable to open $::prefix/usr/sbin/ptal-init"; - }; - my @ptalinitfunctions; # subroutine definitions in /usr/sbin/ptal-init - local $_; - while (<PTALINIT>) { - if (m!sub main!) { - last; - } elsif ((m!^[^\#]!) && !(m!^\s*exec\b!)){ - # Comment lines and the "exec" line (probably obsolete - # Red Hat workaround) are skipped. - - # Make the subroutines also working during installation - if ($::isInstall) { - s!\$::prefix!\$hpoj_prefix!g; - s!prefix="/usr"!prefix="$::prefix/usr"!g; - s!etcPtal="/etc/ptal"!etcPtal="$::prefix/etc/ptal"!g; - s!varLock="/var/lock"!varLock="$::prefix/var/lock"!g; - s!varRunPrefix="/var/run"!varRunPrefix="$::prefix/var/run"!g; - s!/sbin/lsmod!/usr/bin/lsmod!g; - s!/sbin/modprobe!/usr/bin/modprobe!g; - s!/sbin/rmmod!/usr/bin/rmmod!g; - s!(my\s*\$osPlatform\s*=\s*).*?$!$1"Linux";!g; - s!chomp\s*\$osPlatform\s*;\s*$!!g; - s!(my\s*\$linuxVersion\s*=\s*).*?$!$1"$kernelversion";!g; - s!^\s*\$linuxVersion\s*=~\s*s.*$!!g; - s!chomp\s*\$linuxVersion\s*;\s*$!!g; - s!(my\s*\$usbprintermodule\s*=\s*).*?$!$1"$usbprintermodule";!g; - } - push @ptalinitfunctions, $_; - } - } - close PTALINIT; + # Read the device database XML file which comes with the HPLIP + # package + open(my $F, "< $::prefix/usr/share/hplip/data/xml/models.xml") or + warn "Could not read /usr/share/hplip/data/xml/models.xml\n"; - eval "package printer::hpoj; - @ptalinitfunctions - sub getDevnames { - return (%devnames) - } - sub getConfigInfo { - return (%configInfo) - }"; - - if ($::isInstall) { - # Needed for photo card reader detection during installation - system("ln -s $::prefix/var/run/ptal-mlcd /var/run/ptal-mlcd"); - system("ln -s $::prefix/etc/ptal /etc/ptal"); - } - $ptalinitread = 1; - } - - # Read the HPOJ config file and check whether this device is already - # configured - printer::hpoj::setupVariables(); - printer::hpoj::readDeviceInfo(); - - $device =~ m!^/dev/\S*lp(\d+)$! or - $device =~ m!^/dev/printers/(\d+)$! or - $device =~ m!^socket://([^:]+)$! or - $device =~ m!^socket://([^:]+):(\d+)$!; - my $model = $1; - my ($model_long, $serialnumber, $serialnumber_long) = ("", "", ""); - my $cardreader = 0; - my $device_ok = 1; - my $bus; - my $address_arg = ""; - my $base_address = ""; - my $hostname = ""; - my $port = $2; - if ($device =~ /usb/) { - $bus = "usb"; - } elsif ($device =~ /par/ || - $device =~ m!/dev/lp! || - $device =~ /printers/) { - $bus = "par"; - $address_arg = printer::detect::parport_addr($device); - eval "$base_address = $1" if $address_arg =~ /^\s*-base\s+(\S+)/; - } elsif ($device =~ /socket/) { - $bus = "hpjd"; - $hostname = $model; - return "" if $port && ($port < 9100 || $port > 9103); - if ($port && $port != 9100) { - $port -= 9100; - $hostname .= ":$port"; - } - } else { - return ""; - } - if ($#autodetected < 0) { - # Make a pseudo structure for the auto-detected data if there is - # no auto-detected data (for example when configuring manually) - $autodetected[0] = { - 'port' => $device, - 'val' => { - 'MODEL' => N("Unknown model") + my $entry = {}; + my $inentry = 0; + my $inrX = 0; + my $incomment = 0; + my %hplipdevices; + local $_; + while (<$F>) { + chomp; + if ($incomment) { + # In a comment block, skip all except the end of the comment + if (m!^(.*?)-->(.*)$!) { + # End of comment, keep rest of line + $_ = $2; + $incomment = 0; + } else { + # Skip line + $_ = ''; } - }; - } - my $devdata; - foreach (@autodetected) { - $device eq $_->{port} or next; - $devdata = $_; - # $model is for the PTAL device name, so make sure that it is unique - # so in the case of the model name auto-detection having failed leave - # the port number or the host name as model name. - my $searchunknown = N("Unknown model"); - if ($_->{val}{MODEL} && - $_->{val}{MODEL} !~ /$searchunknown/i && - $_->{val}{MODEL} !~ /^\s*$/) { - $model = $_->{val}{MODEL}; - } - $serialnumber = $_->{val}{SERIALNUMBER}; - services::stop("hpoj") if ($bus ne "hpjd"); - # Check if the device is really an HP multi-function device - #my $libusb = 0; - foreach my $libusb (0, 1) { - # Do access via libusb/user mode only if we have a USB device - next if ($libusb && ($bus ne "usb")); - # Preliminary workaround to make the user-mode USB devices - # (LIDIL devices) installable as verification of the HPOJ - # settings of these devices does not work yet. The workaround - # will probably removed after version 9.2 of this distribution. - # Note: This workaround leaves out the checking for a photo - # memory card reader, but to my knowledge there are no LIDIL - # devices with card reader yet. - if ($libusb) { - $device_ok = 1; - next; + } else { + while (m/^(.*?)<!--(.*?)-->(.*)$/) { + # Remove one-line comments + $_ = $1 . $3; } - my $printermoduleunloaded = 0; - if ($bus ne "hpjd") { - if (!$libusb) { - # Start ptal-mlcd daemon for locally connected devices - # (kernel mode with "printer"/"usblp" module for USB). - run_program::rooted($::prefix, - "ptal-mlcd", "$bus:probe", - "-device", - $device, split(' ',$address_arg)); - } else { - # Start ptal-mlcd daemon for user-mode USB devices - # (all LIDIL MF devices as HP PSC 1xxx and OfficeJet - # 4xxx) - my $usbdev = usbdevice($_->{val}); - if (defined($usbdev)) { - # Unload kernel module "printer"/"usblp" - if (modules::get_probeall("usb-interface")) { - eval(modules::unload($usbprintermodule)); - $printermoduleunloaded = 1; - } - # Start ptal-mlcd - run_program::rooted($::prefix, - "ptal-mlcd", "$bus:probe", - "-device", $usbdev); - } else { - # We could not determine the USB device number, - # so we cannot check this device in user mode - next; - } - } + if (m/^(.*?)<!--(.*)$/) { + # Start of comment, keep the beginning of the line + $_ = $1; + $incomment = 1; } - $device_ok = 0; - my $ptalprobedevice = $bus eq "hpjd" ? "hpjd:$hostname" : "mlc:$bus:probe"; - local *F; - if (open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/bin/ptal-devid $ptalprobedevice |") { - my $devid = join("", <F>); - close F; - if ($devid) { - $device_ok = 1; - local *F; - if (open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/bin/ptal-devid $ptalprobedevice -long -mdl 2>/dev/null |") { - $model_long = join("", <F>); - close F; - chomp $model_long; - # If SNMP or local port auto-detection failed but - # HPOJ auto-detection succeeded, fill in model name - # here. - if (!$_->{val}{MODEL} || - $_->{val}{MODEL} =~ /$searchunknown/i || - $_->{val}{MODEL} =~ /^\s*$/) { - if ($model_long =~ /:([^:;]+);/) { - $_->{val}{MODEL} = $1; - $model = $_->{val}{MODEL}; - $model =~ s/ /_/g; - } - } + } + # Is there some non-comment part left in the line + if (m!\S!) { + if ($inentry) { + # We are inside a device entry + if ($inrX) { + # We are in one of the the device's <rX> sections, + # skip the section + if (m!^\s*</r\d+>\s*$!) { + # End of <rX> section + $inrX = 0; } - if (open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . "/usr/bin/ptal-devid $ptalprobedevice -long -sern 2>/dev/null |") { #-# - $serialnumber_long = join("", <F>); - close F; - chomp $serialnumber_long; + } else { + if (m!^\s*<r\d+>\s*$!) { + # Start of <rX> section + $inrX = 1; + } elsif (m!^\s*</model>\s*$!) { + # End of device entry + $inentry = 0; + my $devidmodel; + if ($entry->{$devidmodel}) { + $devidmodel = $entry->{devidmodel}; + $devidmodel =~ s/ /_/g; + } else { + $devidmodel = $entry->{model}; + } + $hplipdevices{$devidmodel} = $entry; + $entry = {}; + } elsif (m!^\s*<id>\s*([^<>]+)\s*</id>\s*$!) { + # Full ID string + my $idstr = $1; + $idstr =~ m!(MFG|MANUFACTURER):([^;]+);!i + and $entry->{devidmake} = $2; + $idstr =~ m!(MDL|MODEL):([^;]+);!i + and $entry->{devidmodel} = $2; + $idstr =~ m!(DES|DESCRIPTION):([^;]+);!i + and $entry->{deviddesc} = $2; + $idstr =~ m!(CMD|COMMAND\s*SET):([^;]+);!i + and $entry->{devidcmdset} = $2; + } elsif (m!^\s*<io support="(\d+)".*/>\s*$!) { + # Input/Output ports explicitly supported by HPLIP + my $ports = $1; + $entry->{bus}{par} = 1 if ($ports & 1); + $entry->{bus}{usb} = 1 if ($ports & 2); + $entry->{bus}{net} = 1 if ($ports & 4); + } elsif (m!^\s*<tech type="(\d+)"/>\s*$!) { + # Printing technology + $entry->{tech} = $1; + } elsif (m!^\s*<align type="(\d+)"/>\s*$!) { + # Head alignment type + $entry->{align} = $1; + } elsif (m!^\s*<clean type="(\d+)"/>\s*$!) { + # Head cleaning type + $entry->{clean} = $1; + } elsif (m!^\s*<color-cal type="(\d+)"/>\s*$!) { + # Color calibration type + $entry->{colorcal} = $1; + } elsif (m!^\s*<status type="(\d+)"/>\s*$!) { + # Status request type + $entry->{status} = $1; + } elsif (m!^\s*<scan type="(\d+)"/>\s*$!) { + # Scanner access type + $entry->{scan} = $1; + } elsif (m!^\s*<fax type="(\d+)"/>\s*$!) { + # Fax access type + $entry->{fax} = $1; + } elsif (m!^\s*<pcard type="(\d+)"/>\s*$!) { + # Memory card access type + $entry->{card} = $1; + } elsif (m!^\s*<copy type="(\d+)"/>\s*$!) { + # Copier access type + $entry->{copy} = $1; } - $cardreader = 1 if printer::hpoj::cardReaderDetected($ptalprobedevice); } - } - if ($bus ne "hpjd") { - # Stop ptal-mlcd daemon for locally connected devices - local *F; - if (open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . qq(ps auxwww | grep "ptal-mlcd $bus:probe" | grep -v grep | )) { - my $line = <F>; - if ($line =~ /^\s*\S+\s+(\d+)\s+/) { - my $pid = $1; - kill 15, $pid; - } - close F; + } else { + # We are not in a printer entry + if (m!^\s*<\s*model\s+name=\"(\S+)\"\a*>\s*$!) { + $inentry = 1; + # HPLIP model ID + $entry->{model} = $1; } - $printermoduleunloaded && - eval(modules::load($usbprintermodule)); } - last if $device_ok; } - printer::services::start("hpoj") if ($bus ne "hpjd"); - last; } - # No, it is not an HP multi-function device. - return "" if !$device_ok; - - # If $model_long and $serialnumber_long stay empty, fill them with - # $model and $serialnumber - $model_long ||= $model; - $serialnumber_long ||= $serialnumber; - - # Determine the ptal device name from already existing config files - my $ptalprefix = - ($bus eq "hpjd" ? "hpjd:" : "mlc:$bus:"); - my $ptaldevice = printer::hpoj::lookupDevname($ptalprefix, $model_long, - $serialnumber_long, $base_address); - - # It's all done for us, the device is already configured - return $ptaldevice if defined($ptaldevice); - - # Determine the ptal name for a new device - if ($bus eq "hpjd") { - $ptaldevice = "hpjd:$hostname"; - } else { - $ptaldevice = $model; - $ptaldevice =~ s![\s/]+!_!g; - $ptaldevice = "mlc:$bus:$ptaldevice"; - } - - # Delete any old/conflicting devices - printer::hpoj::deleteDevice($ptaldevice); - if ($bus eq "par") { - while (1) { - my $oldDevname = printer::hpoj::lookupDevname("mlc:par:",undef,undef,$base_address); - last unless defined($oldDevname); - printer::hpoj::deleteDevice($oldDevname); + close $F; + return \%hplipdevices; +} + +sub hplip_simple_model { + my ($model) = @_; + my $simplemodel = $model; + $simplemodel =~ s/[^A-Za-z0-9]//g; + $simplemodel =~ s/HewlettPackard/HP/gi; + $simplemodel =~ s/HP//gi; + $simplemodel =~ s/(DeskJet\d+C?)([a-z]*?)/$1/gi; + $simplemodel =~ s/((LaserJet|OfficeJet|PhotoSmart|PSC)\d+)([a-z]*?)/$1/gi; + $simplemodel =~ s/DeskJet/DJ/gi; + $simplemodel =~ s/PhotoSmartP/PhotoSmart/gi; + $simplemodel =~ s/LaserJet/LJ/gi; + $simplemodel =~ s/OfficeJet/OJ/gi; + $simplemodel =~ s/Series//gi; + $simplemodel = uc($simplemodel); + return $simplemodel; +} + +sub hplip_device_entry { + my ($device, @autodetected) = @_; + + # Currently, only local or TCP/Socket device work + return undef if ($device !~ /usb/i) && + ($device !~ m!/dev/(lp|par.*|printer.*)\d+!) && + ($device !~ m!^socket://!i); + + if (!$hplipdevicesdb) { + # Read the HPLIP device database if not done already + $hplipdevicesdb = read_hplip_db(); + } + + my $entry; + foreach my $a (@autodetected) { + $device eq $a->{port} or next; + # Only HP devices supported + return undef if $a->{val}{MANUFACTURER} !~ /^\s*HP\s*$/i; + my $modelstr = $a->{val}{MODEL}; + $modelstr =~ s/ /_/g; + if ($entry = $hplipdevicesdb->{$modelstr}) { + # Exact match + return $entry; } + my $hpmodelstr = "HP_" . $modelstr; + if ($entry = $hplipdevicesdb->{$hpmodelstr}) { + # Exact match + return $entry; + } + my $hpmodelstr = "hp_" . $modelstr; + if ($entry = $hplipdevicesdb->{$hpmodelstr}) { + # Exact match + return $entry; + } + # More 'fuzzy' matching + my $simplemodel = hplip_simple_model($modelstr); + foreach my $key (keys %{$hplipdevicesdb}) { + my $simplekey = hplip_simple_model($key); + return $hplipdevicesdb->{$key} if $simplemodel eq $simplekey; + } + foreach my $key (keys %{$hplipdevicesdb}) { + my $simplekey = hplip_simple_model($key); + $simplekey =~ s/(\d\d)00(C?)$/$1\\d\\d$2/; + $simplekey =~ s/(\d\d\d)0(C?)$/$1\\d$2/; + $simplekey =~ s/(\d\d)0(\dC?)$/$1\\d$2/; + return $hplipdevicesdb->{$key} if + $simplemodel =~ m/^$simplekey$/i; + } + # Device not supported + return undef; } + # $device not in @autodetected + return undef; +} - # Configure the device +sub hplip_device_entry_from_uri { + my ($deviceuri) = @_; - # Open configuration file - local *CONFIG; - open(CONFIG, "> $::prefix/etc/ptal/$ptaldevice") or - die "Could not open /etc/ptal/$ptaldevice for writing!\n"; + return undef if $deviceuri !~ m!^hp:/!; + + if (!$hplipdevicesdb) { + # Read the HPLIP device database if not done already + $hplipdevicesdb = read_hplip_db(); + } - # Write file header. - my $date = chomp_(`date`); - print CONFIG -qq( -# Added $date by "printerdrake" + $deviceuri =~ m!^hp:/(usb|par|net)/(\S+?)(\?\S+|)$!; + my $model = $2; + return undef if !$model; -# The basic format for this file is "key[+]=value". -# If you say "+=" instead of "=", then the value is appended to any -# value already defined for this key, rather than replacing it. + my $entry; + if ($entry = $hplipdevicesdb->{$model}) { + return $entry; + } + return undef; +} -# Comments must start at the beginning of the line. Otherwise, they may -# be interpreted as being part of the value. +sub start_hplip { + my ($device, $hplipentry, @autodetected) = @_; -# If you have multiple devices and want to define options that apply to -# all of them, then put them in the file /etc/ptal/defaults, which is read -# in before this file. + # Determine connection type + my $bus; + if ($device =~ /usb/) { + $bus = "usb"; + } elsif ($device =~ m!/dev/(lp|par.*|printer.*)\d+!) { + $bus = "par"; + } elsif ($device =~ m!^socket://!) { + $bus = "net"; + } else { + return undef; + } -# The format version of this file: -# ptal-init ignores devices with incorrect/missing versions. -init.version=2 -); + # Start HPLIP daemons + printer::services::start_not_running_service("hplip"); - # Write model string. - if ($model_long !~ /\S/) { - print CONFIG - "\n" . - qq(# "printerdrake" couldn't read the model but added this device anyway:\n) . - "# "; + # Determine HPLIP device URI for the CUPS queue + if ($bus eq "net") { + $device =~ m!^socket://([^:]+)(|:\d+)$!; + my $host = $1; + my $ip; + if ($host !~ m!^\d+\.\d+\.\d+\.\d+$!) { + my $addr = gethostbyname("$host"); + my ($a,$b,$c,$d) = unpack('C4',$addr); + $ip = sprintf("%d.%d.%d.%d", $a, $b, $c, $d); + } else { + $ip = $host; + } + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "/bin/sh -c \"export LC_ALL=C; /usr/bin/hp-makeuri $ip\" |") or + die "Could not run \"/usr/bin/hp-makeuri $ip\"!"; + while (my $line = <$F>) { + if ($line =~ m!(hp:/net/\S+)!) { + my $uri = $1; + close $F; + return $uri; + } + } + close $F; } else { - print CONFIG - "\n" . - "# The device model that was originally detected on this port:\n" . - qq(# If this ever changes, then you should re-run "printerdrake"\n) . - "# to delete and re-configure this device.\n"; - if ($bus eq "par") { - print CONFIG - "# Comment out if you don't care what model is really connected to this\n" . - "# parallel port.\n"; + foreach my $a (@autodetected) { + $device eq $a->{port} or next; + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "/bin/sh -c \"export LC_ALL=C; /usr/$lib/cups/backend/hp\" |") or + die "Could not run \"/usr/$lib/cups/backend/hp\"!"; + while (my $line = <$F>) { + if (($line =~ m!^direct\s+(hp:/$bus/(\S+?)\?serial=(\S+))\s+!) || + ($line =~ m!^direct\s+(hp:/$bus/(\S+?)\?device=()(\S+))\s+!) || + ($line =~ m!^direct\s+(hp:/$bus/(\S+))\s+!)) { + my $uri = $1; + my $modelstr = $2; + my $serial = $3; + my $devicestr = $4; + $devicestr =~ m!/dev/(lp|parport|printer/)(\d+)!; + my $parporthplip = $1; + $device =~ m!/dev/(lp|parport|printer/)(\d+)!; + my $parportdevice = $1; + if ((uc($modelstr) eq uc($hplipentry->{model})) && + (!$serial || + (uc($serial) eq uc($a->{val}{SERIALNUMBER}))) && + (!$devicestr || + ($devicestr eq $device) || + (($parporthplip ne "") && + ($parportdevice ne "") && + ($parporthplip == $parportdevice)))) { + close $F; + return $uri; + } + } + } + close $F; + last; } } - print CONFIG - qq(init.mlcd.append+=-devidmatch "$model_long"\n); + # HPLIP URI not found + return undef; +} - # Write serial-number string. - if ($serialnumber_long !~ /\S/) { - print CONFIG - "\n" . - "# The device's serial number is unknown.\n" . - "# "; - } else { - print CONFIG - "\n" . - "# The serial number of the device that was originally detected on this port:\n"; - if ($bus =~ /^[pu]/) { - print CONFIG - "# Comment out if you want to disable serial-number matching.\n"; - } +sub start_hplip_manual { + + # Start HPLIP daemons + printer::services::start_not_running_service("hplip"); + + # Return all possible device URIs + open(my $F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "/bin/sh -c \"export LC_ALL=C; /usr/$lib/cups/backend/hp\" |") or + die "Could not run \"/usr/$lib/cups/backend/hp\"!"; + my @uris; + while (<$F>) { + m!^direct\s+(hp:\S+)\s+!; + push(@uris, $1); } - print CONFIG - qq(init.mlcd.append+=-devidmatch "$serialnumber_long"\n); - - if ($bus =~ /^[pu]/) { - print CONFIG - "\n" . - "# Standard options passed to ptal-mlcd:\n" . - "init.mlcd.append+="; - if ($bus eq "usb") { - # Important: don't put more quotes around /dev/usb/lp[0-9]*, - # because ptal-mlcd currently does no globbing: - print CONFIG "-device /dev/usb/lp0 /dev/usb/lp1 /dev/usb/lp2 /dev/usb/lp3 /dev/usb/lp4 /dev/usb/lp5 /dev/usb/lp6 /dev/usb/lp7 /dev/usb/lp8 /dev/usb/lp9 /dev/usb/lp10 /dev/usb/lp11 /dev/usb/lp12 /dev/usb/lp13 /dev/usb/lp14 /dev/usb/lp15"; - } elsif ($bus eq "par") { - print CONFIG "$address_arg -device $device"; + return @uris; +} + +sub remove_hpoj_config { + my ($device, @autodetected) = @_; + + for my $d (@autodetected) { + $device eq $d->{port} or next; + my $bus; + if ($device =~ /usb/) { + $bus = "usb"; + } elsif ($device =~ m!/dev/(lp|par.*|printer.*)\d+!) { + $bus = "par"; + } elsif ($device =~ /socket/) { + $bus = "hpjd"; } - print CONFIG "\n" . - "\n" . - "# ptal-mlcd's remote console can be useful for debugging, but may be a\n" . - "# security/DoS risk otherwise. In any case, it's accessible with the\n" . - qq(# command "ptal-connect mlc:<XXX>:<YYY> -service PTAL-MLCD-CONSOLE".\n) . - "# Uncomment the following line if you want to enable this feature for\n" . - "# this device:\n" . - "# init.mlcd.append+=-remconsole\n" . - "\n" . - "# If you need to pass any other command-line options to ptal-mlcd, then\n" . - "# add them to the following line and uncomment the line:\n" . - "# init.mlcd.append+=\n" . - "\n" . - "# By default ptal-printd is started for mlc: devices. If you use CUPS,\n" . - "# then you may not be able to use ptal-printd, and you can uncomment the\n" . - "# following line to disable ptal-printd for this device:\n" . - "# init.printd.start=0\n"; - } else { - print CONFIG - "\n" . - "# By default ptal-printd isn't started for hpjd: devices.\n" . - "# If for some reason you want to start it for this device, then\n" . - "# uncomment the following line:\n" . - "init.printd.start=1\n"; - } - - print CONFIG - "\n" . - "# If you need to pass any additional command-line options to ptal-printd,\n" . - "# then add them to the following line and uncomment the line:\n" . - "# init.printd.append+=\n"; - if ($cardreader) { - print CONFIG - "\n" . - "# Uncomment the following line to enable ptal-photod for this device:\n" . - "init.photod.start=1\n" . - "\n" . - "# If you have more than one photo-card-capable peripheral and you want to\n" . - "# assign particular TCP port numbers and mtools drive letters to each one,\n" . - qq(# then change the line below to use the "-portoffset <n>" option.\n) . - "init.photod.append+=-maxaltports 26\n"; - } - close(CONFIG); - printer::hpoj::readOneDevice($ptaldevice); - - # Restart HPOJ - printer::services::restart("hpoj"); - - # Return HPOJ device name to form the URI - return $ptaldevice; + my $path = "$::prefix/etc/ptal"; + opendir PTALDIR, "$path"; + while (my $file = readdir(PTALDIR)) { + next if $file !~ /^(mlc:|)$bus:/; + $file = "$path/$file"; + if ($bus eq "hpjd") { + $device =~ m!^socket://(\S+?)(:\d+|)$!; + my $host = $1; + if ($file =~ /$host/) { + closedir PTALDIR; + unlink($file) or return $file; + printer::services::restart("hpoj"); + return undef; + } + } else { + if ((grep { /$d->{val}{MODEL}/ } chomp_(cat_($file))) && + ((!$d->{val}{SERIALNUMBER}) || + (grep { /$d->{val}{SERIALNUMBER}/ } + chomp_(cat_($file))))) { + closedir PTALDIR; + unlink($file) or return $file; + printer::services::restart("hpoj"); + return undef; + } + } + } + last; + } + closedir PTALDIR; + return undef; } sub devicefound { my ($usbid, $model, $serial) = @_; # Compare the output of "lsusb -vv" with the elements of the device # ID string - if ($serial && ($usbid->{'SERIALNUMBER'} eq $serial)) { + if ($serial && $usbid->{SERIALNUMBER} eq $serial) { # Match of serial number has absolute priority return 1; - } elsif ($model && ($usbid->{'MODEL'} eq $model)) { + } elsif ($model && $usbid->{MODEL} eq $model) { # Try to match the model name otherwise return 1; } return 0; } -sub usbdevice() { +sub usbdevice { my ($usbid) = @_; - # Run "lsusb -vv¨ and search the given device to get its USB bus and + # Run "lsusb -vv" and search the given device to get its USB bus and # device numbers - local *F; - open F, ($::testing ? "" : "chroot $::prefix/ ") . - '/bin/sh -c "export LC_ALL=C; lsusb -vv 2> /dev/null" |' + open(my $F, ($::testing ? "" : "chroot $::prefix/ ") . + '/bin/sh -c "export LC_ALL=C; lsusb -vv 2> /dev/null" |') or return undef; my ($bus, $device, $model, $serial) = ("", "", "", ""); my $found = 0; - while (my $line = <F>) { + while (my $line = <$F>) { chomp $line; if ($line =~ m/^\s*Bus\s+(\d+)\s+Device\s+(\d+)\s*:/i) { # head line of a new device @@ -2554,7 +2944,7 @@ sub usbdevice() { $serial = $1; } } - close F; + close $F; # Check last entry $found = devicefound($usbid, $model, $serial); @@ -2562,102 +2952,20 @@ sub usbdevice() { return sprintf("%%%03d%%%03d", $bus, $device); } -sub config_sane() { - # Add HPOJ backend to /etc/sane.d/dll.conf if needed (no individual - # config file /etc/sane.d/hpoj.conf necessary, the HPOJ driver finds the - # scanner automatically) - return if member("hpoj", chomp_(cat_("$::prefix/etc/sane.d/dll.conf"))); - eval { append_to_file("$::prefix/etc/sane.d/dll.conf", "hpoj\n") } or - die "can't write SANE config in /etc/sane.d/dll.conf: $!"; -} - -sub config_photocard() { - - # Add definitions for the drives p:. q:, r:, and s: to /etc/mtools.conf - cat_("$::prefix/etc/mtools.conf") !~ m/^\s*drive\s+p:/m or return; - - append_to_file("$::prefix/etc/mtools.conf", <<'EOF'); -# Drive definitions added for the photo card readers in HP multi-function -# devices driven by HPOJ -drive p: file=":0" remote -drive q: file=":1" remote -drive r: file=":2" remote -drive s: file=":3" remote -# This turns off some file system integrity checks of mtools, it is needed -# for some photo cards. -mtools_skip_check=1 -EOF - - # Generate a config file for the graphical mtools frontend MToolsFM or - # modify the existing one - my $mtoolsfmconf; - if (-f "$::prefix/etc/mtoolsfm.conf") { - $mtoolsfmconf = cat_("$::prefix/etc/mtoolsfm.conf") or die "can't read MToolsFM config in $::prefix/etc/mtoolsfm.conf: $!"; - my $alloweddrives = lc($1) if $mtoolsfmconf =~ m/^\s*DRIVES\s*=\s*\"([A-Za-z ]*)\"/m; - foreach my $letter ("p", "q", "r", "s") { - $alloweddrives .= $letter if $alloweddrives !~ /$letter/; - } - $mtoolsfmconf =~ s/^\s*DRIVES\s*=\s*"[A-Za-z ]*"/DRIVES="$alloweddrives"/m; - $mtoolsfmconf =~ s/^\s*LEFTDRIVE\s*=\s*"[^"]*"/LEFTDRIVE="p"/m; - #"# Fix emacs syntax highlighting - } else { - $mtoolsfmconf = <<'EOF'; -# MToolsFM config file. comments start with a hash sign. -# -# This variable sets the allowed driveletters (all lowercase). Example: -# DRIVES="ab" -DRIVES="apqrs" -# -# This variable sets the driveletter upon startup in the left window. -# An empty string or space is for the hardisk. Example: -# LEFTDRIVE="a" -LEFTDRIVE="p" -# -# This variable sets the driveletter upon startup in the right window. -# An empty string or space is for the hardisk. Example: -# RIGHTDRIVE="a" -RIGHTDRIVE=" " -EOF - } - output("$::prefix/etc/mtoolsfm.conf", $mtoolsfmconf); -} +sub config_sane { + my ($backend) = @_; -# ------------------------------------------------------------------ -# -# Configuration of printers in applications -# -# ------------------------------------------------------------------ - -sub configureapplications { - my ($printer) = @_; - setcupslink($printer); - printer::office::configureoffice('Star Office', $printer); - printer::office::configureoffice('OpenOffice.Org', $printer); - printer::gimp::configure($printer); -} + # Add HPOJ/HPLIP backend to /etc/sane.d/dll.conf if needed (no + # individual config file /etc/sane.d/hplip.conf or + # /etc/sane.d/hpoj.conf necessary, the HPLIP and HPOJ drivers find + # the scanner automatically) -sub addcupsremotetoapplications { - my ($printer, $queue) = @_; - setcupslink($printer); - return printer::office::add_cups_remote_to_office('Star Office', $printer, $queue) && - printer::office::add_cups_remote_to_office('OpenOffice.Org', $printer, $queue) && - printer::gimp::addcupsremoteto($printer, $queue); -} - -sub removeprinterfromapplications { - my ($printer, $queue) = @_; - setcupslink($printer); - return printer::office::remove_printer_from_office('Star Office', $printer, $queue) && - printer::office::remove_printer_from_office('OpenOffice.Org', $printer, $queue) && - printer::gimp::removeprinterfrom($printer, $queue); -} - -sub removelocalprintersfromapplications { - my ($printer) = @_; - setcupslink($printer); - printer::office::remove_local_printers_from_office('Star Office', $printer); - printer::office::remove_local_printers_from_office('OpenOffice.Org', $printer); - printer::gimp::removelocalprintersfrom($printer); + return if (! -f "$::prefix/etc/sane.d/dll.conf"); + return if member($backend, + chomp_(cat_("$::prefix/etc/sane.d/dll.conf"))); + eval { append_to_file("$::prefix/etc/sane.d/dll.conf", + "$backend\n") } or + die "can not write SANE config in /etc/sane.d/dll.conf: $!"; } sub setcupslink { diff --git a/perl-install/printer/office.pm b/perl-install/printer/office.pm deleted file mode 100644 index 4a6ae02b5..000000000 --- a/perl-install/printer/office.pm +++ /dev/null @@ -1,375 +0,0 @@ -package printer::office; - -use strict; -use common; -use run_program; -use printer::data; -use printer::common; -use printer::cups; - -# ------------------------------------------------------------------ -# Star Office/OpenOffice.org -# ------------------------------------------------------------------ - -# OpenOffice.org stuff applies only for Star Office 6.x now, as our -# OpenOffice.org is patched for native CUPS support - -our $suites = { - 'OpenOffice.Org' => { - 'make' => \&makeopenofficeprinterentry, - 'remove' => \&removeopenofficeprinterentry, - 'file_name' => '^(.*)/share/psprint/psprint.conf$', - 'param' => ["Generic Printer", "Command="], - 'perl' => '/usr/bin/perl -p -e "s=/euro /unused=/Euro /unused=" | /usr/bin/', - 'files' => ["/usr/lib/office6*/share/psprint/psprint.conf", - "/usr/local/lib/office6*/share/psprint/psprint.conf", - "/usr/local/office6*/share/psprint/psprint.conf", - "/opt/office6*/share/psprint/psprint.conf"], - }, - 'Star Office' => { - 'make' => \&makestarofficeprinterentry, - 'remove' => \&removestarofficeprinterentry, - 'file_name' => '^(.*)/share/xp3/Xpdefaults$', - 'param' => ["ports", "default_queue="], - 'perl' => '/usr/bin/perl -p -e "s=16#80 /euro=16#80 /Euro=" | /usr/bin/', - 'files' => ["/usr/lib/*/share/xp3/Xpdefaults", - "/usr/local/lib/*/share/xp3/Xpdefaults", - "/usr/local/*/share/xp3/Xpdefaults", - "/opt/*/share/xp3/Xpdefaults"], - } -}; - -sub configureoffice { - my ($suite, $printer) = @_; - # Do we have Star Office installed? - my $configfilename = find_config_file($suite); - return 1 unless $configfilename; - my $configprefix = $1 if $configfilename =~ m!$suites->{$suite}{file_name}!; - # Load Star Office printer config file - my $configfilecontent = cat_("$::prefix$configfilename"); - # Update remote CUPS queues - if (0 && $printer->{SPOOLER} eq "cups" && - (-x "$::prefix/usr/bin/curl" || -x "$::prefix/usr/bin/wget")) { - my @printerlist = printer::cups::get_remote_queues(); - foreach my $listentry (@printerlist) { - next unless $listentry =~ /^([^\|]+)\|([^\|]+)$/; - my $queue = $1; - my $server = $2; - if (-x "$::prefix/usr/bin/wget") { - eval(run_program::rooted( - $::prefix, "/usr/bin/wget", "-O", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$queue.ppd")); - } else { - eval(run_program::rooted( - $::prefix, "/usr/bin/curl", "-o", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$queue.ppd")); - } - if (-r "$::prefix/etc/foomatic/$queue.ppd") { - $configfilecontent = - $suites->{$suite}{make}($printer, $queue, - $configprefix, - $configfilecontent); - } - } - } - # Update local printer queues - foreach my $queue (keys(%{$printer->{configured}})) { - # Check if we have a PPD file - if (! -r "$::prefix/etc/foomatic/$queue.ppd") { - if (-r "$::prefix/etc/cups/ppd/$queue.ppd") { - # If we have a PPD file in the CUPS config dir, link to it - run_program::rooted($::prefix, - "ln", "-sf", - "/etc/cups/ppd/$queue.ppd", - "/etc/foomatic/$queue.ppd"); - } elsif (-r "$::prefix/usr/share/postscript/ppd/$queue.ppd") { - # Check PPD directory of GPR, too - run_program::rooted($::prefix, - "ln", "-sf", - "/usr/share/postscript/ppd/$queue.ppd", - "/etc/foomatic/$queue.ppd"); - } else { - # No PPD file at all? We cannot set up this printer - next; - } - } - $configfilecontent = - $suites->{$suite}{make}($printer, $queue, $configprefix, - $configfilecontent); - } - # Patch PostScript output to print Euro symbol correctly also for - # the "Generic Printer" - my @parameters = @{$suites->{$suite}{param}}; - $configfilecontent = removeentry($parameters[0], $parameters[1], - $configfilecontent); - $configfilecontent = - addentry($parameters[0], - $parameters[1] . $suites->{$suite}{perl} . - $spoolers{$printer->{SPOOLER}}{print_gui}, - $configfilecontent); - # Write back Star Office configuration file - return eval { output("$::prefix$configfilename", $configfilecontent) }; -} - -sub add_cups_remote_to_office { - my ($suite, $printer, $queue) = @_; - # Do we have Star Office installed? - my $configfilename = find_config_file($suite); - return 1 unless $configfilename; - my $configprefix = $1 if $configfilename =~ m!$suites->{$suite}{file_name}!; - # Load Star Office printer config file - my $configfilecontent = cat_("$::prefix$configfilename"); - # Update remote CUPS queues - if ($printer->{SPOOLER} eq "cups" && - (-x "$::prefix/usr/bin/curl" || -x "$::prefix/usr/bin/wget")) { - my @printerlist = printer::cups::get_remote_queues(); - foreach my $listentry (@printerlist) { - next unless $listentry =~ /^([^\|]+)\|([^\|]+)$/; - my $q = $1; - next if $q ne $queue; - my $server = $2; - # Remove server name from queue name - $q =~ s/^([^@]*)@.*$/$1/; - if (-x "$::prefix/usr/bin/wget") { - eval(run_program::rooted( - $::prefix, "/usr/bin/wget", "-O", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$q.ppd")); - } else { - eval(run_program::rooted( - $::prefix, "/usr/bin/curl", "-o", - "/etc/foomatic/$queue.ppd", - "http://$server:631/printers/$q.ppd")); - } - # Does the file exist and is it not an error message? - if (-r "$::prefix/etc/foomatic/$queue.ppd" && - cat_("$::prefix/etc/foomatic/$queue.ppd") =~ - /^\*PPD-Adobe/) { - $configfilecontent = - $suites->{$suite}{make}($printer, $queue, - $configprefix, - $configfilecontent); - } else { - unlink "$::prefix/etc/foomatic/$queue.ppd"; - return 0; - } - last if $suite eq 'Star Office'; - } - } - # Write back Star Office configuration file - return eval { output("$::prefix$configfilename", $configfilecontent) }; -} - -sub remove_printer_from_office { - my ($suite, $printer, $queue) = @_; - # Do we have Star Office installed? - my $configfilename = find_config_file($suite); - return 1 unless $configfilename; - my $configprefix = $1 if $configfilename =~ m!$suites->{$suite}{file_name}!; - # Load Star Office printer config file - my $configfilecontent = cat_("$::prefix$configfilename"); - # Remove the printer entry - $configfilecontent = - $suites->{$suite}{remove}($printer, $queue, $configprefix, - $configfilecontent); - # Write back Star Office configuration file - return eval { output("$::prefix$configfilename", $configfilecontent) }; -} - -sub remove_local_printers_from_office { - my ($suite, $printer) = @_; - # Do we have Star Office installed? - my $configfilename = find_config_file($suite); - return 1 unless $configfilename; - my $configprefix = $1 if $configfilename =~ m!$suites->{$suite}{file_name}!; - # Load Star Office printer config file - my $configfilecontent = cat_("$::prefix$configfilename"); - # Remove the printer entries - foreach my $queue (keys(%{$printer->{configured}})) { - $configfilecontent = - $suites->{$suite}{remove}($printer, $queue, $configprefix, - $configfilecontent); - } - # Write back Star Office configuration file - return eval { output("$::prefix$configfilename", $configfilecontent) }; -} - - -sub makestarofficeprinterentry { - my ($printer, $queue, $configprefix, $configfile) = @_; - # Set default printer - if ($queue eq $printer->{DEFAULT}) { - $configfile = removeentry("windows", "device=", $configfile); - $configfile = addentry("windows", - "device=$queue,$queue PostScript,$queue", - $configfile); - } - # Make an entry in the "[devices]" section - $configfile = removeentry("devices", "$queue=", $configfile); - $configfile = addentry("devices", - "$queue=$queue PostScript,$queue", - $configfile); - # Make an entry in the "[ports]" section - # The "perl" command patches the PostScript output to print the Euro - # symbol correctly. - $configfile = removeentry("ports", "$queue=", $configfile); - $configfile = addentry("ports", - qq($queue=/usr/bin/perl -p -e "s=16#80 /euro=16#80 /Euro=" | /usr/bin/) . $spoolers{$printer->{SPOOLER}}{print_command} . " -P $queue", - $configfile); - # Make printer's section - $configfile = addsection("$queue,PostScript,$queue", $configfile); - # Load PPD file - my $ppd = cat_("$::prefix/etc/foomatic/$queue.ppd"); - # Set the PostScript level - my $pslevel; - if ($ppd =~ /^\s*\*LanguageLevel:\s*\"?([^\s\"]+)\"?\s*$/m) { - $pslevel = $1; - $pslevel = "2" if $pslevel eq "3"; - } else { $pslevel = "2" } - $configfile = removeentry("$queue.PostScript.$queue", - "Level=", $configfile); - $configfile = addentry("$queue.PostScript.$queue", - "Level=$pslevel", $configfile); - # Set Color/BW - my $color = $ppd =~ /^\s*\*ColorDevice:\s*\"?([Tt]rue)\"?\s*$/m ? "1" : "0"; - $configfile = removeentry("$queue.PostScript.$queue", "BitmapColor=", $configfile); - $configfile = addentry("$queue.PostScript.$queue", "BitmapColor=$color", $configfile); - # Set the default paper size - if ($ppd =~ /^\s*\*DefaultPageSize:\s*(\S+)\s*$/m) { - my $papersize = $1; - $configfile = removeentry("$queue.PostScript.$queue", "PageSize=", $configfile); - $configfile = removeentry("$queue.PostScript.$queue", "PPD_PageSize=", $configfile); - $configfile = addentry("$queue.PostScript.$queue", "PageSize=$papersize", $configfile); - $configfile = addentry("$queue.PostScript.$queue", "PPD_PageSize=$papersize", $configfile); - } - # Link the PPD file - run_program::rooted($::prefix, - "ln", "-sf", "/etc/foomatic/$queue.ppd", - "$configprefix/share/xp3/ppds/$queue.PS"); - return $configfile; -} - -sub makeopenofficeprinterentry { - my ($printer, $queue, $configprefix, $configfile) = @_; - # Make printer's section - $configfile = addsection($queue, $configfile); - # Load PPD file - my $ppd = cat_("$::prefix/etc/foomatic/$queue.ppd"); - # "PPD_PageSize" line - if ($ppd =~ /^\s*\*DefaultPageSize:\s*(\S+)\s*$/m) { - my $papersize = $1; - $configfile = removeentry($queue, - "PPD_PageSize=", $configfile); - $configfile = addentry($queue, - "PPD_PageSize=$papersize", $configfile); - } - # "Command" line - # The "perl" command patches the PostScript output to print the Euro - # symbol correctly. - $configfile = removeentry($queue, "Command=", $configfile); - $configfile = addentry($queue, - qq(Command=/usr/bin/perl -p -e "s=/euro /unused=/Euro /unused=" | /usr/bin/) . $spoolers{$printer->{SPOOLER}}{print_command} . " -P $queue", - $configfile); - # "Comment" line - $configfile = removeentry($queue, "Comment=", $configfile); - if ($printer->{configured}{$queue} && - $printer->{configured}{$queue}{queuedata}{desc}) { - $configfile = addentry( - $queue, - "Comment=$printer->{configured}{$queue}{queuedata}{desc}", - $configfile); - } else { - $configfile = addentry($queue, - "Comment=", - $configfile); - } - # "Location" line - $configfile = removeentry($queue, "Location=", $configfile); - if ($printer->{configured}{$queue} && - $printer->{configured}{$queue}{queuedata}{loc}) { - $configfile = addentry( - $queue, - "Location=$printer->{configured}{$queue}{queuedata}{loc}", - $configfile); - } else { - $configfile = addentry($queue, "Location=", $configfile); - } - # "DefaultPrinter" line - $configfile = removeentry($queue, "DefaultPrinter=", $configfile); - my $default = "0"; - if ($queue eq $printer->{DEFAULT}) { - $default = "1"; - # "DefaultPrinter=0" for the "Generic Printer" - $configfile = removeentry("Generic Printer", "DefaultPrinter=", - $configfile); - $configfile = addentry("Generic Printer", - "DefaultPrinter=0", - $configfile); - } - $configfile = addentry($queue, "DefaultPrinter=$default", $configfile); - # "Printer" line - $configfile = removeentry($queue, "Printer=", $configfile); - $configfile = addentry($queue, "Printer=$queue/$queue", $configfile); - # Link the PPD file - run_program::rooted($::prefix, - "ln", "-sf", "/etc/foomatic/$queue.ppd", - "$configprefix/share/psprint/driver/$queue.PS"); - return $configfile; -} - -sub removestarofficeprinterentry { - my ($_printer, $queue, $configprefix, $configfile) = @_; - # Remove default printer entry - $configfile = removeentry("windows", "device=$queue,", $configfile); - # Remove entry in the "[devices]" section - $configfile = removeentry("devices", "$queue=", $configfile); - # Remove entry in the "[ports]" section - $configfile = removeentry("ports", "$queue=", $configfile); - # Remove "[$queue,PostScript,$queue]" section - $configfile = removesection("$queue,PostScript,$queue", $configfile); - # Remove Link of PPD file - run_program::rooted($::prefix, - "rm", "-f", - "$configprefix/share/xp3/ppds/$queue.PS"); - return $configfile; -} - -sub removeopenofficeprinterentry { - my ($_printer, $queue, $configprefix, $configfile) = @_; - # Remove printer's section - $configfile = removesection($queue, $configfile); - # Remove Link of PPD file - run_program::rooted($::prefix, - "rm", "-f", - "$configprefix/share/psprint/driver/$queue.PS"); - return $configfile; -} - -sub find_config_file { - my ($suite) = @_; - my $configfilenames = $suites->{$suite}{files}; - foreach my $configfilename (@$configfilenames) { - local *F; - if (open F, "ls -r $::prefix$configfilename 2> /dev/null |") { - my $filename = <F>; - close F; - if ($filename) { - $filename =~ s/^$::prefix// if $::prefix; - # Work around a bug in the "ls" of "busybox". During - # installation it outputs the mask given on the command line - # instead of nothing when the mask does not match any file - next if $filename =~ /\*/; - return $filename; - } - } - } - return ""; -} - -sub writesofficeconfigfile { - my ($file, $filecontent) = @_; - eval { output("$::prefix$file", $filecontent) }; -} - diff --git a/perl-install/printer/printerdrake.pm b/perl-install/printer/printerdrake.pm index 0eb075250..117f74140 100644 --- a/perl-install/printer/printerdrake.pm +++ b/perl-install/printer/printerdrake.pm @@ -14,23 +14,26 @@ use printer::detect; use printer::default; use printer::data; -my $companyname = "Mandrakesoft"; -my $distroname = "Mandrakelinux"; -my $shortdistroname = "Mandrakelinux"; -my $domainname = "mandrakesoft.com"; +# Overtake translation for "(recommended)" from printer/main.pm +my $recstr = $printer::main::recstr; +my $precstr = $printer::main::precstr; +my $sprecstr = $printer::main::sprecstr; -my $hp1000fwtext = N("The HP LaserJet 1000 needs its firmware to be uploaded after being turned on. Download the Windows driver package from the HP web site (the firmware on the printer's CD does not work) and extract the firmware file from it by uncompresing the self-extracting '.exe' file with the 'unzip' utility and searching for the 'sihp1000.img' file. Copy this file into the '/etc/printer' directory. There it will be found by the automatic uploader script and uploaded whenever the printer is connected and turned on. +my $shortdistroname = "Mandriva Linux"; + +my $hp1000fwtext = N("The HP LaserJet 1000 needs its firmware to be uploaded after being turned on. Download the Windows driver package from the HP web site (the firmware on the printer's CD does not work) and extract the firmware file from it by decompressing the self-extracting '.exe' file with the 'unzip' utility and searching for the 'sihp1000.img' file. Copy this file into the '/etc/printer' directory. There it will be found by the automatic uploader script and uploaded whenever the printer is connected and turned on. "); 1; sub config_cups { - my ($printer, $in, $upNetwork) = @_; + my ($printer, $security, $in, $upNetwork) = @_; local $::isWizard = 0; + local $::isEmbedded = 0; # Check whether the network functionality is configured and # running - if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; + if (!check_network($printer, $in, $upNetwork, 0)) { return 0 } #$in->set_help('configureRemoteCUPSServer') if $::isInstall; #- hack to handle cups remote server printing, @@ -42,6 +45,9 @@ sub config_cups { @{$printer->{cupsconfig}{cupsd_conf}} = printer::main::read_cupsd_conf(); printer::main::read_cups_config($printer); + # Read client.conf file + my ($daemonless_cups, $remote_cups_server) = + printer::main::read_client_conf(); # Read state of japanese text printing mode my $jap_textmode = printer::main::get_jap_textmode(); # Read state for auto-correction of cupsd.conf @@ -56,8 +62,7 @@ sub config_cups { my $browsepoll = printer::main::makebrowsepolllist($printer); my $buttonclicked; #- Show dialog - if ($in->ask_from_ - ( + if ($in->ask_from_( { title => N("CUPS printer configuration"), messages => N("Here you can choose whether the printers connected to this machine should be accessible by remote machines and by which remote machines.") . @@ -65,9 +70,15 @@ sub config_cups { }, [ { text => N("The printers on this machine are available to other computers"), type => 'bool', - val => \$printer->{cupsconfig}{localprintersshared} }, + val => \$printer->{cupsconfig}{localprintersshared}, + disabled => sub { + $daemonless_cups; + } }, { text => N("Automatically find available printers on remote machines"), type => 'bool', - val => \$printer->{cupsconfig}{remotebroadcastsaccepted} }, + val => \$printer->{cupsconfig}{remotebroadcastsaccepted}, + disabled => sub { + $daemonless_cups; + } }, { val => N("Printer sharing on hosts/networks: ") . ($printer->{cupsconfig}{customsharingsetup} ? N("Custom configuration") : @@ -82,8 +93,9 @@ sub config_cups { 1; }, disabled => sub { - (!$printer->{cupsconfig}{localprintersshared} && - !$printer->{cupsconfig}{remotebroadcastsaccepted}); + $daemonless_cups || + !$printer->{cupsconfig}{localprintersshared} && + !$printer->{cupsconfig}{remotebroadcastsaccepted}; } }, { val => N("Additional CUPS servers: ") . ($#{$browsepoll->{list}} >= 0 ? @@ -96,11 +108,17 @@ sub config_cups { clicked_may_quit => sub { $buttonclicked = "browsepoll"; 1; + }, + disabled => sub { + $daemonless_cups; } }, { text => N("Japanese text printing mode"), - help => N("Turning on this allows to print plain text files in japanese language. Only use this function if you really want to print text in japanese, if it is activated you cannot print accentuated characters in latin fonts any more and you will not be able to adjust the margins, the character size, etc. This setting only affects printers defined on this machine. If you want to print japanese text on a printer set up on a remote machine, you have to activate this function on that remote machine."), + help => N("Turning on this allows to print plain text files in Japanese language. Only use this function if you really want to print text in Japanese, if it is activated you cannot print accentuated characters in latin fonts any more and you will not be able to adjust the margins, the character size, etc. This setting only affects printers defined on this machine. If you want to print Japanese text on a printer set up on a remote machine, you have to activate this function on that remote machine."), type => 'bool', - val => \$jap_textmode }, + val => \$jap_textmode, + disabled => sub { + $daemonless_cups; + } }, if_($printer->{expert}, { text => N("Automatic correction of CUPS configuration"), type => 'bool', @@ -113,7 +131,22 @@ sub config_cups { - when printer information is broadcasted, it does not contain \"localhost\" as the server name. If some of these measures lead to problems for you, turn this option off, but then you have to take care of these points."), - val => \$printer->{cupsconfig}{autocorrection} }), + val => \$printer->{cupsconfig}{autocorrection}, + disabled => sub { + $daemonless_cups; + } }), + { val => N("Remote CUPS server and no local CUPS daemon") . + ": " . + ($daemonless_cups ? + N("On") . "; " . N("Server") . ": " . + $remote_cups_server : + N("Off")), + help => N("In this mode the local CUPS daemon will be stopped and all printing requests go directly to the server specified below. Note that it is not possible to define local print queues then and if the specified server is down it cannot be printed at all from this machine."), + type => 'button', + clicked_may_quit => sub { + $buttonclicked = "daemonlesscups"; + 1; + } }, ] ) ) { @@ -124,8 +157,7 @@ If some of these measures lead to problems for you, turn this option off, but th while (!$subdone) { # Entry should be edited when double-clicked $buttonclicked = "edit"; - $in->ask_from_ - ( + $in->ask_from_( { title => N("Sharing of local printers"), messages => N("These are the machines and networks on which the locally connected printer(s) should be available:"), ok => "", @@ -151,7 +183,7 @@ If some of these measures lead to problems for you, turn this option off, but th 1; }, disabled => sub { - return ($#{$sharehosts->{list}} < 0); + return $#{$sharehosts->{list}} < 0; } }, { val => N("Remove selected host/network"), type => 'button', @@ -160,7 +192,7 @@ If some of these measures lead to problems for you, turn this option off, but th 1; }, disabled => sub { - return ($#{$sharehosts->{list}} < 0); + return $#{$sharehosts->{list}} < 0; } }, { val => N("Done"), type => 'button', @@ -200,8 +232,7 @@ If some of these measures lead to problems for you, turn this option off, but th my $oldaddress = ($buttonclicked eq "edit" ? $sharehosts->{invhash}{$choice} : ""); - if ($in->ask_from_ - ( + if ($in->ask_from_( { title => N("Sharing of local printers"), messages => N("Choose the network or host on which the local printers should be made available:"), callbacks => { @@ -211,7 +242,7 @@ If some of these measures lead to problems for you, turn this option off, but th $ip =~ /^\s*$/) { $in->ask_warn(N("Error"), N("Host/network IP address missing.")); - return (1,1); + return 1, 1; } if ($hostchoice eq N("IP address of host/network:") && @@ -226,7 +257,7 @@ N("Examples for correct IPs:\n") . "192.168.100.0/24\n" . "192.168.100.0/255.255.255.0\n" ); - return (1,1); + return 1, 1; } if ($hostchoice eq $menu[0]) { $address = '@LOCAL'; @@ -246,9 +277,9 @@ N("Examples for correct IPs:\n") . N("This host/network is already in the list, it cannot be added again.\n")); if ($hostchoice eq N("IP address of host/network:")) { - return (1,1); + return 1, 1; } else { - return (1,0); + return 1, 0; } } return 0; @@ -311,8 +342,7 @@ N("Examples for correct IPs:\n") . while (!$subdone) { # Entry should be edited when double-clicked $buttonclicked = "edit"; - $in->ask_from_ - ( + $in->ask_from_( { title => N("Accessing printers on remote CUPS servers"), messages => N("Add here the CUPS servers whose printers you want to use. You only need to do this if the servers do not broadcast their printer information into the local network."), ok => "", @@ -338,7 +368,7 @@ N("Examples for correct IPs:\n") . 1; }, disabled => sub { - return ($#{$browsepoll->{list}} < 0); + return $#{$browsepoll->{list}} < 0; } }, { val => N("Remove selected server"), type => 'button', @@ -347,7 +377,7 @@ N("Examples for correct IPs:\n") . 1; }, disabled => sub { - return ($#{$browsepoll->{list}} < 0); + return $#{$browsepoll->{list}} < 0; } }, { val => N("Done"), type => 'button', @@ -382,8 +412,7 @@ N("Examples for correct IPs:\n") . my $oldaddress = ($buttonclicked eq "edit" ? $browsepoll->{invhash}{$choice} : ""); - if ($in->ask_from_ - ( + if ($in->ask_from_( { title => N("Accessing printers on remote CUPS servers"), messages => N("Enter IP address and port of the host whose printers you want to use.") . ' ' . N("If no port is given, 631 will be taken as default."), @@ -391,7 +420,7 @@ N("Examples for correct IPs:\n") . complete => sub { if ($ip =~ /^\s*$/) { $in->ask_warn(N("Error"), N("Server IP missing!")); - return (1,0); + return 1, 0; } if ($ip !~ /^\s*(\d+\.\d+\.\d+\.\d+)\s*$/) { @@ -401,7 +430,7 @@ N("Examples for correct IPs:\n") . "192.168.100.194\n" . "10.0.0.2\n" ); - return (1,0); + return 1, 0; } else { $ip = $1; } @@ -409,7 +438,7 @@ N("Examples for correct IPs:\n") . $port = '631'; } elsif ($port !~ /^\s*(\d+)\s*$/) { $in->ask_warn(N("Error"), N("The port number should be an integer!")); - return (1,1); + return 1, 1; } else { $port = $1; } @@ -420,7 +449,7 @@ N("Examples for correct IPs:\n") . @{$printer->{cupsconfig}{BrowsePoll}})) { $in->ask_warn(N("Error"), N("This server is already in the list, it cannot be added again.\n")); - return (1,0); + return 1, 0; } return 0; }, @@ -460,6 +489,53 @@ N("Examples for correct IPs:\n") . printer::main::makebrowsepolllist($printer); } } + } elsif ($buttonclicked eq "daemonlesscups") { + my ($modechoice, $rserver); + if ($daemonless_cups) { + $modechoice = N("On, Name or IP of remote server:"); + $rserver = $remote_cups_server; + } else { + $modechoice = N("Off"); + } + # Show the dialog + #my $address; + #my $oldaddress = + # ($buttonclicked eq "edit" ? + # $sharehosts->{invhash}{$choice} : ""); + if ($in->ask_from_ + ({ title => N("Remote CUPS server and no local CUPS daemon"), + messages => N("In this mode the local CUPS daemon will be stopped and all printing requests go directly to the server specified below. Note that it is not possible to define local print queues then and if the specified server is down it cannot be printed at all from this machine."), + callbacks => { + complete => sub { + if ($modechoice eq + N("On, Name or IP of remote server:") && + $rserver =~ /^\s*$/) { + + $in->ask_warn(N("Error"), N("CUPS server name or IP address missing.")); + return 1, 1; + } + return 0; + }, + }, + }, + # Show the widgets + [ { val => \$modechoice, format => \&translate, + type => 'list', + sort => 0, + list => [ N("Off"), + N("On, Name or IP of remote server:") ] }, + { val => \$rserver, + disabled => sub { + $modechoice ne + N("On, Name or IP of remote server:"); + } }, + ], + )) { + # OK was clicked, update the data + $daemonless_cups = + $modechoice eq N("On, Name or IP of remote server:"); + $remote_cups_server = $rserver; + } } else { # We have clicked "OK" $retvalue = 1; @@ -467,18 +543,52 @@ N("Examples for correct IPs:\n") . # Write state for auto-correction of cupsd.conf if ($oldautocorr != $printer->{cupsconfig}{autocorrection}) { - printer::main::set_cups_autoconf - ($printer->{cupsconfig}{autocorrection}); + printer::main::set_cups_autoconf( + $printer->{cupsconfig}{autocorrection}); } # Write state of japanese text printing mode printer::main::set_jap_textmode($jap_textmode); + # Switch state of daemon-less CUPS mode and write + # client.conf + if ($daemonless_cups && $printer->{SPOOLER} ne "rcups" || + !$daemonless_cups && $printer->{SPOOLER} eq "rcups") { + my $oldspooler = $printer->{SPOOLER}; + $printer->{SPOOLER} = ($daemonless_cups ? + "rcups" : "cups"); + if (install_spooler($printer, $security, $in->do_pkgs, $in, $upNetwork, 1)) { + printer::default::set_spooler($printer); + printer::main::write_client_conf + ($daemonless_cups, $remote_cups_server); + $printer->{remote_cups_server} = + $remote_cups_server; + # Get the queues of this spooler + my $w = $in->wait_message + (N("Printerdrake"), + N("Reading printer data...")); + printer::main::read_configured_queues($printer); + undef $w; + # Re-read the printer database next time + %printer::main::thedb = (); + assure_default_printer_is_set($printer, $in); + } else { + $printer->{SPOOLER} = $oldspooler; + } + } elsif ($daemonless_cups) { + printer::main::write_client_conf($daemonless_cups, + $remote_cups_server); + $printer->{remote_cups_server} = $remote_cups_server; + } else { + undef $printer->{remote_cups_server}; + } # Write cupsd.conf printer::main::write_cups_config($printer); my $w = $in->wait_message(N("Printerdrake"), N("Restarting CUPS...")); - printer::main::write_cupsd_conf - (@{$printer->{cupsconfig}{cupsd_conf}}); + printer::main::write_cupsd_conf( + @{$printer->{cupsconfig}{cupsd_conf}}); + #- restart cups after updating configuration. + printer::main::SIGHUP_daemon($printer->{SPOOLER}); undef $w; } } else { @@ -490,6 +600,137 @@ N("Examples for correct IPs:\n") . return $retvalue; } +sub config_auto_admin { + my ($printer, $in) = @_; + + local $::isWizard = 0; + local $::isEmbedded = 0; + + # Read current configuration + printer::main::get_auto_admin($printer); + + # Configuration dialog + my $waitforgui = + N("Allow pop-up windows, printer setup and package installation may be canceled"); + my $nogui = + N("No pop-up windows, printer setup and package installation cannot be canceled"); + my $autoqueuesetupmode = + ($printer->{autoqueuesetupgui} && -x "$::prefix/usr/X11R6/bin/X") ? + $waitforgui : $nogui; + if ($in->ask_from_ + ({ + title => N("Printer auto administration"), + messages => N("Here you can configure printer administration tasks which should be done automatically."), + }, + [ + { val => N("Do automatic configuration of new printers") }, +# { text => N("when a USB printer is connected and turned on"), +# type => 'bool', +# val => \$printer->{autoqueuesetuponnewprinter} }, + { text => N("when Printerdrake is started"), + type => 'bool', + val => \$printer->{autoqueuesetuponstart} }, + if_(-x "$::prefix/usr/X11R6/bin/X", + { val => N("Mode for automatic printer setup:") }), + { val => \$autoqueuesetupmode, + list => [ if_(-x "$::prefix/usr/X11R6/bin/X", $waitforgui), + $nogui ], + not_edit => 1, sort => 0, + type => 'list' }, +# { val => N("Re-enable disabled printers") }, +# { text => N("when a USB printer is connected and turned on"), +# type => 'bool', +# val => \$printer->{enablequeuesonnewprinter} }, +# { text => N("when the printing system is started"), +# type => 'bool', +# val => \$printer->{enablequeuesonspoolerstart} }, + ] + ) + ) { + # Auto queue setup mode + $printer->{autoqueuesetupgui} = + ($autoqueuesetupmode eq $waitforgui ? 1 : 0); + # Save new settings + printer::main::set_auto_admin($printer); + return 1; + } else { + # Reset original settings + printer::main::get_auto_admin($printer); + return 0; + } +} + +sub config_backend_error_handling { + my ($printer, $in) = @_; + + local $::isEmbedded = 0; + + # Get currentconfiguration + my $dontdisable = $printer->{currentqueue}{dd}; + my $infiniteretries = ($printer->{currentqueue}{att} == 0); + my $retries = ($printer->{currentqueue}{att} != 0 ? + $printer->{currentqueue}{att} : 1); + my $delay = $printer->{currentqueue}{delay}; + my $queue = $printer->{currentqueue}{queue}; + + # Configuration dialog + if ($in->ask_from_ + ({ + title => + N("Communication error handling for the printer \"%s\"", + $queue), + messages => N("Here you can configure how errors during the communication between your computer and the printer \"%s\" should be handled (for example if the printer is not turned on).", $queue), + callbacks => { + complete => sub { + unless (($retries =~ /^[0-9]+$/) && ($retries > 0)) { + $in->ask_warn(N("Error"), N("The number of retries should be an integer number of at least 1!")); + return 1, 0; + } + unless ($delay =~ /^[0-9]+$/) { + $in->ask_warn(N("Error"), N("The delay between retries should be a positive integer number!")); + return 1, 1; + } + return 0; + }, + changed => sub { + return 0; + } + } + }, + [ + { text => N("Do not disable the printer"), + type => 'bool', + val => \$dontdisable }, + { text => N("Retry infinitely often"), + type => 'bool', + val => \$infiniteretries }, + { val => N("Number of retries") }, + { val => \$retries, + disabled => sub { + $infiniteretries; + } }, + { val => N("Delay between retries (in sec)") }, + { val => \$delay, + disabled => sub { + ($retries eq 1) && !$infiniteretries; + } }, + ] + ) + ) { + # Apply new settings + $dontdisable = "0" if $dontdisable eq ""; + $retries = "0" if $retries eq ""; + $delay = "0" if $delay eq ""; + $printer->{currentqueue}{dd} = $dontdisable; + $printer->{currentqueue}{att} = + ($infiniteretries ? "0" : $retries); + $printer->{currentqueue}{delay} = $delay; + return 1; + } else { + return 0; + } +} + sub choose_printer_type { my ($printer, $in, $upNetwork) = @_; my $havelocalnetworks = check_network($printer, $in, $upNetwork, 1) && @@ -497,15 +738,17 @@ sub choose_printer_type { $printer->{str_type} = $printer_type_inv{$printer->{TYPE}}; my $autodetect = 0; $autodetect = 1 if $printer->{AUTODETECT}; + my $timeout = 4000; + $timeout = $printer->{TIMEOUT} if defined($printer->{TIMEOUT}); my @printertypes = printer::main::printer_type($printer); $in->ask_from_( { title => N("Select Printer Connection"), messages => N("How is the printer connected?") . if_($printer->{SPOOLER} eq "cups", - N(" + N(" Printers on remote CUPS servers do not need to be configured here; these printers will be automatically detected.")) . - if_(!$havelocalnetworks, - N("\nWARNING: No local network connection active, remote printers can neither be detected nor tested!")), + if_(!$havelocalnetworks, + N("\nWARNING: No local network connection active, remote printers can neither be detected nor tested!")), }, [ { val => \$printer->{str_type}, @@ -513,9 +756,31 @@ Printers on remote CUPS servers do not need to be configured here; these printer not_edit => 1, sort => 0, type => 'list' }, { text => N("Printer auto-detection (Local, TCP/Socket, SMB printers, and device URI)"), - type => 'bool', val => \$autodetect } - ] + type => 'bool', val => \$autodetect }, + { val => N("Modify timeout for network printer auto-detection") , + type => 'button', + clicked_may_quit => sub { + local $::isWizard = 0; + $in->ask_from_ + ({ title => N("Select Printer Connection"), + messages => N("Enter the timeout for network printer auto-detection (in msec) here. ") . + "\n\n" . + N("The longer you choose the timeout, the more reliable the detections of network printers will be, but the scan can take longer then, especially if there are many machines with local firewalls in the network. "), + callbacks => { + complete => sub { + if ($timeout !~ /^[0-9]+$/) { + $in->ask_warn(N("Error"), N("The timeout must be a positive integer number!")); + return 1, 0; + } + return 0; + } + } }, + [ { val => \$timeout } ]); + 0; + } }, + ], ) or return 0; + $printer->{TIMEOUT} = $timeout; $printer->{AUTODETECT} = $autodetect ? 1 : undef; $printer->{TYPE} = $printer_type{$printer->{str_type}}; 1; @@ -540,18 +805,21 @@ sub setup_printer_connection { sub first_time_dialog { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; return 1 if printer::default::get_spooler() || $::isInstall; my $w = $in->wait_message(N("Printerdrake"), N("Checking your system...")); - # Auto-detect local printers + # Auto-detect local printers my @autodetected = printer::detect::local_detect(); + $printer->{AUTODETECTEDLOCALPRINTERSFIRSTTIME} = \@autodetected if @autodetected; my $msg = do { if (@autodetected) { my @printerlist = map { my $entry = $_->{val}{DESCRIPTION}; - $entry ||= "$_->{val}{MANUFACTURER} $_->{val}{MODEL}"; + $entry = "$_->{val}{MANUFACTURER} $_->{val}{MODEL}" + if (length($entry) < 5) or ($entry !~ /\S+\s+\S+/); if_($entry, " - $entry\n"); } @autodetected; my $unknown_printers = @autodetected - @printerlist; @@ -582,11 +850,11 @@ sub first_time_dialog { # Do we have a local network? - # If networking is configured, start it, but don't ask the user to + # If networking is configured, start it, but do not ask the user to # configure networking. my $havelocalnetworks = check_network($printer, $in, $upNetwork, 1) && - printer::detect::getIPsInLocalNetworks() != (); + printer::detect::getIPsInLocalNetworks() != (); # Finish building the dialog text my $question = ($havelocalnetworks ? @@ -602,14 +870,46 @@ sub first_time_dialog { # Close wait message undef $w; - # Show dialog - - my $do_it = N("Yes"); - my $quit = N("Quit"); - my @choices = ($do_it, $quit); - my $choice = $in->ask_from_list(N("Printerdrake"), $dialogtext, - \@choices, $quit); - return ($choice eq $do_it); + while (1) { + # Show dialog + my $donotsetupagain = 0; + my $choice; + if ($::autoqueue) { + $choice = $in->ask_from_ + ({ + title => N("Printerdrake"), + messages => $dialogtext, + cancel => N("Quit"), + ok => N("Yes") }, + [ { text => N("Do not setup printer automatically now, and never do it again"), + type => 'bool', + val => \$donotsetupagain } ] ); + + # Turn off auto queue setup if the user wishes it + turnoffautosetup($printer, $in) if $donotsetupagain; + + # Now, where the first-time dialog was displayed, all + # subsequent wait messages should be displayed, also if we + # are in GUI auto queue setup mode + undef $::autoqueue; + + return 0 if !$choice; + } else { + my $do_it = N("Yes"); + my $quit = N("Quit"); + my @choices = ($do_it, $quit); + $choice = $in->ask_from_list(N("Printerdrake"), $dialogtext, + \@choices, $quit); + return 0 if $choice ne $do_it; + } + + if ($havelocalnetworks && !@autodetected) { + return set_cups_daemon_mode($printer, $in); + } else { + $printer->{SPOOLER} = "cups"; + return 1; + } + } } sub configure_new_printers { @@ -619,27 +919,17 @@ sub configure_new_printers { # there is already a queue for them. If there is no queue for an # auto-detected printer, a queue gets set up non-interactively. - # Experts can have weird things as self-made CUPS backends, so do not - # automatically pollute the system with unwished queues in expert - # mode - return 1 if $printer->{expert}; + # Stop here if auto queue setup is not selected + return 1 if !($printer->{autoqueuesetuponstart} || $::autoqueue); # Wait message - my $w = $in->wait_message(N("Printerdrake"), - N("Searching for new printers...")); - - # When HPOJ is running, it blocks the printer ports on which it is - # configured, so we stop it here. If it is not installed or not - # configured, this command has no effect. - require services; - services::stop("hpoj"); + my $w = $::noX || $::autoqueue || + $in->wait_message(N("Printerdrake"), + N("Searching for new printers...")); # Auto-detect local printers my @autodetected = printer::detect::local_detect(); - - # We are ready with auto-detection, so we restart HPOJ here. If it - # is not installed or not configured, this command has no effect. - services::start("hpoj"); + $printer->{AUTODETECTEDPRINTERSNONINTERACTIVE} = \@autodetected if @autodetected; # No printer found? So no need of new queues. return 1 if !@autodetected; @@ -651,20 +941,66 @@ sub configure_new_printers { # Does the URI of this installed queue match one of the autodetected # printers? my $uri = $printer->{configured}{$queue}{queuedata}{connect}; - my $p = printer::main::autodetectionentry_for_uri - ($uri, @autodetected); + my $p = printer::main::autodetectionentry_for_uri( + $uri, @autodetected); if (defined($p)) { # Blacklist the port push(@blacklist, $p->{port}); } } + my %printerselectedlist; + if (!$::noX) { + my @widgets; + foreach my $p (@autodetected) { + if (!member($p->{port}, @blacklist)) { + my $entry = $p->{val}{DESCRIPTION}; + $entry = "$p->{val}{MANUFACTURER} $p->{val}{MODEL}" + if (length($entry) < 5) or ($entry !~ /\S+\s+\S+/); + $entry = N("Unknown model") if $entry !~ /\S/; + $entry = N("%s on %s", $entry, $p->{port}); + $printerselectedlist{$p->{port}} = 1; + push (@widgets, + { text => $entry, + type => 'bool', + val => \$printerselectedlist{$p->{port}} }); + } + } + # Do not show empty dialog + return 1 if $#widgets < 0; + my $morethanone = ($#widgets > 0); + # Add entry to turn off auto queue setup + my $donotsetupagain = 0; + push (@widgets, { val => "__________" }); + push (@widgets, { text => + N("Do not setup printer automatically again"), + type => 'bool', + val => \$donotsetupagain }); + undef $w; + if ($in->ask_from_ + ({ + title => ($morethanone ? + N("New printers found") : + N("New printer found")), + messages => ($morethanone ? + N("The following new printers were found and Printerdrake can automatically set them up for you. If you do not want to have all of them set up, unselect the ones which should be skipped, or click \"Cancel\" to set up none of them.\n") : + N("The following new printer was found and printerdrake can automatically set it up for you. If you do not want to have it set up, unselect it, or click \"Cancel\".\n")) . + N("Note that for certain printer models additional packages need to be installed. So keep your installation media handy.\n"), + }, + \@widgets )) { + # Turn off auto queue setup if the user wishes it + turnoffautosetup($printer, $in) if $donotsetupagain; + } else { + return 1; + } + } + # Now install queues for all auto-detected printers which have no queue # yet $printer->{noninteractive} = 1; # Suppress all interactive steps - my $configapps = 0; foreach my $p (@autodetected) { - if (!member($p->{port}, @blacklist)) { + if (!member($p->{port}, @blacklist) && + ($::noX || $printerselectedlist{$p->{port}})) { # Initialize some variables for queue setup $printer->{NEW} = 1; $printer->{TYPE} = "LOCAL"; @@ -677,55 +1013,34 @@ sub configure_new_printers { printer => "", driver => "", connect => "", + dd => 1, + att => 0, + delay => 30, spooler => $printer->{SPOOLER}, }; - # Generate a queue name from manufacturer and model - my $queue; - my $unknown; - if (!$p->{val}{MANUFACTURER} || !$p->{val}{MODEL} || - $p->{val}{MODEL} eq N("Unknown Model")) { - $queue = N("Printer"); - $unknown = 1; - } else { - my $make = $p->{val}{MANUFACTURER}; - if ($p->{val}{SKU}) { - $queue = $make . $p->{val}{SKU}; - } else { - $queue = $make . $p->{val}{MODEL}; - } - $queue =~ s/series//gi; - $queue =~ s/[\s\(\)\-,]//g; - $queue =~ s/^$make$make/$make/; - } - # Append a number if the queue name already exists - if ($printer->{configured}{$queue}) { - $queue =~ s/(\d)$/$1_/; - my $i = 1; - while ($printer->{configured}{"$queue$i"}) { - $i++; - } - $queue .= $i; - } - $printer->{currentqueue}{queue} = $queue; undef $w; - $w = $in->wait_message(N("Printerdrake"), - ($unknown ? - N("Configuring printer ...") : - N("Configuring printer \"%s\"...", - $printer->{currentqueue}{queue}))); + $w = $::noX || + $in->wait_message(N("Printerdrake"), + N("Configuring printer on %s...", + $p->{port})); # Do configuration of multi-function devices and look up # model name in the printer database setup_common($printer, $in, $p->{val}{DESCRIPTION}, $p->{port}, 1, @autodetected) or next; - # Set also OLD_QUEUE field so that the subroutines for the - # configuration work correctly. - $printer->{OLD_QUEUE} = $printer->{QUEUE} = - $printer->{currentqueue}{queue}; # Do the steps of queue setup get_db_entry($printer, $in); # Let the user choose the model manually if it could not be # auto-detected. if (!$printer->{DBENTRY}) { + # Skip this printer if we install print queues in a + # background without X access. + if ($::noX) { + # Delete some variables + foreach (qw(OLD_QUEUE QUEUE TYPE str_type DBENTRY ARGS OLD_CHOICE currentqueue NEW)) { + $printer->{$_} = ""; + } + next; + } # Set the OLD_CHOICE to a non-existing value $printer->{OLD_CHOICE} = "XXX"; # Set model selection cursor onto the "Raw Printer" entry. @@ -745,34 +1060,23 @@ sub configure_new_printers { Printerdrake could not determine which model your printer %s is. Please choose the correct model from the list.", $info) . " " . N("If your printer is not listed, choose a compatible (see printer manual) or a similar one."), '|', [ keys %printer::main::thedb ], $printer->{DBENTRY}) or next; - if ($unknown) { - # Rename the queue according to the chosen model - $queue = $printer->{DBENTRY}; - $queue =~ s/\|/ /g; - $printer->{currentqueue}{desc} = $queue; - $queue =~ s/series//gi; - $queue =~ s/[\s\(\)\-,]//g; - # Append a number if the queue name already exists - if ($printer->{configured}{$queue}) { - $queue =~ s/(\d)$/$1_/; - my $i = 1; - while ($printer->{configured}{"$queue$i"}) { - $i++; - } - $queue .= $i; - } - $printer->{currentqueue}{queue} = $queue; - $printer->{QUEUE} = $printer->{currentqueue}{queue}; - } # Restore wait message - $w = $in->wait_message(N("Printerdrake"), - N("Configuring printer \"%s\"...", - $printer->{currentqueue}{queue})); + $w = $::noX || + $in->wait_message(N("Printerdrake"), + N("Configuring printer on %s...", + $p->{port})); } get_printer_info($printer, $in) or next; setup_options($printer, $in) or next; + my $_queue = generate_queuename($printer); + # Change wait message + undef $w; + $w = $::noX || + $in->wait_message(N("Printerdrake"), + N("Configuring printer \"%s\"...", + $printer->{currentqueue}{queue})); + # Create the queue configure_queue($printer, $in) or next; - $configapps = 1; # If there is no default printer set, let this one get the # default if (!$printer->{DEFAULT}) { @@ -787,25 +1091,146 @@ Printerdrake could not determine which model your printer %s is. Please choose t $printer->{currentqueue} = {}; $printer->{complete} = 0; } - # Configure the current printer queues in applications - undef $w; - if ($configapps) { - $w = - $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); - undef $w; - } undef $printer->{noninteractive}; } +sub turnoffautosetup { + # Turn off auto queue setup if the user wishes it + my ($printer, $in) = @_; + local $::isEmbedded = 0; + # Read current configuration + printer::main::get_auto_admin($printer); + # Turn off automatic print queue setup + $printer->{autoqueuesetuponnewprinter} = 0; + $printer->{autoqueuesetuponstart} = 0; + # Save new settings + printer::main::set_auto_admin($printer); + # Tell the user what evil thing he has done and + # how he can fix it. + $in->ask_warn(N("Printerdrake"), + N("Now you have turned off automatic printer setup.\n\n") . + N("You can turn it back on again by choosing \"%s\" -> \"%s\" in Printerdrake's main menu. ", N("Options"), N("Configure Auto Administration")) . + N("There you can also choose in which situation automatic printer setup is done (On Printerdrake startup, on printing system startup, when connecting a new USB printer).")); +} + +sub generate_queuename { + my ($printer) = @_; + my $queue; + if ($printer->{currentqueue}{model}) { + if ($printer->{currentqueue}{model} eq N("Unknown model")) { + $queue = "P"; + } else { + $queue = $printer->{currentqueue}{make} . '|' . + $printer->{currentqueue}{model}; + } + } else { + $queue = $printer->{DBENTRY}; + } + $queue =~ s/\|/ /g; + $printer->{currentqueue}{desc} = $queue; + $queue =~ s/series//gi; + $queue =~ s/[\s\(\)\-,]//g; + my $make = $printer->{currentqueue}{make}; + my $model = $printer->{currentqueue}{model}; + $queue =~ s/$make$make/$make/gi; + # Remove weird characters + $queue =~ s/[^A-Za-z0-9_]//g; + $make =~ s/[^A-Za-z0-9_]//g; + $model =~ s/[^A-Za-z0-9_]//g; + # Do not use a queue name longer than 12 characters, as otherwise + # Windows clients will not be able to access the printer + my $ml = 12; + if (length($queue) > $ml) { + my %parts; + $parts{make} = $make; + $parts{model} = $model; + # Go through the two components, begin with model name, then + # make and then driver + foreach my $part (qw(model make)) { + $parts{$part} =~ s/[^a-zA-Z0-9_]/ /g; + + # Split the component into words, cutting always at the + # right edge of the word. Cut also at a capital in the + # middle of the word (ex: "S" in "PostScript"). + my @words = + split(/(?<=[a-zA-Z])(?![a-zA-Z])|(?<=[a-z])(?=[A-Z])/, + $parts{$part}); + # Go through all words + foreach (@words) { + # Do not abbreviate words of less than 3 letters + next if !/[a-zA-Z]{3,}$/; + while (1) { + # Remove the last letter + chop; + # Build the shortened component ... + $parts{$part} = join('', @words); + # ... and the queue name + $queue = "$parts{make} $parts{model}"; + $queue =~ s/\s+//g; + # Stop if the queue name has 12 characters or + # less, if there is only one letter left, or if + # the manufacturer name is reduced to three + # characters. + last if ((length($queue) <= $ml) || + (!/[a-zA-Z]{2,}$/) || + (($part eq 'make') && + (length($parts{make}) <= 3))); + } + $parts{$part} = join('', @words); + $queue = "$parts{make} $parts{model}"; + $queue =~ s/\s+//g; + last if (length($queue) <= $ml); + } + last if (length($queue) <= $ml); + } + while ((length($queue) > $ml) && + (length($parts{model}) > 3)) { + # Queue name too long? Remove last words from model name. + last if !($parts{model} =~ + s/[^a-zA-Z0-9]+[a-zA-Z0-9]*$//); + $queue = "$parts{make} $parts{model}"; + $queue =~ s/\s+//g; + } + if (length($queue) > $ml) { + # If nothing else helps ... + $queue = substr($queue, 0, $ml); + } + } + + # Append a number if the queue name already exists + if ($printer->{configured}{$queue}) { + my $origname = $queue; + my $i = 1; + while (1) { + my $ol = length($origname); + my $nl = length($i); + my $us = ($origname =~ m/\d$/ ? 1 : 0); + if ($ol + $nl + $us <= $ml) { + $queue = $origname . ($us ? '_' : '') . $i; + } else { + $queue = substr($queue, 0, $ml - $nl); + $queue =~ s/\d$/_/; + $queue .= $i; + } + last if (!$printer->{configured}{$queue}); + $i++; + } + } + + $printer->{currentqueue}{queue} = $queue; + $printer->{OLD_QUEUE} = $printer->{QUEUE} = $queue; + return $queue; +} + sub wizard_welcome { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; my $ret; my $autodetectlocal = 0; my $autodetectnetwork = 0; my $autodetectsmb = 0; - # If networking is configured, start it, but don't ask the user to + my $configlpd = 0; + # If networking is configured, start it, but do not ask the user to # configure networking. my $havelocalnetworks; if ($printer->{expert}) { @@ -822,7 +1247,12 @@ sub wizard_welcome { $autodetectlocal = 1 if $printer->{AUTODETECTLOCAL}; $autodetectnetwork = 1 if $printer->{AUTODETECTNETWORK}; $autodetectsmb = 1 if $printer->{AUTODETECTSMB}; + $configlpd = 1 if $printer->{CONFIGLPD}; } + my $oldautodetectlocal = $autodetectlocal; + my $oldautodetectnetwork = $autodetectnetwork; + my $oldautodetectsmb = $autodetectsmb; + my $oldconfiglpd = $configlpd; if ($in) { eval { if ($printer->{expert}) { @@ -849,7 +1279,7 @@ This wizard will help you to install your printer(s) connected to this computer, Please plug in and turn on all printers connected to this machine so that it/they can be auto-detected. Also your network printer(s) and your Windows machines must be connected and turned on. -Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network and/or Windows-hosted printers when you don't need it. +Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network and/or Windows-hosted printers when you do not need it. Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now.") : N(" Welcome to the Printer Setup Wizard @@ -866,7 +1296,7 @@ This wizard will help you to install your printer(s) connected to this computer If you have printer(s) connected to this machine, Please plug it/them in on this computer and turn it/them on so that it/they can be auto-detected. Also your network printer(s) must be connected and turned on. -Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network printers when you don't need it. +Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network printers when you do not need it. Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now.") : N(" Welcome to the Printer Setup Wizard @@ -875,7 +1305,49 @@ This wizard will help you to install your printer(s) connected to this computer. If you have printer(s) connected to this machine, Please plug it/them in on this computer and turn it/them on so that it/they can be auto-detected. - Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."))) }, + Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."))), + callbacks => { + changed => sub { + if ($oldautodetectlocal ne + $autodetectlocal) { + if ($autodetectlocal) { + $configlpd = 0; + $oldconfiglpd = 0; + } + $oldautodetectlocal = $autodetectlocal; + } + if ($oldautodetectnetwork ne + $autodetectnetwork) { + if ($autodetectnetwork) { + $configlpd = 0; + $oldconfiglpd = 0; + } + $oldautodetectnetwork = + $autodetectnetwork; + } + if ($oldautodetectsmb ne + $autodetectsmb) { + if ($autodetectsmb) { + $configlpd = 0; + $oldconfiglpd = 0; + } + $oldautodetectsmb = $autodetectsmb; + } + if ($oldconfiglpd ne $configlpd) { + if ($configlpd) { + $autodetectlocal = 0; + $autodetectnetwork = 0; + $autodetectsmb = 0; + $oldautodetectlocal = 0; + $oldautodetectnetwork = 0; + $oldautodetectsmb = 0; + } + $oldconfiglpd = $configlpd; + } + return 0; + } + } + }, [ { text => N("Auto-detect printers connected to this machine"), type => 'bool', val => \$autodetectlocal }, @@ -884,11 +1356,17 @@ If you have printer(s) connected to this machine, Please plug it/them in on this val => \$autodetectnetwork }, if_($printer->{SPOOLER} ne "pdq", { text => N("Auto-detect printers connected to machines running Microsoft Windows"), type => 'bool', - val => \$autodetectsmb })), + val => \$autodetectsmb }, + { text => N("Printer on remote lpd server") + . " (" . N("No auto-detection") . ")", + type => 'bool', + val => \$configlpd })), ]); $printer->{AUTODETECTLOCAL} = $autodetectlocal ? 1 : undef; $printer->{AUTODETECTNETWORK} = $autodetectnetwork ? 1 : undef; $printer->{AUTODETECTSMB} = $autodetectsmb && $printer->{SPOOLER} ne "pdq" ? 1 : undef; + $printer->{CONFIGLPD} = $configlpd ? 1 : undef; + $printer->{TIMEOUT} = 4000; } }; return $@ =~ /wizcancel/ ? 0 : $ret; @@ -897,6 +1375,7 @@ If you have printer(s) connected to this machine, Please plug it/them in on this sub wizard_congratulations { my ($in) = @_; + local $::isEmbedded = 0; if ($in) { $in->ask_okcancel(N("Add a new printer"), N(" @@ -904,12 +1383,13 @@ Congratulations, your printer is now installed and configured! You can print using the \"Print\" command of your application (usually in the \"File\" menu). -If you want to add, remove, or rename a printer, or if you want to change the default option settings (paper input tray, printout quality, ...), select \"Printer\" in the \"Hardware\" section of the %s Control Center.", $shortdistroname)) +If you want to add, remove, or rename a printer, or if you want to change the default option settings (paper input tray, printout quality, ...), select \"Printer\" in the \"Hardware\" section of the %s Control Center.", $shortdistroname)); } } sub setup_local_autoscan { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; my $queue = $printer->{OLD_QUEUE}; my $expert_or_modify = $printer->{expert} || !$printer->{NEW}; my $do_auto_detect = @@ -938,35 +1418,40 @@ sub setup_local_autoscan { "Samba client") . " " . N("Skipping Windows/SMB server auto-detection")); $printer->{AUTODETECTSMB} = 0; - return 0 if (!$printer->{AUTODETECTLOCAL} && - !$printer->{AUTODETECTNETWORK}); + return 0 if !$printer->{AUTODETECTLOCAL} && + !$printer->{AUTODETECTNETWORK}; }; } my $_w = $in->wait_message(N("Printer auto-detection"), N("Detecting devices...")); - # When HPOJ is running, it blocks the printer ports on which it is - # configured, so we stop it here. If it is not installed or not - # configured, this command has no effect. - require services; - services::stop("hpoj"); @autodetected = ( $expert_or_modify || $printer->{AUTODETECTLOCAL} ? printer::detect::local_detect() : (), - !$expert_or_modify ? printer::detect::whatNetPrinter($printer->{AUTODETECTNETWORK}, $printer->{AUTODETECTSMB}) : (), + !$expert_or_modify ? printer::detect::whatNetPrinter($printer->{AUTODETECTNETWORK}, $printer->{AUTODETECTSMB}, $printer->{TIMEOUT}) : (), ); + $printer->{AUTODETECTEDPRINTERSADDPRINTERSTANDARD} = \@autodetected if @autodetected; # We have more than one printer, so we must ask the user for a queue # name in the fully automatic printer configuration. $printer->{MORETHANONE} = $#autodetected > 0; my @str; foreach my $p (@autodetected) { - if ($p->{val}{DESCRIPTION}) { - my $menustr = $p->{val}{DESCRIPTION}; + if (($p->{val}{DESCRIPTION}) || ($p->{val}{MODEL})) { + my $menustr = (defined($p->{val}{DESCRIPTION}) && + (length($p->{val}{DESCRIPTION}) > 5) ? + $p->{val}{DESCRIPTION} : + (($p->{val}{MANUFACTURER} ? + ($p->{val}{MANUFACTURER} . " ") : ()) . + $p->{val}{MODEL})); if ($p->{port} =~ m!^/dev/lp(\d+)$!) { - $menustr .= N(" on parallel port #%s", $1); + my $port = $1; + $menustr .= N(" on parallel port #%s", $port); } elsif ($p->{port} =~ m!^/dev/usb/lp(\d+)$!) { - $menustr .= N(", USB printer #%s", $1); + my $printer = $1; + $menustr .= N(", USB printer #%s", $printer); } elsif ($p->{port} =~ m!^socket://([^:]+):(\d+)$!) { - $menustr .= N(", network printer \"%s\", port %s", $1, $2); + my ($printer, $port) = ($1, $2); + $menustr .= N(", network printer \"%s\", port %s", $printer, $port); } elsif ($p->{port} =~ m!^smb://([^/:]+)/([^/:]+)$!) { - $menustr .= N(", printer \"%s\" on SMB/Windows server \"%s\"", $2, $1); + my ($server, $printer) = ($1, $2); + $menustr .= N(", printer \"%s\" on SMB/Windows server \"%s\"", $printer, $server); } $menustr .= " ($p->{port})" if $printer->{expert}; $menuentries->{$menustr} = $p->{port}; @@ -974,13 +1459,17 @@ sub setup_local_autoscan { } else { my $menustr; if ($p->{port} =~ m!^/dev/lp(\d+)$!) { - $menustr = N("Printer on parallel port #%s", $1); + my $port = $1; + $menustr = N("Printer on parallel port #%s", $port); } elsif ($p->{port} =~ m!^/dev/usb/lp(\d+)$!) { - $menustr = N("USB printer #%s", $1); + my $printer = $1; + $menustr = N("USB printer #%s", $printer); } elsif ($p->{port} =~ m!^socket://([^:]+):(\d+)$!) { - $menustr .= N("Network printer \"%s\", port %s", $1, $2); + my ($printer, $port); + $menustr .= N("Network printer \"%s\", port %s", $printer, $port); } elsif ($p->{port} =~ m!^smb://([^/:]+)/([^/:]+)$!) { - $menustr .= N("Printer \"%s\" on SMB/Windows server \"%s\"", $2, $1); + my ($server, $printer) = ($1, $2); + $menustr .= N("Printer \"%s\" on SMB/Windows server \"%s\"", $printer, $server); } $menustr .= " ($p->{port})" if $printer->{expert}; $menuentries->{$menustr} = $p->{port}; @@ -997,17 +1486,16 @@ sub setup_local_autoscan { } my $menustr; if ($q =~ m!^/dev/lp(\d+)$!) { - $menustr = N("Printer on parallel port #%s", $1); + my $port = $1; + $menustr = N("Printer on parallel port #%s", $port); } elsif ($q =~ m!^/dev/usb/lp(\d+)$!) { - $menustr = N("USB printer #%s", $1); + my $printer; + $menustr = N("USB printer #%s", $printer); } $menustr .= " ($q)" if $printer->{expert}; $menuentries->{$menustr} = $q; } } - # We are ready with auto-detection, so we restart HPOJ here. If it - # is not installed or not configured, this command has no effect. - printer::services::start("hpoj"); } else { # Always ask for queue name in recommended mode when no auto- # detection was done @@ -1030,8 +1518,8 @@ sub setup_local_autoscan { for (my $i = 0; $i <= $#prefixes; $i++) { my $firstinlist = $first =~ m!^$prefixes[$i]!; my $secondinlist = $second =~ m!^$prefixes[$i]!; - if ($firstinlist && !$secondinlist) { return -1 }; - if ($secondinlist && !$firstinlist) { return 1 }; + if ($firstinlist && !$secondinlist) { return -1 } + if ($secondinlist && !$firstinlist) { return 1 } } return $first cmp $second; } keys(%$menuentries); @@ -1039,8 +1527,8 @@ sub setup_local_autoscan { my $oldmenuchoice = ""; my $device; if ($printer->{configured}{$queue}) { - my $p = printer::main::autodetectionentry_for_uri - ($printer->{currentqueue}{connect}, @autodetected); + my $p = printer::main::autodetectionentry_for_uri( + $printer->{currentqueue}{connect}, @autodetected); if (defined($p)) { $device = $p->{port}; $menuchoice = { reverse %$menuentries }->{$device}; @@ -1053,7 +1541,7 @@ sub setup_local_autoscan { } if ($in) { # $printer->{expert} or $in->set_help('configurePrinterDev') if $::isInstall; - if ($#menuentrieslist < 0) { # No menu entry + if (@menuentrieslist < 1) { # No menu entry # auto-detection has failed, we must do all manually $do_auto_detect = 0; $printer->{MANUAL} = 1; @@ -1065,13 +1553,14 @@ sub setup_local_autoscan { complete => sub { if ($menuchoice eq "") { $in->ask_warn(N("Error"), N("You must enter a device or file name!")); - return (1,0); + return 1, 0; } return 0; } }); return 0 if $device eq ""; } else { + local $::isWizard = 0; $in->ask_warn(N("Printer auto-detection"), N("No printer found!")); return 0; @@ -1085,7 +1574,7 @@ sub setup_local_autoscan { N("Available printers")), messages => (($do_auto_detect ? ($printer->{expert} ? - ($#menuentrieslist == 0 ? + (@menuentrieslist == 1 ? (N("The following printer was auto-detected. ") . ($printer->{NEW} ? N("If it is not the one you want to configure, enter a device name/file name in the input line") : @@ -1094,7 +1583,7 @@ sub setup_local_autoscan { ($printer->{NEW} ? N("Please choose the printer you want to set up or enter a device name/file name in the input line") : N("Please choose the printer to which the print jobs should go or enter a device name/file name in the input line")))) : - ($#menuentrieslist == 0 ? + (@menuentrieslist == 1 ? (N("The following printer was auto-detected. ") . ($printer->{NEW} ? N("The configuration of the printer will work fully automatically. If your printer was not correctly detected or if you prefer a customized printer configuration, turn on \"Manual configuration\".") : @@ -1112,7 +1601,7 @@ sub setup_local_autoscan { complete => sub { unless ($menuchoice ne "") { $in->ask_warn(N("Error"), N("You must choose/enter a printer/device!")); - return (1,0); + return 1, 0; } return 0; }, @@ -1167,9 +1656,10 @@ sub setup_local_autoscan { sub setup_lpd { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # Check whether the network functionality is configured and # running - if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; + if (!check_network($printer, $in, $upNetwork, 0)) { return 0 } # $in->set_help('setupLPD') if $::isInstall; my ($uri, $remotehost, $remotequeue); @@ -1193,11 +1683,11 @@ N("To use a remote lpd printer, you need to supply the hostname of the printer s complete => sub { if ($remotehost eq "") { $in->ask_warn(N("Error"), N("Remote host name missing!")); - return (1,0); + return 1, 0; } if ($remotequeue eq "") { $in->ask_warn(N("Error"), N("Remote printer name missing!")); - return (1,1); + return 1, 1; } return 0; } @@ -1221,22 +1711,23 @@ complete => sub { # Auto-detect printer model (works if host is an ethernet-connected # printer) my $modelinfo = printer::detect::getSNMPModel($remotehost); - my $auto_hpoj; + my $auto_hplip; if (defined($modelinfo) && $modelinfo->{MANUFACTURER} ne "" && $modelinfo->{MODEL} ne "") { + local $::isWizard = 0; $in->ask_warn(N("Information"), N("Detected model: %s %s", $modelinfo->{MANUFACTURER}, $modelinfo->{MODEL})); - $auto_hpoj = 1; + $auto_hplip = 1; } else { - $auto_hpoj = 0; + $auto_hplip = 0; } # Do configuration of multi-function devices and look up model name # in the printer database setup_common($printer, $in, "$modelinfo->{MANUFACTURER} $modelinfo->{MODEL}", - $printer->{currentqueue}{connect}, $auto_hpoj, + $printer->{currentqueue}{connect}, $auto_hplip, ({port => $printer->{currentqueue}{connect}, val => $modelinfo })); @@ -1246,9 +1737,10 @@ complete => sub { sub setup_smb { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # Check whether the network functionality is configured and # running - if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; + if (!check_network($printer, $in, $upNetwork, 0)) { return 0 } # $in->set_help('setupSMB') if $::isInstall; my ($uri, $smbuser, $smbpassword, $workgroup, $smbserver, $smbserverip, $smbshare); @@ -1256,7 +1748,7 @@ sub setup_smb { if ($printer->{configured}{$queue} && $printer->{currentqueue}{connect} =~ m/^smb:/) { $uri = $printer->{currentqueue}{connect}; - my $parameters = $1 if $uri =~ m!^\s*smb://(.*)$!; + my $parameters = $uri =~ m!^\s*smb://(.*)$! && $1; # Get the user's login and password from the URI if ($parameters =~ m!([^@]*)@([^@]+)!) { my $login = $1; @@ -1308,8 +1800,9 @@ sub setup_smb { }; } my $_w = $in->wait_message(N("Printer auto-detection"), N("Scanning network...")); - @autodetected = printer::detect::net_smb_detect(); - my ($server, $share); + @autodetected = printer::detect::net_smb_detect($printer->{TIMEOUT}); + $printer->{AUTODETECTEDPRINTERSADDPRINTEREXPERTSMB} = \@autodetected if @autodetected; + my ($server, $share); foreach my $p (@autodetected) { my $menustr; if ($p->{port} =~ m!^smb://([^/:]+)/([^/:]+)$!) { @@ -1349,7 +1842,7 @@ sub setup_smb { unshift(@menuentrieslist, $menustr); $menuchoice = $menustr; } - if ($#menuentrieslist < 0) { + if (@menuentrieslist < 1) { $autodetect = 0; } elsif ($menuchoice eq "") { $menuchoice = $menuentrieslist[0]; @@ -1381,15 +1874,15 @@ sub setup_smb { complete => sub { if (!is_ip($smbserverip) && $smbserverip ne "") { $in->ask_warn(N("Error"), N("IP address should be in format 1.2.3.4")); - return (1,1); + return 1, 1; } if ($smbserver eq "" && $smbserverip eq "") { $in->ask_warn(N("Error"), N("Either the server name or the server's IP must be given!")); - return (1,0); + return 1, 0; } if ($smbshare eq "") { $in->ask_warn(N("Error"), N("Samba share name missing!")); - return (1,2); + return 1, 2; } if ($smbpassword ne "") { local $::isWizard = 0; @@ -1412,7 +1905,7 @@ N("Connect your printer to a Linux server and let your Windows machine(s) connec Do you really want to continue setting up this printer as you are doing now?"), 0); return 0 if $yes; - return (1,2); + return 1, 2; } return 0; }, @@ -1451,9 +1944,10 @@ Do you really want to continue setting up this printer as you are doing now?"), sub setup_ncp { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # Check whether the network functionality is configured and # running - if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; + if (!check_network($printer, $in, $upNetwork, 0)) { return 0 } # $in->set_help('setupNCP') if $::isInstall; my ($uri, $ncpuser, $ncppassword, $ncpserver, $ncpqueue); @@ -1495,11 +1989,11 @@ N("To print on a NetWare printer, you need to provide the NetWare print server n complete => sub { unless ($ncpserver ne "") { $in->ask_warn(N("Error"), N("NCP server name missing!")); - return (1,0); + return 1, 0; } unless ($ncpqueue ne "") { $in->ask_warn(N("Error"), N("NCP queue name missing!")); - return (1,1); + return 1, 1; } return 0; } @@ -1525,18 +2019,24 @@ complete => sub { sub setup_socket { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # Check whether the network functionality is configured and # running - if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; + if (!check_network($printer, $in, $upNetwork, 0)) { return 0 } # $in->set_help('setupSocket') if $::isInstall; my ($uri, $remotehost, $remoteport); my $queue = $printer->{OLD_QUEUE}; if ($printer->{configured}{$queue} && - $printer->{currentqueue}{connect} =~ m!^(socket:|ptal://?hpjd:)!) { + $printer->{currentqueue}{connect} =~ + m!^(socket:|ptal://?hpjd:|hp:/net/)!) { $uri = $printer->{currentqueue}{connect}; - if ($uri =~ m!^ptal:!) { + if ($uri =~ m!^hp:!) { + if ($uri =~ m!^hp:/net/[^\?]+\?ip=(\d+\.\d+\.\d+\.\d+)!) { + ($remotehost, $remoteport) = ($1, 9100); + } + } elsif ($uri =~ m!^ptal:!) { if ($uri =~ m!^ptal://?hpjd:([^/:]+):([0-9]+)/?\s*$!) { my $ptalport = $2 - 9100; ($remotehost, $remoteport) = ($1, $ptalport); @@ -1558,17 +2058,19 @@ sub setup_socket { my @menuentrieslist; my $menuchoice = ""; my $oldmenuchoice = ""; + my $detectedprinterchosen = 0; if ($printer->{AUTODETECT}) { $autodetect = 1; my $_w = $in->wait_message(N("Printer auto-detection"), N("Scanning network...")); - @autodetected = printer::detect::net_detect(); - my ($host, $port); + @autodetected = printer::detect::net_detect($printer->{TIMEOUT}); + $printer->{AUTODETECTEDPRINTERSEXPERTSOCKET} = \@autodetected if @autodetected; + my ($host, $port); foreach my $p (@autodetected) { my $menustr; if ($p->{port} =~ m!^socket://([^:]+):(\d+)$!) { - $host = $1; - $port = $2; - } + $host = $1; + $port = $2; + } if ($p->{val}{DESCRIPTION}) { $menustr = $p->{val}{DESCRIPTION}; $menustr .= N(", host \"%s\", port %s", @@ -1580,13 +2082,14 @@ sub setup_socket { if ($host eq $remotehost && $host eq $remotehost) { $menuchoice = $menustr; + $detectedprinterchosen = 1; } } @menuentrieslist = sort { $menuentries->{$a} cmp $menuentries->{$b}; } keys(%$menuentries); if ($printer->{configured}{$queue} && - $printer->{currentqueue}{connect} =~ m!^(socket:|ptal://?hpjd:)! && + $printer->{currentqueue}{connect} =~ m!^(socket:|ptal://?hpjd:|hp:/net/)! && $menuchoice eq "") { my $menustr; if ($printer->{currentqueue}{make}) { @@ -1601,13 +2104,14 @@ sub setup_socket { unshift(@menuentrieslist, $menustr); $menuchoice = $menustr; } - if ($#menuentrieslist < 0) { + if (@menuentrieslist < 1) { $autodetect = 0; } elsif ($menuchoice eq "") { $menuchoice = $menuentrieslist[0]; if ($menuentries->{$menuentrieslist[0]} =~ m!^socket://([^:]+):(\d+)$!) { $remotehost = $1; $remoteport = $2; + $detectedprinterchosen = 1; } } $oldmenuchoice = $menuchoice; @@ -1623,22 +2127,28 @@ sub setup_socket { complete => sub { unless ($remotehost ne "") { $in->ask_warn(N("Error"), N("Printer host name or IP missing!")); - return (1,0); + return 1, 0; } unless ($remoteport =~ /^[0-9]+$/) { $in->ask_warn(N("Error"), N("The port number should be an integer!")); - return (1,1); + return 1, 1; } return 0; }, changed => sub { return 0 if !$autodetect; if ($oldmenuchoice ne $menuchoice) { - if ($menuentries->{$menuchoice} =~ m!^socket://([^:]+):(\d+)$!) { - $remotehost = $1; - $remoteport = $2; - } - $oldmenuchoice = $menuchoice; + if ($menuentries->{$menuchoice} =~ + m!^socket://([^:]+):(\d+)$!) { + $remotehost = $1; + $remoteport = $2; + $detectedprinterchosen = 1; + } else { + $detectedprinterchosen = 0; + } + $oldmenuchoice = $menuchoice; + } else { + $detectedprinterchosen = 0; } return 0; } @@ -1668,7 +2178,7 @@ sub setup_socket { "nc") . " " . N("Aborting")); return 0; - } + }; } # Auto-detect printer model @@ -1676,20 +2186,26 @@ sub setup_socket { if ($printer->{AUTODETECT}) { $modelinfo = printer::detect::getSNMPModel($remotehost); } - my $auto_hpoj; + my $auto_hplip; if (defined($modelinfo) && $modelinfo->{MANUFACTURER} ne "" && $modelinfo->{MODEL} ne "") { - $auto_hpoj = 1; + if (!$detectedprinterchosen) { + local $::isWizard = 0; + $in->ask_warn(N("Information"), N("Detected model: %s %s", + $modelinfo->{MANUFACTURER}, + $modelinfo->{MODEL})); + } + $auto_hplip = 1; } else { - $auto_hpoj = 0; + $auto_hplip = 0; } # Do configuration of multi-function devices and look up model name # in the printer database setup_common($printer, $in, "$modelinfo->{MANUFACTURER} $modelinfo->{MODEL}", - $printer->{currentqueue}{connect}, $auto_hpoj, + $printer->{currentqueue}{connect}, $auto_hplip, ({port => $printer->{currentqueue}{connect}, val => $modelinfo })); 1; @@ -1698,8 +2214,9 @@ sub setup_socket { sub setup_uri { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # $in->set_help('setupURI') if $::isInstall; - if ($printer->{AUTODETECT} and ($printer->{SPOOLER} eq 'cups')) { + if ($printer->{AUTODETECT} && $printer->{SPOOLER} eq 'cups') { my $_w = $in->wait_message(N("Printerdrake"), N("Refreshing Device URI list...")); printer::services::restart("cups"); @@ -1721,22 +2238,23 @@ list => [ if_($printer->{currentqueue}{connect}, "smb://", "ncp://", "socket://", - "ptal:/mlc:", - "ptal:/hpjd:", + "hp:/usb/", + "hp:/par/", + "hp:/net/", "file:/", 'postpipe:""')), ], not_edit => 0, sort => 0 }, ], complete => sub { unless ($printer->{currentqueue}{connect} =~ /[^:]+:.+/) { $in->ask_warn(N("Error"), N("A valid URI must be entered!")); - return (1,0); + return 1, 0; } return 0; } ); # Non-local printer, check network and abort if no network available - if ($printer->{currentqueue}{connect} !~ m!^(file|parallel|usb|serial|mtink|ptal://?mlc):/! && + if ($printer->{currentqueue}{connect} !~ m!^(file:|parallel:|usb:|serial:|mtink:|ptal://?mlc|hp:/(usb|par))! && !check_network($printer, $in, $upNetwork, 0)) { return 0; # If the chosen protocol needs additional software, install it. @@ -1792,23 +2310,24 @@ complete => sub { # printer) my $remotehost = $1; my $modelinfo = printer::detect::getSNMPModel($remotehost); - my $auto_hpoj; + my $auto_hplip; if (defined($modelinfo) && $modelinfo->{MANUFACTURER} ne "" && $modelinfo->{MODEL} ne "") { + local $::isWizard = 0; $in->ask_warn(N("Information"), N("Detected model: %s %s", $modelinfo->{MANUFACTURER}, $modelinfo->{MODEL})); - $auto_hpoj = 1; + $auto_hplip = 1; } else { - $auto_hpoj = 0; + $auto_hplip = 0; } # Do configuration of multi-function devices and look up model name # in the printer database setup_common($printer, $in, "$modelinfo->{MANUFACTURER} $modelinfo->{MODEL}", - $printer->{currentqueue}{connect}, $auto_hpoj, + $printer->{currentqueue}{connect}, $auto_hplip, ({port => $printer->{currentqueue}{connect}, val => $modelinfo })); } @@ -1819,6 +2338,7 @@ complete => sub { sub setup_postpipe { my ($printer, $in) = @_; + local $::isEmbedded = 0; # $in->set_help('setupPostpipe') if $::isInstall; my $uri; my $commandline; @@ -1838,7 +2358,7 @@ val => \$commandline }, ], complete => sub { unless ($commandline ne "") { $in->ask_warn(N("Error"), N("A command line must be entered!")); - return (1,0); + return 1, 0; } return 0; } @@ -1850,105 +2370,241 @@ complete => sub { 1; } +sub hplip_bus_warning { + + my ($printer, $in, $device, $hplipentry) = @_; + + # Determine connection type + my $bus; + if ($device =~ /usb/) { + $bus = "usb"; + } elsif ($device =~ m!/dev/(lp|par.*|printer.*)\d+!) { + $bus = "par"; + } elsif ($device =~ m!^socket://!) { + $bus = "net"; + } else { + return 0; + } + + # HPLIP supports the connection through which the device is currently + # accessed + return 1 if $hplipentry->{bus}{$bus}; + + # Ask user what to do + if ($::noX) { + return 0; + } else { + local $::isWizard = 0; + my $modelstr = $hplipentry->{model}; + $modelstr =~ s/_/ /g; + my $choice = $in->ask_from_list + (N("Add a new printer"), + N("Your printer %s is currently connected %s.", + $modelstr, + ($bus eq "par" ? N("to a parallel port") : + ($bus eq "usb" ? N("to the USB") : + N("via the network")))) . " " . + N("This type of connection is currently not fully supported by HPLIP.") . + " " . + N("You get full HPLIP support for your device if you connect it ") . + join(", ", + (if_($hplipentry->{bus}{par}, N("to a parallel port")), + if_($hplipentry->{bus}{usb}, N("to the USB")), + if_($hplipentry->{bus}{net}, N("via the network")))) . + ".\n\n" . + N("You can now set up your device with HPLIP anyway (works in many cases), ") . + N("set it up without HPLIP (print-only), ") . N("or") . " " . + N("cancel the setup (for example to reconnect your device).") . + "\n\n" . + N("You can always revise your choice by clicking your printer's entry in the main window, ") . + N("clicking the \"%s\" button, ", N("Edit")) . + N("and choosing \"%s\".", N("Printer connection type")) . + "\n\n" . + N("What do you want to do?"), + [N("Set up with HPLIP"), + N("Set up without HPLIP"), + N("Cancel setup")], N("Cancel setup")); + if ($choice eq N("Set up with HPLIP")) { + return 1; + } elsif ($choice eq N("Set up without HPLIP")) { + return 2; + } else { + return 0; + } + } +} + sub setup_common { my ($printer, $in, $makemodel, $device, $do_auto_detect, @autodetected) = @_; - #- Check whether the printer is an HP multi-function device and - #- configure HPOJ if it is one + local $::isEmbedded = 0; + #- Check whether the printer is an HP printer or multi-function device and + #- configure HPLIP if it is one - my $ptaldevice = ""; - my $isHPOJ = 0; + my $hplipdevice = ""; + my $isHPLIP = 0; + my $searchunknown = N("Unknown model"); my $w; if ($device =~ m!^/dev/! || $device =~ m!^socket://!) { - # Ask user whether he has a multi-function device when he didn't + # Ask user whether he has a multi-function device when he did not # do auto-detection or when auto-detection failed - my $searchunknown = N("Unknown model"); if (!$do_auto_detect || - $makemodel eq $searchunknown || + $makemodel =~ /$searchunknown/i || $makemodel =~ /^\s*$/) { local $::isWizard = 0; if (!$printer->{noninteractive}) { - $isHPOJ = $in->ask_yesorno(N("Add a new printer"), - N("Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), an HP PhotoSmart or an HP LaserJet 2200?"), 0); + if ($printer->{SPOOLER} eq 'cups') { + $isHPLIP = $in->ask_yesorno + (N("Add a new printer"), + N("On many HP printers there are special functions available, maintenance (ink level checking, nozzle cleaning. head alignment, ...) on all not too old inkjets, scanning on multi-function devices, and memory card access on printers with card readers. ") . + "\n\n" . + N("To access these extra functions on HP printers they must be set up with HPLIP (HP Linux Imaging and Printing). ") . + "\n\n" . + N("Do you want to use HPLIP (choose \"No\" for non-HP printers)? "), 0); + } } } - if ($makemodel =~ /HP\s+(OfficeJet|PSC|PhotoSmart|LaserJet\s+(1200|1220|2200|3200|33.0)|(DeskJet|dj)\s*450)/i || - $makemodel =~ /Sony\s+IJP[\s\-]+V[\s\-]+100/i || - $isHPOJ) { - # Install HPOJ package - my $hpojinstallfailed = 0; + my $hplipentry; + my $hplipaborted = 0; + if (($printer->{SPOOLER} eq 'cups') && + (($hplipentry = + printer::main::hplip_device_entry($device, @autodetected)) || + $isHPLIP)) { + # Device is supported by HPLIP + if ($hplipentry) { + my $buswarning = + hplip_bus_warning($printer, $in, $device, $hplipentry); + return 0 if !$buswarning; + $hplipaborted = 1 if $buswarning == 2; + } + # Install HPLIP packages + my $hplipinstallfailed = 0; if (!$::testing && - !files_exist(qw(/usr/sbin/ptal-mlcd - /usr/sbin/ptal-init - /usr/bin/xojpanel - /usr/sbin/lsusb))) { - $w = $in->wait_message(N("Printerdrake"), - N("Installing HPOJ package...")) - if !$printer->{noninteractive}; - $in->do_pkgs->install('hpoj', 'xojpanel', 'usbutils') - or do { - $in->ask_warn(N("Warning"), - N("Could not install the %s packages!", - "HPOJ") . " " . - N("Only printing will be possible on the %s.", - $makemodel)); - $hpojinstallfailed = 1; - }; + !$hplipaborted && + !files_exist(qw(/usr/sbin/hpiod))) { + if ($::noX) { + $hplipinstallfailed = 1; + } else { + $w = $in->wait_message(N("Printerdrake"), + N("Installing %s package...", N("HPLIP"))) + if !$printer->{noninteractive}; + $in->do_pkgs->install('hplip') + or do { + $in->ask_warn(N("Warning"), + N("Could not install the %s packages!", + N("HPLIP")) . " " . + N("Only printing will be possible on the %s.", + $makemodel)); + $hplipinstallfailed = 1; + }; + } } - # Configure and start HPOJ - undef $w; - $w = $in->wait_message - (N("Printerdrake"), - N("Checking device and configuring HPOJ...")) - if !$printer->{noninteractive}; - - eval {$ptaldevice = printer::main::configure_hpoj - ($device, @autodetected) if !$hpojinstallfailed;}; - - if (my $err = $@) { - warn qq(HPOJ conf faillure: "$err"); - log::l(qq(HPOJ conf faillure: "$err")); + # Remove old HPOJ configuration for this device + if (-f "$::prefix/usr/sbin/ptal-mlcd") { # HPOJ installed? + if (my $configfile = + printer::main::remove_hpoj_config($device, @autodetected)) { + if (!$printer->{noninteractive} && !$::noX) { + undef $w; + local $::isWizard = 0; + $in->ask_warn + (N("Error"), + N("Could not remove your old HPOJ configuration file %s for your %s! ", + $configfile, $makemodel) . + N("Please remove the file manually and restart HPOJ.")); + } + } } - if ($ptaldevice) { - # HPOJ has determined the device name, make use of it if we - # didn't know it before - if (!$do_auto_detect || - !$makemodel || - $makemodel eq $searchunknown || - $makemodel =~ /^\s*$/) { - $makemodel = $ptaldevice; - $makemodel =~ s/^.*:([^:]+)$/$1/; - $makemodel =~ s/_/ /g; - if ($makemodel =~ /^\s*IJP/i) { - $makemodel = "Sony $makemodel"; + if (!$hplipinstallfailed && !$hplipaborted) { + # Start HPLIP and get device URI + undef $w; + $w = $in->wait_message + (N("Printerdrake"), + N("Checking device and configuring %s...", N("HPLIP"))) + if !$printer->{noninteractive}; + + if ($isHPLIP && ($device !~ m!^socket://!)) { + my @uris = printer::main::start_hplip_manual(); + my (@menu, %menuhash); + foreach my $item (@uris) { + if ($item =~ m!^hp:/(usb|par|net)/(\S*?)(\?\S*|)$!) { + my $modelname = $2; + $modelname =~ s/_/ /g; + $modelname = "HP " . $modelname + if $modelname !~ m!^HP\s!i; + push(@menu, $modelname); + $menuhash{$modelname} = $item; + } + } + undef $w; + local $::isWizard = 0; + my $choice = $in->ask_from_list + (N("Add a new printer"), + N("Which printer do you want to set up with HPLIP?"), + \@menu, $menu[0]); + $hplipdevice = $menuhash{$choice}; + $hplipentry = + printer::main::hplip_device_entry_from_uri + ($hplipdevice); + if ($hplipentry) { + my $buswarning = + hplip_bus_warning($printer, $in, + $device, $hplipentry); + return 0 if !$buswarning; + if ($buswarning == 2) { + $hplipaborted = 1; + $hplipdevice = ""; + } else { + $makemodel = $choice; + } } else { - $makemodel = "HP $makemodel"; + $hplipaborted = 1; + $hplipdevice = ""; + } + } else { + $hplipdevice = printer::main::start_hplip + ($device, $hplipentry, @autodetected); + if (!$hplipentry) { + $hplipentry = + printer::main::hplip_device_entry_from_uri + ($hplipdevice); + } + if (($makemodel !~ /\S/) || + ($makemodel =~ /$searchunknown/i)) { + $makemodel = $hplipentry->{model}; + $makemodel =~ s/_/ /g; + $makemodel = "HP " . $makemodel + if $makemodel !~ m!^HP\s!i; } } - # Configure scanning with SANE on the MF device - if ($makemodel !~ /HP\s+PhotoSmart/i && - $makemodel !~ /HP\s+LaserJet\s+2200/i && - $makemodel !~ /HP\s+(DeskJet|dj)\s*450/i) { + } + + if ($hplipdevice) { + # Configure scanning with SANE on HP's MF devices + if ($hplipentry->{scan}) { # Install SANE if (!$::testing && - (!files_exist(qw(/usr/bin/scanimage - /usr/bin/xscanimage - /etc/sane.d/dll.conf - /usr/lib/libsane-hpoj.so.1)) || + (!files_exist("/usr/bin/scanimage", + #"/usr/bin/xscanimage", + "/etc/sane.d/dll.conf", + "/usr/$lib/sane/libsane-hpaio.so.1") || (!files_exist(qw(/usr/bin/xsane)) && !files_exist(qw(/usr/bin/kooka)) && - !$in->do_pkgs->is_installed('scanner-gui')))) { + ($::isInstall || + !$in->do_pkgs->is_installed('scanner-gui'))))) { undef $w; - $w = $in->wait_message - (N("Printerdrake"), + $w = $in->wait_message( + N("Printerdrake"), N("Installing SANE packages...")) if !$printer->{noninteractive}; - $in->do_pkgs->install('sane-backends', - 'sane-frontends', - 'scanner-gui', - 'libsane-hpoj1') + $::noX + or $in->do_pkgs->install('sane-backends', + #'sane-frontends', + ($::isInstall ? + 'xsane' : + 'scanner-gui'), + "${lib}sane-hpaio1") or do { $in->ask_warn(N("Warning"), N("Could not install the %s packages!", @@ -1957,76 +2613,33 @@ sub setup_common { $makemodel)); }; } - # Configure the HPOJ SANE backend - printer::main::config_sane(); - } - # Configure photo card access with mtools and MToolsFM - if (($makemodel =~ /HP\s+PhotoSmart/i || - $makemodel =~ /HP\s+PSC\s*9[05]0/i || - $makemodel =~ /HP\s+PSC\s*135\d/i || - $makemodel =~ /HP\s+PSC\s*21[57]\d/i || - $makemodel =~ /HP\s+PSC\s*22\d\d/i || - $makemodel =~ /HP\s+PSC\s*2[45]\d\d/i || - $makemodel =~ /HP\s+OfficeJet\s+D\s*1[45]5/i || - $makemodel =~ /HP\s+OfficeJet\s+71[34]0/i || - $makemodel =~ /HP\s+(DeskJet|dj)\s*450/i) && - $makemodel !~ /HP\s+PhotoSmart\s+7150/i) { - # Install mtools and MToolsFM - if (!$::testing && - !files_exist(qw(/usr/bin/mdir - /usr/bin/mcopy - /usr/bin/MToolsFM - ))) { - undef $w; - $w = $in->wait_message - (N("Printerdrake"), - N("Installing mtools packages...")) - if !$printer->{noninteractive}; - $in->do_pkgs->install('mtools', 'mtoolsfm') - or do { - $in->ask_warn(N("Warning"), - N("Could not install the %s packages!", - "Mtools") . " " . - N("Photo memory card access on the %s will not be possible.", - $makemodel)); - }; - } - # Configure mtools/MToolsFM for photo card access - printer::main::config_photocard(); + # Configure the HPLIP SANE backend + printer::main::config_sane('hpaio'); } - - if (!$printer->{noninteractive}) { + if (!$printer->{noninteractive} && !$::noX) { my $text = ""; - # Inform user about how to scan with his MF device - $text = scanner_help($makemodel, "ptal://$ptaldevice"); + # Inform user about how to use HPLIP extra functions + $text = hplip_help($makemodel, $hplipdevice); if ($text) { undef $w; + local $::isWizard = 0; $in->ask_warn - (N("Scanning on your HP multi-function device"), + (N("Using and Maintaining your %s", + $makemodel), $text); } - # Inform user about how to access photo cards with his - # MF device - $text = photocard_help($makemodel, "ptal://$ptaldevice"); - if ($text) { - undef $w; - $in->ask_warn(N("Photo memory card access on your HP multi-function device"), - $text); - } } - # make the DeviceURI from $ptaldevice. - $printer->{currentqueue}{connect} = "ptal://" . $ptaldevice; - } else { - # make the DeviceURI from $device. - $printer->{currentqueue}{connect} = $device; + # Take the DeviceURI from $hplipdevice. + $printer->{currentqueue}{connect} = $hplipdevice; } - $w = $in->wait_message - (N("Printerdrake"), - N("Checking device and configuring HPOJ...")) - if !$printer->{noninteractive} && !defined($w); - } else { + } + if (!$hplipdevice) { # make the DeviceURI from $device. $printer->{currentqueue}{connect} = $device; + $w = $in->wait_message( + N("Printerdrake"), + N("Configuring device...")) + if !$printer->{noninteractive} && !defined($w); } } else { # make the DeviceURI from $device. @@ -2051,30 +2664,44 @@ sub setup_common { } #- if CUPS is the spooler, make sure that CUPS knows the device - if ($printer->{SPOOLER} eq "cups" && - $device !~ /^lpd:/ && - $device !~ /^smb:/ && - $device !~ /^socket:/ && - $device !~ /^http:/ && - $device !~ /^ipp:/) { - my $_w = $in->wait_message - (N("Printerdrake"), - N("Making printer port available for CUPS...")) - if !$printer->{noninteractive}; - printer::main::assure_device_is_available_for_cups($ptaldevice || - $device); + if ($printer->{SPOOLER} eq "cups") { + my $hplipsocket = undef; + $hplipsocket = "hp:/" if $hplipdevice =~ m!/net/!i; + if ($hplipsocket || + ($device !~ /^lpd:/ && + $device !~ /^smb:/ && + $device !~ /^socket:/ && + $device !~ /^http:/ && + $device !~ /^ipp:/)) { + my $_w = $in->wait_message( + N("Printerdrake"), + N("Making printer port available for CUPS...")) + if !$printer->{noninteractive}; + printer::main::assure_device_is_available_for_cups( + $hplipsocket || $hplipdevice || $device); + } } #- Read the printer driver database if necessary if (keys %printer::main::thedb == 0) { - my $_w = $in->wait_message - (N("Printerdrake"), N("Reading printer database...")) + my $_w = $in->wait_message( + N("Printerdrake"), N("Reading printer database...")) if !$printer->{noninteractive}; printer::main::read_printer_db($printer, $printer->{SPOOLER}); } #- Search the database entry which matches the detected printer best my $descr = ""; + if ((!$do_auto_detect) && + ($makemodel =~ m!^(\S+)\s+(.*?)$!)) { + my $mk = $1; + my $md = $2; + @autodetected = ({ port => $device, + val => { CLASS => 'PRINTER', + MANUFACTURER => $mk, + MODEL => $md, + DESCRIPTION => $makemodel } }); + } foreach (@autodetected) { $device eq $_->{port} or next; my ($automake, $automodel, $autodescr, $autocmdset, $autosku) = @@ -2087,14 +2714,24 @@ sub setup_common { $descr = "$descrmake|$autosku"; } elsif ($automake && $automodel) { $descr = "$descrmake|$automodel"; - } elsif ($autodescr) { + } elsif ($autodescr && (length($autodescr) > 5)) { $descr = $autodescr; $descr =~ s/ /|/; } elsif ($automodel) { $descr = $automodel; - $descr =~ s/ /|/; + if ($descr !~ /$searchunknown/i) { + $descr =~ s/ /|/; + } else { + $descr = "|$searchunknown"; + } } elsif ($automake) { $descr = "$descrmake|"; + } elsif ($makemodel =~ /\S/) { + $descr = $makemodel; + $descr =~ s/ /|/; + } else { + $printer->{DBENTRY} = ""; + last; } # Remove manufacturer's name from the beginning of the # description (do not do this with manufacturer names which @@ -2186,14 +2823,14 @@ sub setup_common { # exact match or a match to the auto-detection ID string next if $matchlength >= 100; # Try to match the (human-readable) make and model of the - # Foomatic database or of thr PPD file + # Foomatic database or of the PPD file my $dbmakemodel; if ($printer->{expert}) { $dbmakemodel = $1 if $entry =~ m/^(.*)\|[^\|]*$/; } else { $dbmakemodel = $entry; } - # Don't try to match if the database entry does not provide + # Do not try to match if the database entry does not provide # make and model next unless $dbmakemodel; # If make and model match exactly, we have found the correct @@ -2254,8 +2891,9 @@ sub setup_common { $descr !~ /$guessedmake/i && ($guessedmake ne "hp" || $descr !~ /Hewlett[\s-]+Packard/i)) - { $printer->{DBENTRY} = "" }; + { $printer->{DBENTRY} = "" } } + last; } #- Pre-fill the "Description" field with the printer's model name @@ -2274,6 +2912,7 @@ sub setup_common { sub choose_printer_name { my ($printer, $in) = @_; + local $::isEmbedded = 0; # Name, description, location # $in->set_help('setupPrinterName') if $::isInstall; my $default = $printer->{currentqueue}{queue}; @@ -2281,17 +2920,24 @@ sub choose_printer_name { { title => N("Enter Printer Name and Comments"), #cancel => !$printer->{configured}{$queue} ? '' : N("Remove queue"), callbacks => { complete => sub { - unless ($printer->{currentqueue}{queue} =~ /^\w+$/) { + unless ($printer->{currentqueue}{queue} =~ /^[A-Za-z0-9_]+$/) { $in->ask_warn(N("Error"), N("Name of printer should contain only letters, numbers and the underscore")); - return (1,0); + return 1, 0; } local $::isWizard = 0; if ($printer->{configured}{$printer->{currentqueue}{queue}} && $printer->{currentqueue}{queue} ne $default && !$in->ask_yesorno(N("Warning"), N("The printer \"%s\" already exists,\ndo you really want to overwrite its configuration?", - $printer->{currentqueue}{queue}), - 0)) { - return (1,0); # Let the user correct the name + $printer->{currentqueue}{queue}), + 0)) { + return 1, 0; # Let the user correct the name + } + my $ml = 12; + if ((length($printer->{currentqueue}{queue}) > $ml) && + !$in->ask_yesorno(N("Warning"), N("The printer name \"%s\" has more than 12 characters which can make the printer unaccessible from Windows clients. Do you really want to use this name?", + $printer->{currentqueue}{queue}), + 0)) { + return 1, 0; # Let the user correct the name } return 0; }, @@ -2309,6 +2955,7 @@ N("Every printer needs a name (for example \"printer\"). The Description and Loc sub get_db_entry { my ($printer, $in) = @_; + local $::isEmbedded = 0; #- Read the printer driver database if necessary if (keys %printer::main::thedb == 0) { my $_w = $in->wait_message(N("Printerdrake"), @@ -2336,27 +2983,30 @@ sub get_db_entry { $printer->{DBENTRY} = "$make|$model|$driverstr"; # database key contains the "(recommended)" for the # recommended driver, so add it if necessary - if (!member($printer->{DBENTRY}, - keys(%printer::main::thedb))) { - $printer->{DBENTRY} .= " (recommended)"; + unless (exists($printer::main::thedb{$printer->{DBENTRY}})) { + $printer->{DBENTRY} .= " $precstr"; } } else { $printer->{DBENTRY} = "$make|$model"; } $printer->{OLD_CHOICE} = $printer->{DBENTRY}; - } elsif ($printer->{configured}{$queue}{queuedata}{ppd}) { - # Do we have a native CUPS driver or a PostScript PPD file? + } + if ($printer->{configured}{$queue}{queuedata}{ppd} || + ($printer->{DBENTRY} eq "") || + !exists($printer::main::thedb{$printer->{DBENTRY}})) { + # Do we have a native CUPS driver, a PostScript PPD file, + # or a pre-built Foomatic PPD file? $printer->{DBENTRY} = printer::main::get_descr_from_ppd($printer) || $printer->{DBENTRY}; - if (!member($printer->{DBENTRY}, - keys(%printer::main::thedb))) { - $printer->{DBENTRY} .= " (recommended)"; + unless (exists($printer::main::thedb{$printer->{DBENTRY}})) { + $printer->{DBENTRY} .= " $precstr"; } $printer->{OLD_CHOICE} = $printer->{DBENTRY}; } my ($make, $model); - if ($printer->{DBENTRY} eq "") { + if (($printer->{DBENTRY} eq "") || + !exists($printer::main::thedb{$printer->{DBENTRY}})) { # Point the list cursor at least to manufacturer and model of # the printer $printer->{DBENTRY} = ""; @@ -2373,26 +3023,29 @@ sub get_db_entry { } foreach my $key (keys %printer::main::thedb) { if ($printer->{expert} && - $key =~ /^$make\|$model\|.*\(recommended\)$/ || + $key =~ /^$make\|$model\|.*$sprecstr.*$/ || !$printer->{expert} && $key =~ /^$make\|$model$/) { $printer->{DBENTRY} = $key; } } } - if ($printer->{DBENTRY} eq "") { + if (($printer->{DBENTRY} eq "") || + !exists($printer::main::thedb{$printer->{DBENTRY}})) { # Exact match of make and model did not work, try to clean # up the model name $model =~ s/PS//; $model =~ s/PostScript//i; $model =~ s/Series//i; foreach my $key (keys %printer::main::thedb) { - if ($printer->{expert} && $key =~ /^$make\|$model\|.*\(recommended\)$/ || + if ($printer->{expert} && $key =~ /^$make\|$model\|.*$sprecstr.*$/ || !$printer->{expert} && $key =~ /^$make\|$model$/) { $printer->{DBENTRY} = $key; } } } - if ($printer->{DBENTRY} eq "" && $make ne "") { + if ((($printer->{DBENTRY} eq "") || + !exists($printer::main::thedb{$printer->{DBENTRY}})) && + $make ne "") { # Exact match with cleaned-up model did not work, try a best match my $matchstr = "$make|$model"; $printer->{DBENTRY} = @@ -2403,17 +3056,18 @@ sub get_db_entry { if ($matchstr !~ /$guessedmake/i && ($guessedmake ne "hp" || $matchstr !~ /Hewlett[\s-]+Packard/i)) - { $printer->{DBENTRY} = "" }; + { $printer->{DBENTRY} = "" } } - if ($printer->{DBENTRY} eq "") { + if (($printer->{DBENTRY} eq "") || + !exists($printer::main::thedb{$printer->{DBENTRY}})) { # Set the OLD_CHOICE to a non-existing value $printer->{OLD_CHOICE} = "XXX"; } } else { - if ($printer->{expert} && $printer->{DBENTRY} !~ /(recommended)/) { + if ($printer->{expert} && $printer->{DBENTRY} !~ /$sprecstr/) { my ($make, $model) = $printer->{DBENTRY} =~ /^([^\|]+)\|([^\|]+)\|/; foreach my $key (keys %printer::main::thedb) { - if ($key =~ /^$make\|$model\|.*\(recommended\)$/) { + if ($key =~ /^$make\|$model\|.*$sprecstr.*$/) { $printer->{DBENTRY} = $key; } } @@ -2425,6 +3079,7 @@ sub get_db_entry { sub is_model_correct { my ($printer, $in) = @_; + local $::isEmbedded = 0; # $in->set_help('chooseModel') if $::isInstall; my $dbentry = $printer->{DBENTRY}; if (!$dbentry) { @@ -2452,6 +3107,7 @@ For your printer Printerdrake has found: sub choose_model { my ($printer, $in) = @_; + local $::isEmbedded = 0; # $in->set_help('chooseModel') if $::isInstall; #- Read the printer driver database if necessary if (keys %printer::main::thedb == 0) { @@ -2459,7 +3115,7 @@ sub choose_model { N("Reading printer database...")); printer::main::read_printer_db($printer, $printer->{SPOOLER}); } - if (!member($printer->{DBENTRY}, keys(%printer::main::thedb))) { + unless (exists($printer::main::thedb{$printer->{DBENTRY}})) { $printer->{DBENTRY} = N("Raw printer (No driver)"); } # Choose the printer/driver from the list @@ -2508,6 +3164,7 @@ Please check whether Printerdrake did the auto-detection of your printer model c sub installppd { my ($printer, $in) = @_; + local $::isEmbedded = 0; # Install a manufacturer-supplied PPD file # The dialogs to choose the PPD file should appear as extra @@ -2545,7 +3202,7 @@ sub installppd { return 0; } # Let user select a PPD file from a floppy, hard disk, ... - $ppdfile = $in->ask_file(N("Select PPD file"), "$dir"); + $ppdfile = $in->ask_file(N("Select PPD file"), $dir); last if !$ppdfile; if (! -r $ppdfile) { $in->ask_warn(N("Error"), @@ -2565,10 +3222,10 @@ sub installppd { return 0 if !$ppdfile; # Install the PPD file in /usr/share/cups/ppd/printerdrake/ - my $_w = $in->wait_message(N("Printerdrake"), + my $w = $in->wait_message(N("Printerdrake"), N("Installing PPD file...")); my $ppdentry = printer::main::installppd($printer, $ppdfile); - undef $_w; + undef $w; return $ppdentry; } @@ -2591,15 +3248,16 @@ my %drv_x125_options = ( 'usb:/dev/usb/lp0' => " -o Device=usb_lp1", 'usb:/dev/usb/lp1' => " -o Device=usb_lp2", 'usb:/dev/usb/lp2' => " -o Device=usb_lp3", - 'usb:/dev/usb/lp3' => " -o Device=usb_lp3", + 'usb:/dev/usb/lp3' => " -o Device=usb_lp4", 'file:/dev/usb/lp0' => " -o Device=usb_lp1", 'file:/dev/usb/lp1' => " -o Device=usb_lp2", 'file:/dev/usb/lp2' => " -o Device=usb_lp3", - 'file:/dev/usb/lp3' => " -o Device=usb_lp3", + 'file:/dev/usb/lp3' => " -o Device=usb_lp4", ); sub get_printer_info { my ($printer, $in) = @_; + local $::isEmbedded = 0; my $queue = $printer->{OLD_QUEUE}; my $oldchoice = $printer->{OLD_CHOICE}; my $newdriver = 0; @@ -2612,7 +3270,8 @@ sub get_printer_info { delete($printer->{currentqueue}{ppd}); $printer->{currentqueue}{foomatic} = 0; # Read info from printer database - foreach (qw(printer ppd driver make model)) { #- copy some parameter, shorter that way... + foreach (qw(printer ppd driver make model)) { + #- copy some parameters, shorter that way... $printer->{currentqueue}{$_} = $printer::main::thedb{$printer->{DBENTRY}}{$_}; } $newdriver = 1; @@ -2637,7 +3296,7 @@ sub get_printer_info { ($printer->{configured}{$queue}{queuedata}{foomatic} || $printer->{configured}{$queue}{queuedata}{ppd})) { if (!$newdriver) { - # The user didn't change the printer/driver + # The user did not change the printer/driver $printer->{ARGS} = $printer->{configured}{$queue}{args}; } elsif ($printer->{currentqueue}{foomatic}) { # The queue was already configured with Foomatic ... @@ -2659,14 +3318,14 @@ sub get_printer_info { if ($printer->{PAPERSIZE}) { $printer->{SPECIAL_OPTIONS} .= " -o PageSize=$printer->{PAPERSIZE}"; - } elsif (($pagesize = $in->{lang}) || + } elsif (($pagesize = $in->{locale}{country}) || ($pagesize = $ENV{LC_PAPER}) || + ($pagesize = $in->{locale}{lang}) || ($pagesize = $ENV{LANG}) || ($pagesize = $ENV{LANGUAGE}) || ($pagesize = $ENV{LC_ALL})) { - if ($pagesize =~ /^en_CA/ || - $pagesize =~ /^fr_CA/ || - $pagesize =~ /^en_US/) { + if ($pagesize =~ /US/ || + $pagesize =~ /CA/) { $pagesize = "Letter"; } else { $pagesize = "A4"; @@ -2674,13 +3333,17 @@ sub get_printer_info { $printer->{SPECIAL_OPTIONS} .= " -o PageSize=$pagesize"; } - # oki4w driver -> OKI winprinter which needs the + # Do not embed the following messages in the add-printer + # wizard. + local $::isWizard = 0; + # oki4drv driver -> OKI winprinter which needs the # oki4daemon to work - if ($printer->{currentqueue}{driver} eq 'oki4w') { + if ($printer->{currentqueue}{driver} eq 'oki4drv') { if ($printer->{currentqueue}{connect} !~ m!^(parallel|file):/dev/lp0$!) { - $in->ask_warn(N("OKI winprinter configuration"), - N("You are configuring an OKI laser winprinter. These printers\nuse a very special communication protocol and therefore they work only when connected to the first parallel port. When your printer is connected to another port or to a print server box please connect the printer to the first parallel port before you print a test page. Otherwise the printer will not work. Your connection type setting will be ignored by the driver.")); + $::noX || + $in->ask_warn(N("OKI winprinter configuration"), + N("You are configuring an OKI laser winprinter. These printers\nuse a very special communication protocol and therefore they work only when connected to the first parallel port. When your printer is connected to another port or to a print server box please connect the printer to the first parallel port before you print a test page. Otherwise the printer will not work. Your connection type setting will be ignored by the driver.")); } $printer->{currentqueue}{connect} = 'file:/dev/null'; # Start the oki4daemon @@ -2704,20 +3367,21 @@ sub get_printer_info { if ($opt) { $printer->{SPECIAL_OPTIONS} .= $opt; } else { - $in->ask_warn(N("Lexmark inkjet configuration"), - N("The inkjet printer drivers provided by Lexmark only support local printers, no printers on remote machines or print server boxes. Please connect your printer to a local port or configure it on the machine where it is connected to.")); + $::noX || + $in->ask_warn(N("Lexmark inkjet configuration"), + N("The inkjet printer drivers provided by Lexmark only support local printers, no printers on remote machines or print server boxes. Please connect your printer to a local port or configure it on the machine where it is connected to.")); return 0; } # Set device permissions if ($printer->{currentqueue}{connect} =~ /^\s*(file|parallel|usb):(\S*)\s*$/) { - if ($printer->{SPOOLER} eq 'cups') { - set_permissions($2, '660', 'lp', 'sys'); - } elsif ($printer->{SPOOLER} eq 'pdq') { - set_permissions($2, '666'); - } else { - set_permissions($2, '660', 'lp', 'lp'); - } + if ($printer->{SPOOLER} eq 'cups') { + set_permissions($2, '660', 'lp', 'sys'); + } elsif ($printer->{SPOOLER} eq 'pdq') { + set_permissions($2, '666'); + } else { + set_permissions($2, '660', 'lp', 'lp'); + } } # This is needed to have the device not blocked by the # spooler backend. @@ -2728,13 +3392,14 @@ sub get_printer_info { if ($drivertype eq 'Z23') { $drivertype = 'Z33' } $drivertype = lc($drivertype); if (!files_exist("/usr/local/lexmark/$drivertype/$drivertype")) { - eval { $in->do_pkgs->install("lexmark-drivers-$drivertype") }; + eval { $::noX or $in->do_pkgs->install("lexmark-drivers-$drivertype") }; } if (!files_exist("/usr/local/lexmark/$drivertype/$drivertype")) { # Driver installation failed, probably we do not have # the commercial CDs - $in->ask_warn(N("Lexmark inkjet configuration"), - N("To be able to print with your Lexmark inkjet and this configuration, you need the inkjet printer drivers provided by Lexmark (http://www.lexmark.com/). Click on the \"Drivers\" link. Then choose your model and afterwards \"Linux\" as operating system. The drivers come as RPM packages or shell scripts with interactive graphical installation. You do not need to do this configuration by the graphical frontends. Cancel directly after the license agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and adjust the head alignment settings with this program.")); + $::noX || + $in->ask_warn(N("Lexmark inkjet configuration"), + N("To be able to print with your Lexmark inkjet and this configuration, you need the inkjet printer drivers provided by Lexmark (http://www.lexmark.com/). Click on the \"Drivers\" link. Then choose your model and afterwards \"Linux\" as operating system. The drivers come as RPM packages or shell scripts with interactive graphical installation. You do not need to do this configuration by the graphical frontends. Cancel directly after the license agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and adjust the head alignment settings with this program.")); } } elsif ($printer->{currentqueue}{driver} eq 'drv_x125') { # Set "Device" option @@ -2743,8 +3408,9 @@ sub get_printer_info { if ($opt) { $printer->{SPECIAL_OPTIONS} .= $opt; } else { - $in->ask_warn(N("Lexmark X125 configuration"), - N("The driver for this printer only supports printers locally connected via USB, no printers on remote machines or print server boxes. Please connect your printer to a local USB port or configure it on the machine where it is connected to.")); + $::noX || + $in->ask_warn(N("Lexmark X125 configuration"), + N("The driver for this printer only supports printers locally connected via USB, no printers on remote machines or print server boxes. Please connect your printer to a local USB port or configure it on the machine where it is connected to.")); return 0; } # Set device permissions @@ -2761,6 +3427,72 @@ sub get_printer_info { # This is needed to have the device not blocked by the # spooler backend. $printer->{currentqueue}{connect} = 'file:/dev/null'; + } elsif ($printer->{currentqueue}{driver} eq 'ml85p') { + # Check whether printer is on first parallel port + if ($printer->{currentqueue}{connect} !~ + m!^\s*(parallel|file):/dev/(lp|printers/)0\s*$!) { + $::noX || + $in->ask_warn(N("Samsung ML/QL-85G configuration"), + N("The driver for this printer only supports printers locally connected on the first parallel port, no printers on remote machines or print server boxes or on other parallel ports. Please connect your printer to the first parallel port or configure it on the machine where it is connected to.")); + return 0; + } + # Set driver executable permissions + if ($printer->{SPOOLER} eq 'cups') { + set_permissions('/usr/bin/ml85p', + '4750', 'root', 'sys'); + } elsif ($printer->{SPOOLER} eq 'pdq') { + set_permissions('/usr/bin/ml85p', + '4755', 'root', 'sys'); + } else { + set_permissions('/usr/bin/ml85p', + '4750', 'root', 'lp'); + } + # This is needed to have the device not blocked by the + # spooler backend. + $printer->{currentqueue}{connect} = 'file:/dev/null'; + } elsif (($printer->{currentqueue}{driver} =~ + m!^\s*lbp[46]60\s*$!) || + ($printer->{currentqueue}{ppd} && + ($printer->{currentqueue}{ppd} =~ + m!Canon-LBP-[46]60-lbp[46]60.ppd!))) { + # Check whether printer is on first parallel port + if ($printer->{currentqueue}{connect} !~ + m!^\s*(parallel|file):/dev/(lp|printers/)0\s*$!) { + $::noX || + $in->ask_warn(N("Canon LBP-460/660 configuration"), + N("The driver for this printer only supports printers locally connected on the first parallel port, no printers on remote machines or print server boxes or on other parallel ports. Please connect your printer to the first parallel port or configure it on the machine where it is connected to.")); + return 0; + } + # Set driver executable permissions + if ($printer->{SPOOLER} eq 'cups') { + set_permissions('/usr/bin/lbp660', + '4750', 'root', 'sys'); + } elsif ($printer->{SPOOLER} eq 'pdq') { + set_permissions('/usr/bin/lbp660', + '4755', 'root', 'sys'); + } else { + set_permissions('/usr/bin/lbp660', + '4750', 'root', 'lp'); + } + # This is needed to have the device not blocked by the + # spooler backend. + $printer->{currentqueue}{connect} = 'file:/dev/null'; + } elsif (($printer->{currentqueue}{driver} =~ + m!^\s*capt\s*$!) || + ($printer->{currentqueue}{ppd} && + ($printer->{currentqueue}{ppd} =~ + m!Canon-LBP-\d*-capt.ppd!))) { + # Check whether printer is on USB + if ($printer->{currentqueue}{connect} !~ + m!^\s*(usb):!) { + $::noX || + $in->ask_warn(N("Canon LBP-810/1120 (CAPT) configuration"), + N("The driver for this printer only supports printers locally connected via USB, no printers on remote machines or print server boxes or on the parallel port. Please connect your printer to the USB or configure it on the machine where it is directly connected to.")); + return 0; + } + # This is needed to have the device not blocked by the + # spooler backend. + $printer->{currentqueue}{connect} = 'file:/dev/null'; } elsif ($printer->{currentqueue}{printer} eq 'HP-LaserJet_1000') { $in->ask_warn(N("Firmware-Upload for HP LaserJet 1000"), $hp1000fwtext); @@ -2778,8 +3510,45 @@ sub get_printer_info { 1; } +sub unhexify { + # Replace hex notation for unprintable characters in PPD files + # by the actual characters ex: "<0A>" --> chr(hex("0A")) + # Taken from Foomatic + my ($input) = @_; + my $output = ""; + my $hexmode = 0; + my $firstdigit = ""; + for (my $i = 0; $i < length($input); $i++) { + my $c = substr($input, $i, 1); + if ($hexmode) { + if ($c eq ">") { + # End of hex string + $hexmode = 0; + } elsif ($c =~ /^[0-9a-fA-F]$/) { + # Hexadecimal digit, two of them give a character + if ($firstdigit ne "") { + $output .= chr(hex("$firstdigit$c")); + $firstdigit = ""; + } else { + $firstdigit = $c; + } + } + } else { + if ($c eq "<") { + # Beginning of hex string + $hexmode = 1; + } else { + # Normal character + $output .= $c; + } + } + } + return $output; +} + sub setup_options { my ($printer, $in) = @_; + local $::isEmbedded = 0; my @simple_options = ("PageSize", # Media properties "MediaType", @@ -2892,8 +3661,8 @@ You should make sure that the page size and the ink type/printing mode (if avail # Should the option only show when the "Advanced" button was # clicked? my $advanced = ((defined($printer->{ARGS}[$i]{group}) && - ($printer->{ARGS}[$i]{group} !~ - /^(|General|.*install.*)$/i)) || + $printer->{ARGS}[$i]{group} !~ + /^(|General|.*install.*)$/i) || (!($printer->{ARGS}[$i]{group}) && !member($printer->{ARGS}[$i]{name}, @simple_options)) ? 1 : 0); @@ -2903,8 +3672,8 @@ You should make sure that the page size and the ink type/printing mode (if avail $oldgroup[$advanced] = $printer->{ARGS}[$i]{group}; if ($printer->{ARGS}[$i]{group}) { push(@widgets, - { val => - join(" / ", @{$printer->{ARGS}[$i]{grouptrans}}), + { val => unhexify(join(" / ", + @{$printer->{ARGS}[$i]{grouptrans}})), advanced => $advanced }); } } @@ -2913,35 +3682,35 @@ You should make sure that the page size and the ink type/printing mode (if avail $choicelists[$i] = []; $shortchoicelists[$i] = []; foreach my $choice (@{$printer->{ARGS}[$i]{vals}}) { - push(@{$choicelists[$i]}, $choice->{comment}); + push(@{$choicelists[$i]}, unhexify($choice->{comment})); push(@{$shortchoicelists[$i]}, $choice->{value}); if ($choice->{value} eq $optshortdefault) { - $userinputs[$i] = $choice->{comment}; + $userinputs[$i] = unhexify($choice->{comment}); } } push(@widgets, - { label => $printer->{ARGS}[$i]{comment}, + { label => unhexify($printer->{ARGS}[$i]{comment}), val => \$userinputs[$i], not_edit => 1, list => \@{$choicelists[$i]}, sort => 0, advanced => $advanced, help => $helptext }) - if ($printer->{ARGS}[$i]{name} ne 'PageRegion'); + if $printer->{ARGS}[$i]{name} ne 'PageRegion'; } elsif ($printer->{ARGS}[$i]{type} eq 'bool') { # boolean option - $choicelists[$i] = [($printer->{ARGS}[$i]{comment_true} || - $printer->{ARGS}[$i]{name} || "Yes"), - ($printer->{ARGS}[$i]{comment_false} || - $printer->{ARGS}[$i]{name_false} || - "No")]; + $choicelists[$i] = + [(unhexify($printer->{ARGS}[$i]{comment_true}) || + unhexify($printer->{ARGS}[$i]{name}) || "Yes"), + (unhexify($printer->{ARGS}[$i]{comment_false}) || + unhexify($printer->{ARGS}[$i]{name_false}) || "No")]; $shortchoicelists[$i] = []; my $numdefault = - ($optshortdefault =~ m!^\s*(true|on|yes|1)\s*$! ? + ($optshortdefault =~ m!^\s*(true|on|yes|1)\s*$!i ? "1" : "0"); $userinputs[$i] = $choicelists[$i][1-$numdefault]; push(@widgets, - { label => $printer->{ARGS}[$i]{comment}, + { label => unhexify($printer->{ARGS}[$i]{comment}), val => \$userinputs[$i], not_edit => 1, list => \@{$choicelists[$i]}, @@ -2954,7 +3723,7 @@ You should make sure that the page size and the ink type/printing mode (if avail $shortchoicelists[$i] = []; $userinputs[$i] = $optshortdefault; push(@widgets, - { label => $printer->{ARGS}[$i]{comment} . + { label => unhexify($printer->{ARGS}[$i]{comment}) . " ($printer->{ARGS}[$i]{min}... " . "$printer->{ARGS}[$i]{max})", #type => 'range', @@ -3007,16 +3776,16 @@ You should make sure that the page size and the ink type/printing mode (if avail for ($i = 0; $i <= $#{$printer->{ARGS}}; $i++) { if ($printer->{ARGS}[$i]{type} eq 'int' || $printer->{ARGS}[$i]{type} eq 'float') { if ($printer->{ARGS}[$i]{type} eq 'int' && $userinputs[$i] !~ /^[\-\+]?[0-9]+$/) { - $in->ask_warn(N("Error"), N("Option %s must be an integer number!", $printer->{ARGS}[$i]{comment})); - return (1, $i); + $in->ask_warn(N("Error"), N("Option %s must be an integer number!", unhexify($printer->{ARGS}[$i]{comment}))); + return 1, $i; } if ($printer->{ARGS}[$i]{type} eq 'float' && $userinputs[$i] !~ /^[\-\+]?[0-9\.]+$/) { - $in->ask_warn(N("Error"), N("Option %s must be a number!", $printer->{ARGS}[$i]{comment})); - return (1, $i); + $in->ask_warn(N("Error"), N("Option %s must be a number!", unhexify($printer->{ARGS}[$i]{comment}))); + return 1, $i; } if ($userinputs[$i] < $printer->{ARGS}[$i]{min} || $userinputs[$i] > $printer->{ARGS}[$i]{max}) { - $in->ask_warn(N("Error"), N("Option %s out of range!", $printer->{ARGS}[$i]{comment})); - return (1, $i); + $in->ask_warn(N("Error"), N("Option %s out of range!", unhexify($printer->{ARGS}[$i]{comment}))); + return 1, $i; } } } @@ -3063,6 +3832,7 @@ You should make sure that the page size and the ink type/printing mode (if avail sub setasdefault { my ($printer, $in) = @_; + local $::isEmbedded = 0; # $in->set_help('setupAsDefault') if $::isInstall; if ($printer->{DEFAULT} eq '' || # We have no default printer, # so set the current one as default @@ -3074,6 +3844,7 @@ sub setasdefault { sub print_testpages { my ($printer, $in, $upNetwork) = @_; + local $::isEmbedded = 0; # $in->set_help('printTestPages') if $::isInstall; # print test pages my $res2 = 0; @@ -3105,7 +3876,7 @@ Note: the photo test page can take a rather long time to get printed and on lase $res2 = 0; $oldres2 = 0; } - $old_options{standard} = $options{standard}; + $old_options{$opt} = $options{$opt}; } } return 0; @@ -3123,9 +3894,10 @@ Note: the photo test page can take a rather long time to get printed and on lase { text => N("Photo test page"), type => 'bool', val => \$options{photo} }, #{ text => N("Plain text test page"), type => 'bool', # val => \$options{ascii} } - if_($::isWizard, - { text => N("Do not print any test page"), type => 'bool', - val => \$res2 }) + #if_($::isWizard, + # ({ val => "__________" }, + # { text => N("Do not print any test page"), type => 'bool', + # val => \$res2 })) ]); $res2 = 1 if !($options{standard} || $options{altletter} || $options{alta4} || $options{photo} || $options{ascii}); if ($res1 && !$res2) { @@ -3146,6 +3918,9 @@ Note: the photo test page can take a rather long time to get printed and on lase !files_exist('/usr/bin/convert')) { $in->do_pkgs->install('ImageMagick') or do { + # Do not embed this message in the add-printer + # wizard. + local $::isWizard = 0; $in->ask_warn(N("Warning"), N("Could not install the %s package!", "ImageMagick") . " " . @@ -3174,6 +3949,9 @@ Printing status:\n%s\n\n", @lpq_output); It may take some time before the printer starts.\n"); } if ($printer->{NEW} == 0) { + # Do not embed the following messages in the add-printer + # wizard. + local $::isWizard = 0; $in->ask_warn(N("Printerdrake"),$dialogtext); return 1; } else { @@ -3188,34 +3966,29 @@ It may take some time before the printer starts.\n"); sub printer_help { my ($printer, $in) = @_; + local $::isEmbedded = 0; my $spooler = $printer->{SPOOLER}; + $spooler = "cups" if $spooler eq "rcups"; my $queue = $printer->{QUEUE}; my $default = $printer->{DEFAULT}; my $raw = 0; my $cupsremote = 0; + my $hplip = ""; my $scanning = ""; my $photocard = ""; my $hp11000fw = ""; if ($printer->{configured}{$queue}) { - if ($printer->{configured}{$queue}{queuedata}{model} eq "Unknown model" || + if ($printer->{configured}{$queue}{queuedata}{model} eq N("Unknown model") || $printer->{configured}{$queue}{queuedata}{model} eq N("Raw printer")) { $raw = 1; } - # Information about scanning with HP's multi-function devices - $scanning = scanner_help( + # Information about extra functions of HP printers enabled by HPLIP + $hplip = hplip_help( $printer->{configured}{$queue}{queuedata}{make} . " " . $printer->{configured}{$queue}{queuedata}{model}, $printer->{configured}{$queue}{queuedata}{connect}); - if ($scanning) { - $scanning = "\n\n$scanning\n\n"; - } - # Information about photo card access with HP's multi-function devices - $photocard = photocard_help( - $printer->{configured}{$queue}{queuedata}{make} . " " . - $printer->{configured}{$queue}{queuedata}{model}, - $printer->{configured}{$queue}{queuedata}{connect}); - if ($photocard) { - $photocard = "\n\n$photocard\n\n"; + if ($hplip) { + $hplip = "\n\n$hplip\n\n"; } if ($printer->{configured}{$queue}{queuedata}{printer} eq 'HP-LaserJet_1000') { @@ -3238,11 +4011,11 @@ The \"%s\" command also allows to modify the option settings for a particular pr (!$cupsremote ? N("To know about the options available for the current printer read either the list shown below or click on the \"Print option list\" button.%s%s%s -", $scanning, $photocard, $hp11000fw) . printer::main::help_output($printer, 'cups') : - $scanning . $photocard . $hp11000fw . +", $hplip, $hp11000fw) . printer::main::help_output($printer, 'cups') : + $hplip . $hp11000fw . N("Here is a list of the available printing options for the current printer: -") . printer::main::help_output($printer, 'cups')) : $scanning . $photocard . $hp11000fw); +") . printer::main::help_output($printer, 'cups')) : $hplip . $hp11000fw); } elsif ($spooler eq "lprng") { $dialogtext = N("To print a file from the command line (terminal window) use the command \"%s <file>\". @@ -3252,7 +4025,7 @@ N("This command you can also use in the \"Printing command\" field of the printi (!$raw ? N(" The \"%s\" command also allows to modify the option settings for a particular printing job. Simply add the desired settings to the command line, e. g. \"%s <file>\". ", "lpr", ($queue ne $default ? "lpr -P $queue -Z option=setting -Z switch" : "lpr -Z option=setting -Z switch")) . -N("To get a list of the options available for the current printer click on the \"Print option list\" button.") . $scanning . $photocard . $hp11000fw : $scanning . $photocard . $hp11000fw); +N("To get a list of the options available for the current printer click on the \"Print option list\" button.") . $hplip . $hp11000fw : $hplip . $hp11000fw); } elsif ($spooler eq "lpd") { $dialogtext = N("To print a file from the command line (terminal window) use the command \"%s <file>\". @@ -3262,7 +4035,7 @@ N("This command you can also use in the \"Printing command\" field of the printi (!$raw ? N(" The \"%s\" command also allows to modify the option settings for a particular printing job. Simply add the desired settings to the command line, e. g. \"%s <file>\". ", "lpr", ($queue ne $default ? "lpr -P $queue -o option=setting -o switch" : "lpr -o option=setting -o switch")) . -N("To get a list of the options available for the current printer click on the \"Print option list\" button.") . $scanning . $photocard . $hp11000fw : $scanning . $photocard . $hp11000fw); +N("To get a list of the options available for the current printer click on the \"Print option list\" button.") . $hplip . $hp11000fw : $hplip . $hp11000fw); } elsif ($spooler eq "pdq") { $dialogtext = N("To print a file from the command line (terminal window) use the command \"%s <file>\" or \"%s <file>\". @@ -3278,16 +4051,12 @@ The \"%s\" and \"%s\" commands also allow to modify the option settings for a pa ", "pdq", "lpr", ($queue ne $default ? "pdq -P $queue -aoption=setting -oswitch" : "pdq -aoption=setting -oswitch")) . N("To know about the options available for the current printer read either the list shown below or click on the \"Print option list\" button.%s%s%s -", $scanning, $photocard, $hp11000fw) . printer::main::help_output($printer, 'pdq') : - $scanning . $photocard . $hp11000fw); +", $hplip, $hp11000fw) . printer::main::help_output($printer, 'pdq') : + $hplip . $hp11000fw); } - my $windowtitle = ($scanning ? - ($photocard ? - N("Printing/Scanning/Photo Cards on \"%s\"", $queue) : - N("Printing/Scanning on \"%s\"", $queue)) : - ($photocard ? - N("Printing/Photo Card Access on \"%s\"", $queue) : - N("Printing on the printer \"%s\"", $queue))); + my $windowtitle = ($hplip ? + N("Using/Maintaining the printer \"%s\"", $queue) : + N("Printing on the printer \"%s\"", $queue)); if (!$raw && !$cupsremote) { my $choice; while ($choice ne N("Close")) { @@ -3297,7 +4066,7 @@ N("To know about the options available for the current printer read either the l N("Close")); if ($choice ne N("Close")) { my $_w = $in->wait_message(N("Printerdrake"), - N("Printing test page(s)...")); + N("Printing option list...")); printer::main::print_optionlist($printer); } } @@ -3306,52 +4075,45 @@ N("To know about the options available for the current printer read either the l } } -sub scanner_help { - my ($makemodel, $deviceuri) = @_; - if ($deviceuri =~ m!^ptal://?(.*?)$!) { - my $ptaldevice = $1; - if ($makemodel !~ /HP\s+PhotoSmart/i && - $makemodel !~ /HP\s+LaserJet\s+2200/i && - $makemodel !~ /HP\s+(DeskJet|dj)\s*450/i) { - # Models with built-in scanner - return N("Your multi-function device was configured automatically to be able to scan. Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the scanner when you have more than one) from the command line or with the graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, you can also scan by choosing the appropriate point in the \"File\"/\"Acquire\" menu. Call also \"man scanimage\" on the command line to get more information. - -Do not use \"scannerdrake\" for this device!", - $ptaldevice); - } else { - # Scanner-less models - return ""; - } +sub hplip_help { + my ($makemodel, $deviceuri, $hplipentry) = @_; + return "" if (!$hplipentry && $deviceuri !~ m!^hp:/!); + if (!$hplipentry) { + $hplipentry = + printer::main::hplip_device_entry_from_uri($deviceuri); + return "" if !$hplipentry; } -} -sub photocard_help { - my ($makemodel, $deviceuri) = @_; - if ($deviceuri =~ m!^ptal://?(.*?)$!) { - my $ptaldevice = $1; - if (($makemodel =~ /HP\s+PhotoSmart/i || - $makemodel =~ /HP\s+PSC\s*9[05]0/i || - $makemodel =~ /HP\s+PSC\s*135\d/i || - $makemodel =~ /HP\s+PSC\s*21[57]\d/i || - $makemodel =~ /HP\s+PSC\s*22\d\d/i || - $makemodel =~ /HP\s+PSC\s*2[45]\d\d/i || - $makemodel =~ /HP\s+OfficeJet\s+D\s*1[45]5/i || - $makemodel =~ /HP\s+OfficeJet\s+71[34]0/i || - $makemodel =~ /HP\s+(DeskJet|dj)\s*450/i) && - $makemodel !~ /HP\s+PhotoSmart\s+7150/i) { - # Models with built-in photo card drives - return N("Your printer was configured automatically to give you access to the photo card drives from your PC. Now you can access your photo cards using the graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> \"MTools File Manager\") or the command line utilities \"mtools\" (enter \"man mtools\" on the command line for more info). You find the card's file system under the drive letter \"p:\", or subsequent drive letters when you have more than one HP printer with photo card drives. In \"MtoolsFM\" you can switch between drive letters with the field at the upper-right corners of the file lists.", - $ptaldevice); - } else { - # Photo-card-drive-less models - return ""; - } + my $text = N("Your %s is set up with HP's HPLIP driver software. This way many special features of your printer are supported.\n\n", $makemodel); + + if ($hplipentry->{scan}) { + $text .= N("The scanner in your printer can be used with the usual SANE software, for example Kooka or XSane (Both in the Multimedia/Graphics menu). "); + $text .= N("Run Scannerdrake (Hardware/Scanner in Mandriva Linux Control Center) to share your scanner on the network.\n\n"); + } + + if (($hplipentry->{card} == 2) && ($deviceuri =~ m!/usb/!i)) { + $text .= N("The memory card readers in your printer can be accessed like a usual USB mass storage device. "); + $text .= N("After inserting a card a hard disk icon to access the card should appear on your desktop.\n\n"); + } elsif ($hplipentry->{card} > 0) { + $text .= N("The memory card readers in your printer can be accessed using HP's Printer Toolbox (Menu: System/Monitoring/HP Printer Toolbox) clicking the \"Access Photo Cards...\" button on the \"Functions\" tab. "); + $text .= N("Note that this is very slow, reading the pictures from the camera or a USB card reader is usually faster.\n\n"); } + + $text .= N("HP's Printer Toolbox (Menu: System/Monitoring/HP Printer Toolbox) offers a lot of status monitoring and maintenance functions for your %s:\n\n", $makemodel); + $text .= N(" - Ink level/status info\n") if $hplipentry->{status}; + $text .= N(" - Ink nozzle cleaning\n") if $hplipentry->{clean}; + $text .= N(" - Print head alignment\n") if $hplipentry->{align}; + $text .= N(" - Color calibration\n") if $hplipentry->{colorcal}; + + $text .= "\n"; + + return $text; } sub copy_queues_from { my ($printer, $in, $oldspooler) = @_; + local $::isEmbedded = 0; # $in->set_help('copyQueues') if $::isInstall; my $newspooler = $printer->{SPOOLER}; my @oldqueues; @@ -3419,14 +4181,14 @@ You can also type a new name or skip this printer.", callbacks => { complete => sub { unless ($newqueue =~ /^\w+$/) { $in->ask_warn(N("Error"), N("Name of printer should contain only letters, numbers and the underscore")); - return (1,0); + return 1, 0; } if ($printer->{configured}{$newqueue} && $newqueue ne $oldqueue && !$in->ask_yesorno(N("Warning"), N("The printer \"%s\" already exists,\ndo you really want to overwrite its configuration?", $newqueue), 0)) { - return (1,0); # Let the user correct the name + return 1, 0; # Let the user correct the name } return 0; } } @@ -3463,14 +4225,17 @@ You can also type a new name or skip this printer.", sub start_network { my ($in, $upNetwork) = @_; + local $::isEmbedded = 0; my $_w = $in->wait_message(N("Printerdrake"), N("Starting network...")); if ($::isInstall) { - return ($upNetwork and - do { my $ret = &$upNetwork(); - undef $upNetwork; - sleep(1); - $ret }); + my $ret; + if ($upNetwork) { + $ret = &$upNetwork(); + undef $upNetwork; + sleep(1); + } + return $ret; } else { return printer::services::start("network") } } @@ -3491,8 +4256,9 @@ sub check_network { # that the network is up and running so that the remote printer is # reachable. - my ($printer, $in, $upNetwork, $dontconfigure) = @_; + my ($printer, $in, $upNetwork, $b_dontconfigure) = @_; + local $::isEmbedded = 0; # Any additional dialogs caused by this subroutine should appear as # extra windows and not embedded in the "Add printer" wizard. local $::isWizard = 0; @@ -3502,7 +4268,7 @@ sub check_network { # First check: Do configured networks # (/etc/sysconfig/network-scripts/ifcfg*) exist? - if (!$dontconfigure && !network_configured()) { + if (!$b_dontconfigure && !network_configured()) { my $go_on = 0; while (!$go_on) { my $choice = N("Configure the network now"); @@ -3513,12 +4279,12 @@ sub check_network { N("Go on without configuring the network") ] } ])) { if ($choice eq N("Configure the network now")) { if ($::isInstall) { + my $o = $in; require network::netconnect; network::netconnect::main( $in->{prefix}, $in->{netcnx} ||= {}, $in, $in->{netc}, $in->{mouse}, $in->{intf}); -# my ($prefix, $netcnx, $in, $o_netc, $o_mouse, $o_intf, $o_first_time, $o_noauto) = @_; } else { system("/usr/sbin/drakconnect"); } @@ -3541,7 +4307,7 @@ sub check_network { # The network is configured now, start it. if (!start_network($in, $upNetwork) && - (!$dontconfigure || $::isInstall)) { + (!$b_dontconfigure || $::isInstall)) { $in->ask_warn(N("Warning"), ($::isInstall ? N("The network configuration done during the installation cannot be started now. Please check whether the network is accessible after booting your system and correct the configuration using the %s Control Center, section \"Network & Internet\"/\"Connection\", and afterwards set up the printer, also using the %s Control Center, section \"Hardware\"/\"Printer\"", $shortdistroname, $shortdistroname) : @@ -3564,23 +4330,15 @@ N("The network access was not running and could not be started. Please check you sub security_check { # Check the security mode and when in "high" or "paranoid" mode ask the # user whether he really wants to configure printing. - my ($_printer, $in, $spooler) = @_; + my ($spooler, $security, $o_in) = @_; + local $::isEmbedded = 0; # Any additional dialogs caused by this subroutine should appear as # extra windows and not embedded in the "Add printer" wizard. local $::isWizard = 0; # $in->set_help('securityCheck') if $::isInstall; - # Get security level - my $security; - if ($::isInstall) { - $security = $in->{security}; - } else { - require security::level; - $security = security::level::get(); - } - # Exit silently if the spooler is PDQ if ($spooler eq "pdq") { return 1 } @@ -3595,7 +4353,8 @@ sub security_check { # wants to activate the spooler in the given security mode. Stop the # operation of installing the spooler if he disagrees. my $securitystr = ($security == 4 ? N("high") : N("paranoid")); - if ($in->ask_yesorno(N("Installing a printing system in the %s security level", $securitystr), + if ($o_in && + $o_in->ask_yesorno(N("Installing a printing system in the %s security level", $securitystr), N("You are about to install the printing system %s on a system running in the %s security level. This printing system runs a daemon (background process) which waits for print jobs and handles them. This daemon is also accessible by remote machines through the network and so it is a possible point for attacks. Therefore only a few selected daemons are started by default in this security level. @@ -3620,24 +4379,26 @@ Do you really want to configure printing on this machine?", sub start_spooler_on_boot { # Checks whether the spooler will be started at boot time and if not, # ask the user whether he wants to start the spooler at boot time. - my ($printer, $in, $service) = @_; + my ($printer, $o_in, $b_service, $b_silentspooleronboot) = @_; # PDQ has no daemon, so nothing needs to be started : - return unless $service; + return unless $b_service; + local $::isEmbedded = 0; # Any additional dialogs caused by this subroutine should appear as # extra windows and not embedded in the "Add printer" wizard. local $::isWizard = 0; # $in->set_help('startSpoolerOnBoot') if $::isInstall; - if (!services::starts_on_boot($service)) { - if ($in->ask_yesorno(N("Starting the printing system at boot time"), + if (!services::starts_on_boot($b_service)) { + if ($b_silentspooleronboot || + $o_in && $o_in->ask_yesorno(N("Starting the printing system at boot time"), N("The printing system (%s) will not be started automatically when the machine is booted. It is possible that the automatic starting was turned off by changing to a higher security level, because the printing system is a potential point for attacks. Do you want to have the automatic starting of the printing system turned on again?", $printer::data::spoolers{$printer->{SPOOLER}}{short_name}))) { - services::start_service_on_boot($service); + services::start_service_on_boot($b_service); } } 1; @@ -3645,36 +4406,53 @@ Do you want to have the automatic starting of the printing system turned on agai sub install_spooler { # installs the default spooler and start its daemon - my ($printer, $in, $upNetwork) = @_; + my ($printer, $security, $do_pkgs, $o_in, $o_upNetwork, $b_silentspooleronboot) = @_; + local $::isEmbedded = 0; return 1 if $::testing; my $spooler = $printer->{SPOOLER}; # If the user refuses to install the spooler in high or paranoid # security level, exit. - return 0 unless security_check($printer, $in, $spooler); - return 1 if $spooler !~ /^(cups|lpd|lprng|pqd)$/; # should not happen - my $w = $in->wait_message(N("Printerdrake"), N("Checking installed software...")); + return 0 unless security_check($spooler, $security, $o_in); + # should not happen + return 0 if $spooler !~ /^(rcups|cups|lpd|lprng|pqd)$/; + my $w = $::noX || $::autoqueue || ($o_in && $o_in->wait_message(N("Printerdrake"), N("Checking installed software..."))); # "lpr" conflicts with "LPRng", remove either "LPRng" or remove "lpr" my $packages = $spoolers{$spooler}{packages2rm}; if ($packages && files_exist($packages->[1])) { undef $w; - $w = $in->wait_message(N("Printerdrake"), N("Removing %s ..."), $spoolers{$packages->[0]}{short_name}); - $in->do_pkgs->remove_nodeps($packages->[0]) + $w = $o_in && $o_in->wait_message(N("Printerdrake"), N("Removing %s..."), $spoolers{$packages->[0]}{short_name}); + $do_pkgs->remove_nodeps($packages->[0]) or do { - $in->ask_warn(N("Error"), + $o_in && $o_in->ask_warn(N("Error"), N("Could not remove the %s printing system!", $spoolers{$packages->[0]}{short_name})); return 0; }; } + # Install all packages needed to run printerdrake and the chosen spooler $packages = $spoolers{$spooler}{packages2add}; - if ($packages && !files_exist(@{$packages->[1]})) { + push @{$packages->[0]}, @{$commonpackages->[0]}; + push @{$packages->[0]}, @{$localqueuepackages->[0]} if + $spoolers{$spooler}{local_queues}; + push @{$packages->[1]}, @{$commonpackages->[1]}; + push @{$packages->[1]}, @{$localqueuepackages->[1]} if + $spoolers{$spooler}{local_queues}; + if (files_exist("/usr/bin/gimp") || files_exist("/usr/bin/gimp-2.2")) { + push @{$packages->[0]}, @{$gimpprintingpackages->[0]}; + push @{$packages->[1]}, @{$gimpprintingpackages->[1]}; + } +# if (files_exist("/usr/bin/gnome-panel")) { +# push @{$packages->[0]}, @{$gnomecupspackages->[0]}; +# push @{$packages->[1]}, @{$gnomecupspackages->[1]}; +# } + if (@{$packages->[0]} && !files_exist(@{$packages->[1]})) { undef $w; - $w = $in->wait_message(N("Printerdrake"), N("Installing %s ..."), $spoolers{$spooler}{short_name}); - $in->do_pkgs->install(@{$packages->[0]}) + $w = $o_in && $o_in->wait_message(N("Printerdrake"), N("Installing %s..."), $spoolers{$spooler}{short_name}); + $do_pkgs->install(@{$packages->[0]}) or do { - $in->ask_warn(N("Error"), + $o_in && $o_in->ask_warn(N("Error"), N("Could not install the %s printing system!", $spoolers{$spooler}{short_name})); return 0; @@ -3686,9 +4464,9 @@ sub install_spooler { # Start the network (especially during installation), so the # user can set up queues to remote printers. - $upNetwork and do { - &$upNetwork(); - undef $upNetwork; + $o_upNetwork and do { + &$o_upNetwork(); + undef $o_upNetwork; sleep(1); }; @@ -3698,11 +4476,24 @@ sub install_spooler { # Avoid unnecessary restarting of CUPS, this blocks the # startup of printerdrake for several seconds. printer::services::start_not_running_service("cups"); + # Remove a remote CUPS server setting from the client.conf + # file, otherwise the local CUPS daemon gets overridden. + my ($daemonless_cups, $remote_cups_server) = + printer::main::read_client_conf(); + if ($daemonless_cups) { + printer::main::write_client_conf(0, $remote_cups_server); + } + } elsif ($spooler eq "rcups") { + # Stop CUPS daemon, we want to run daemon-less + services::stop("cups") if services::is_service_running("cups"); + # Do not start CUPS daemon during boot + services::do_not_start_service_on_boot("cups"); } elsif ($spoolers{$spooler}{service}) { printer::services::restart($spoolers{$spooler}{service}); } - # Set the choosen spooler tools as defaults for "lpr", "lpq", "lprm", ... + # Set the choosen spooler tools as defaults for "lpr", "lpq", + # "lprm", ... foreach (@{$spoolers{$spooler}{alternatives}}) { set_alternative($_->[0], $_->[1]); } @@ -3711,11 +4502,52 @@ sub install_spooler { printer::main::pdq_panic_button($spooler eq 'pdq' ? "add" : "remove"); # Should it be started at boot time? - start_spooler_on_boot($printer, $in, $spoolers{$spooler}{boot_spooler}); + start_spooler_on_boot($printer, $o_in, $spoolers{$spooler}{boot_spooler}, + $b_silentspooleronboot); # Give a SIGHUP to the devfsd daemon to correct the permissions # for the /dev/... files according to the spooler - printer::main::SIGHUP_daemon("devfs"); + #printer::main::SIGHUP_daemon("devfs"); + 1; +} + +sub assure_remote_server_is_set { + my ($printer, $in) = @_; + local $::isEmbedded = 0; + # Check if a remote CUPS server is specified + if (!$printer->{remote_cups_server}) { + my ($daemonless_cups, $remote_cups_server) = + printer::main::read_client_conf(); + if (!$daemonless_cups) { + if (!$in->ask_from_ + ({ title => N("Remote CUPS server and no local CUPS daemon"), + messages => N("In this mode there is no local printing system, all printing requests go directly to the server specified below. Note that it is not possible to define local print queues then and if the specified server is down it cannot be printed at all from this machine.") . + "\n\n" . + N("Enter the host name or IP of your CUPS server and click OK if you want to use this mode, click \"Quit\" otherwise."), + cancel => N("Quit"), + callbacks => { + complete => sub { + if ($remote_cups_server =~ /^\s*$/) { + + $in->ask_warn(N("Error"), N("CUPS server name or IP address missing.")); + return 1, 1; + } + return 0; + }, + }, + }, + # Show the widgets + [ { label => N("Name or IP of remote server:"), + val => \$remote_cups_server, + } ], + )) { + # Cancel was clicked + exit 1; + } + printer::main::write_client_conf(1, $remote_cups_server); + $printer->{remote_cups_server} = $remote_cups_server; + } + } 1; } @@ -3723,8 +4555,9 @@ sub assure_default_printer_is_set { my ($printer, $in) = @_; if (defined($printer->{SPOOLER}) && $printer->{SPOOLER} && (!defined($printer->{DEFAULT}) || !$printer->{DEFAULT})) { - my $_w = $in->wait_message(N("Printerdrake"), - N("Setting Default Printer...")); + my $_w = $::noX || $::autoqueue || + $in->wait_message(N("Printerdrake"), + N("Setting Default Printer...")); $printer->{DEFAULT} = printer::default::get_printer($printer); if ($printer->{DEFAULT}) { # If a CUPS system has only remote printers and no default @@ -3738,29 +4571,98 @@ sub assure_default_printer_is_set { } } +sub set_cups_daemon_mode { + my ($printer, $in) = @_; + local $::isEmbedded = 0; + my ($modechoice, $daemonless_cups, $remote_cups_server); + + if ($in->ask_from_ + ({ title => N("Local CUPS printing system or remote CUPS server?"), + messages => N("The CUPS printing system can be used in two ways: ") . + "\n\n" . + N("1. The CUPS printing system can run locally. ") . + N("Then locally connected printers can be used and remote printers on other CUPS servers in the same network are automatically discovered. ") . + N("Disadvantage of this approach is, that more resources on the local machine are needed: Additional software packages need to be installed, the CUPS daemon has to run in the background and needs some memory, and the IPP port (port 631) is opened. ") . + "\n\n" . + N("2. All printing requests are immediately sent to a remote CUPS server. ") . + N("Here local resource occupation is reduced to a minimum. No CUPS daemon is started or port opened, no software infrastructure for setting up local print queues is installed, so less memory and disk space is used. ") . + N("Disadvantage is that it is not possible to define local printers then and if the specified server is down it cannot be printed at all from this machine. ") . + "\n\n" . + N("How should CUPS be set up on your machine?"), + callbacks => { + complete => sub { + if ($modechoice eq + N("Remote server, specify Name or IP here:") && + $remote_cups_server =~ /^\s*$/) { + + $in->ask_warn(N("Error"), N("CUPS server name or IP address missing.")); + return 1, 1; + } + return 0; + }, + }, + }, + # Show the widgets + [ { val => \$modechoice, format => \&translate, + type => 'list', + sort => 0, + list => [ N("Local CUPS printing system"), + N("Remote server, specify Name or IP here:") ] }, + { val => \$remote_cups_server, + disabled => sub { + $modechoice ne + N("Remote server, specify Name or IP here:"); + } }, + ], + )) { + # OK was clicked, update the data + $daemonless_cups = + ($modechoice eq N("Remote server, specify Name or IP here:")); + if ($daemonless_cups) { + $printer->{SPOOLER} = "rcups"; + $printer->{remote_cups_server} = $remote_cups_server; + } else { + $printer->{SPOOLER} = "cups"; + undef $printer->{remote_cups_server}; + } + printer::main::write_client_conf($daemonless_cups, + $remote_cups_server); + return 1; + } else { + # Cancel was clicked + return 0; + } +} + + sub setup_default_spooler { - my ($printer, $in, $upNetwork) = @_; - $printer->{SPOOLER} ||= 'cups'; + my ($printer, $security, $in, $upNetwork) = @_; + local $::isEmbedded = 0; my $oldspooler = $printer->{SPOOLER}; - - my $str_spooler = - $in->ask_from_listf_raw({ title => N("Select Printer Spooler"), - messages => N("Which printing system (spooler) do you want to use?"), - interactive_help_id => 'setupDefaultSpooler', - }, - sub { translate($_[0]) }, - [ printer::main::spooler() ], - $spoolers{$printer->{SPOOLER}}{long_name}, - ) or return; - $printer->{SPOOLER} = $spooler_inv{$str_spooler}; + $printer->{SPOOLER} ||= 'cups'; + my @spoolerlist = printer::main::spooler(); + if ($#spoolerlist == 1) { + set_cups_daemon_mode($printer, $in) || return; + } else { + my $str_spooler = + $in->ask_from_listf_raw({ title => N("Select Printer Spooler"), + messages => N("Which printing system (spooler) do you want to use?"), + interactive_help_id => 'setupDefaultSpooler', + }, + sub { translate($_[0]) }, + \@spoolerlist, + $spoolers{$printer->{SPOOLER}}{long_name}, + ) or return; + $printer->{SPOOLER} = $spooler_inv{$str_spooler}; + } # Install the spooler if not done yet - if (!install_spooler($printer, $in, $upNetwork)) { + if (!install_spooler($printer, $security, $in->do_pkgs, $in, $upNetwork)) { $printer->{SPOOLER} = $oldspooler; return; } + assure_remote_server_is_set($printer, $in) + if ($printer->{SPOOLER} eq "rcups"); if ($printer->{SPOOLER} ne $oldspooler) { - # Remove the local printers from Star Office/OpenOffice.org/GIMP - printer::main::removelocalprintersfromapplications($printer); # Get the queues of this spooler { my $_w = $in->wait_message(N("Printerdrake"), @@ -3768,16 +4670,12 @@ sub setup_default_spooler { printer::main::read_configured_queues($printer); } # Copy queues from former spooler - copy_queues_from($printer, $in, $oldspooler); + copy_queues_from($printer, $in, $oldspooler) + if ($oldspooler && ($oldspooler ne "rcups")); # Re-read the printer database (CUPS has additional drivers, PDQ # has no raw queue) %printer::main::thedb = (); assure_default_printer_is_set($printer, $in); - # Configure the current printer queues in applications - my $_w = - $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); } # Save spooler choice printer::default::set_spooler($printer); @@ -3786,6 +4684,7 @@ sub setup_default_spooler { sub configure_queue { my ($printer, $in) = @_; + local $::isEmbedded = 0; my $_w = $in->wait_message(N("Printerdrake"), N("Configuring printer \"%s\"...", $printer->{currentqueue}{queue})) @@ -3793,7 +4692,7 @@ sub configure_queue { $printer->{complete} = 1; my $retval = printer::main::configure_queue($printer); $printer->{complete} = 0; - if (!$retval) { + if (!$retval && !$printer->{noninteractive}) { local $::isWizard = 0; $in->ask_warn(N("Printerdrake"), N("Failed to configure printer \"%s\"!", @@ -3804,15 +4703,17 @@ sub configure_queue { sub install_foomatic { my ($in) = @_; + local $::isEmbedded = 0; if (!$::testing && !files_exist(qw(/usr/bin/foomatic-configure /usr/bin/foomatic-rip - /usr/share/foomatic/db/source/driver/ljet4.xml))) { + /usr/share/foomatic/db/source/driver/ljet4.xml + /usr/share/foomatic/db/source/driver/hpijs.xml))) { my $_w = $in->wait_message(N("Printerdrake"), N("Installing Foomatic...")); $in->do_pkgs->install('foomatic-db-engine', 'foomatic-filters', - 'foomatic-db') + 'foomatic-db', 'foomatic-db-hpijs') or do { $in->ask_warn(N("Error"), N("Could not install %s packages, %s cannot be started!", @@ -3824,6 +4725,7 @@ sub install_foomatic { sub wizard_close { my ($in, $mode) = @_; + local $::isEmbedded = 0; # Leave wizard mode with congratulations screen if $mode = 1 $::Wizard_no_previous = 1; $::Wizard_no_cancel = 1; @@ -3832,11 +4734,11 @@ sub wizard_close { undef $::isWizard; $::WizardWindow->destroy if defined $::WizardWindow; undef $::WizardWindow; -}; +} #- Program entry point for configuration of the printing system. sub main { - my ($printer, $in, $install_step, $upNetwork) = @_; + my ($printer, $security, $in, $install_step, $upNetwork) = @_; # $install_step is only made use of during the installation. It is # 0 when this function is called during the preparation of the "Summary" # screen and 1 when the user clicks on "Configure" on the "Summary" @@ -3849,8 +4751,15 @@ sub main { # screen is clicked. If the button is clicked after an automatic # installation of local printers or if it is clicked for the # second time, these steps are not repeated. + + # Set the spooler to CUPS if we arrive here during the preparation + # of the "Summary" screen of the installation, as we have local + # printers then (if we do not have local printers, this function + # is not called during the preparation of the "Summary" screen). if (!$::isInstall || !$::printerdrake_initialized) { - init($printer, $in, $upNetwork) or return; + $printer->{SPOOLER} ||= 'cups' + if ($::isInstall && $install_step == 0 && !$printer->{expert}); + init($printer, $security, $in, $upNetwork) or return; } # Main loop: During installation we only enter it when the user has @@ -3859,12 +4768,12 @@ sub main { if (!$::isInstall || $install_step == 1) { # Ask for a spooler when none is defined yet $printer->{SPOOLER} ||= - setup_default_spooler($printer, $in, $upNetwork) || return; + setup_default_spooler($printer, $security, $in, $upNetwork) || return; # Save the default spooler printer::default::set_spooler($printer); - mainwindow_interactive($printer, $in, $upNetwork); + mainwindow_interactive($printer, $security, $in, $upNetwork); } # In the installation we call the clean-up manually when we leave # the "Summary" step @@ -3874,84 +4783,76 @@ sub main { } sub init { - my ($printer, $in, $upNetwork) = @_; + my ($printer, $security, $in, $upNetwork) = @_; # Initialization of Printerdrake and queue auto-installation + # This subroutine is called on every start of printerdrake + # directly, from mcc, during installation, or for automatic print + # queue setup in the background, triggered when + # hotplug/udev/dynamic (script /etc/dynamic/script/lp.script) + # discovers a new printer being connected and turned on. + + # In the latter case (background queue installation) only this + # subroutine is called as only the automatic, non-interactive + # print queue creation is needed. This must be totally + # non-interactive and cannot open any window on the X desktop, + # also packages cannot be installed, as the background process + # cannot ask the user to insert CDs. To reach this state of + # absolute silence, there is the global variable $::noX. If it is + # set, all interactivity or wait message is suppressed. If + # interactivity is required, the operation requiring interactivity + # will be skipped. + # Save the user mode, so that the same one is used on the next start # of Printerdrake printer::main::set_usermode($printer->{expert}); - - # printerdrake does not work without foomatic, and for more - # convenience we install some more stuff - { - my $_w = $in->wait_message(N("Printerdrake"), - N("Checking installed software...")); - if (!$::testing && - !files_exist(qw(/usr/bin/foomatic-configure - /usr/lib/perl5/vendor_perl/5.8.0/Foomatic/DB.pm - /usr/bin/foomatic-rip - /usr/share/foomatic/db/source/driver/ljet4.xml - /usr/bin/escputil - /usr/share/printer-testpages/testprint.ps - /usr/bin/nmap - /usr/bin/scli - ), - if_(files_exist("/usr/bin/gimp"), - "/usr/lib/gimp/1.2/plug-ins/print") - )) { - $in->do_pkgs->install('foomatic-db-engine', 'foomatic-filters', - 'foomatic-db', 'printer-utils', - 'printer-testpages', 'nmap', 'scli', - if_($in->do_pkgs->is_installed('gimp'), - 'gimpprint')) - or do { - $in->ask_warn(N("Error"), - N("Could not install necessary packages, %s cannot be started!", - "printerdrake")); - exit 1; - }; - } - - # only experts should be asked for the spooler - $printer->{SPOOLER} ||= 'cups' if !$printer->{expert}; - - } - + + # Get the settings for printer auto administration + printer::main::get_auto_admin($printer); + + # only experts should be asked for the spooler also for background + # installation of print it should not be asked for the spooler, + # as this feature is only supported for CUPS. + $printer->{SPOOLER} ||= 'cups' + if (!$printer->{expert} || $::noX || $::autoqueue) && !$::isInstall; + # If we have chosen a spooler, install it and mark it as default - # spooler + # spooler. Spooler installation is ommitted on background queue + # installation, because this only works when CUPS is already running if ($printer->{SPOOLER}) { - return 0 unless install_spooler($printer, $in, $upNetwork); + return 0 unless ($::noX || + install_spooler($printer, $security, $in->do_pkgs, $in, $upNetwork)); + assure_remote_server_is_set($printer, $in) + if ($printer->{SPOOLER} eq "rcups") && !$::noX && !$::autoqueue; + printer::main::read_configured_queues($printer) + if (($printer->{SPOOLER} ne "rcups") && + (keys(%{$printer->{configured}}) == 0)); printer::default::set_spooler($printer); - } - - # Get the default printer (Done before non-interactive queue setup, - # so that former default is not lost) - assure_default_printer_is_set($printer, $in); - my $nodefault = !$printer->{DEFAULT}; - # Non-interactive setup of newly detected printers (This is done - # only when not in expert mode, so we always have a spooler defined - # here) - configure_new_printers($printer, $in, $upNetwork); + # Get the default printer (Done before non-interactive queue setup, + # so that former default is not lost) + assure_default_printer_is_set($printer, $in); + my $nodefault = !$printer->{DEFAULT}; + + # Non-interactive setup of newly detected printers (This is done + # only when not in expert mode, so we always have a spooler defined + # here) + configure_new_printers($printer, $in, $upNetwork) + if $printer->{SPOOLER} ne "rcups"; - # Make sure that default printer is registered - if ($nodefault && $printer->{DEFAULT}) { - printer::default::set_printer($printer); + # Make sure that default printer is registered + if ($nodefault && $printer->{DEFAULT}) { + printer::default::set_printer($printer); + } } - # Configure the current printer queues in applications - my $w = - $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); - undef $w; - - # Turn on printer autodetection by default + # Turn on local printer autodetection by default $printer->{AUTODETECT} = 1; $printer->{AUTODETECTLOCAL} = 1; - $printer->{AUTODETECTNETWORK} = 1; - $printer->{AUTODETECTSMB} = 1; + $printer->{AUTODETECTNETWORK} = 0; + $printer->{AUTODETECTSMB} = 0; + $printer->{CONFIGLPD} = 0; # Mark this part as done, it should not be done a second time. if ($::isInstall) { @@ -3963,14 +4864,14 @@ sub init { sub mainwindow_interactive { - my ($printer, $in, $upNetwork) = @_; + my ($printer, $security, $in, $upNetwork) = @_; # Control variables for the main loop my ($menuchoice, $cursorpos) = ('', '::'); while (1) { my ($queue, $newcursorpos) = ('', 0); - # If networking is configured, start it, but don't ask the + # If networking is configured, start it, but do not ask the # user to configure networking. We want to know whether we # have a local network to suppress some buttons when there is # no network @@ -3987,7 +4888,8 @@ sub mainwindow_interactive { if (defined($printer->{configured}{$printer->{DEFAULT}})) { $cursorpos = $printer->{configured}{$printer->{DEFAULT}}{queuedata}{menuentry} . N(" (Default)"); - } elsif ($printer->{SPOOLER} eq "cups") { + } elsif (($printer->{SPOOLER} eq "cups") || + ($printer->{SPOOLER} eq "rcups")) { $cursorpos = find { /!$printer->{DEFAULT}:[^!]*$/ } printer::cups::get_formatted_remote_queues($printer); } } @@ -3998,7 +4900,8 @@ sub mainwindow_interactive { N(" (Default)") : "") } keys(%{$printer->{configured} || {}})), - ($printer->{SPOOLER} eq "cups" ? + (($printer->{SPOOLER} eq "cups") || + ($printer->{SPOOLER} eq "rcups") ? sort(printer::cups::get_formatted_remote_queues($printer)) : ())); my $noprinters = $#printerlist < 0; @@ -4018,40 +4921,52 @@ sub mainwindow_interactive { sort => 0, separator => "!", tree_expanded => 1, quit_if_double_click => 1, allow_empty_list => 1, list => \@printerlist }), - { clicked_may_quit => - sub { - # Save the cursor position - $cursorpos = $menuchoice; - $menuchoice = '@addprinter'; - 1; - }, - val => N("Add a new printer") }, - ($printer->{SPOOLER} eq "cups" && + ($printer->{SPOOLER} ne "rcups" ? + { clicked_may_quit => + sub { + # Save the cursor position + $cursorpos = $menuchoice; + $menuchoice = '@addprinter'; + 1; + }, + val => N("Add a new printer") } : ()), + ((($printer->{SPOOLER} eq "cups") || + ($printer->{SPOOLER} eq "rcups")) && $havelocalnetworks ? - ({ clicked_may_quit => + { clicked_may_quit => + sub { + # Save the cursor position + $cursorpos = $menuchoice; + $menuchoice = '@refresh'; + 1; + }, + val => ($noprinters ? + N("Display all available remote CUPS printers") : + N("Refresh printer list (to display all available remote CUPS printers)")) } : ()), + ((($printer->{SPOOLER} eq "cups") || + ($printer->{SPOOLER} eq "rcups")) && + $havelocalnetworks_or_expert ? + { clicked_may_quit => sub { # Save the cursor position $cursorpos = $menuchoice; - $menuchoice = '@refresh'; + $menuchoice = '@cupsconfig'; 1; }, - val => ($noprinters ? - N("Display all available remote CUPS printers") : - N("Refresh printer list (to display all available remote CUPS printers)")) }) : ()), - ($printer->{SPOOLER} eq "cups" && - $havelocalnetworks_or_expert ? - ({ clicked_may_quit => + val => N("CUPS configuration") } : ()), + (($printer->{SPOOLER} eq "cups") ? + { clicked_may_quit => sub { # Save the cursor position $cursorpos = $menuchoice; - $menuchoice = '@cupsconfig'; + $menuchoice = '@autoadminconfig'; 1; }, - val => N("CUPS configuration") }) : ()), + val => N("Configure Auto Administration") } : ()), ($printer->{expert} && (files_exist(qw(/usr/bin/pdq)) || - files_exist(qw(/usr/lib/filters/lpf - /usr/sbin/lpd))) ? + files_exist("/usr/$lib/filters/lpf", + "/usr/sbin/lpd")) ? { clicked_may_quit => sub { # Save the cursor position @@ -4066,7 +4981,7 @@ sub mainwindow_interactive { # Save the cursor position $cursorpos = $menuchoice; $menuchoice = '@usermode'; - 1 + 1; }, val => ($printer->{expert} ? N("Normal Mode") : N("Expert Mode")) }, @@ -4103,12 +5018,17 @@ sub mainwindow_interactive { next if $menuchoice eq '@refresh'; # Configure CUPS if ($menuchoice eq '@cupsconfig') { - config_cups($printer, $in, $upNetwork); + config_cups($printer, $security, $in, $upNetwork); + next; + } + # Configure auto administration + if ($menuchoice eq '@autoadminconfig') { + config_auto_admin($printer, $in); next; } # Call function to switch to another spooler if ($menuchoice eq '@spooler') { - $printer->{SPOOLER} = setup_default_spooler($printer, $in, $upNetwork) || $printer->{SPOOLER}; + $printer->{SPOOLER} = setup_default_spooler($printer, $security, $in, $upNetwork) || $printer->{SPOOLER}; next; } # Add a new print queue @@ -4168,26 +5088,13 @@ sub add_printer { # Tell subroutines that we add a new printer $printer->{NEW} = 1; - # Default printer name, we do not use "lp" so that one can - # switch the default printer under LPD without needing to - # rename another printer. Under LPD the alias "lp" will be - # given to the default printer. - my $defaultprname = N("Printer"); - - # Determine a default name for a new printer queue - my %queues; - @queues{map { split '\|', $_ } keys %{$printer->{configured}}} = (); - my $i = ''; - while ($i < 99999) { - last unless exists $queues{"$defaultprname$i"}; - $i ++; - } - my $queue = "$defaultprname$i"; + # Printer queue name + my $queue = ""; #- Set default values for a new queue $printer_type_inv{$printer->{TYPE}} or $printer->{TYPE} = printer::default::printer_type(); - $printer->{currentqueue} = { queue => $queue, + $printer->{currentqueue} = { queue => "", foomatic => 0, desc => "", loc => "", @@ -4196,21 +5103,23 @@ sub add_printer { printer => "", driver => "", connect => "", + dd => 1, + att => 0, + delay => 30, spooler => $printer->{SPOOLER}, }; - #- Set OLD_QUEUE field so that the subroutines for the - #- configuration work correctly. - $printer->{OLD_QUEUE} = $printer->{QUEUE} = $queue; #- Do all the configuration steps for a new queue - step_0: - #if (!$::isEmbedded && !$::isInstall && - if ((!$::isInstall) && + if (!$::isInstall && $in->isa('interactive::gtk')) { - # Enter wizard mode + local $::isEmbedded = 0; + undef $::WizardTable; + undef $::WizardWindow; + # Enter wizard mode (only after installation) $::Wizard_pix_up = "printerdrake.png"; $::Wizard_title = N("Add a new printer"); $::isWizard = 1; # Wizard welcome screen + step_0: $::Wizard_no_previous = 1; undef $::Wizard_no_cancel; undef $::Wizard_finished; wizard_welcome($printer, $in, $upNetwork) or do { @@ -4223,7 +5132,13 @@ sub add_printer { # eval to catch wizard cancel. The wizard stuff # should be in a separate function with steps. see # drakgw. - $printer->{expert} or $printer->{TYPE} = "LOCAL"; + $printer->{expert} or do { + if ($printer->{CONFIGLPD}) { + $printer->{TYPE} = "LPD"; + } else { + $printer->{TYPE} = "LOCAL"; + } + }; step_1: !$printer->{expert} or choose_printer_type($printer, $in, $upNetwork) or goto step_0; @@ -4233,19 +5148,10 @@ sub add_printer { goto step_1 if $printer->{expert}; goto step_0; }; - step_3: - if ($printer->{expert} || $printer->{MANUAL} || - $printer->{MORETHANONE}) { - choose_printer_name($printer, $in) or - goto step_2; - } get_db_entry($printer, $in); step_3_9: if (!$printer->{expert} && !$printer->{MANUAL}) { - is_model_correct($printer, $in) or do { - goto step_3 if $printer->{MORETHANONE}; - goto step_2; - } + is_model_correct($printer, $in) or goto step_2; } step_4: # Remember DB entry for "Previous" button in wizard @@ -4255,22 +5161,34 @@ sub add_printer { choose_model($printer, $in) or do { # Restore DB entry $printer->{DBENTRY} = $dbentry; - goto step_3_9 if $printer->{MANUALMODEL}; - goto step_3; + goto step_3_9 if $printer->{MANUALMODEL} && + $printer->{DBENTRY}; + goto step_2; }; } - get_printer_info($printer, $in) or return 0; + get_printer_info($printer, $in) or do { + goto step_4 if $printer->{expert} || $printer->{MANUAL} || + $printer->{MANUALMODEL}; + goto step_3_9; + }; + $queue = generate_queuename($printer); step_5: setup_options($printer, $in) or goto step_4; + step_6: + if ($printer->{expert} || $printer->{MANUAL} || + $printer->{MORETHANONE}) { + choose_printer_name($printer, $in) or do { + goto step_5 if $printer->{expert} || $printer->{MANUAL}; + goto step_4 if $printer->{MANUALMODEL}; + goto step_3_9; + }; + } configure_queue($printer, $in) or die 'wizcancel'; undef $printer->{MANUAL} if $printer->{MANUAL}; + step_7: $::Wizard_no_previous = 1; setasdefault($printer, $in); - my $_w = $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); - undef $_w; my $testpages = print_testpages($printer, $in, $printer->{TYPE} !~ /LOCAL/ && $upNetwork); if ($testpages == 1) { # User was content with test pages @@ -4284,18 +5202,26 @@ sub add_printer { $queue = $printer->{QUEUE}; edit_printer($printer, $in, $upNetwork, $queue); return 1; + } else { + # "Previous" button clicked in test page dialog + goto step_7; } }; - wizard_close($in, 0) if $@ =~ /wizcancel/; + die if $@ && $@ !~ /^wizcancel/; + wizard_close($in, 0); } else { + # Print queue setup without wizard (for installation) $printer->{expert} or $printer->{TYPE} = "LOCAL"; wizard_welcome($printer, $in, $upNetwork) or return 0; + $printer->{expert} or do { + if ($printer->{CONFIGLPD}) { + $printer->{TYPE} = "LPD"; + } else { + $printer->{TYPE} = "LOCAL"; + } + }; !$printer->{expert} or choose_printer_type($printer, $in, $upNetwork) or return 0; setup_printer_connection($printer, $in, $upNetwork) or return 0; - if ($printer->{expert} || $printer->{MANUAL} || - $printer->{MORETHANONE}) { - choose_printer_name($printer, $in) or return 0; - } get_db_entry($printer, $in); if (!$printer->{expert} && !$printer->{MANUAL}) { is_model_correct($printer, $in) or return 0; @@ -4305,15 +5231,15 @@ sub add_printer { choose_model($printer, $in) or return 0; } get_printer_info($printer, $in) or return 0; + $queue = generate_queuename($printer); setup_options($printer, $in) or return 0; + if ($printer->{expert} || $printer->{MANUAL} || + $printer->{MORETHANONE}) { + choose_printer_name($printer, $in) or return 0; + } configure_queue($printer, $in) or return 0; undef $printer->{MANUAL} if $printer->{MANUAL}; setasdefault($printer, $in); - # Configure the current printer queue in applications - my $_w = $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); - undef $_w; my $testpages = print_testpages($printer, $in, $printer->{TYPE} !~ /LOCAL/ && $upNetwork); if ($testpages == 2) { # User was not content with test pages @@ -4321,7 +5247,7 @@ sub add_printer { edit_printer($printer, $in, $upNetwork, $queue); return 1; } - }; + } # Delete some variables cleanup($printer); @@ -4335,10 +5261,6 @@ sub edit_printer { # The menu for doing modifications on an existing print queue - # If one, we have to update the application configuration (GIMP, - # StarOffice, ...) - my $configapps = 0; - # Cursor position in queue modification window my $modify = N("Printer options"); @@ -4346,7 +5268,7 @@ sub edit_printer { $printer->{NEW} = 0; while (defined($printer->{QUEUE}) || - defined($queue)) { # Do not when current queue + defined($queue)) { # Do not continue when current queue # is deleted # Modify a queue, ask which part should be modified # $in->set_help('modifyPrinterMenu') if $::isInstall; @@ -4378,45 +5300,47 @@ sub edit_printer { if ($in->ask_from_( { title => N("Modify printer configuration"), messages => - N("Printer %s + N("Printer %s%s What do you want to modify on this printer?", - $infoline), + $infoline, + if_(($printer->{SPOOLER} =~ /cups/) && + !printer::cups::queue_enabled($queue), + "\n" . N("This printer is disabled"))), cancel => N("Close"), ok => N("Do it!") }, [ { val => \$modify, format => \&translate, - type => 'list', + type => 'list', separator => '|', list => [ ($printer->{configured}{$queue} ? (N("Printer connection type"), N("Printer name, description, location"), ($printer->{expert} ? N("Printer manufacturer, model, driver") : N("Printer manufacturer, model")), - if_($printer->{configured}{$queue}{queuedata}{make} ne "" && - $printer->{configured}{$queue}{queuedata}{model} ne N("Unknown model") && - $printer->{configured}{$queue}{queuedata}{model} ne N("Raw printer"), + if_($printer->{configured}{$queue}{args}, N("Printer options"))) : ()), if_($queue ne $printer->{DEFAULT}, N("Set this printer as the default")), - if_(!$printer->{configured}{$queue}, - N("Add this printer to Star Office/OpenOffice.org/GIMP"), - N("Remove this printer from Star Office/OpenOffice.org/GIMP")), + if_(($printer->{SPOOLER} ne "pdq") && + $printer->{configured}{$queue}, + if_(($printer->{SPOOLER} !~ /cups/) || + !printer::cups::queue_enabled($queue), + N("Enable Printer")), + if_(($printer->{SPOOLER} !~ /cups/) || + printer::cups::queue_enabled($queue), + N("Disable Printer"))), + if_(($printer->{SPOOLER} eq "cups") && + $printer->{configured}{$queue} && + ($printer->{configured}{$queue}{queuedata}{connect} !~ m!^hp:/!), + N("Printer communication error handling")), N("Print test pages"), N("Learn how to use this printer"), if_($printer->{configured}{$queue}, N("Remove printer")) ] } ])) { #- Copy the queue data and work on the copy $printer->{currentqueue} = {}; - my $driver; if ($printer->{configured}{$queue}) { printer::main::copy_printer_params($printer->{configured}{$queue}{queuedata}, $printer->{currentqueue}); - #- Keep in mind the printer driver which was - #- used, so it can be determined whether the - #- driver is only available in expert and so - #- for setting the options for the driver in - #- recommended mode a special treatment has - #- to be applied. - $driver = $printer->{currentqueue}{driver}; } #- keep in mind old name of queue (in case of changing) $printer->{OLD_QUEUE} = $printer->{QUEUE} = $queue; @@ -4426,17 +5350,20 @@ What do you want to modify on this printer?", #- Which printer type did we have before (check #- beginning of URI) if ($printer->{configured}{$queue}) { - if ($printer->{currentqueue}{connect} =~ m!^ptal://?hpjd!) { - $printer->{TYPE} = "socket"; + if (($printer->{currentqueue}{connect} =~ + m!^ptal://?hpjd!) || + ($printer->{currentqueue}{connect} =~ + m!^hp:/net!)) { + $printer->{TYPE} = "SOCKET"; } else { - foreach my $type (qw(file parallel serial usb ptal + foreach my $type (qw(file parallel serial usb ptal hp mtink lpd socket smb ncp postpipe)) { if ($printer->{currentqueue}{connect} =~ /^$type:/) { $printer->{TYPE} = ($type =~ - /(file|parallel|serial|usb|ptal|mtink)/ ? + /(file|parallel|serial|usb|ptal|hp|mtink)/ ? 'LOCAL' : uc($type)); last; } @@ -4448,15 +5375,17 @@ What do you want to modify on this printer?", if ($modify eq N("Printer connection type")) { choose_printer_type($printer, $in, $upNetwork) && setup_printer_connection($printer, $in, $upNetwork) && + #get_db_entry($printer, $in) && + get_printer_info($printer, $in) && configure_queue($printer, $in); } elsif ($modify eq N("Printer name, description, location")) { - choose_printer_name($printer, $in) && - configure_queue($printer, $in) && - ($configapps = 1); + choose_printer_name($printer, $in) and + get_printer_info($printer, $in) and + configure_queue($printer, $in) or next; # Delete old queue when it was renamed if (lc($printer->{QUEUE}) ne lc($printer->{OLD_QUEUE})) { - my $_w = $in->wait_message - (N("Printerdrake"), + my $_w = $in->wait_message( + N("Printerdrake"), N("Removing old printer \"%s\"...", $printer->{OLD_QUEUE})); printer::main::remove_queue($printer, $printer->{OLD_QUEUE}); @@ -4474,36 +5403,39 @@ What do you want to modify on this printer?", choose_model($printer, $in) && get_printer_info($printer, $in) && setup_options($printer, $in) && - configure_queue($printer, $in) && - ($configapps = 1); + configure_queue($printer, $in); } elsif ($modify eq N("Printer options")) { get_printer_info($printer, $in) && setup_options($printer, $in) && configure_queue($printer, $in); } elsif ($modify eq N("Set this printer as the default")) { default_printer($printer, $in, $queue); - $configapps = 1; # The "Set this printer as the default" menu entry will # disappear if the printer is the default, so go back to the # default entry $modify = N("Printer options"); - } elsif ($modify eq N("Add this printer to Star Office/OpenOffice.org/GIMP")) { - $in->ask_warn(N("Adding printer to Star Office/OpenOffice.org/GIMP"), - printer::main::addcupsremotetoapplications($printer, $queue) ? - N("The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP.", $queue) : - N("Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP.", $queue)); - } elsif ($modify eq N("Remove this printer from Star Office/OpenOffice.org/GIMP")) { - $in->ask_warn(N("Removing printer from Star Office/OpenOffice.org/GIMP"), - printer::main::removeprinterfromapplications($printer, $queue) ? - N("The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/GIMP.", $queue) : - N("Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP.", $queue)); + } elsif ($modify eq N("Enable Printer")) { + printer::main::enable_disable_queue($printer, $queue, 1) && + $in->ask_warn(N("Enable Printer"), + N("Printer \"%s\" is now enabled.", + $queue)); + $modify = N("Disable Printer"); + } elsif ($modify eq N("Disable Printer")) { + printer::main::enable_disable_queue($printer, $queue, 0) && + $in->ask_warn(N("Disable Printer"), + N("Printer \"%s\" is now disabled.", + $queue)); + $modify = N("Enable Printer"); + } elsif ($modify eq N("Printer communication error handling")) { + config_backend_error_handling($printer, $in) && + get_printer_info($printer, $in) && + configure_queue($printer, $in); } elsif ($modify eq N("Print test pages")) { print_testpages($printer, $in, $upNetwork); } elsif ($modify eq N("Learn how to use this printer")) { printer_help($printer, $in); } elsif ($modify eq N("Remove printer")) { if (remove_printer($printer, $in, $queue)) { - $configapps = 1; # Let the main menu cursor go to the default # position delete $printer->{QUEUE}; @@ -4511,13 +5443,6 @@ What do you want to modify on this printer?", } } - # Configure the current printer queue in applications - if ($configapps) { - my $_w = - $in->wait_message(N("Printerdrake"), - N("Configuring applications...")); - printer::main::configureapplications($printer); - } # Delete some variables cleanup($printer); } else { @@ -4539,11 +5464,11 @@ sub remove_printer { # and, if yes, removes it. The default printer will be reassigned if # needed. - if ($in->ask_yesorno - (N("Warning"), N("Do you really want to remove the printer \"%s\"?", $queue), + if ($in->ask_yesorno( + N("Warning"), N("Do you really want to remove the printer \"%s\"?", $queue), 1)) { - my $_w = $in->wait_message - (N("Printerdrake"), + my $_w = $in->wait_message( + N("Printerdrake"), N("Removing printer \"%s\"...", $queue)); if (printer::main::remove_queue($printer, $queue)) { # Define a new default printer if we have @@ -4594,7 +5519,7 @@ sub final_cleanup { } delete($printer->{configured}{$queue}{queuedata}{menuentry}); } - foreach (qw(Old_queue OLD_QUEUE QUEUE TYPE str_type currentqueue DBENTRY ARGS complete OLD_CHOICE NEW MORETHANONE MANUALMODEL AUTODETECT AUTODETECTLOCAL AUTODETECTNETWORK AUTODETECTSMB noninteractive expert)) - { delete $printer->{$_} }; + foreach (qw(Old_queue OLD_QUEUE QUEUE TYPE str_type currentqueue DBENTRY ARGS complete OLD_CHOICE NEW MORETHANONE MANUALMODEL AUTODETECT AUTODETECTLOCAL AUTODETECTNETWORK AUTODETECTSMB CONFIGLPD noninteractive expert)) + { delete $printer->{$_} } } diff --git a/perl-install/printer/services.pm b/perl-install/printer/services.pm index adb2587fe..f94cc5af5 100644 --- a/perl-install/printer/services.pm +++ b/perl-install/printer/services.pm @@ -45,7 +45,9 @@ sub wait_for_cups() { my $cupsready = 0; my $i; for ($i = 0; $i < 30; $i++) { - run_program::rooted($::prefix, "/usr/bin/lpstat", "-r"); + # Check whether CUPS is running without any console output + system(($::testing ? $::prefix : "chroot $::prefix/ ") . + "/usr/bin/lpstat -r >/dev/null 2>&1"); if (($? >> 8) != 0) { # CUPS is not ready, continue sleep 1; diff --git a/perl-install/share/advertising/README b/perl-install/share/advertising/README index 58d63c2e3..cdbd8aeb5 100644 --- a/perl-install/share/advertising/README +++ b/perl-install/share/advertising/README @@ -2,3 +2,5 @@ dis == Discovery dwd == Download ppp == PowerPackPlus pwp == PowerPack +cpd == Corporate Desktop +cps == Corporate Server diff --git a/perl-install/share/advertising/corpo-desk-01.pl b/perl-install/share/advertising/corpo-desk-01.pl new file mode 100644 index 000000000..b7b5784b0 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-01.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Thank you for choosing Mandrakelinux!</b>"), center => 1 ], + ' ', + N("Mandrakesoft offers businesses a set of GNU Linux, Open-Source software and related services. It provides user-friendly and highly competitive technologies at a very attractive total cost of ownership."), + N("Whether you seek a product flexible enough to be adapted to your requirements or need high value added services, you'll find answers in our Business product line."), + ' ', + [ N("For any questions, contact us at <b>sales\@mandrakesoft.com</b>"), center => 1 ]); diff --git a/perl-install/share/advertising/corpo-desk-01.png b/perl-install/share/advertising/corpo-desk-01.png Binary files differnew file mode 100644 index 000000000..bf89cb17f --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-01.png diff --git a/perl-install/share/advertising/corpo-desk-02.pl b/perl-install/share/advertising/corpo-desk-02.pl new file mode 100644 index 000000000..55c211886 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-02.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Thank you for choosing the new Mandrakelinux Corporate Desktop!</b>"), center => 1 ], + ' ', + N("Corporate Desktop is the new Mandrakelinux Desktop, specifically dedicated to the business world."), + ' ', + N("All the strengths of Mandrakelinux ... "), + N("- Mandrakelinux Desktop is the most user-friendly and easy-to-use Linux Desktop"), + N("- The only Linux Desktop with a task-oriented menu, with a single application per task"), + N("- Discover the best Open Source applications: OpenOffice to create, edit and manage documents, Mozilla to surf the Internet, Evolution to send and receive e-mails, GnomeMeeting to organize video-conferences and much more!"), + ' ', + N("... adapted to Businesses"), + N("Find out quickly on our website <b>www.mandrakesoft.com</b> our partnerships!")); diff --git a/perl-install/share/advertising/corpo-desk-02.png b/perl-install/share/advertising/corpo-desk-02.png Binary files differnew file mode 100644 index 000000000..717ef961e --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-02.png diff --git a/perl-install/share/advertising/corpo-desk-03.pl b/perl-install/share/advertising/corpo-desk-03.pl new file mode 100644 index 000000000..913a0f0fc --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-03.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Corporate Server</b>"), center => 1 ], + ' ', + N("Based on the new Linux kernel 2.6, Corporate Server is definitely the complete server solution for businesses."), + N("It brings you better performance through the new Apache 2, Samba 3, NPTL and much more!!!"), + N("Just point and click server(s) that you need: "), + N("- Directory - DHCP - Printing System - Web"), + N("- Backup - Instant Messaging - NIS - etc"), + N("- Authentication - Name server - File and Device Sharing"), + N("- Database - Fax - Proxy"), + N("- Secure Remote Access - File Transfer - Router"), + N("- Mail - High Availability - Groupware"), + ' ', + [ N("Thanks to exclusive Mandrakelinux configuration assistants,"), center => 1 ], + [ N("deploying servers has never been so easy!"), center => 1 ]); diff --git a/perl-install/share/advertising/corpo-desk-03.png b/perl-install/share/advertising/corpo-desk-03.png Binary files differnew file mode 100644 index 000000000..84eda1647 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-03.png diff --git a/perl-install/share/advertising/corpo-desk-04.pl b/perl-install/share/advertising/corpo-desk-04.pl new file mode 100644 index 000000000..f0f551976 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-04.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Multi Network Firewall,</b>"), center => 1 ], + [ N("The Mandrakelinux security solution"), center => 1 ], + ' ', + N("Multi Network Firewall (MNF), combines firewall, Virtual Private Network (VPN), intrusion detection, and traffic management functions into an easy-to-use product!"), + ' ', + N("Through a secure Web interface which utilizes finely-tuned wizards, network administrators can easily build a network, define access rules, filter and monitor Internet content, and perform administration tasks!"), + ' ', + N("For more information about this product, visit: <b>www.mandrakesoft.com</b>")); diff --git a/perl-install/share/advertising/corpo-desk-04.png b/perl-install/share/advertising/corpo-desk-04.png Binary files differnew file mode 100644 index 000000000..eaac475f7 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-04.png diff --git a/perl-install/share/advertising/corpo-desk-05-a.pl b/perl-install/share/advertising/corpo-desk-05-a.pl new file mode 100644 index 000000000..9769724c9 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05-a.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + [ N("<b>Professional Support</b>"), center => 1 ], + ' ', + N("Includes Server scope and TELNET, NIS, DNS/DDNS, SQUID Server, SYMPA Server, Databases: MySQL and PostgreSQL, LDAP Server, CYRUS-SASL, DHCP, Static Routing, System Initialization Scripts, Network Printers, Basic Security, Basic Backup and <b>Privileged Contact!</b>"), + ' ', + N("For more details about support, visit <b>www.mandrakesoft.com/support/scope</b>")); diff --git a/perl-install/share/advertising/corpo-desk-05-a.png b/perl-install/share/advertising/corpo-desk-05-a.png Binary files differnew file mode 100644 index 000000000..583ae7bc6 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05-a.png diff --git a/perl-install/share/advertising/corpo-desk-05-b.pl b/perl-install/share/advertising/corpo-desk-05-b.pl new file mode 100644 index 000000000..8c22f9cea --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05-b.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + [ N("<b>Mandrakeonline- Professional Level</b>"), center => 1 ], + ' ', + N("Our new Mandrakeonline service enables you to update an entire computer network in a centralized manner!"), + ' ', + N("For more details about this new service, visit <b>services.mandrakesoft.com/online</b>")); diff --git a/perl-install/share/advertising/corpo-desk-05-b.png b/perl-install/share/advertising/corpo-desk-05-b.png Binary files differnew file mode 100644 index 000000000..583ae7bc6 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05-b.png diff --git a/perl-install/share/advertising/corpo-desk-05.pl b/perl-install/share/advertising/corpo-desk-05.pl new file mode 100644 index 000000000..e16f859d0 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + N("<b>Professional Support</b>"), + ' ', + N("Includes Server scope and TELNET, NIS, DNS/DDNS, SQUID Server, SYMPA Server, Databases: MySQL and PostgreSQL, LDAP Server, CYRUS-SASL, DHCP, Static Routing, System Initialization Scripts, Network Printers, Basic Security, Basic Backup and <b>Privileged Contact!</b>"), + ' ', + N("For more details about support, visit www.mandrakesoft.com/support/scope"), + ' ', + N("<b>Mandrakeonline- Professional Level</b>"), + ' ', + N("Our new Mandrakeonline service enables you to update an entire computer network in a centralized manner!"), + ' ', + N("For more details about this new service, visit www.mandrakesoft.com/mandrakeonline")); diff --git a/perl-install/share/advertising/corpo-desk-05.png b/perl-install/share/advertising/corpo-desk-05.png Binary files differnew file mode 100644 index 000000000..583ae7bc6 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-05.png diff --git a/perl-install/share/advertising/corpo-desk-06-a.pl b/perl-install/share/advertising/corpo-desk-06-a.pl new file mode 100644 index 000000000..6c304963d --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06-a.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + [ N("<b>Corporate Club</b>"), center => 1 ], + ' ', + N("The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development."), + ' ', + N("For further information, visit <b>www.mandrakesoft.com/corporateclub</b>")); diff --git a/perl-install/share/advertising/corpo-desk-06-a.png b/perl-install/share/advertising/corpo-desk-06-a.png Binary files differnew file mode 100644 index 000000000..8b7abd4e8 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06-a.png diff --git a/perl-install/share/advertising/corpo-desk-06-b.pl b/perl-install/share/advertising/corpo-desk-06-b.pl new file mode 100644 index 000000000..136869d32 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06-b.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + [ N("<b>Consulting</b>"), center => 1 ], + ' ', + N("For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others."), + ' ', + N("For further information, visit <b>www.mandrakesoft.com/consulting</b>")); diff --git a/perl-install/share/advertising/corpo-desk-06-b.png b/perl-install/share/advertising/corpo-desk-06-b.png Binary files differnew file mode 100644 index 000000000..7a04017ee --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06-b.png diff --git a/perl-install/share/advertising/corpo-desk-06.pl b/perl-install/share/advertising/corpo-desk-06.pl new file mode 100644 index 000000000..21eabf071 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + N("<b>Corporate Club</b>"), + ' ', + N("The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development. + For further information, visit www.mandrakesoft.com/corporateclub/"), + ' ', + N("<b>Consulting</b>"), + ' ', + N("For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others. + For further information, visit www.mandrakesoft.com/consulting")); diff --git a/perl-install/share/advertising/corpo-desk-06.png b/perl-install/share/advertising/corpo-desk-06.png Binary files differnew file mode 100644 index 000000000..8b7abd4e8 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-06.png diff --git a/perl-install/share/advertising/corpo-desk-07.pl b/perl-install/share/advertising/corpo-desk-07.pl new file mode 100644 index 000000000..6ee21d26d --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-07.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Become a Mandrakesoft partner!</b>"), center => 1 ], + ' ', + N("Mandrakesoft provides business partners with the technology expertise, experience and know-how of a leading editor."), + ' ', + N("Already familiar with, or about to enter the Linux market? Our partnership programs can help you to truly capitalize on your products and services. When you become a Mandrakesoft partner, you gain access to full support and assistance for all of your project cycle needs including: research and development, sales and marketing opportunities and professional services. "), + ' ', + N("For more information, visit: <b>www.mandrakesoft.com/partners</b>")); diff --git a/perl-install/share/advertising/corpo-desk-07.png b/perl-install/share/advertising/corpo-desk-07.png Binary files differnew file mode 100644 index 000000000..feb6a47ad --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-07.png diff --git a/perl-install/share/advertising/corpo-desk-08.pl b/perl-install/share/advertising/corpo-desk-08.pl new file mode 100644 index 000000000..0379642e2 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-08.pl @@ -0,0 +1,13 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>PSMP: Personalised Solutions and Maintenance Program</b>"), center => 1 ], + ' ', + N('- The "Personalised Solutions and Maintenance Program" is an easy-to-use, cost effective program designed to meet the needs of businesses of all size. <b>PSMP allows you to purchase Mandrakesoft solutions at volume prices.</b> It reduces the costs associated with evaluating, acquiring, implementing, and maintaining eBusiness software, and provides streamlined purchasing and centralised solution management through an Internet based graphic interface.'), + ' ', + N("- PSMP is a highly personalized program that provides an upper edge solution to enterprise from their competitors. PSMP is a perfect example of a modern web based solution. The program is designed to provide One-Shop complete open source solutions (Products/Support/Updates/Services) to enterprise.")); diff --git a/perl-install/share/advertising/corpo-desk-08.png b/perl-install/share/advertising/corpo-desk-08.png Binary files differnew file mode 100644 index 000000000..910dcd58e --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-08.png diff --git a/perl-install/share/advertising/corpo-desk-09.pl b/perl-install/share/advertising/corpo-desk-09.pl new file mode 100644 index 000000000..1e4c01970 --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-09.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>PSMP: Personalised Solutions and Maintenance Program</b>"), center => 1 ], + ' ', + N("- Maximum savings, minimum hassle, it's easy to get started. The user friendly web design architecture of PSMP allows you to purchase your desired solution for provisioning, managing, migrating and updating your systems, giving you complete flexibility while minimizing cost. It can help you get the most value with up-to-date technology with benefits that can save time and money. PSMP pricing lowers software budgets."), + ' ', + N("- The PSMP order Process is as follows:"), + N(" 1. Register free at www.mandrakesoft.com/psmp"), + N(" 2. Personalise the cart according to your needs"), + N(" 3. Receive the order at your door step")); diff --git a/perl-install/share/advertising/corpo-desk-09.png b/perl-install/share/advertising/corpo-desk-09.png Binary files differnew file mode 100644 index 000000000..910dcd58e --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-09.png diff --git a/perl-install/share/advertising/corpo-desk-10.pl b/perl-install/share/advertising/corpo-desk-10.pl new file mode 100644 index 000000000..4a204460b --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-10.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out quickly Mandrakestore!!!</b>"), center => 1 ], + ' ', + N("Mandrakestore is Mandrakesoft full service e-commerce platform."), + N("Thanks to Mandrakestore, meet all your needs:"), + ' ', + N("- Find out about all Mandrakelinux products"), + N("- Buy additional support incidents"), + N("- Find out our ISV partners"), + N("- etc..."), + ' ', + [ N("Stop by today at <b>www.mandrakestore.com</b>!"), center => 1 ]); diff --git a/perl-install/share/advertising/corpo-desk-10.png b/perl-install/share/advertising/corpo-desk-10.png Binary files differnew file mode 100644 index 000000000..b4691693f --- /dev/null +++ b/perl-install/share/advertising/corpo-desk-10.png diff --git a/perl-install/share/advertising/corpo-server-01.pl b/perl-install/share/advertising/corpo-server-01.pl new file mode 100644 index 000000000..233d8cdb4 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-01.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Thank you for choosing Mandrakelinux!</b>"), center => 1 ], + ' ', + N("Mandrakesoft offers businesses a set of GNU Linux, Open-Source software and related services. It provides user-friendly and highly competitive technologies at a very attractive total cost of ownership. + Whether you seek a product flexible enough to be adapted to your requirements or need high value added services, you'll find answers in our Business product line."), + ' ', + N("For any questions, contact us at sales\@mandrakesoft.com"), + ); diff --git a/perl-install/share/advertising/corpo-server-01.png b/perl-install/share/advertising/corpo-server-01.png Binary files differnew file mode 100644 index 000000000..bf89cb17f --- /dev/null +++ b/perl-install/share/advertising/corpo-server-01.png diff --git a/perl-install/share/advertising/corpo-server-02.pl b/perl-install/share/advertising/corpo-server-02.pl new file mode 100644 index 000000000..251d6d55e --- /dev/null +++ b/perl-install/share/advertising/corpo-server-02.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Thank you for choosing the new Mandrakelinux Corporate Server!</b>"), center => 1 ], + ' ', + N("Based on the new Linux kernel 2.6, Corporate Server is definitely the complete server solution for businesses."), + N("It brings you better performance through the new Apache 2, Samba 3, NPTL and much more!!!"), + N("Just point and click server(s) that you need:"), + N("- Directory - DHCP - Printing System - Web"), + N("- Backup - Instant Messaging - NIS - etc"), + N("- Authentication - Name server - File and Device Sharing"), + N("- Database - Fax - Proxy"), + N("- Secure Remote Access - File Transfer - Router"), + N("- Mail - High Availability - Groupware"), + ' ', + [ N("Thanks to exclusive Mandrakelinux configuration assistants,"), center => 1 ], + [ N("deploying servers has never been so easy!"), center => 1]); diff --git a/perl-install/share/advertising/corpo-server-02.png b/perl-install/share/advertising/corpo-server-02.png Binary files differnew file mode 100644 index 000000000..84eda1647 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-02.png diff --git a/perl-install/share/advertising/corpo-server-03.pl b/perl-install/share/advertising/corpo-server-03.pl new file mode 100644 index 000000000..8840a6d3d --- /dev/null +++ b/perl-install/share/advertising/corpo-server-03.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Corporate Desktop, </b>"), center => 1 ], + [ N("The new Mandrakelinux Desktop, specifically dedicated to the business world"), center => 1 ], + ' ', + N("All the strengths of Mandrakelinux ... "), + ' ', + N("- Mandrakelinux Desktop is the most user-friendly and easy-to-use Linux Desktop"), + N("- The only Linux Desktop with a task-oriented menu, with a single application per task"), + N("- Discover the best Open Source applications: OpenOffice to create, edit and manage documents, Mozilla to surf the Internet, Evolution to send and receive e-mails, GnomeMeeting to organize video-conferences and much more!"), + ' ', + N("... adapted to Businesses"), + ' ', + N("Find out quickly on our website <b>www.mandrakesoft.com</b> our partnerships!")); diff --git a/perl-install/share/advertising/corpo-server-03.png b/perl-install/share/advertising/corpo-server-03.png Binary files differnew file mode 100644 index 000000000..717ef961e --- /dev/null +++ b/perl-install/share/advertising/corpo-server-03.png diff --git a/perl-install/share/advertising/corpo-server-04.pl b/perl-install/share/advertising/corpo-server-04.pl new file mode 100644 index 000000000..e7f0db26a --- /dev/null +++ b/perl-install/share/advertising/corpo-server-04.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Multi Network Firewall,</b>"), center => 1 ], + ' ', + [ N("the Mandrakelinux security solution"), center => 1], + ' ', + N("Multi Network Firewall (MNF), combines firewall, Virtual Private Network (VPN), intrusion detection, and traffic management functions into an easy-to-use product!"), + ' ', + N("Through a secure Web interface which utilizes finely-tuned wizards, network administrators can easily build a network, define access rules, filter and monitor Internet content, and perform administration tasks!"), + ' ', + N("For more information about this product, visit www.mandrakesoft.com")); diff --git a/perl-install/share/advertising/corpo-server-04.png b/perl-install/share/advertising/corpo-server-04.png Binary files differnew file mode 100644 index 000000000..eaac475f7 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-04.png diff --git a/perl-install/share/advertising/corpo-server-05.pl b/perl-install/share/advertising/corpo-server-05.pl new file mode 100644 index 000000000..84b2c2804 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-05.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + N("<b>Professional Support</b>"), + ' ', + N("Includes Server scope and TELNET, NIS, DNS/DDNS, SQUID Server, SYMPA Server, Databases: MySQL and PostgreSQL, LDAP Server, CYRUS-SASL, DHCP, Static Routing, System Initialization Scripts, Network Printers, Basic Security, Basic Backup and <b>Privileged Contact!</b>"), + ' ', + N("For more details about support, visit www.mandrakesoft.com/support/scope"), + ' ', + N("<b>Mandrakeonline Professional Level</b>"), + ' ', + N("Our new Mandrakeonline service enables you to update an entire computer network in a centralized manner!"), + ' ', + N("For more details about this new service, visit www.mandrakesoft.com/mandrakeonline")); diff --git a/perl-install/share/advertising/corpo-server-05.png b/perl-install/share/advertising/corpo-server-05.png Binary files differnew file mode 100644 index 000000000..583ae7bc6 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-05.png diff --git a/perl-install/share/advertising/corpo-server-06.pl b/perl-install/share/advertising/corpo-server-06.pl new file mode 100644 index 000000000..0cc5ceb0c --- /dev/null +++ b/perl-install/share/advertising/corpo-server-06.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out about our professional services!</b>"), center => 1 ], + ' ', + N("<b>Corporate Club</b>"), + ' ', + N("The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development. +For further information, visit www.mandrakesoft.com/corporateclub/"), + ' ', + N("<b>Consulting</b>"), + ' ', + N("For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others. +For further information, visit www.mandrakesoft.com/consulting") + ); diff --git a/perl-install/share/advertising/corpo-server-06.png b/perl-install/share/advertising/corpo-server-06.png Binary files differnew file mode 100644 index 000000000..8b7abd4e8 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-06.png diff --git a/perl-install/share/advertising/corpo-server-07.pl b/perl-install/share/advertising/corpo-server-07.pl new file mode 100644 index 000000000..448f87035 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-07.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Become a Mandrakesoft partner!</b>"), center => 1 ], + ' ', + N("Mandrakesoft provides business partners with the technology expertise, experience and know-how of a leading editor."), + ' ', + N("Already familiar with, or about to enter the Linux market? Our partnership programs can help you to truly capitalize on your products and services. When you become a Mandrakesoft partner, you gain access to full support and assistance for all of your project cycle needs including: research and development, sales and marketing opportunities and professional services. "), + ' ', + N("For more information, visit: www.mandrakesoft.com/partners")); diff --git a/perl-install/share/advertising/corpo-server-07.png b/perl-install/share/advertising/corpo-server-07.png Binary files differnew file mode 100644 index 000000000..7a04017ee --- /dev/null +++ b/perl-install/share/advertising/corpo-server-07.png diff --git a/perl-install/share/advertising/corpo-server-08.pl b/perl-install/share/advertising/corpo-server-08.pl new file mode 100644 index 000000000..448f3250a --- /dev/null +++ b/perl-install/share/advertising/corpo-server-08.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>PSMP: Personalised Solutions and Maintenance Program</b>"), center => 1 ], + ' ', + N("The \"Personalised Solutions and Maintenance Program\" is an easy-to-use, cost effective program designed to meet the needs of businesses of all size. PSMP allows you to purchase Mandrakesoft solutions at volume prices. It reduces the costs associated with evaluating, acquiring, implementing, and maintaining eBusiness software, and provides streamlined purchasing and centralised solution management through an Internet based graphic interface. "), + ' ', + N("PSMP is a highly personalized program that provides an upper edge solution to enterprise from their competitors. PSMP is a perfect example of a modern web based solution. The program is designed to provide One-Shop complete open source solutions (Products/Support/Updates/Services) to enterprise. "), + ); diff --git a/perl-install/share/advertising/corpo-server-08.png b/perl-install/share/advertising/corpo-server-08.png Binary files differnew file mode 100644 index 000000000..feb6a47ad --- /dev/null +++ b/perl-install/share/advertising/corpo-server-08.png diff --git a/perl-install/share/advertising/corpo-server-09.pl b/perl-install/share/advertising/corpo-server-09.pl new file mode 100644 index 000000000..432d117c2 --- /dev/null +++ b/perl-install/share/advertising/corpo-server-09.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>PSMP: Personalised Solutions and Maintenance Program </b>"), center => 1 ], + ' ', + N("Maximum savings, minimum hassle, it's easy to get started. The user friendly web design architecture of PSMP allows you to purchase your desired solution for provisioning, managing, migrating and updating your systems, giving you complete flexibility while minimizing cost. It can help you get the most value with up-to-date technology with benefits that can save time and money. PSMP pricing lowers software budgets. "), + ' ', + N("The PSMP order Process is as follows: +1. Register free at www.mandrakesoft.com/psmp +2. Personalise the cart according to your needs +3. Receive the order at your door step"), + ); diff --git a/perl-install/share/advertising/corpo-server-09.png b/perl-install/share/advertising/corpo-server-09.png Binary files differnew file mode 100644 index 000000000..910dcd58e --- /dev/null +++ b/perl-install/share/advertising/corpo-server-09.png diff --git a/perl-install/share/advertising/corpo-server-10.pl b/perl-install/share/advertising/corpo-server-10.pl new file mode 100644 index 000000000..99130d47f --- /dev/null +++ b/perl-install/share/advertising/corpo-server-10.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +$width = 556; +$height = 303; + +$y_start = 10; +$border = 10; #- for leftish text + +@text = ([ N("<b>Find out quickly Mandrakestore!!!</b>"), center => 1 ], + ' ', + N("Mandrakestore is Mandrakesoft full service e-commerce platform. +Thanks to Mandrakestore, meet all your needs"), + ' ', + N("Find out about all Mandrakelinux products +Buy additional support incidents +Find out our ISV partners +etc"), + ' ', + N("Stop by today at www.mandrakestore.com!")); diff --git a/perl-install/share/advertising/corpo-server-10.png b/perl-install/share/advertising/corpo-server-10.png Binary files differnew file mode 100644 index 000000000..bf89cb17f --- /dev/null +++ b/perl-install/share/advertising/corpo-server-10.png diff --git a/perl-install/share/advertising/dwd-01.pl b/perl-install/share/advertising/dwd-01.pl index 2ac84ba95..41fff68bb 100644 --- a/perl-install/share/advertising/dwd-01.pl +++ b/perl-install/share/advertising/dwd-01.pl @@ -6,14 +6,10 @@ $height = 303; $y_start = 10; $border = 10; #- for leftish text -# Use <b>text</b> for bold - -# @text = ([ N("text to display"), center => 1 ], - -@text = ([ N("<b>Congratulations for choosing Mandrakelinux!</b>"), center => 1 ], +@text = ([ N("<b></b>"), center => 1 ], ' ', - N("Welcome to the Open Source world!"), + N(""), ' ', - N("Mandrakelinux is committed to the Open Source Model and fully respects the General Public License. This new release is the result of collaboration between MandrakeSoft's team of developers and the worldwide community of Mandrakelinux contributors."), + N(""), ' ', - N("We would like to thank everyone who participated in the development of this latest release.")); + N("")); diff --git a/perl-install/share/advertising/list-cpd b/perl-install/share/advertising/list-cpd new file mode 100644 index 000000000..a057b1383 --- /dev/null +++ b/perl-install/share/advertising/list-cpd @@ -0,0 +1,12 @@ +corpo-desk-01.png +corpo-desk-02.png +corpo-desk-03.png +corpo-desk-04.png +corpo-desk-05-a.png +corpo-desk-05-b.png +corpo-desk-06-a.png +corpo-desk-06-b.png +corpo-desk-07.png +corpo-desk-08.png +corpo-desk-09.png +corpo-desk-10.png diff --git a/perl-install/share/advertising/list-cps b/perl-install/share/advertising/list-cps new file mode 100644 index 000000000..e2a516ab3 --- /dev/null +++ b/perl-install/share/advertising/list-cps @@ -0,0 +1,12 @@ +corpo-desk-01.png +corpo-server-02.png +corpo-server-03.png +corpo-desk-04.png +corpo-desk-05-a.png +corpo-desk-05-b.png +corpo-desk-06-a.png +corpo-desk-06-b.png +corpo-desk-07.png +corpo-desk-08.png +corpo-desk-09.png +corpo-desk-10.png diff --git a/perl-install/share/compssUsers.corpo-server b/perl-install/share/compssUsers.corpo-server new file mode 100644 index 000000000..4a7fa7b7f --- /dev/null +++ b/perl-install/share/compssUsers.corpo-server @@ -0,0 +1,88 @@ + # --- Workstation + +Office Workstation [icon=office] [path=Workstation] [descr=Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc] + OFFICE + SPELLCHECK + PUBLISHING + PIM + ARCHIVING + PRINTER + +Internet station [icon=networking] [path=Workstation] [descr=Set of tools to read and send mail and news (mutt, tin..) and to browse the Web] + NETWORKING_WWW + NETWORKING_MAIL + NETWORKING_NEWS + COMMUNICATIONS + NETWORKING_CHAT + NETWORKING_FILE_TRANSFER + NETWORKING_IRC + NETWORKING_INSTANT_MESSAGING + NETWORKING_DNS + + # --- Graphical Environment + +KDE Workstation [icon=kde] [path=Graphical Environment] [descr=The K Desktop Environment, the basic graphical environment with a collection of accompanying tools] + KDE + X + +GNOME Workstation [icon=gnome] [path=Graphical Environment] [descr=A graphical environment with user-friendly set of applications and desktop tools] + GNOME + X + +Other Graphical Desktops [icon=windowmanager] [selected=server] [path=Graphical Environment] [descr=XFce, Window Maker, IceWm] + GRAPHICAL_DESKTOP + X + + # --- Server + +Web Server [icon=file_transfer] [path=Server] [descr=Apache] + NETWORKING_WWW_SERVER + +Groupware [icon=mail] [path=Server] [descr=Kolab server] + NETWORKING_GROUPWARE_SERVER + +Firewall/Router [icon=networking] [path=Server] [descr=Internet gateway] + NETWORKING_FIREWALLING_SERVER + +Mail/News [icon=mail] [path=Server] [descr=Postfix mail server, Inn news server] + NETWORKING_MAIL_SERVER + NETWORKING_NEWS_SERVER + +Directory Server [icon=mail] [path=Server] [descr=LDAP server] + NETWORKING_LDAP_SERVER + +FTP Server [icon=file_transfer] [path=Server] [descr=Wu-FTPd] + NETWORKING_FILE_TRANSFER_SERVER + +DNS/NIS [icon=hardware] [path=Server] [descr=Domain Name and Network Information Server] + NIS_SERVER + NETWORKING_DNS_SERVER + +File & Printer Sharing Server [icon=archiving] [path=Server] [descr=NFS server, Samba server] + NETWORKING_FILE_SERVER + PRINTER + +Database [icon=archiving] [path=Server] [descr=PostgreSQL or MySQL database server] + DATABASES + DATABASES_SERVER + +LSB [icon=documentation] [path=Development] [descr=Linux Standard Base. Third party applications support] + LSB + + # --- Utilities + +SSH server [icon=networking] [path=Utilities] [selected=server] [descr=ssh server] + NETWORKING_REMOTE_ACCESS_SERVER + +Webmin [icon=archiving] [path=Utilities] [selected=server] [descr=webmin remote configuration server] + WEBMIN + +Network Utilities/Monitoring [icon=archiving] [path=Utilities] [selected=server] [descr=Monitoring tools, processes accounting, tcpdump, nmap, ...] + MONITORING + NETWORKING_FILE + +Mandrakesoft Wizards [icon=archiving] [path=Utilities] [selected=server] [descr=Wizards to configure servers] + WIZARDS + +Documentation [icon=documentation] [path=Utilities] [selected=all] [descr=Books and Howto's on Linux and Free Software] + BOOKS diff --git a/perl-install/share/compssUsers.desktop b/perl-install/share/compssUsers.desktop index b47df70d5..e4bd7cdbe 100644 --- a/perl-install/share/compssUsers.desktop +++ b/perl-install/share/compssUsers.desktop @@ -32,9 +32,5 @@ Internet station [icon=networking] [path=Workstation] [selected=desktop] [descr= Network Computer (client) [icon=terminals] [path=Workstation] [selected=desktop] [descr=Clients for different protocols including ssh] NETWORKING_REMOTE_ACCESS -Game station [icon=arcade] [path=Workstation] [selected=desktop] [descr=Amusement programs: arcade, boards, strategy, etc] - GAMES - Documentation [icon=documentation] [path=Workstation] [selected=desktop] [descr=Books and Howto's on Linux and Free Software] BOOKS - diff --git a/perl-install/share/compssUsers.suppl-desktop b/perl-install/share/compssUsers.suppl-desktop new file mode 100755 index 000000000..dc92169af --- /dev/null +++ b/perl-install/share/compssUsers.suppl-desktop @@ -0,0 +1,43 @@ + # --- Workstation + + +KDE Workstation [icon=kde] [path=Workstation] [selected=desktop] [descr=The K Desktop Environment, the basic graphical environment with a collection of accompanying tools] + KDE + X + TERMINALS + NETWORKING_OTHER + +Office Workstation [icon=office] [path=Workstation] [selected=desktop] [descr=Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc] + OFFICE + SPELLCHECK + PUBLISHING + ARCHIVING + PRINTER + +Multimedia station [icon=multimedia] [path=Workstation] [selected=desktop] [descr=Sound and video playing/editing programs] + AUDIO + VIDEO + GRAPHICS + +Internet station [icon=networking] [path=Workstation] [selected=desktop] [descr=Set of tools to read and send mail and news and to browse the Web] + NETWORKING_WWW + NETWORKING_MAIL + NETWORKING_NEWS + COMMUNICATIONS + NETWORKING_FILE_TRANSFER + NETWORKING_IRC + NETWORKING_INSTANT_MESSAGING + NETWORKING_DNS + +Network Computer (client) [icon=terminals] [path=Workstation] [selected=desktop] [descr=Clients for different protocols including ssh] + NETWORKING_REMOTE_ACCESS + +Documentation [icon=documentation] [path=Workstation] [selected=desktop] [descr=Books and Howto's on Linux and Free Software] + BOOKS + + # --- Development + +Development [icon=editors] [path=Development] [selected=all] [descr=C and C++ development libraries, programs and include files] + DEVELOPMENT + EDITORS + diff --git a/perl-install/share/compssUsers.suppl-server b/perl-install/share/compssUsers.suppl-server new file mode 100755 index 000000000..02dd980d7 --- /dev/null +++ b/perl-install/share/compssUsers.suppl-server @@ -0,0 +1,94 @@ + # --- Workstation + +Office Workstation [icon=office] [path=Workstation] [descr=Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc] + OFFICE + SPELLCHECK + PUBLISHING + PIM + ARCHIVING + PRINTER + +Internet station [icon=networking] [path=Workstation] [descr=Set of tools to read and send mail and news (mutt, tin..) and to browse the Web] + NETWORKING_WWW + NETWORKING_MAIL + NETWORKING_NEWS + COMMUNICATIONS + NETWORKING_CHAT + NETWORKING_FILE_TRANSFER + NETWORKING_IRC + NETWORKING_INSTANT_MESSAGING + NETWORKING_DNS + + # --- Graphical Environment + +KDE Workstation [icon=kde] [path=Graphical Environment] [descr=The K Desktop Environment, the basic graphical environment with a collection of accompanying tools] + KDE + X + +GNOME Workstation [icon=gnome] [path=Graphical Environment] [descr=A graphical environment with user-friendly set of applications and desktop tools] + GNOME + X + +Other Graphical Desktops [icon=windowmanager] [selected=server] [path=Graphical Environment] [descr=XFce, Window Maker, IceWm] + GRAPHICAL_DESKTOP + X + + # --- Server + +Web Server [icon=file_transfer] [path=Server] [descr=Apache] + NETWORKING_WWW_SERVER + +Groupware [icon=mail] [path=Server] [descr=Kolab server] + NETWORKING_GROUPWARE_SERVER + +Firewall/Router [icon=networking] [path=Server] [descr=Internet gateway] + NETWORKING_FIREWALLING_SERVER + +Mail/News [icon=mail] [path=Server] [descr=Postfix mail server, Inn news server] + NETWORKING_MAIL_SERVER + NETWORKING_NEWS_SERVER + +Directory Server [icon=mail] [path=Server] [descr=LDAP server] + NETWORKING_LDAP_SERVER + +FTP Server [icon=file_transfer] [path=Server] [descr=Wu-FTPd] + NETWORKING_FILE_TRANSFER_SERVER + +DNS/NIS [icon=hardware] [path=Server] [descr=Domain Name and Network Information Server] + NIS_SERVER + NETWORKING_DNS_SERVER + +File & Printer Sharing Server [icon=archiving] [path=Server] [descr=NFS server, Samba server] + NETWORKING_FILE_SERVER + PRINTER + +Database [icon=archiving] [path=Server] [descr=PostgreSQL or MySQL database server] + DATABASES + DATABASES_SERVER + +LSB [icon=documentation] [path=Development] [descr=Linux Standard Base. Third party applications support] + LSB + + # --- Utilities + +SSH server [icon=networking] [path=Utilities] [selected=server] [descr=ssh server] + NETWORKING_REMOTE_ACCESS_SERVER + +Webmin [icon=archiving] [path=Utilities] [selected=server] [descr=webmin remote configuration server] + WEBMIN + +Network Utilities/Monitoring [icon=archiving] [path=Utilities] [selected=server] [descr=Monitoring tools, processes accounting, tcpdump, nmap, ...] + MONITORING + NETWORKING_FILE + +Mandrakesoft Wizards [icon=archiving] [path=Utilities] [selected=server] [descr=Wizards to configure servers] + WIZARDS + +Documentation [icon=documentation] [path=Utilities] [selected=all] [descr=Books and Howto's on Linux and Free Software] + BOOKS + + # --- Development + +Development [icon=editors] [path=Development] [selected=all] [descr=C and C++ development libraries, programs and include files] + DEVELOPMENT + EDITORS diff --git a/perl-install/share/list b/perl-install/share/list index e551d74dc..6383a12ff 100644 --- a/perl-install/share/list +++ b/perl-install/share/list @@ -61,8 +61,9 @@ /usr/LIB/gtk-2.0/*/loaders/libpixbufloader-xpm.so /usr/LIB/gtk-2.0/*/loaders/libpixbufloader-png.so /etc/gtk-2.0/gtk.immodules +/usr/LIB/gtk-2.0/*/immodules/im-cedilla.so /usr/LIB/gtk-2.0/*/engines/libgalaxy.so -/etc/pango/pango.modules +/etc/pango/ARCH/pango.modules /usr/LIB/pango/*/modules/pango-basic-xft.so /usr/LIB/pango/*/modules/pango-arabic-xft.so /usr/LIB/pango/*/modules/pango-hangul-xft.so @@ -147,11 +148,12 @@ /usr/lib/perl5/vendor_perl/PERL_VERSION/MDK/Common/Various.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/MDK/Common.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/URPM.pm +/usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/URPM/Build.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/URPM/Resolve.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/URPM/Signature.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/auto/URPM/URPM.so -/usr/lib/perl5/vendor_perl/5.8.1/ARCH-linux-thread-multi/PerlIO/gzip.pm -/usr/lib/perl5/vendor_perl/5.8.1/ARCH-linux-thread-multi/auto/PerlIO/gzip/gzip.so +/usr/lib/perl5/vendor_perl/*/ARCH-linux-thread-multi/PerlIO/gzip.pm +/usr/lib/perl5/vendor_perl/*/ARCH-linux-thread-multi/auto/PerlIO/gzip/gzip.so /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/Gtk2.pm /usr/lib/perl5/vendor_perl/PERL_VERSION/ARCH-linux-thread-multi/auto/Gtk2/Gtk2.so /usr/lib/rpm/rpmrc diff --git a/perl-install/share/list.x86_64 b/perl-install/share/list.x86_64 index 6c82c440f..6c311c501 100644 --- a/perl-install/share/list.x86_64 +++ b/perl-install/share/list.x86_64 @@ -123,3 +123,9 @@ /usr/X11R6/lib64/modules/linux/libdrm.a /usr/X11R6/lib64/modules/linux/libfbdevhw.a /usr/X11R6/lib64/modules/linux/libint10.a +/usr/X11R6/lib/X11/locale/lib64/common/ximcp.so.2 +/usr/X11R6/lib/X11/locale/lib64/common/xlcDef.so.2 +/usr/X11R6/lib/X11/locale/lib64/common/xlcUTF8Load.so.2 +/usr/X11R6/lib/X11/locale/lib64/common/xlibi18n.so.2 +/usr/X11R6/lib/X11/locale/lib64/common/xlocale.so.2 +/usr/X11R6/lib/X11/locale/lib64/common/xomGeneric.so.2 diff --git a/perl-install/share/po/DrakX.pot b/perl-install/share/po/DrakX.pot index da7ed6aac..f0a3ec487 100644 --- a/perl-install/share/po/DrakX.pot +++ b/perl-install/share/po/DrakX.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2004-04-01 15:07+0200\n" +"POT-Creation-Date: 2004-08-18 09:50-0400\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" @@ -76,7 +76,7 @@ msgid "" "plug the key again, and launch Mandrake Move again." msgstr "" -#: ../move/move.pm:402 help.pm:418 install_steps_interactive.pm:1312 +#: ../move/move.pm:402 help.pm:418 install_steps_interactive.pm:1307 #, c-format msgid "Reboot" msgstr "" @@ -118,7 +118,7 @@ msgstr "" msgid "Please wait, detecting and configuring devices..." msgstr "" -#: ../move/move.pm:502 ../move/move.pm:559 ../move/move.pm:563 ../move/tree/mdk_totem:86 diskdrake/dav.pm:77 diskdrake/hd_gtk.pm:117 diskdrake/interactive.pm:215 diskdrake/interactive.pm:228 diskdrake/interactive.pm:369 diskdrake/interactive.pm:384 diskdrake/interactive.pm:505 diskdrake/interactive.pm:510 diskdrake/smbnfs_gtk.pm:42 fsedit.pm:253 install_steps.pm:82 install_steps_interactive.pm:40 interactive/http.pm:118 interactive/http.pm:119 network/netconnect.pm:944 network/netconnect.pm:947 network/netconnect.pm:992 network/netconnect.pm:996 network/netconnect.pm:1063 network/netconnect.pm:1113 network/netconnect.pm:1118 network/netconnect.pm:1133 network/netconnect.pm:1336 printer/printerdrake.pm:213 printer/printerdrake.pm:220 printer/printerdrake.pm:245 printer/printerdrake.pm:393 printer/printerdrake.pm:398 printer/printerdrake.pm:411 printer/printerdrake.pm:421 printer/printerdrake.pm:1067 printer/printerdrake.pm:1114 printer/printerdrake.pm:1151 printer/printerdrake.pm:1195 printer/printerdrake.pm:1199 printer/printerdrake.pm:1213 printer/printerdrake.pm:1303 printer/printerdrake.pm:1383 printer/printerdrake.pm:1387 printer/printerdrake.pm:1391 printer/printerdrake.pm:1440 printer/printerdrake.pm:1497 printer/printerdrake.pm:1501 printer/printerdrake.pm:1515 printer/printerdrake.pm:1625 printer/printerdrake.pm:1629 printer/printerdrake.pm:1666 printer/printerdrake.pm:1731 printer/printerdrake.pm:1749 printer/printerdrake.pm:1758 printer/printerdrake.pm:1767 printer/printerdrake.pm:1778 printer/printerdrake.pm:1840 printer/printerdrake.pm:2285 printer/printerdrake.pm:2551 printer/printerdrake.pm:2557 printer/printerdrake.pm:3010 printer/printerdrake.pm:3014 printer/printerdrake.pm:3018 printer/printerdrake.pm:3421 printer/printerdrake.pm:3664 printer/printerdrake.pm:3677 printer/printerdrake.pm:3817 printer/printerdrake.pm:3909 standalone/drakTermServ:416 standalone/drakTermServ:769 standalone/drakTermServ:776 standalone/drakTermServ:971 standalone/drakTermServ:1416 standalone/drakTermServ:1421 standalone/drakTermServ:1428 standalone/drakTermServ:1439 standalone/drakTermServ:1459 standalone/drakauth:36 standalone/drakbackup:581 standalone/drakbackup:694 standalone/drakbackup:1187 standalone/drakbackup:1220 standalone/drakbackup:1735 standalone/drakbackup:1898 standalone/drakbackup:2513 standalone/drakbackup:4286 standalone/drakbackup:4509 standalone/drakboot:255 standalone/drakbug:267 standalone/drakbug:286 standalone/drakbug:292 standalone/drakconnect:608 standalone/drakconnect:611 standalone/drakconnect:632 standalone/drakfloppy:301 standalone/drakfloppy:305 standalone/drakfloppy:311 standalone/drakfont:210 standalone/drakfont:223 standalone/drakfont:259 standalone/drakfont:600 standalone/draksplash:21 standalone/drakxtv:105 standalone/logdrake:170 standalone/logdrake:467 standalone/logdrake:472 standalone/scannerdrake:58 standalone/scannerdrake:200 standalone/scannerdrake:259 standalone/scannerdrake:683 standalone/scannerdrake:694 standalone/scannerdrake:833 standalone/scannerdrake:844 standalone/scannerdrake:914 wizards.pm:95 wizards.pm:99 wizards.pm:121 +#: ../move/move.pm:502 ../move/move.pm:559 ../move/move.pm:563 ../move/tree/mdk_totem:86 diskdrake/dav.pm:77 diskdrake/hd_gtk.pm:117 diskdrake/interactive.pm:217 diskdrake/interactive.pm:230 diskdrake/interactive.pm:371 diskdrake/interactive.pm:386 diskdrake/interactive.pm:507 diskdrake/interactive.pm:512 diskdrake/smbnfs_gtk.pm:42 fsedit.pm:235 install_steps.pm:82 install_steps_interactive.pm:40 interactive/http.pm:118 interactive/http.pm:119 network/netconnect.pm:936 network/netconnect.pm:939 network/netconnect.pm:984 network/netconnect.pm:988 network/netconnect.pm:1055 network/netconnect.pm:1105 network/netconnect.pm:1110 network/netconnect.pm:1125 network/netconnect.pm:1328 printer/printerdrake.pm:213 printer/printerdrake.pm:220 printer/printerdrake.pm:245 printer/printerdrake.pm:393 printer/printerdrake.pm:398 printer/printerdrake.pm:411 printer/printerdrake.pm:421 printer/printerdrake.pm:1067 printer/printerdrake.pm:1114 printer/printerdrake.pm:1151 printer/printerdrake.pm:1195 printer/printerdrake.pm:1199 printer/printerdrake.pm:1213 printer/printerdrake.pm:1303 printer/printerdrake.pm:1383 printer/printerdrake.pm:1387 printer/printerdrake.pm:1391 printer/printerdrake.pm:1440 printer/printerdrake.pm:1497 printer/printerdrake.pm:1501 printer/printerdrake.pm:1515 printer/printerdrake.pm:1625 printer/printerdrake.pm:1629 printer/printerdrake.pm:1666 printer/printerdrake.pm:1731 printer/printerdrake.pm:1749 printer/printerdrake.pm:1758 printer/printerdrake.pm:1767 printer/printerdrake.pm:1778 printer/printerdrake.pm:1840 printer/printerdrake.pm:2285 printer/printerdrake.pm:2551 printer/printerdrake.pm:2557 printer/printerdrake.pm:3010 printer/printerdrake.pm:3014 printer/printerdrake.pm:3018 printer/printerdrake.pm:3421 printer/printerdrake.pm:3664 printer/printerdrake.pm:3677 printer/printerdrake.pm:3817 printer/printerdrake.pm:3909 standalone/drakTermServ:404 standalone/drakTermServ:757 standalone/drakTermServ:764 standalone/drakTermServ:959 standalone/drakTermServ:1429 standalone/drakTermServ:1434 standalone/drakTermServ:1441 standalone/drakTermServ:1452 standalone/drakTermServ:1474 standalone/drakauth:36 standalone/drakbackup:525 standalone/drakbackup:639 standalone/drakbackup:1134 standalone/drakbackup:1167 standalone/drakbackup:1660 standalone/drakbackup:1823 standalone/drakbackup:2435 standalone/drakbackup:4109 standalone/drakbackup:4329 standalone/drakboot:255 standalone/drakbug:267 standalone/drakbug:286 standalone/drakbug:292 standalone/drakconnect:620 standalone/drakconnect:623 standalone/drakconnect:644 standalone/drakfloppy:301 standalone/drakfloppy:305 standalone/drakfloppy:311 standalone/drakfont:210 standalone/drakfont:223 standalone/drakfont:259 standalone/drakfont:600 standalone/draksplash:21 standalone/drakxtv:105 standalone/logdrake:170 standalone/logdrake:467 standalone/logdrake:472 standalone/scannerdrake:58 standalone/scannerdrake:200 standalone/scannerdrake:259 standalone/scannerdrake:688 standalone/scannerdrake:699 standalone/scannerdrake:838 standalone/scannerdrake:849 standalone/scannerdrake:919 wizards.pm:95 wizards.pm:99 wizards.pm:121 #, c-format msgid "Error" msgstr "" @@ -237,91 +237,91 @@ msgstr "" msgid "64 MB or more" msgstr "" -#: Xconfig/card.pm:211 +#: Xconfig/card.pm:214 #, c-format msgid "X server" msgstr "" -#: Xconfig/card.pm:212 +#: Xconfig/card.pm:215 #, c-format msgid "Choose an X server" msgstr "" -#: Xconfig/card.pm:244 +#: Xconfig/card.pm:247 #, c-format msgid "Multi-head configuration" msgstr "" -#: Xconfig/card.pm:245 +#: Xconfig/card.pm:248 #, c-format msgid "" "Your system supports multiple head configuration.\n" "What do you want to do?" msgstr "" -#: Xconfig/card.pm:312 +#: Xconfig/card.pm:315 #, c-format msgid "Can't install XFree package: %s" msgstr "" -#: Xconfig/card.pm:322 +#: Xconfig/card.pm:325 #, c-format msgid "Select the memory size of your graphics card" msgstr "" -#: Xconfig/card.pm:398 +#: Xconfig/card.pm:417 #, c-format msgid "XFree configuration" msgstr "" -#: Xconfig/card.pm:400 +#: Xconfig/card.pm:419 #, c-format msgid "Which configuration of XFree do you want to have?" msgstr "" -#: Xconfig/card.pm:434 +#: Xconfig/card.pm:453 #, c-format msgid "Configure all heads independently" msgstr "" -#: Xconfig/card.pm:435 +#: Xconfig/card.pm:454 #, c-format msgid "Use Xinerama extension" msgstr "" -#: Xconfig/card.pm:440 +#: Xconfig/card.pm:459 #, c-format msgid "Configure only card \"%s\"%s" msgstr "" -#: Xconfig/card.pm:454 Xconfig/card.pm:456 Xconfig/various.pm:23 +#: Xconfig/card.pm:473 Xconfig/card.pm:475 Xconfig/various.pm:23 #, c-format msgid "XFree %s" msgstr "" -#: Xconfig/card.pm:467 Xconfig/card.pm:493 Xconfig/various.pm:23 +#: Xconfig/card.pm:486 Xconfig/card.pm:512 Xconfig/various.pm:23 #, c-format msgid "XFree %s with 3D hardware acceleration" msgstr "" -#: Xconfig/card.pm:470 +#: Xconfig/card.pm:489 #, c-format msgid "" "Your card can have 3D hardware acceleration support but only with XFree %s.\n" "Your card is supported by XFree %s which may have a better support in 2D." msgstr "" -#: Xconfig/card.pm:472 Xconfig/card.pm:495 +#: Xconfig/card.pm:491 Xconfig/card.pm:514 #, c-format msgid "Your card can have 3D hardware acceleration support with XFree %s." msgstr "" -#: Xconfig/card.pm:480 Xconfig/card.pm:501 +#: Xconfig/card.pm:499 Xconfig/card.pm:520 #, c-format msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration" msgstr "" -#: Xconfig/card.pm:483 +#: Xconfig/card.pm:502 #, c-format msgid "" "Your card can have 3D hardware acceleration support but only with XFree %s,\n" @@ -329,24 +329,24 @@ msgid "" "Your card is supported by XFree %s which may have a better support in 2D." msgstr "" -#: Xconfig/card.pm:486 Xconfig/card.pm:503 +#: Xconfig/card.pm:505 Xconfig/card.pm:522 #, c-format msgid "" "Your card can have 3D hardware acceleration support with XFree %s,\n" "NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER." msgstr "" -#: Xconfig/card.pm:509 +#: Xconfig/card.pm:528 #, c-format msgid "Xpmac (installation display driver)" msgstr "" -#: Xconfig/main.pm:88 Xconfig/main.pm:89 Xconfig/monitor.pm:106 any.pm:830 +#: Xconfig/main.pm:88 Xconfig/main.pm:89 Xconfig/monitor.pm:110 any.pm:833 #, c-format msgid "Custom" msgstr "" -#: Xconfig/main.pm:113 diskdrake/dav.pm:28 help.pm:14 install_steps_interactive.pm:83 printer/printerdrake.pm:608 printer/printerdrake.pm:4076 standalone/draksplash:120 standalone/harddrake2:188 standalone/logdrake:175 standalone/scannerdrake:445 +#: Xconfig/main.pm:113 diskdrake/dav.pm:28 help.pm:14 install_steps_interactive.pm:83 printer/printerdrake.pm:608 printer/printerdrake.pm:4076 standalone/draksplash:120 standalone/harddrake2:188 standalone/logdrake:175 standalone/scannerdrake:450 #, c-format msgid "Quit" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Graphic Card" msgstr "" -#: Xconfig/main.pm:118 Xconfig/monitor.pm:100 +#: Xconfig/main.pm:118 Xconfig/monitor.pm:104 #, c-format msgid "Monitor" msgstr "" @@ -371,7 +371,7 @@ msgstr "" msgid "Test" msgstr "" -#: Xconfig/main.pm:131 diskdrake/dav.pm:67 diskdrake/interactive.pm:410 diskdrake/removable.pm:25 diskdrake/smbnfs_gtk.pm:80 standalone/drakconnect:263 standalone/drakconnect:272 standalone/drakconnect:292 standalone/drakconnect:298 standalone/drakconnect:404 standalone/drakconnect:405 standalone/drakconnect:576 standalone/drakfont:494 standalone/drakfont:554 standalone/harddrake2:185 +#: Xconfig/main.pm:131 diskdrake/dav.pm:67 diskdrake/interactive.pm:412 diskdrake/removable.pm:25 diskdrake/smbnfs_gtk.pm:80 standalone/drakfont:494 standalone/drakfont:554 standalone/harddrake2:185 #, c-format msgid "Options" msgstr "" @@ -385,32 +385,32 @@ msgid "" "%s" msgstr "" -#: Xconfig/monitor.pm:101 +#: Xconfig/monitor.pm:105 #, c-format msgid "Choose a monitor" msgstr "" -#: Xconfig/monitor.pm:107 +#: Xconfig/monitor.pm:111 #, c-format msgid "Plug'n Play" msgstr "" -#: Xconfig/monitor.pm:108 mouse.pm:49 +#: Xconfig/monitor.pm:112 mouse.pm:49 #, c-format msgid "Generic" msgstr "" -#: Xconfig/monitor.pm:109 standalone/drakconnect:556 standalone/harddrake2:68 standalone/harddrake2:69 +#: Xconfig/monitor.pm:113 standalone/drakconnect:568 standalone/harddrake2:68 standalone/harddrake2:69 #, c-format msgid "Vendor" msgstr "" -#: Xconfig/monitor.pm:119 +#: Xconfig/monitor.pm:123 #, c-format msgid "Plug'n Play probing failed. Please select the correct monitor" msgstr "" -#: Xconfig/monitor.pm:124 +#: Xconfig/monitor.pm:128 #, c-format msgid "" "The two critical parameters are the vertical refresh rate, which is the rate\n" @@ -422,12 +422,12 @@ msgid "" " If in doubt, choose a conservative setting." msgstr "" -#: Xconfig/monitor.pm:131 +#: Xconfig/monitor.pm:135 #, c-format msgid "Horizontal refresh rate" msgstr "" -#: Xconfig/monitor.pm:132 +#: Xconfig/monitor.pm:136 #, c-format msgid "Vertical refresh rate" msgstr "" @@ -472,17 +472,17 @@ msgstr "" msgid "Graphics card: %s" msgstr "" -#: Xconfig/resolution_and_depth.pm:289 interactive.pm:403 interactive/gtk.pm:759 interactive/http.pm:103 interactive/http.pm:157 interactive/newt.pm:308 interactive/newt.pm:410 interactive/stdio.pm:39 interactive/stdio.pm:142 interactive/stdio.pm:143 interactive/stdio.pm:172 standalone/drakbackup:4045 standalone/drakbackup:4075 standalone/drakbackup:4162 standalone/drakbackup:4175 standalone/drakbackup:4247 standalone/drakconnect:165 standalone/drakconnect:786 standalone/drakconnect:873 standalone/drakconnect:972 standalone/drakups:194 standalone/net_monitor:303 ugtk2.pm:413 ugtk2.pm:510 ugtk2.pm:1075 ugtk2.pm:1098 +#: Xconfig/resolution_and_depth.pm:289 interactive.pm:403 interactive/gtk.pm:759 interactive/http.pm:103 interactive/http.pm:157 interactive/newt.pm:308 interactive/newt.pm:410 interactive/stdio.pm:39 interactive/stdio.pm:142 interactive/stdio.pm:143 interactive/stdio.pm:172 standalone/drakbackup:3966 standalone/drakbackup:4026 standalone/drakbackup:4070 standalone/drakconnect:165 standalone/drakconnect:798 standalone/drakconnect:885 standalone/drakconnect:984 standalone/drakups:194 standalone/net_monitor:307 ugtk2.pm:413 ugtk2.pm:510 ugtk2.pm:1084 ugtk2.pm:1107 #, c-format msgid "Ok" msgstr "" -#: Xconfig/resolution_and_depth.pm:289 any.pm:870 diskdrake/smbnfs_gtk.pm:81 help.pm:197 help.pm:457 install_steps_gtk.pm:490 install_steps_interactive.pm:781 interactive.pm:404 interactive/gtk.pm:763 interactive/http.pm:104 interactive/http.pm:161 interactive/newt.pm:307 interactive/newt.pm:414 interactive/stdio.pm:39 interactive/stdio.pm:142 interactive/stdio.pm:176 printer/printerdrake.pm:3088 standalone/drakautoinst:217 standalone/drakbackup:4009 standalone/drakbackup:4035 standalone/drakbackup:4058 standalone/drakbackup:4089 standalone/drakbackup:4113 standalone/drakbackup:4137 standalone/drakbackup:4189 standalone/drakbackup:4216 standalone/drakbackup:4241 standalone/drakconnect:164 standalone/drakconnect:871 standalone/drakconnect:971 standalone/drakfont:663 standalone/drakfont:740 standalone/drakups:201 standalone/logdrake:175 standalone/net_monitor:299 ugtk2.pm:407 ugtk2.pm:508 ugtk2.pm:517 ugtk2.pm:1075 +#: Xconfig/resolution_and_depth.pm:289 any.pm:877 diskdrake/smbnfs_gtk.pm:81 help.pm:197 help.pm:457 install_steps_gtk.pm:490 install_steps_interactive.pm:779 interactive.pm:404 interactive/gtk.pm:763 interactive/http.pm:104 interactive/http.pm:161 interactive/newt.pm:307 interactive/newt.pm:414 interactive/stdio.pm:39 interactive/stdio.pm:142 interactive/stdio.pm:176 printer/printerdrake.pm:3088 standalone/drakautoinst:217 standalone/drakbackup:3892 standalone/drakbackup:3896 standalone/drakbackup:3954 standalone/drakconnect:164 standalone/drakconnect:883 standalone/drakconnect:983 standalone/drakfont:663 standalone/drakfont:740 standalone/drakups:201 standalone/logdrake:175 standalone/net_monitor:303 ugtk2.pm:407 ugtk2.pm:508 ugtk2.pm:517 ugtk2.pm:1084 #, c-format msgid "Cancel" msgstr "" -#: Xconfig/resolution_and_depth.pm:289 diskdrake/hd_gtk.pm:154 install_steps_gtk.pm:269 install_steps_gtk.pm:670 interactive.pm:498 interactive/gtk.pm:623 interactive/gtk.pm:625 standalone/drakTermServ:316 standalone/drakbackup:4010 standalone/drakbackup:4039 standalone/drakbackup:4062 standalone/drakbackup:4093 standalone/drakbackup:4117 standalone/drakbackup:4141 standalone/drakbackup:4174 standalone/drakbackup:4193 standalone/drakbackup:4220 standalone/drakbackup:4245 standalone/drakbackup:4264 standalone/drakbug:157 standalone/drakconnect:160 standalone/drakconnect:236 standalone/drakfont:512 standalone/drakperm:134 standalone/draksec:296 standalone/harddrake2:184 ugtk2.pm:1188 ugtk2.pm:1189 +#: Xconfig/resolution_and_depth.pm:289 diskdrake/hd_gtk.pm:154 install_steps_gtk.pm:269 install_steps_gtk.pm:670 interactive.pm:498 interactive/gtk.pm:623 interactive/gtk.pm:625 standalone/drakTermServ:304 standalone/drakbackup:3888 standalone/drakbug:157 standalone/drakconnect:160 standalone/drakconnect:239 standalone/drakfont:512 standalone/drakperm:134 standalone/draksec:296 standalone/harddrake2:184 ugtk2.pm:1197 ugtk2.pm:1198 #, c-format msgid "Help" msgstr "" @@ -633,7 +633,7 @@ msgstr "" msgid "What norm is your TV using?" msgstr "" -#: any.pm:103 harddrake/sound.pm:150 interactive.pm:441 standalone/drakbug:259 standalone/drakconnect:167 standalone/draksec:56 standalone/drakups:90 standalone/drakxtv:90 standalone/harddrake2:134 standalone/service_harddrake:107 +#: any.pm:103 harddrake/sound.pm:150 interactive.pm:441 standalone/drakbug:259 standalone/drakconnect:167 standalone/draksec:56 standalone/drakups:90 standalone/drakxtv:90 standalone/harddrake2:134 standalone/service_harddrake:141 #, c-format msgid "Please wait" msgstr "" @@ -712,12 +712,12 @@ msgstr "" msgid "Option ``Restrict command line options'' is of no use without a password" msgstr "" -#: any.pm:218 any.pm:531 install_steps_interactive.pm:1156 +#: any.pm:218 any.pm:531 install_steps_interactive.pm:1155 #, c-format msgid "The passwords do not match" msgstr "" -#: any.pm:218 any.pm:531 diskdrake/interactive.pm:1255 install_steps_interactive.pm:1156 +#: any.pm:218 any.pm:531 diskdrake/interactive.pm:1257 install_steps_interactive.pm:1155 #, c-format msgid "Please try again" msgstr "" @@ -757,12 +757,12 @@ msgstr "" msgid "Force No Local APIC" msgstr "" -#: any.pm:236 any.pm:558 diskdrake/smbnfs_gtk.pm:180 install_steps_interactive.pm:1161 network/netconnect.pm:575 printer/printerdrake.pm:1374 printer/printerdrake.pm:1494 standalone/drakbackup:1717 standalone/drakbackup:3592 standalone/drakups:278 +#: any.pm:236 any.pm:558 diskdrake/smbnfs_gtk.pm:180 install_steps_interactive.pm:1160 network/netconnect.pm:574 printer/printerdrake.pm:1374 printer/printerdrake.pm:1494 standalone/drakbackup:1642 standalone/drakbackup:3514 standalone/drakups:278 #, c-format msgid "Password" msgstr "" -#: any.pm:237 any.pm:559 install_steps_interactive.pm:1162 +#: any.pm:237 any.pm:559 install_steps_interactive.pm:1161 #, c-format msgid "Password (again)" msgstr "" @@ -852,7 +852,7 @@ msgstr "" msgid "Label" msgstr "" -#: any.pm:319 any.pm:329 harddrake/v4l.pm:255 standalone/drakfloppy:88 standalone/drakfloppy:94 +#: any.pm:319 any.pm:329 harddrake/v4l.pm:275 standalone/drakfloppy:88 standalone/drakfloppy:94 #, c-format msgid "Default" msgstr "" @@ -991,7 +991,7 @@ msgid "" "%s" msgstr "" -#: any.pm:544 diskdrake/dav.pm:68 diskdrake/hd_gtk.pm:158 diskdrake/removable.pm:27 diskdrake/smbnfs_gtk.pm:82 help.pm:544 interactive/http.pm:152 printer/printerdrake.pm:165 printer/printerdrake.pm:352 printer/printerdrake.pm:4076 standalone/drakbackup:2802 standalone/scannerdrake:636 standalone/scannerdrake:786 +#: any.pm:544 diskdrake/dav.pm:68 diskdrake/hd_gtk.pm:158 diskdrake/removable.pm:27 diskdrake/smbnfs_gtk.pm:82 help.pm:544 interactive/http.pm:152 printer/printerdrake.pm:165 printer/printerdrake.pm:352 printer/printerdrake.pm:4076 standalone/drakbackup:2724 standalone/scannerdrake:641 standalone/scannerdrake:791 #, c-format msgid "Done" msgstr "" @@ -1021,37 +1021,37 @@ msgstr "" msgid "Icon" msgstr "" -#: any.pm:603 security/l10n.pm:14 +#: any.pm:600 security/l10n.pm:14 #, c-format msgid "Autologin" msgstr "" -#: any.pm:604 +#: any.pm:601 #, c-format msgid "I can set up your computer to automatically log on one user." msgstr "" -#: any.pm:605 help.pm:52 +#: any.pm:602 help.pm:52 #, c-format msgid "Do you want to use this feature?" msgstr "" -#: any.pm:606 +#: any.pm:603 #, c-format msgid "Choose the default user:" msgstr "" -#: any.pm:607 +#: any.pm:604 #, c-format msgid "Choose the window manager to run:" msgstr "" -#: any.pm:619 +#: any.pm:616 #, c-format msgid "Please choose a language to use." msgstr "" -#: any.pm:640 +#: any.pm:643 #, c-format msgid "" "Mandrakelinux can support multiple languages. Select\n" @@ -1059,47 +1059,47 @@ msgid "" "when your installation is complete and you restart your system." msgstr "" -#: any.pm:658 help.pm:660 +#: any.pm:661 help.pm:660 #, c-format msgid "Use Unicode by default" msgstr "" -#: any.pm:659 help.pm:660 +#: any.pm:662 help.pm:660 #, c-format msgid "All languages" msgstr "" -#: any.pm:695 help.pm:581 help.pm:991 install_steps_interactive.pm:901 +#: any.pm:698 help.pm:581 help.pm:991 install_steps_interactive.pm:899 #, c-format msgid "Country / Region" msgstr "" -#: any.pm:696 +#: any.pm:699 #, c-format msgid "Please choose your country." msgstr "" -#: any.pm:698 +#: any.pm:701 #, c-format msgid "Here is the full list of available countries" msgstr "" -#: any.pm:699 diskdrake/interactive.pm:292 help.pm:544 help.pm:581 help.pm:621 help.pm:991 install_steps_interactive.pm:114 +#: any.pm:702 diskdrake/interactive.pm:294 help.pm:544 help.pm:581 help.pm:621 help.pm:991 install_steps_interactive.pm:118 #, c-format msgid "More" msgstr "" -#: any.pm:830 +#: any.pm:833 #, c-format msgid "No sharing" msgstr "" -#: any.pm:830 +#: any.pm:833 #, c-format msgid "Allow all users" msgstr "" -#: any.pm:834 +#: any.pm:837 #, c-format msgid "" "Would you like to allow users to share some of their directories?\n" @@ -1109,79 +1109,199 @@ msgid "" "" msgstr "" -#: any.pm:850 +#: any.pm:853 #, c-format msgid "You can export using NFS or Samba. Please select which you'd like to use." msgstr "" -#: any.pm:858 -#, c-format -msgid "The package %s is going to be removed." -msgstr "" - -#: any.pm:870 +#: any.pm:877 #, c-format msgid "Launch userdrake" msgstr "" -#: any.pm:872 +#: any.pm:879 #, c-format msgid "" "The per-user sharing uses the group \"fileshare\". \n" "You can use userdrake to add a user to this group." msgstr "" -#: authentication.pm:12 +#: authentication.pm:13 #, c-format -msgid "Local files" +msgid "Local file" msgstr "" -#: authentication.pm:12 +#: authentication.pm:14 #, c-format msgid "LDAP" msgstr "" -#: authentication.pm:12 +#: authentication.pm:15 #, c-format msgid "NIS" msgstr "" -#: authentication.pm:12 authentication.pm:50 +#: authentication.pm:16 authentication.pm:125 #, c-format msgid "Windows Domain" msgstr "" -#: authentication.pm:33 +#: authentication.pm:17 +#, c-format +msgid "Active Directory with SFU" +msgstr "" + +#: authentication.pm:18 +#, c-format +msgid "Active Directory with Winbind" +msgstr "" + +#: authentication.pm:27 +#, c-format +msgid "Local file:" +msgstr "" + +#: authentication.pm:27 +#, c-format +msgid "Use local for all authentication and information user tell in local file" +msgstr "" + +#: authentication.pm:28 +#, c-format +msgid "LDAP:" +msgstr "" + +#: authentication.pm:28 +#, 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:29 +#, c-format +msgid "NIS:" +msgstr "" + +#: authentication.pm:29 +#, 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:30 +#, c-format +msgid "Windows Domain:" +msgstr "" + +#: authentication.pm:30 +#, c-format +msgid "Winbind allows a system to retrieve information about users and to authenticate users by using in an Windows domain." +msgstr "" + +#: authentication.pm:31 +#, c-format +msgid "Active Directory with SFU:" +msgstr "" + +#: authentication.pm:31 authentication.pm:32 +#, c-format +msgid "Kerberos is a secure system for providing network authentication services." +msgstr "" + +#: authentication.pm:32 +#, c-format +msgid "Active Directory with Winbind:" +msgstr "" + +#: authentication.pm:58 #, c-format msgid "Authentication LDAP" msgstr "" -#: authentication.pm:34 +#: authentication.pm:59 #, c-format msgid "LDAP Base dn" msgstr "" -#: authentication.pm:35 +#: authentication.pm:60 #, c-format msgid "LDAP Server" msgstr "" -#: authentication.pm:40 +#: authentication.pm:73 fsedit.pm:21 +#, c-format +msgid "simple" +msgstr "" + +#: authentication.pm:74 +#, c-format +msgid "TLS" +msgstr "" + +#: authentication.pm:75 +#, c-format +msgid "SSL" +msgstr "" + +#: authentication.pm:76 +#, c-format +msgid "security layout (SASL/Kerberos)" +msgstr "" + +#: authentication.pm:83 authentication.pm:121 +#, c-format +msgid "Authentication Active Directory" +msgstr "" + +#: authentication.pm:84 authentication.pm:123 diskdrake/smbnfs_gtk.pm:181 +#, c-format +msgid "Domain" +msgstr "" + +#: authentication.pm:86 diskdrake/dav.pm:65 help.pm:137 +#, c-format +msgid "Server" +msgstr "" + +#: authentication.pm:87 +#, c-format +msgid "LDAP users database" +msgstr "" + +#: authentication.pm:88 +#, c-format +msgid "Use Anonymous BIND " +msgstr "" + +#: authentication.pm:89 +#, c-format +msgid "LDAP user allowed to browse the Active Directory" +msgstr "" + +#: authentication.pm:90 +#, c-format +msgid "Password for user" +msgstr "" + +#: authentication.pm:91 +#, c-format +msgid "Encryption" +msgstr "" + +#: authentication.pm:102 #, c-format msgid "Authentication NIS" msgstr "" -#: authentication.pm:41 +#: authentication.pm:103 #, c-format msgid "NIS Domain" msgstr "" -#: authentication.pm:42 +#: authentication.pm:104 #, c-format msgid "NIS Server" msgstr "" -#: authentication.pm:47 +#: authentication.pm:109 #, 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" @@ -1191,22 +1311,32 @@ msgid "" "The command 'wbinfo -t' will test whether your authentication secrets are good." msgstr "" -#: authentication.pm:49 +#: authentication.pm:121 #, c-format msgid "Authentication Windows Domain" msgstr "" -#: authentication.pm:51 +#: authentication.pm:126 #, c-format msgid "Domain Admin User Name" msgstr "" -#: authentication.pm:52 +#: authentication.pm:127 #, c-format msgid "Domain Admin Password" msgstr "" -#: authentication.pm:83 +#: authentication.pm:128 +#, c-format +msgid "Use Idmap for store UID/SID " +msgstr "" + +#: authentication.pm:129 +#, c-format +msgid "Default Idmap " +msgstr "" + +#: authentication.pm:223 #, c-format msgid "Can't use broadcast with no NIS domain" msgstr "" @@ -1330,62 +1460,62 @@ msgstr "" msgid "consolehelper missing" msgstr "" -#: crypto.pm:14 crypto.pm:28 lang.pm:238 network/adsl_consts.pm:44 network/adsl_consts.pm:55 network/adsl_consts.pm:65 network/adsl_consts.pm:75 network/adsl_consts.pm:86 network/adsl_consts.pm:97 network/adsl_consts.pm:107 network/adsl_consts.pm:117 network/adsl_consts.pm:264 network/adsl_consts.pm:264 network/netconnect.pm:46 +#: crypto.pm:14 crypto.pm:28 lang.pm:239 network/adsl_consts.pm:44 network/adsl_consts.pm:55 network/adsl_consts.pm:65 network/adsl_consts.pm:75 network/adsl_consts.pm:86 network/adsl_consts.pm:97 network/adsl_consts.pm:107 network/adsl_consts.pm:117 network/adsl_consts.pm:264 network/adsl_consts.pm:264 network/netconnect.pm:46 #, c-format msgid "France" msgstr "" -#: crypto.pm:15 lang.pm:214 +#: crypto.pm:15 lang.pm:215 #, c-format msgid "Costa Rica" msgstr "" -#: crypto.pm:16 crypto.pm:29 lang.pm:186 network/adsl_consts.pm:26 network/adsl_consts.pm:36 network/netconnect.pm:49 +#: crypto.pm:16 crypto.pm:29 lang.pm:187 network/adsl_consts.pm:26 network/adsl_consts.pm:36 network/netconnect.pm:49 #, c-format msgid "Belgium" msgstr "" -#: crypto.pm:17 crypto.pm:30 lang.pm:219 +#: crypto.pm:17 crypto.pm:30 lang.pm:220 #, c-format msgid "Czech Republic" msgstr "" -#: crypto.pm:18 crypto.pm:31 lang.pm:220 network/adsl_consts.pm:134 network/adsl_consts.pm:142 +#: crypto.pm:18 crypto.pm:31 lang.pm:221 network/adsl_consts.pm:134 network/adsl_consts.pm:142 #, c-format msgid "Germany" msgstr "" -#: crypto.pm:19 crypto.pm:32 lang.pm:251 +#: crypto.pm:19 crypto.pm:32 lang.pm:252 #, c-format msgid "Greece" msgstr "" -#: crypto.pm:20 crypto.pm:33 lang.pm:324 +#: crypto.pm:20 crypto.pm:33 lang.pm:325 #, c-format msgid "Norway" msgstr "" -#: crypto.pm:21 crypto.pm:34 lang.pm:353 network/adsl_consts.pm:240 +#: crypto.pm:21 crypto.pm:34 lang.pm:354 network/adsl_consts.pm:240 #, c-format msgid "Sweden" msgstr "" -#: crypto.pm:22 crypto.pm:36 lang.pm:323 network/adsl_consts.pm:178 network/netconnect.pm:47 +#: crypto.pm:22 crypto.pm:36 lang.pm:324 network/adsl_consts.pm:178 network/netconnect.pm:47 #, c-format msgid "Netherlands" msgstr "" -#: crypto.pm:23 crypto.pm:37 lang.pm:271 network/adsl_consts.pm:158 network/adsl_consts.pm:168 network/netconnect.pm:48 standalone/drakxtv:45 +#: crypto.pm:23 crypto.pm:37 lang.pm:272 network/adsl_consts.pm:158 network/adsl_consts.pm:168 network/netconnect.pm:48 standalone/drakxtv:45 #, c-format msgid "Italy" msgstr "" -#: crypto.pm:24 crypto.pm:38 lang.pm:179 network/adsl_consts.pm:20 +#: crypto.pm:24 crypto.pm:38 lang.pm:180 network/adsl_consts.pm:20 #, c-format msgid "Austria" msgstr "" -#: crypto.pm:35 crypto.pm:65 lang.pm:387 network/netconnect.pm:50 +#: crypto.pm:35 crypto.pm:65 lang.pm:388 network/netconnect.pm:50 #, c-format msgid "United States" msgstr "" @@ -1404,22 +1534,17 @@ msgstr "" msgid "New" msgstr "" -#: diskdrake/dav.pm:63 diskdrake/interactive.pm:417 diskdrake/smbnfs_gtk.pm:75 +#: diskdrake/dav.pm:63 diskdrake/interactive.pm:419 diskdrake/smbnfs_gtk.pm:75 #, c-format msgid "Unmount" msgstr "" -#: diskdrake/dav.pm:64 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:76 +#: diskdrake/dav.pm:64 diskdrake/interactive.pm:416 diskdrake/smbnfs_gtk.pm:76 #, c-format msgid "Mount" msgstr "" -#: diskdrake/dav.pm:65 help.pm:137 -#, c-format -msgid "Server" -msgstr "" - -#: diskdrake/dav.pm:66 diskdrake/interactive.pm:408 diskdrake/interactive.pm:616 diskdrake/interactive.pm:635 diskdrake/removable.pm:24 diskdrake/smbnfs_gtk.pm:79 +#: diskdrake/dav.pm:66 diskdrake/interactive.pm:410 diskdrake/interactive.pm:618 diskdrake/interactive.pm:637 diskdrake/removable.pm:24 diskdrake/smbnfs_gtk.pm:79 #, c-format msgid "Mount point" msgstr "" @@ -1439,17 +1564,17 @@ msgstr "" msgid "Server: " msgstr "" -#: diskdrake/dav.pm:112 diskdrake/interactive.pm:469 diskdrake/interactive.pm:1149 diskdrake/interactive.pm:1225 +#: diskdrake/dav.pm:112 diskdrake/interactive.pm:471 diskdrake/interactive.pm:1151 diskdrake/interactive.pm:1227 #, c-format msgid "Mount point: " msgstr "" -#: diskdrake/dav.pm:113 diskdrake/interactive.pm:1233 +#: diskdrake/dav.pm:113 diskdrake/interactive.pm:1235 #, c-format msgid "Options: %s" msgstr "" -#: diskdrake/hd_gtk.pm:96 diskdrake/interactive.pm:995 diskdrake/interactive.pm:1005 diskdrake/interactive.pm:1065 +#: diskdrake/hd_gtk.pm:96 diskdrake/interactive.pm:997 diskdrake/interactive.pm:1007 diskdrake/interactive.pm:1067 #, c-format msgid "Read carefully!" msgstr "" @@ -1489,7 +1614,7 @@ msgstr "" msgid "Please click on a partition" msgstr "" -#: diskdrake/hd_gtk.pm:209 diskdrake/smbnfs_gtk.pm:63 install_steps_gtk.pm:477 standalone/drakbackup:3040 standalone/drakbackup:3102 +#: diskdrake/hd_gtk.pm:209 diskdrake/smbnfs_gtk.pm:63 install_steps_gtk.pm:477 standalone/drakbackup:2959 standalone/drakbackup:3021 #, c-format msgid "Details" msgstr "" @@ -1529,12 +1654,12 @@ msgstr "" msgid "Windows" msgstr "" -#: diskdrake/hd_gtk.pm:327 install_steps_gtk.pm:329 mouse.pm:167 services.pm:164 standalone/drakbackup:1673 standalone/drakperm:250 +#: diskdrake/hd_gtk.pm:327 install_steps_gtk.pm:329 mouse.pm:167 services.pm:164 standalone/drakbackup:1598 standalone/drakperm:250 #, c-format msgid "Other" msgstr "" -#: diskdrake/hd_gtk.pm:327 diskdrake/interactive.pm:1165 +#: diskdrake/hd_gtk.pm:327 diskdrake/interactive.pm:1167 #, c-format msgid "Empty" msgstr "" @@ -1549,17 +1674,17 @@ msgstr "" msgid "Use ``%s'' instead" msgstr "" -#: diskdrake/hd_gtk.pm:348 diskdrake/hd_gtk.pm:353 diskdrake/interactive.pm:409 diskdrake/interactive.pm:569 diskdrake/removable.pm:26 diskdrake/removable.pm:49 standalone/harddrake2:67 +#: diskdrake/hd_gtk.pm:348 diskdrake/hd_gtk.pm:353 diskdrake/interactive.pm:411 diskdrake/interactive.pm:571 diskdrake/removable.pm:26 diskdrake/removable.pm:49 standalone/harddrake2:67 #, c-format msgid "Type" msgstr "" -#: diskdrake/hd_gtk.pm:348 diskdrake/interactive.pm:431 +#: diskdrake/hd_gtk.pm:348 diskdrake/interactive.pm:433 #, c-format msgid "Create" msgstr "" -#: diskdrake/hd_gtk.pm:350 diskdrake/interactive.pm:418 standalone/drakperm:124 standalone/printerdrake:231 +#: diskdrake/hd_gtk.pm:350 diskdrake/interactive.pm:420 standalone/drakperm:124 standalone/printerdrake:231 #, c-format msgid "Delete" msgstr "" @@ -1569,226 +1694,226 @@ msgstr "" msgid "Use ``Unmount'' first" msgstr "" -#: diskdrake/interactive.pm:179 +#: diskdrake/interactive.pm:181 #, c-format msgid "Choose another partition" msgstr "" -#: diskdrake/interactive.pm:179 +#: diskdrake/interactive.pm:181 #, c-format msgid "Choose a partition" msgstr "" -#: diskdrake/interactive.pm:208 +#: diskdrake/interactive.pm:210 #, c-format msgid "Exit" msgstr "" -#: diskdrake/interactive.pm:241 help.pm:544 +#: diskdrake/interactive.pm:243 help.pm:544 #, c-format msgid "Undo" msgstr "" -#: diskdrake/interactive.pm:241 +#: diskdrake/interactive.pm:243 #, c-format msgid "Toggle to normal mode" msgstr "" -#: diskdrake/interactive.pm:241 +#: diskdrake/interactive.pm:243 #, c-format msgid "Toggle to expert mode" msgstr "" -#: diskdrake/interactive.pm:260 +#: diskdrake/interactive.pm:262 #, c-format msgid "Continue anyway?" msgstr "" -#: diskdrake/interactive.pm:265 +#: diskdrake/interactive.pm:267 #, c-format msgid "Quit without saving" msgstr "" -#: diskdrake/interactive.pm:265 +#: diskdrake/interactive.pm:267 #, c-format msgid "Quit without writing the partition table?" msgstr "" -#: diskdrake/interactive.pm:270 +#: diskdrake/interactive.pm:272 #, c-format msgid "Do you want to save /etc/fstab modifications" msgstr "" -#: diskdrake/interactive.pm:277 install_steps_interactive.pm:301 +#: diskdrake/interactive.pm:279 install_steps_interactive.pm:305 #, c-format msgid "You need to reboot for the partition table modifications to take place" msgstr "" -#: diskdrake/interactive.pm:290 help.pm:544 +#: diskdrake/interactive.pm:292 help.pm:544 #, c-format msgid "Clear all" msgstr "" -#: diskdrake/interactive.pm:291 help.pm:544 +#: diskdrake/interactive.pm:293 help.pm:544 #, c-format msgid "Auto allocate" msgstr "" -#: diskdrake/interactive.pm:297 +#: diskdrake/interactive.pm:299 #, c-format msgid "Hard drive information" msgstr "" -#: diskdrake/interactive.pm:329 +#: diskdrake/interactive.pm:331 #, c-format msgid "All primary partitions are used" msgstr "" -#: diskdrake/interactive.pm:330 +#: diskdrake/interactive.pm:332 #, c-format msgid "I can't add any more partitions" msgstr "" -#: diskdrake/interactive.pm:331 +#: diskdrake/interactive.pm:333 #, c-format msgid "To have more partitions, please delete one to be able to create an extended partition" msgstr "" -#: diskdrake/interactive.pm:342 help.pm:544 +#: diskdrake/interactive.pm:344 help.pm:544 #, c-format msgid "Save partition table" msgstr "" -#: diskdrake/interactive.pm:343 help.pm:544 +#: diskdrake/interactive.pm:345 help.pm:544 #, c-format msgid "Restore partition table" msgstr "" -#: diskdrake/interactive.pm:344 help.pm:544 +#: diskdrake/interactive.pm:346 help.pm:544 #, c-format msgid "Rescue partition table" msgstr "" -#: diskdrake/interactive.pm:346 help.pm:544 +#: diskdrake/interactive.pm:348 help.pm:544 #, c-format msgid "Reload partition table" msgstr "" -#: diskdrake/interactive.pm:348 +#: diskdrake/interactive.pm:350 #, c-format msgid "Removable media automounting" msgstr "" -#: diskdrake/interactive.pm:357 diskdrake/interactive.pm:377 +#: diskdrake/interactive.pm:359 diskdrake/interactive.pm:379 #, c-format msgid "Select file" msgstr "" -#: diskdrake/interactive.pm:364 +#: diskdrake/interactive.pm:366 #, c-format msgid "" "The backup partition table has not the same size\n" "Still continue?" msgstr "" -#: diskdrake/interactive.pm:378 harddrake/sound.pm:226 keyboard.pm:314 network/netconnect.pm:338 network/netconnect.pm:451 network/netconnect.pm:470 network/netconnect.pm:655 printer/printerdrake.pm:936 printer/printerdrake.pm:1891 printer/printerdrake.pm:1953 printer/printerdrake.pm:1987 printer/printerdrake.pm:2291 printer/printerdrake.pm:3149 printer/printerdrake.pm:3426 printer/printerdrake.pm:3545 printer/printerdrake.pm:4543 standalone/drakTermServ:352 standalone/drakTermServ:1083 standalone/drakTermServ:1139 standalone/drakTermServ:1802 standalone/drakbackup:580 standalone/drakbackup:678 standalone/drakboot:156 standalone/drakclock:212 standalone/drakconnect:908 standalone/drakfloppy:295 standalone/drakups:27 standalone/scannerdrake:50 standalone/scannerdrake:908 +#: diskdrake/interactive.pm:380 harddrake/sound.pm:226 keyboard.pm:339 network/netconnect.pm:450 network/netconnect.pm:469 printer/printerdrake.pm:936 printer/printerdrake.pm:1891 printer/printerdrake.pm:1953 printer/printerdrake.pm:1987 printer/printerdrake.pm:2291 printer/printerdrake.pm:3149 printer/printerdrake.pm:3426 printer/printerdrake.pm:3545 printer/printerdrake.pm:4543 standalone/drakTermServ:340 standalone/drakTermServ:1071 standalone/drakTermServ:1127 standalone/drakTermServ:1800 standalone/drakbackup:524 standalone/drakbackup:623 standalone/drakboot:156 standalone/drakclock:214 standalone/drakconnect:920 standalone/drakfloppy:295 standalone/drakups:27 standalone/scannerdrake:50 standalone/scannerdrake:913 #, c-format msgid "Warning" msgstr "" -#: diskdrake/interactive.pm:379 +#: diskdrake/interactive.pm:381 #, c-format msgid "" "Insert a floppy in drive\n" "All data on this floppy will be lost" msgstr "" -#: diskdrake/interactive.pm:390 +#: diskdrake/interactive.pm:392 #, c-format msgid "Trying to rescue partition table" msgstr "" -#: diskdrake/interactive.pm:396 +#: diskdrake/interactive.pm:398 #, c-format msgid "Detailed information" msgstr "" -#: diskdrake/interactive.pm:411 diskdrake/interactive.pm:706 +#: diskdrake/interactive.pm:413 diskdrake/interactive.pm:708 #, c-format msgid "Resize" msgstr "" -#: diskdrake/interactive.pm:412 diskdrake/interactive.pm:774 +#: diskdrake/interactive.pm:414 diskdrake/interactive.pm:776 #, c-format msgid "Move" msgstr "" -#: diskdrake/interactive.pm:413 +#: diskdrake/interactive.pm:415 #, c-format msgid "Format" msgstr "" -#: diskdrake/interactive.pm:415 +#: diskdrake/interactive.pm:417 #, c-format msgid "Add to RAID" msgstr "" -#: diskdrake/interactive.pm:416 +#: diskdrake/interactive.pm:418 #, c-format msgid "Add to LVM" msgstr "" -#: diskdrake/interactive.pm:419 +#: diskdrake/interactive.pm:421 #, c-format msgid "Remove from RAID" msgstr "" -#: diskdrake/interactive.pm:420 +#: diskdrake/interactive.pm:422 #, c-format msgid "Remove from LVM" msgstr "" -#: diskdrake/interactive.pm:421 +#: diskdrake/interactive.pm:423 #, c-format msgid "Modify RAID" msgstr "" -#: diskdrake/interactive.pm:422 +#: diskdrake/interactive.pm:424 #, c-format msgid "Use for loopback" msgstr "" -#: diskdrake/interactive.pm:462 +#: diskdrake/interactive.pm:464 #, c-format msgid "Create a new partition" msgstr "" -#: diskdrake/interactive.pm:465 +#: diskdrake/interactive.pm:467 #, c-format msgid "Start sector: " msgstr "" -#: diskdrake/interactive.pm:467 diskdrake/interactive.pm:876 +#: diskdrake/interactive.pm:469 diskdrake/interactive.pm:878 #, c-format msgid "Size in MB: " msgstr "" -#: diskdrake/interactive.pm:468 diskdrake/interactive.pm:877 +#: diskdrake/interactive.pm:470 diskdrake/interactive.pm:879 #, c-format msgid "Filesystem type: " msgstr "" -#: diskdrake/interactive.pm:473 +#: diskdrake/interactive.pm:475 #, c-format msgid "Preference: " msgstr "" -#: diskdrake/interactive.pm:476 +#: diskdrake/interactive.pm:478 #, c-format msgid "Logical volume name " msgstr "" -#: diskdrake/interactive.pm:505 +#: diskdrake/interactive.pm:507 #, c-format msgid "" "You can't create a new partition\n" @@ -1796,342 +1921,342 @@ msgid "" "First remove a primary partition and create an extended partition." msgstr "" -#: diskdrake/interactive.pm:535 +#: diskdrake/interactive.pm:537 #, c-format msgid "Remove the loopback file?" msgstr "" -#: diskdrake/interactive.pm:554 +#: diskdrake/interactive.pm:556 #, c-format msgid "After changing type of partition %s, all data on this partition will be lost" msgstr "" -#: diskdrake/interactive.pm:565 +#: diskdrake/interactive.pm:567 #, c-format msgid "Change partition type" msgstr "" -#: diskdrake/interactive.pm:566 diskdrake/removable.pm:48 +#: diskdrake/interactive.pm:568 diskdrake/removable.pm:48 #, c-format msgid "Which filesystem do you want?" msgstr "" -#: diskdrake/interactive.pm:574 +#: diskdrake/interactive.pm:576 #, c-format msgid "Switching from ext2 to ext3" msgstr "" -#: diskdrake/interactive.pm:603 +#: diskdrake/interactive.pm:605 #, c-format msgid "Where do you want to mount the loopback file %s?" msgstr "" -#: diskdrake/interactive.pm:604 +#: diskdrake/interactive.pm:606 #, c-format msgid "Where do you want to mount device %s?" msgstr "" -#: diskdrake/interactive.pm:609 +#: diskdrake/interactive.pm:611 #, c-format msgid "" "Can't unset mount point as this partition is used for loop back.\n" "Remove the loopback first" msgstr "" -#: diskdrake/interactive.pm:634 +#: diskdrake/interactive.pm:636 #, c-format msgid "Where do you want to mount %s?" msgstr "" -#: diskdrake/interactive.pm:658 diskdrake/interactive.pm:738 install_interactive.pm:156 install_interactive.pm:186 +#: diskdrake/interactive.pm:660 diskdrake/interactive.pm:740 install_interactive.pm:156 install_interactive.pm:186 #, c-format msgid "Resizing" msgstr "" -#: diskdrake/interactive.pm:658 +#: diskdrake/interactive.pm:660 #, c-format msgid "Computing FAT filesystem bounds" msgstr "" -#: diskdrake/interactive.pm:694 +#: diskdrake/interactive.pm:696 #, c-format msgid "This partition is not resizeable" msgstr "" -#: diskdrake/interactive.pm:699 +#: diskdrake/interactive.pm:701 #, c-format msgid "All data on this partition should be backed-up" msgstr "" -#: diskdrake/interactive.pm:701 +#: diskdrake/interactive.pm:703 #, c-format msgid "After resizing partition %s, all data on this partition will be lost" msgstr "" -#: diskdrake/interactive.pm:706 +#: diskdrake/interactive.pm:708 #, c-format msgid "Choose the new size" msgstr "" -#: diskdrake/interactive.pm:707 +#: diskdrake/interactive.pm:709 #, c-format msgid "New size in MB: " msgstr "" -#: diskdrake/interactive.pm:751 install_interactive.pm:194 +#: diskdrake/interactive.pm:753 install_interactive.pm:194 #, c-format msgid "" "To ensure data integrity after resizing the partition(s), \n" "filesystem checks will be run on your next boot into Windows(TM)" msgstr "" -#: diskdrake/interactive.pm:775 +#: diskdrake/interactive.pm:777 #, c-format msgid "Which disk do you want to move it to?" msgstr "" -#: diskdrake/interactive.pm:776 +#: diskdrake/interactive.pm:778 #, c-format msgid "Sector" msgstr "" -#: diskdrake/interactive.pm:777 +#: diskdrake/interactive.pm:779 #, c-format msgid "Which sector do you want to move it to?" msgstr "" -#: diskdrake/interactive.pm:780 +#: diskdrake/interactive.pm:782 #, c-format msgid "Moving" msgstr "" -#: diskdrake/interactive.pm:780 +#: diskdrake/interactive.pm:782 #, c-format msgid "Moving partition..." msgstr "" -#: diskdrake/interactive.pm:802 +#: diskdrake/interactive.pm:804 #, c-format msgid "Choose an existing RAID to add to" msgstr "" -#: diskdrake/interactive.pm:803 diskdrake/interactive.pm:820 +#: diskdrake/interactive.pm:805 diskdrake/interactive.pm:822 #, c-format msgid "new" msgstr "" -#: diskdrake/interactive.pm:818 +#: diskdrake/interactive.pm:820 #, c-format msgid "Choose an existing LVM to add to" msgstr "" -#: diskdrake/interactive.pm:824 +#: diskdrake/interactive.pm:826 #, c-format msgid "LVM name?" msgstr "" -#: diskdrake/interactive.pm:861 +#: diskdrake/interactive.pm:863 #, c-format msgid "This partition can't be used for loopback" msgstr "" -#: diskdrake/interactive.pm:874 +#: diskdrake/interactive.pm:876 #, c-format msgid "Loopback" msgstr "" -#: diskdrake/interactive.pm:875 +#: diskdrake/interactive.pm:877 #, c-format msgid "Loopback file name: " msgstr "" -#: diskdrake/interactive.pm:880 +#: diskdrake/interactive.pm:882 #, c-format msgid "Give a file name" msgstr "" -#: diskdrake/interactive.pm:883 +#: diskdrake/interactive.pm:885 #, c-format msgid "File is already used by another loopback, choose another one" msgstr "" -#: diskdrake/interactive.pm:884 +#: diskdrake/interactive.pm:886 #, c-format msgid "File already exists. Use it?" msgstr "" -#: diskdrake/interactive.pm:907 +#: diskdrake/interactive.pm:909 #, c-format msgid "Mount options" msgstr "" -#: diskdrake/interactive.pm:914 +#: diskdrake/interactive.pm:916 #, c-format msgid "Various" msgstr "" -#: diskdrake/interactive.pm:978 +#: diskdrake/interactive.pm:980 #, c-format msgid "device" msgstr "" -#: diskdrake/interactive.pm:979 +#: diskdrake/interactive.pm:981 #, c-format msgid "level" msgstr "" -#: diskdrake/interactive.pm:980 +#: diskdrake/interactive.pm:982 #, c-format msgid "chunk size" msgstr "" -#: diskdrake/interactive.pm:996 +#: diskdrake/interactive.pm:998 #, c-format msgid "Be careful: this operation is dangerous." msgstr "" -#: diskdrake/interactive.pm:1011 +#: diskdrake/interactive.pm:1013 #, c-format msgid "What type of partitioning?" msgstr "" -#: diskdrake/interactive.pm:1027 +#: diskdrake/interactive.pm:1029 #, c-format msgid "The package %s is needed. Install it?" msgstr "" -#: diskdrake/interactive.pm:1056 +#: diskdrake/interactive.pm:1058 #, c-format msgid "You'll need to reboot before the modification can take place" msgstr "" -#: diskdrake/interactive.pm:1065 +#: diskdrake/interactive.pm:1067 #, c-format msgid "Partition table of drive %s is going to be written to disk!" msgstr "" -#: diskdrake/interactive.pm:1078 +#: diskdrake/interactive.pm:1080 #, c-format msgid "After formatting partition %s, all data on this partition will be lost" msgstr "" -#: diskdrake/interactive.pm:1095 +#: diskdrake/interactive.pm:1097 #, c-format msgid "Move files to the new partition" msgstr "" -#: diskdrake/interactive.pm:1095 +#: diskdrake/interactive.pm:1097 #, c-format msgid "Hide files" msgstr "" -#: diskdrake/interactive.pm:1096 +#: diskdrake/interactive.pm:1098 #, c-format msgid "" "Directory %s already contains data\n" "(%s)" msgstr "" -#: diskdrake/interactive.pm:1107 +#: diskdrake/interactive.pm:1109 #, c-format msgid "Moving files to the new partition" msgstr "" -#: diskdrake/interactive.pm:1111 +#: diskdrake/interactive.pm:1113 #, c-format msgid "Copying %s" msgstr "" -#: diskdrake/interactive.pm:1115 +#: diskdrake/interactive.pm:1117 #, c-format msgid "Removing %s" msgstr "" -#: diskdrake/interactive.pm:1129 +#: diskdrake/interactive.pm:1131 #, c-format msgid "partition %s is now known as %s" msgstr "" -#: diskdrake/interactive.pm:1150 diskdrake/interactive.pm:1210 +#: diskdrake/interactive.pm:1152 diskdrake/interactive.pm:1212 #, c-format msgid "Device: " msgstr "" -#: diskdrake/interactive.pm:1151 +#: diskdrake/interactive.pm:1153 #, c-format msgid "" "DOS drive letter: %s (just a guess)\n" "" msgstr "" -#: diskdrake/interactive.pm:1155 diskdrake/interactive.pm:1163 diskdrake/interactive.pm:1229 +#: diskdrake/interactive.pm:1157 diskdrake/interactive.pm:1165 diskdrake/interactive.pm:1231 #, c-format msgid "Type: " msgstr "" -#: diskdrake/interactive.pm:1159 install_steps_gtk.pm:341 +#: diskdrake/interactive.pm:1161 install_steps_gtk.pm:341 #, c-format msgid "Name: " msgstr "" -#: diskdrake/interactive.pm:1167 +#: diskdrake/interactive.pm:1169 #, c-format msgid "" "Start: sector %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1168 +#: diskdrake/interactive.pm:1170 #, c-format msgid "Size: %s" msgstr "" -#: diskdrake/interactive.pm:1170 +#: diskdrake/interactive.pm:1172 #, c-format msgid ", %s sectors" msgstr "" -#: diskdrake/interactive.pm:1172 +#: diskdrake/interactive.pm:1174 #, c-format msgid "" "Cylinder %d to %d\n" "" msgstr "" -#: diskdrake/interactive.pm:1173 +#: diskdrake/interactive.pm:1175 #, c-format msgid "Number of logical extents: %d" msgstr "" -#: diskdrake/interactive.pm:1174 +#: diskdrake/interactive.pm:1176 #, c-format msgid "" "Formatted\n" "" msgstr "" -#: diskdrake/interactive.pm:1175 +#: diskdrake/interactive.pm:1177 #, c-format msgid "" "Not formatted\n" "" msgstr "" -#: diskdrake/interactive.pm:1176 +#: diskdrake/interactive.pm:1178 #, c-format msgid "" "Mounted\n" "" msgstr "" -#: diskdrake/interactive.pm:1177 +#: diskdrake/interactive.pm:1179 #, c-format msgid "" "RAID md%s\n" "" msgstr "" -#: diskdrake/interactive.pm:1179 +#: diskdrake/interactive.pm:1181 #, c-format msgid "" "Loopback file(s):\n" @@ -2139,7 +2264,7 @@ msgid "" "" msgstr "" -#: diskdrake/interactive.pm:1180 +#: diskdrake/interactive.pm:1182 #, c-format msgid "" "Partition booted by default\n" @@ -2147,33 +2272,33 @@ msgid "" "" msgstr "" -#: diskdrake/interactive.pm:1182 +#: diskdrake/interactive.pm:1184 #, c-format msgid "" "Level %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1183 +#: diskdrake/interactive.pm:1185 #, c-format msgid "" "Chunk size %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1184 +#: diskdrake/interactive.pm:1186 #, c-format msgid "" "RAID-disks %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1186 +#: diskdrake/interactive.pm:1188 #, c-format msgid "Loopback file name: %s" msgstr "" -#: diskdrake/interactive.pm:1189 +#: diskdrake/interactive.pm:1191 #, c-format msgid "" "\n" @@ -2183,7 +2308,7 @@ msgid "" "" msgstr "" -#: diskdrake/interactive.pm:1192 +#: diskdrake/interactive.pm:1194 #, c-format msgid "" "\n" @@ -2193,77 +2318,77 @@ msgid "" "" msgstr "" -#: diskdrake/interactive.pm:1211 +#: diskdrake/interactive.pm:1213 #, c-format msgid "Read-only" msgstr "" -#: diskdrake/interactive.pm:1212 +#: diskdrake/interactive.pm:1214 #, c-format msgid "" "Size: %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1213 +#: diskdrake/interactive.pm:1215 #, c-format msgid "" "Geometry: %s cylinders, %s heads, %s sectors\n" "" msgstr "" -#: diskdrake/interactive.pm:1214 +#: diskdrake/interactive.pm:1216 #, c-format msgid "Info: " msgstr "" -#: diskdrake/interactive.pm:1215 +#: diskdrake/interactive.pm:1217 #, c-format msgid "" "LVM-disks %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1216 +#: diskdrake/interactive.pm:1218 #, c-format msgid "" "Partition table type: %s\n" "" msgstr "" -#: diskdrake/interactive.pm:1217 +#: diskdrake/interactive.pm:1219 #, c-format msgid "" "on channel %d id %d\n" "" msgstr "" -#: diskdrake/interactive.pm:1250 +#: diskdrake/interactive.pm:1252 #, c-format msgid "Filesystem encryption key" msgstr "" -#: diskdrake/interactive.pm:1251 +#: diskdrake/interactive.pm:1253 #, c-format msgid "Choose your filesystem encryption key" msgstr "" -#: diskdrake/interactive.pm:1254 +#: diskdrake/interactive.pm:1256 #, c-format msgid "This encryption key is too simple (must be at least %d characters long)" msgstr "" -#: diskdrake/interactive.pm:1255 +#: diskdrake/interactive.pm:1257 #, c-format msgid "The encryption keys do not match" msgstr "" -#: diskdrake/interactive.pm:1258 network/netconnect.pm:987 standalone/drakconnect:393 +#: diskdrake/interactive.pm:1260 network/netconnect.pm:979 standalone/drakconnect:403 #, c-format msgid "Encryption key" msgstr "" -#: diskdrake/interactive.pm:1259 +#: diskdrake/interactive.pm:1261 #, c-format msgid "Encryption key (again)" msgstr "" @@ -2298,16 +2423,11 @@ msgstr "" msgid "Please enter your username, password and domain name to access this host." msgstr "" -#: diskdrake/smbnfs_gtk.pm:179 standalone/drakbackup:3591 +#: diskdrake/smbnfs_gtk.pm:179 standalone/drakbackup:3513 #, c-format msgid "Username" msgstr "" -#: diskdrake/smbnfs_gtk.pm:181 -#, c-format -msgid "Domain" -msgstr "" - #: diskdrake/smbnfs_gtk.pm:205 #, c-format msgid "Search servers" @@ -2338,26 +2458,26 @@ msgstr "" msgid "Removing packages..." msgstr "" -#: fs.pm:409 +#: fs.pm:414 #, 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.pm:412 +#: fs.pm:417 #, 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.pm:415 +#: fs.pm:420 #, c-format msgid "Do not interpret character or block special devices on the file system." msgstr "" -#: fs.pm:417 +#: fs.pm:422 #, c-format msgid "" "Do not allow execution of any binaries on the mounted\n" @@ -2365,7 +2485,7 @@ msgid "" "containing binaries for architectures other than its own." msgstr "" -#: fs.pm:421 +#: fs.pm:426 #, c-format msgid "" "Do not allow set-user-identifier or set-group-identifier\n" @@ -2373,17 +2493,17 @@ msgid "" "have suidperl(1) installed.)" msgstr "" -#: fs.pm:425 +#: fs.pm:430 #, c-format msgid "Mount the file system read-only." msgstr "" -#: fs.pm:427 +#: fs.pm:432 #, c-format msgid "All I/O to the file system should be done synchronously." msgstr "" -#: fs.pm:431 +#: fs.pm:436 #, c-format msgid "" "Allow an ordinary user to mount the file system. The\n" @@ -2393,66 +2513,61 @@ msgid "" "user,exec,dev,suid )." msgstr "" -#: fs.pm:439 +#: fs.pm:444 #, c-format msgid "Give write access to ordinary users" msgstr "" -#: fs.pm:441 +#: fs.pm:446 #, c-format msgid "Give read-only access to ordinary users" msgstr "" -#: fs.pm:581 fs.pm:591 fs.pm:595 fs.pm:599 fs.pm:603 fs.pm:607 swap.pm:12 +#: fs.pm:586 fs.pm:596 fs.pm:600 fs.pm:604 fs.pm:608 fs.pm:612 swap.pm:12 #, c-format msgid "%s formatting of %s failed" msgstr "" -#: fs.pm:648 +#: fs.pm:653 #, c-format msgid "I don't know how to format %s in type %s" msgstr "" -#: fs.pm:655 fs.pm:662 +#: fs.pm:660 fs.pm:667 #, c-format msgid "Formatting partition %s" msgstr "" -#: fs.pm:659 +#: fs.pm:664 #, c-format msgid "Creating and formatting file %s" msgstr "" -#: fs.pm:719 fs.pm:772 +#: fs.pm:724 fs.pm:777 #, c-format msgid "Mounting partition %s" msgstr "" -#: fs.pm:720 fs.pm:773 +#: fs.pm:725 fs.pm:778 #, c-format msgid "mounting partition %s in directory %s failed" msgstr "" -#: fs.pm:740 fs.pm:748 +#: fs.pm:745 fs.pm:753 #, c-format msgid "Checking %s" msgstr "" -#: fs.pm:789 partition_table.pm:638 +#: fs.pm:794 partition_table.pm:638 #, c-format msgid "error unmounting %s: %s" msgstr "" -#: fs.pm:821 +#: fs.pm:826 #, c-format msgid "Enabling swap partition %s" msgstr "" -#: fsedit.pm:21 -#, c-format -msgid "simple" -msgstr "" - #: fsedit.pm:25 #, c-format msgid "with /usr" @@ -2463,7 +2578,7 @@ msgstr "" msgid "server" msgstr "" -#: fsedit.pm:254 +#: fsedit.pm:236 #, c-format msgid "" "I can't read the partition table of device %s, it's too corrupted for me :(\n" @@ -2472,37 +2587,37 @@ msgid "" "(the error is %s)\n" "\n" "Do you agree to lose all the partitions?\n" -"" +" " msgstr "" -#: fsedit.pm:513 +#: fsedit.pm:527 #, c-format msgid "You can't use JFS for partitions smaller than 16MB" msgstr "" -#: fsedit.pm:514 +#: fsedit.pm:528 #, c-format msgid "You can't use ReiserFS for partitions smaller than 32MB" msgstr "" -#: fsedit.pm:533 +#: fsedit.pm:547 #, c-format msgid "Mount points must begin with a leading /" msgstr "" -#: fsedit.pm:534 +#: fsedit.pm:548 #, c-format msgid "Mount points should contain only alphanumerical characters" msgstr "" -#: fsedit.pm:535 +#: fsedit.pm:549 #, c-format msgid "" "There is already a partition with mount point %s\n" "" msgstr "" -#: fsedit.pm:537 +#: fsedit.pm:551 #, c-format msgid "" "You've selected a software RAID partition as root (/).\n" @@ -2510,12 +2625,12 @@ msgid "" "Please be sure to add a /boot partition" msgstr "" -#: fsedit.pm:540 +#: fsedit.pm:554 #, c-format msgid "You can't use a LVM Logical Volume for mount point %s" msgstr "" -#: fsedit.pm:542 +#: fsedit.pm:556 #, c-format msgid "" "You've selected a LVM Logical Volume as root (/).\n" @@ -2523,189 +2638,199 @@ msgid "" "Please be sure to add a /boot partition" msgstr "" -#: fsedit.pm:545 +#: fsedit.pm:559 #, c-format msgid "You may not be able to install lilo (since lilo doesn't handle a LV on multiple PVs)" msgstr "" -#: fsedit.pm:548 fsedit.pm:550 +#: fsedit.pm:562 fsedit.pm:564 #, c-format msgid "This directory should remain within the root filesystem" msgstr "" -#: fsedit.pm:552 +#: fsedit.pm:566 #, c-format msgid "" "You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n" "" msgstr "" -#: fsedit.pm:554 +#: fsedit.pm:568 #, c-format msgid "You can't use an encrypted file system for mount point %s" msgstr "" -#: fsedit.pm:615 +#: fsedit.pm:629 #, c-format msgid "Not enough free space for auto-allocating" msgstr "" -#: fsedit.pm:617 +#: fsedit.pm:631 #, c-format msgid "Nothing to do" msgstr "" -#: fsedit.pm:713 +#: fsedit.pm:727 #, c-format msgid "Error opening %s for writing: %s" msgstr "" -#: harddrake/data.pm:53 +#: harddrake/data.pm:60 #, c-format msgid "Floppy" msgstr "" -#: harddrake/data.pm:54 +#: harddrake/data.pm:70 #, c-format msgid "Zip" msgstr "" -#: harddrake/data.pm:55 +#: harddrake/data.pm:80 #, c-format msgid "Disk" msgstr "" -#: harddrake/data.pm:56 +#: harddrake/data.pm:89 #, c-format msgid "CDROM" msgstr "" -#: harddrake/data.pm:57 +#: harddrake/data.pm:99 #, c-format msgid "CD/DVD burners" msgstr "" -#: harddrake/data.pm:58 +#: harddrake/data.pm:109 #, c-format msgid "DVD-ROM" msgstr "" -#: harddrake/data.pm:59 standalone/drakbackup:2116 +#: harddrake/data.pm:119 standalone/drakbackup:2041 #, c-format msgid "Tape" msgstr "" -#: harddrake/data.pm:60 +#: harddrake/data.pm:128 #, c-format msgid "Videocard" msgstr "" -#: harddrake/data.pm:61 +#: harddrake/data.pm:138 #, c-format msgid "Tvcard" msgstr "" -#: harddrake/data.pm:62 +#: harddrake/data.pm:147 #, c-format msgid "Other MultiMedia devices" msgstr "" -#: harddrake/data.pm:63 +#: harddrake/data.pm:156 #, c-format msgid "Soundcard" msgstr "" -#: harddrake/data.pm:64 +#: harddrake/data.pm:165 #, c-format msgid "Webcam" msgstr "" -#: harddrake/data.pm:68 +#: harddrake/data.pm:179 #, c-format msgid "Processors" msgstr "" -#: harddrake/data.pm:69 +#: harddrake/data.pm:188 #, c-format msgid "ISDN adapters" msgstr "" -#: harddrake/data.pm:70 +#: harddrake/data.pm:197 #, c-format msgid "Ethernetcard" msgstr "" -#: harddrake/data.pm:78 network/netconnect.pm:465 standalone/drakconnect:272 standalone/drakconnect:292 standalone/drakconnect:472 standalone/drakconnect:473 standalone/drakconnect:576 +#: harddrake/data.pm:218 network/netconnect.pm:464 #, c-format msgid "Modem" msgstr "" -#: harddrake/data.pm:79 +#: harddrake/data.pm:227 #, c-format msgid "ADSL adapters" msgstr "" -#: harddrake/data.pm:81 +#: harddrake/data.pm:240 #, c-format msgid "AGP controllers" msgstr "" -#: harddrake/data.pm:82 +#: harddrake/data.pm:249 #, c-format msgid "Bridges and system controllers" msgstr "" -#: harddrake/data.pm:83 help.pm:203 help.pm:991 install_steps_interactive.pm:933 printer/printerdrake.pm:687 printer/printerdrake.pm:4175 +#: harddrake/data.pm:258 help.pm:203 help.pm:991 install_steps_interactive.pm:931 printer/printerdrake.pm:687 printer/printerdrake.pm:4175 #, c-format msgid "Printer" msgstr "" -#: harddrake/data.pm:85 help.pm:991 install_steps_interactive.pm:926 +#: harddrake/data.pm:267 help.pm:991 install_steps_interactive.pm:924 #, c-format msgid "Mouse" msgstr "" -#: harddrake/data.pm:90 +#: harddrake/data.pm:281 #, c-format msgid "Joystick" msgstr "" -#: harddrake/data.pm:92 +#: harddrake/data.pm:291 #, c-format msgid "(E)IDE/ATA controllers" msgstr "" -#: harddrake/data.pm:94 +#: harddrake/data.pm:300 +#, c-format +msgid "SATA controllers" +msgstr "" + +#: harddrake/data.pm:309 #, c-format msgid "Firewire controllers" msgstr "" -#: harddrake/data.pm:95 +#: harddrake/data.pm:318 #, c-format msgid "SCSI controllers" msgstr "" -#: harddrake/data.pm:96 +#: harddrake/data.pm:327 #, c-format msgid "USB controllers" msgstr "" -#: harddrake/data.pm:97 +#: harddrake/data.pm:336 +#, c-format +msgid "USB ports" +msgstr "" + +#: harddrake/data.pm:345 #, c-format msgid "SMBus controllers" msgstr "" -#: harddrake/data.pm:98 +#: harddrake/data.pm:354 #, c-format msgid "Scanner" msgstr "" -#: harddrake/data.pm:100 standalone/harddrake2:319 +#: harddrake/data.pm:364 standalone/harddrake2:319 #, c-format msgid "Unknown/Others" msgstr "" -#: harddrake/data.pm:114 +#: harddrake/data.pm:392 #, c-format msgid "cpu # " msgstr "" @@ -2864,59 +2989,59 @@ msgstr "" msgid "Auto-detect" msgstr "" -#: harddrake/v4l.pm:69 harddrake/v4l.pm:227 +#: harddrake/v4l.pm:72 harddrake/v4l.pm:235 #, c-format msgid "Unknown|Generic" msgstr "" -#: harddrake/v4l.pm:102 +#: harddrake/v4l.pm:105 #, c-format msgid "Unknown|CPH05X (bt878) [many vendors]" msgstr "" -#: harddrake/v4l.pm:103 +#: harddrake/v4l.pm:106 #, c-format msgid "Unknown|CPH06X (bt878) [many vendors]" msgstr "" -#: harddrake/v4l.pm:289 +#: harddrake/v4l.pm:309 #, 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:292 +#: harddrake/v4l.pm:312 #, c-format msgid "Card model:" msgstr "" -#: harddrake/v4l.pm:293 +#: harddrake/v4l.pm:313 #, c-format msgid "Tuner type:" msgstr "" -#: harddrake/v4l.pm:294 +#: harddrake/v4l.pm:314 #, c-format msgid "Number of capture buffers:" msgstr "" -#: harddrake/v4l.pm:294 +#: harddrake/v4l.pm:314 #, c-format msgid "number of capture buffers for mmap'ed capture" msgstr "" -#: harddrake/v4l.pm:296 +#: harddrake/v4l.pm:316 #, c-format msgid "PLL setting:" msgstr "" -#: harddrake/v4l.pm:297 +#: harddrake/v4l.pm:317 #, c-format msgid "Radio support:" msgstr "" -#: harddrake/v4l.pm:297 +#: harddrake/v4l.pm:317 #, c-format msgid "enable radio support" msgstr "" @@ -2930,7 +3055,7 @@ msgid "" "will reboot your computer." msgstr "" -#: help.pm:14 install_steps_gtk.pm:598 install_steps_interactive.pm:88 install_steps_interactive.pm:690 standalone/drakautoinst:216 +#: help.pm:14 install_steps_gtk.pm:598 install_steps_interactive.pm:88 install_steps_interactive.pm:694 standalone/drakautoinst:216 #, c-format msgid "Accept" msgstr "" @@ -2976,7 +3101,7 @@ msgid "" "not interested in this feature, uncheck the \"%s\" box." msgstr "" -#: help.pm:52 help.pm:52 help.pm:197 help.pm:444 help.pm:691 help.pm:784 help.pm:1005 help.pm:1005 install_steps_gtk.pm:277 interactive.pm:403 interactive/newt.pm:308 network/netconnect.pm:271 network/tools.pm:206 printer/printerdrake.pm:3090 standalone/drakTermServ:409 standalone/drakbackup:4199 standalone/drakbackup:4229 standalone/drakbackup:4251 ugtk2.pm:510 +#: help.pm:52 help.pm:52 help.pm:197 help.pm:444 help.pm:691 help.pm:784 help.pm:1005 help.pm:1005 install_steps_gtk.pm:277 interactive.pm:403 interactive/newt.pm:308 network/netconnect.pm:271 network/tools.pm:207 printer/printerdrake.pm:3090 standalone/drakTermServ:397 standalone/drakbackup:3945 standalone/drakbackup:4039 standalone/drakbackup:4056 standalone/drakbackup:4074 ugtk2.pm:510 #, c-format msgid "Next" msgstr "" @@ -3095,7 +3220,7 @@ msgstr "" msgid "Graphical Environment" msgstr "" -#: help.pm:137 install_steps_interactive.pm:552 +#: help.pm:137 install_steps_interactive.pm:556 #, c-format msgid "With X" msgstr "" @@ -3110,7 +3235,7 @@ msgstr "" msgid "Truly minimal install" msgstr "" -#: help.pm:137 install_steps_gtk.pm:272 install_steps_interactive.pm:598 +#: help.pm:137 install_steps_gtk.pm:272 install_steps_interactive.pm:602 #, c-format msgid "Individual package selection" msgstr "" @@ -3158,12 +3283,12 @@ msgid "" "create such a floppy." msgstr "" -#: help.pm:172 help.pm:301 help.pm:329 help.pm:457 install_any.pm:413 interactive.pm:149 modules/interactive.pm:71 standalone/harddrake2:219 ugtk2.pm:1074 wizards.pm:156 +#: help.pm:172 help.pm:301 help.pm:329 help.pm:457 install_any.pm:493 interactive.pm:149 modules/interactive.pm:71 standalone/harddrake2:219 ugtk2.pm:1083 wizards.pm:156 #, c-format msgid "No" msgstr "" -#: help.pm:172 help.pm:301 help.pm:457 help.pm:457 install_any.pm:413 interactive.pm:149 modules/interactive.pm:71 printer/printerdrake.pm:607 standalone/drakgw:288 standalone/drakgw:289 standalone/drakgw:297 standalone/drakgw:307 standalone/harddrake2:218 ugtk2.pm:1074 wizards.pm:156 +#: help.pm:172 help.pm:301 help.pm:457 help.pm:457 install_any.pm:493 interactive.pm:149 modules/interactive.pm:71 printer/printerdrake.pm:607 standalone/drakgw:288 standalone/drakgw:289 standalone/drakgw:297 standalone/drakgw:307 standalone/harddrake2:218 ugtk2.pm:1083 wizards.pm:156 #, c-format msgid "Yes" msgstr "" @@ -3215,7 +3340,7 @@ msgid "" "similar to the one used during installation." msgstr "" -#: help.pm:203 help.pm:581 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 install_steps_gtk.pm:648 standalone/drakbackup:2406 standalone/drakbackup:2414 standalone/drakbackup:2422 standalone/drakbackup:2430 +#: help.pm:203 help.pm:581 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 help.pm:991 install_steps_gtk.pm:648 standalone/drakbackup:2329 standalone/drakbackup:2337 standalone/drakbackup:2345 standalone/drakbackup:2353 #, c-format msgid "Configure" msgstr "" @@ -3258,7 +3383,7 @@ msgid "" "other machines on your local network as well." msgstr "" -#: help.pm:235 install_steps_interactive.pm:828 +#: help.pm:235 install_steps_interactive.pm:826 #, c-format msgid "Hardware clock set to GMT" msgstr "" @@ -3510,17 +3635,17 @@ msgstr "" msgid "Generate auto-install floppy" msgstr "" -#: help.pm:418 install_steps_interactive.pm:1322 +#: help.pm:418 install_steps_interactive.pm:1317 #, c-format msgid "Replay" msgstr "" -#: help.pm:418 install_steps_interactive.pm:1322 +#: help.pm:418 install_steps_interactive.pm:1317 #, c-format msgid "Automated" msgstr "" -#: help.pm:418 install_steps_interactive.pm:1325 +#: help.pm:418 install_steps_interactive.pm:1320 #, c-format msgid "Save packages selection" msgstr "" @@ -3554,7 +3679,7 @@ msgid "" "bad blocks on the disk." msgstr "" -#: help.pm:444 help.pm:1005 install_steps_gtk.pm:433 interactive.pm:404 interactive/newt.pm:307 printer/printerdrake.pm:3088 standalone/drakTermServ:388 standalone/drakbackup:4012 standalone/drakbackup:4041 standalone/drakbackup:4095 standalone/drakbackup:4119 standalone/drakbackup:4143 standalone/drakbackup:4195 standalone/drakbackup:4225 standalone/drakbackup:4247 ugtk2.pm:508 +#: help.pm:444 help.pm:1005 install_steps_gtk.pm:433 interactive.pm:404 interactive/newt.pm:307 printer/printerdrake.pm:3088 standalone/drakTermServ:376 standalone/drakbackup:3905 standalone/drakbackup:3944 standalone/drakbackup:4055 standalone/drakbackup:4070 ugtk2.pm:508 #, c-format msgid "Previous" msgstr "" @@ -3575,7 +3700,7 @@ msgid "" "selected package(s), or \"%s\" to abort." msgstr "" -#: help.pm:457 help.pm:602 install_steps_gtk.pm:432 install_steps_interactive.pm:148 standalone/drakbackup:4279 +#: help.pm:457 help.pm:602 install_steps_gtk.pm:432 install_steps_interactive.pm:152 standalone/drakbackup:4102 #, c-format msgid "Install" msgstr "" @@ -3917,7 +4042,7 @@ msgid "authentication" msgstr "" #. -PO: keep this short or else the buttons will not fit in the window -#: help.pm:733 install_steps_interactive.pm:1152 +#: help.pm:733 install_steps_interactive.pm:1151 #, c-format msgid "No password" msgstr "" @@ -4004,7 +4129,7 @@ msgid "" "operating systems!" msgstr "" -#: help.pm:784 interactive.pm:295 interactive/gtk.pm:480 standalone/drakbackup:1604 standalone/drakfont:589 standalone/drakfont:655 standalone/drakups:280 standalone/drakups:329 standalone/drakups:349 standalone/drakvpn:333 standalone/drakvpn:694 +#: help.pm:784 interactive.pm:295 interactive/gtk.pm:480 standalone/drakbackup:1529 standalone/drakfont:589 standalone/drakfont:655 standalone/drakups:280 standalone/drakups:329 standalone/drakups:349 standalone/drakvpn:333 standalone/drakvpn:694 #, c-format msgid "Add" msgstr "" @@ -4192,7 +4317,7 @@ msgid "" "driver." msgstr "" -#: help.pm:929 help.pm:991 install_steps_interactive.pm:960 install_steps_interactive.pm:977 +#: help.pm:929 help.pm:991 install_steps_interactive.pm:958 install_steps_interactive.pm:975 #, c-format msgid "Sound card" msgstr "" @@ -4262,12 +4387,12 @@ msgid "" "idea to review this setup." msgstr "" -#: help.pm:991 install_steps_interactive.pm:110 install_steps_interactive.pm:893 standalone/keyboarddrake:23 +#: help.pm:991 install_steps_interactive.pm:114 install_steps_interactive.pm:891 standalone/keyboarddrake:23 #, c-format msgid "Keyboard" msgstr "" -#: help.pm:991 install_steps_interactive.pm:919 standalone/drakclock:75 +#: help.pm:991 install_steps_interactive.pm:917 standalone/drakclock:75 #, c-format msgid "Timezone" msgstr "" @@ -4277,7 +4402,7 @@ msgstr "" msgid "Graphical Interface" msgstr "" -#: help.pm:991 install_steps_interactive.pm:993 +#: help.pm:991 install_steps_interactive.pm:991 #, c-format msgid "TV card" msgstr "" @@ -4287,27 +4412,27 @@ msgstr "" msgid "ISDN card" msgstr "" -#: help.pm:991 install_steps_interactive.pm:1011 standalone/drakbackup:2101 +#: help.pm:991 install_steps_interactive.pm:1009 standalone/drakbackup:2026 #, c-format msgid "Network" msgstr "" -#: help.pm:991 install_steps_interactive.pm:1037 +#: help.pm:991 install_steps_interactive.pm:1035 #, c-format msgid "Security Level" msgstr "" -#: help.pm:991 install_steps_interactive.pm:1051 +#: help.pm:991 install_steps_interactive.pm:1049 #, c-format msgid "Firewall" msgstr "" -#: help.pm:991 install_steps_interactive.pm:1065 +#: help.pm:991 install_steps_interactive.pm:1063 #, c-format msgid "Bootloader" msgstr "" -#: help.pm:991 install_steps_interactive.pm:1075 services.pm:195 +#: help.pm:991 install_steps_interactive.pm:1073 services.pm:195 #, c-format msgid "Services" msgstr "" @@ -4342,7 +4467,22 @@ msgstr "" msgid "You must also format %s" msgstr "" -#: install_any.pm:404 +#: install_any.pm:308 +#, c-format +msgid "Do you have a supplementary CD to install?" +msgstr "" + +#: install_any.pm:319 +#, c-format +msgid "Insert the CD" +msgstr "" + +#: install_any.pm:387 +#, c-format +msgid "Insert the CD 1 again" +msgstr "" + +#: install_any.pm:484 #, c-format msgid "" "You have selected the following server(s): %s\n" @@ -4357,7 +4497,7 @@ msgid "" "" msgstr "" -#: install_any.pm:425 +#: install_any.pm:505 #, c-format msgid "" "The following packages will be removed to allow upgrading your system: %s\n" @@ -4367,27 +4507,27 @@ msgid "" "" msgstr "" -#: install_any.pm:820 +#: install_any.pm:903 #, c-format msgid "Insert a FAT formatted floppy in drive %s" msgstr "" -#: install_any.pm:824 +#: install_any.pm:907 #, c-format msgid "This floppy is not FAT formatted" msgstr "" -#: install_any.pm:836 +#: install_any.pm:919 #, c-format msgid "To use this saved packages selection, boot installation with ``linux defcfg=floppy''" msgstr "" -#: install_any.pm:864 partition_table.pm:847 +#: install_any.pm:947 partition_table.pm:847 #, c-format msgid "Error reading file %s" msgstr "" -#: install_any.pm:988 +#: install_any.pm:1071 #, 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 "" @@ -4752,7 +4892,7 @@ msgid "" "" msgstr "" -#: install_steps.pm:535 +#: install_steps.pm:532 #, c-format msgid "No floppy drive available" msgstr "" @@ -4772,12 +4912,12 @@ msgid "" "press `F1' when booting on CDROM, then enter `text'." msgstr "" -#: install_steps_gtk.pm:232 install_steps_interactive.pm:580 +#: install_steps_gtk.pm:232 install_steps_interactive.pm:584 #, c-format msgid "Package Group Selection" msgstr "" -#: install_steps_gtk.pm:294 install_steps_interactive.pm:519 +#: install_steps_gtk.pm:294 install_steps_interactive.pm:523 #, c-format msgid "Total size: %d / %d MB" msgstr "" @@ -4891,12 +5031,12 @@ msgstr "" msgid "Minimal install" msgstr "" -#: install_steps_gtk.pm:455 install_steps_interactive.pm:427 +#: install_steps_gtk.pm:455 install_steps_interactive.pm:431 #, c-format msgid "Choose the packages you want to install" msgstr "" -#: install_steps_gtk.pm:471 install_steps_interactive.pm:666 +#: install_steps_gtk.pm:471 install_steps_interactive.pm:670 #, c-format msgid "Installing" msgstr "" @@ -4931,12 +5071,12 @@ msgstr "" msgid "Installing package %s" msgstr "" -#: install_steps_gtk.pm:598 install_steps_interactive.pm:88 install_steps_interactive.pm:690 +#: install_steps_gtk.pm:598 install_steps_interactive.pm:88 install_steps_interactive.pm:694 #, c-format msgid "Refuse" msgstr "" -#: install_steps_gtk.pm:599 install_steps_interactive.pm:691 +#: install_steps_gtk.pm:599 install_steps_interactive.pm:695 #, c-format msgid "" "Change your Cd-Rom!\n" @@ -4945,22 +5085,22 @@ msgid "" "If you don't have it, press Cancel to avoid installation from this Cd-Rom." msgstr "" -#: install_steps_gtk.pm:614 install_steps_interactive.pm:703 +#: install_steps_gtk.pm:614 install_steps_interactive.pm:707 #, c-format msgid "There was an error ordering packages:" msgstr "" -#: install_steps_gtk.pm:614 install_steps_gtk.pm:618 install_steps_interactive.pm:703 install_steps_interactive.pm:707 +#: install_steps_gtk.pm:614 install_steps_gtk.pm:618 install_steps_interactive.pm:707 install_steps_interactive.pm:711 #, c-format msgid "Go on anyway?" msgstr "" -#: install_steps_gtk.pm:618 install_steps_interactive.pm:707 +#: install_steps_gtk.pm:618 install_steps_interactive.pm:711 #, c-format msgid "There was an error installing packages:" msgstr "" -#: install_steps_gtk.pm:658 install_steps_interactive.pm:875 install_steps_interactive.pm:1027 +#: install_steps_gtk.pm:658 install_steps_interactive.pm:873 install_steps_interactive.pm:1025 #, c-format msgid "not configured" msgstr "" @@ -4975,216 +5115,216 @@ msgstr "" msgid "License agreement" msgstr "" -#: install_steps_interactive.pm:111 +#: install_steps_interactive.pm:115 #, c-format msgid "Please choose your keyboard layout." msgstr "" -#: install_steps_interactive.pm:113 +#: install_steps_interactive.pm:117 #, c-format -msgid "Here is the full list of keyboards available" +msgid "Here is the full list of available keyboards" msgstr "" -#: install_steps_interactive.pm:143 +#: install_steps_interactive.pm:147 #, c-format msgid "Install/Upgrade" msgstr "" -#: install_steps_interactive.pm:144 +#: install_steps_interactive.pm:148 #, c-format msgid "Is this an install or an upgrade?" msgstr "" -#: install_steps_interactive.pm:150 +#: install_steps_interactive.pm:154 #, c-format msgid "Upgrade %s" msgstr "" -#: install_steps_interactive.pm:160 +#: install_steps_interactive.pm:164 #, c-format msgid "Encryption key for %s" msgstr "" -#: install_steps_interactive.pm:177 +#: install_steps_interactive.pm:181 #, c-format msgid "Please choose your type of mouse." msgstr "" -#: install_steps_interactive.pm:186 standalone/mousedrake:46 +#: install_steps_interactive.pm:190 standalone/mousedrake:46 #, c-format msgid "Mouse Port" msgstr "" -#: install_steps_interactive.pm:187 standalone/mousedrake:47 +#: install_steps_interactive.pm:191 standalone/mousedrake:47 #, c-format msgid "Please choose which serial port your mouse is connected to." msgstr "" -#: install_steps_interactive.pm:197 +#: install_steps_interactive.pm:201 #, c-format msgid "Buttons emulation" msgstr "" -#: install_steps_interactive.pm:199 +#: install_steps_interactive.pm:203 #, c-format msgid "Button 2 Emulation" msgstr "" -#: install_steps_interactive.pm:200 +#: install_steps_interactive.pm:204 #, c-format msgid "Button 3 Emulation" msgstr "" -#: install_steps_interactive.pm:221 +#: install_steps_interactive.pm:225 #, c-format msgid "PCMCIA" msgstr "" -#: install_steps_interactive.pm:221 +#: install_steps_interactive.pm:225 #, c-format msgid "Configuring PCMCIA cards..." msgstr "" -#: install_steps_interactive.pm:228 +#: install_steps_interactive.pm:232 #, c-format msgid "IDE" msgstr "" -#: install_steps_interactive.pm:228 +#: install_steps_interactive.pm:232 #, c-format msgid "Configuring IDE" msgstr "" -#: install_steps_interactive.pm:248 network/tools.pm:195 +#: install_steps_interactive.pm:252 network/tools.pm:196 #, c-format msgid "No partition available" msgstr "" -#: install_steps_interactive.pm:251 +#: install_steps_interactive.pm:255 #, c-format msgid "Scanning partitions to find mount points" msgstr "" -#: install_steps_interactive.pm:258 +#: install_steps_interactive.pm:262 #, c-format msgid "Choose the mount points" msgstr "" -#: install_steps_interactive.pm:288 +#: install_steps_interactive.pm:292 #, 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 "" -#: install_steps_interactive.pm:325 +#: install_steps_interactive.pm:329 #, c-format msgid "Choose the partitions you want to format" msgstr "" -#: install_steps_interactive.pm:327 +#: install_steps_interactive.pm:331 #, c-format msgid "Check bad blocks?" msgstr "" -#: install_steps_interactive.pm:359 +#: install_steps_interactive.pm:363 #, c-format msgid "Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)" msgstr "" -#: install_steps_interactive.pm:362 +#: install_steps_interactive.pm:366 #, c-format msgid "Not enough swap space to fulfill installation, please add some" msgstr "" -#: install_steps_interactive.pm:369 +#: install_steps_interactive.pm:373 #, c-format msgid "Looking for available packages and rebuilding rpm database..." msgstr "" -#: install_steps_interactive.pm:370 install_steps_interactive.pm:389 +#: install_steps_interactive.pm:374 install_steps_interactive.pm:393 #, c-format msgid "Looking for available packages..." msgstr "" -#: install_steps_interactive.pm:373 +#: install_steps_interactive.pm:377 #, c-format msgid "Looking at packages already installed..." msgstr "" -#: install_steps_interactive.pm:377 +#: install_steps_interactive.pm:381 #, c-format msgid "Finding packages to upgrade..." msgstr "" -#: install_steps_interactive.pm:398 +#: install_steps_interactive.pm:402 #, c-format msgid "Your system does not have enough space left for installation or upgrade (%d > %d)" msgstr "" -#: install_steps_interactive.pm:439 +#: install_steps_interactive.pm:443 #, c-format msgid "" "Please choose load or save package selection on floppy.\n" "The format is the same as auto_install generated floppies." msgstr "" -#: install_steps_interactive.pm:441 +#: install_steps_interactive.pm:445 #, c-format msgid "Load from floppy" msgstr "" -#: install_steps_interactive.pm:441 +#: install_steps_interactive.pm:445 #, c-format msgid "Save on floppy" msgstr "" -#: install_steps_interactive.pm:445 +#: install_steps_interactive.pm:449 #, c-format msgid "Package selection" msgstr "" -#: install_steps_interactive.pm:445 +#: install_steps_interactive.pm:449 #, c-format msgid "Loading from floppy" msgstr "" -#: install_steps_interactive.pm:450 +#: install_steps_interactive.pm:454 #, c-format msgid "Insert a floppy containing package selection" msgstr "" -#: install_steps_interactive.pm:533 +#: install_steps_interactive.pm:537 #, c-format msgid "Selected size is larger than available space" msgstr "" -#: install_steps_interactive.pm:548 +#: install_steps_interactive.pm:552 #, c-format msgid "Type of install" msgstr "" -#: install_steps_interactive.pm:549 +#: install_steps_interactive.pm:553 #, c-format msgid "" "You haven't selected any group of packages.\n" "Please choose the minimal installation you want:" msgstr "" -#: install_steps_interactive.pm:553 +#: install_steps_interactive.pm:557 #, c-format msgid "With basic documentation (recommended!)" msgstr "" -#: install_steps_interactive.pm:554 +#: install_steps_interactive.pm:558 #, c-format msgid "Truly minimal install (especially no urpmi)" msgstr "" -#: install_steps_interactive.pm:597 standalone/drakxtv:50 +#: install_steps_interactive.pm:601 standalone/drakxtv:50 #, c-format msgid "All" msgstr "" -#: install_steps_interactive.pm:641 +#: install_steps_interactive.pm:645 #, c-format msgid "" "If you have all the CDs in the list below, click Ok.\n" @@ -5192,39 +5332,34 @@ msgid "" "If only some CDs are missing, unselect them, then click Ok." msgstr "" -#: install_steps_interactive.pm:646 +#: install_steps_interactive.pm:650 #, c-format msgid "Cd-Rom labeled \"%s\"" msgstr "" -#: install_steps_interactive.pm:666 +#: install_steps_interactive.pm:670 #, c-format msgid "Preparing installation" msgstr "" -#: install_steps_interactive.pm:675 +#: install_steps_interactive.pm:679 #, c-format msgid "" "Installing package %s\n" "%d%%" msgstr "" -#: install_steps_interactive.pm:721 +#: install_steps_interactive.pm:725 #, c-format msgid "Post-install configuration" msgstr "" -#: install_steps_interactive.pm:727 -#, c-format -msgid "Please insert the Boot floppy used in drive %s" -msgstr "" - -#: install_steps_interactive.pm:733 +#: install_steps_interactive.pm:731 #, c-format msgid "Please insert the Update Modules floppy in drive %s" msgstr "" -#: install_steps_interactive.pm:754 +#: install_steps_interactive.pm:752 #, c-format msgid "" "You now have the opportunity to download updated packages. These packages\n" @@ -5237,168 +5372,168 @@ msgid "" "Do you want to install the updates ?" msgstr "" -#: install_steps_interactive.pm:775 +#: install_steps_interactive.pm:773 #, c-format msgid "Contacting Mandrakelinux web site to get the list of available mirrors..." msgstr "" -#: install_steps_interactive.pm:780 +#: install_steps_interactive.pm:778 #, c-format msgid "Choose a mirror from which to get the packages" msgstr "" -#: install_steps_interactive.pm:794 +#: install_steps_interactive.pm:792 #, c-format msgid "Contacting the mirror to get the list of available packages..." msgstr "" -#: install_steps_interactive.pm:798 +#: install_steps_interactive.pm:796 #, c-format msgid "Unable to contact mirror %s" msgstr "" -#: install_steps_interactive.pm:798 +#: install_steps_interactive.pm:796 #, c-format msgid "Would you like to try again?" msgstr "" -#: install_steps_interactive.pm:824 standalone/drakclock:45 +#: install_steps_interactive.pm:822 standalone/drakclock:45 #, c-format msgid "Which is your timezone?" msgstr "" -#: install_steps_interactive.pm:829 +#: install_steps_interactive.pm:827 #, c-format msgid "Automatic time synchronization (using NTP)" msgstr "" -#: install_steps_interactive.pm:837 +#: install_steps_interactive.pm:835 #, c-format msgid "NTP Server" msgstr "" -#: install_steps_interactive.pm:879 steps.pm:30 +#: install_steps_interactive.pm:877 steps.pm:30 #, c-format msgid "Summary" msgstr "" -#: install_steps_interactive.pm:892 install_steps_interactive.pm:900 install_steps_interactive.pm:918 install_steps_interactive.pm:925 install_steps_interactive.pm:1074 services.pm:135 standalone/drakbackup:1663 +#: install_steps_interactive.pm:890 install_steps_interactive.pm:898 install_steps_interactive.pm:916 install_steps_interactive.pm:923 install_steps_interactive.pm:1072 services.pm:135 standalone/drakbackup:1588 #, c-format msgid "System" msgstr "" -#: install_steps_interactive.pm:932 install_steps_interactive.pm:959 install_steps_interactive.pm:976 install_steps_interactive.pm:992 install_steps_interactive.pm:1003 +#: install_steps_interactive.pm:930 install_steps_interactive.pm:957 install_steps_interactive.pm:974 install_steps_interactive.pm:990 install_steps_interactive.pm:1001 #, c-format msgid "Hardware" msgstr "" -#: install_steps_interactive.pm:938 install_steps_interactive.pm:947 +#: install_steps_interactive.pm:936 install_steps_interactive.pm:945 #, c-format msgid "Remote CUPS server" msgstr "" -#: install_steps_interactive.pm:938 +#: install_steps_interactive.pm:936 #, c-format msgid "No printer" msgstr "" -#: install_steps_interactive.pm:980 +#: install_steps_interactive.pm:978 #, c-format msgid "Do you have an ISA sound card?" msgstr "" -#: install_steps_interactive.pm:982 +#: install_steps_interactive.pm:980 #, c-format -msgid "Run \"sndconfig\" after installation to configure your sound card" +msgid "Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound card" msgstr "" -#: install_steps_interactive.pm:984 +#: install_steps_interactive.pm:982 #, c-format msgid "No sound card detected. Try \"harddrake\" after installation" msgstr "" -#: install_steps_interactive.pm:1004 +#: install_steps_interactive.pm:1002 #, c-format msgid "Graphical interface" msgstr "" -#: install_steps_interactive.pm:1010 install_steps_interactive.pm:1025 +#: install_steps_interactive.pm:1008 install_steps_interactive.pm:1023 #, c-format msgid "Network & Internet" msgstr "" -#: install_steps_interactive.pm:1026 +#: install_steps_interactive.pm:1024 #, c-format msgid "Proxies" msgstr "" -#: install_steps_interactive.pm:1027 +#: install_steps_interactive.pm:1025 #, c-format msgid "configured" msgstr "" -#: install_steps_interactive.pm:1036 install_steps_interactive.pm:1050 steps.pm:20 +#: install_steps_interactive.pm:1034 install_steps_interactive.pm:1048 steps.pm:20 #, c-format msgid "Security" msgstr "" -#: install_steps_interactive.pm:1055 +#: install_steps_interactive.pm:1053 #, c-format msgid "activated" msgstr "" -#: install_steps_interactive.pm:1055 +#: install_steps_interactive.pm:1053 #, c-format msgid "disabled" msgstr "" -#: install_steps_interactive.pm:1064 +#: install_steps_interactive.pm:1062 #, c-format msgid "Boot" msgstr "" #. -PO: example: lilo-graphic on /dev/hda1 -#: install_steps_interactive.pm:1068 +#: install_steps_interactive.pm:1066 #, c-format msgid "%s on %s" msgstr "" -#: install_steps_interactive.pm:1079 services.pm:177 +#: install_steps_interactive.pm:1077 services.pm:177 #, c-format msgid "Services: %d activated for %d registered" msgstr "" -#: install_steps_interactive.pm:1089 +#: install_steps_interactive.pm:1087 #, c-format msgid "You have not configured X. Are you sure you really want this?" msgstr "" -#: install_steps_interactive.pm:1147 +#: install_steps_interactive.pm:1145 #, c-format msgid "Set root password and network authentication methods" msgstr "" -#: install_steps_interactive.pm:1148 +#: install_steps_interactive.pm:1146 #, c-format msgid "Set root password" msgstr "" -#: install_steps_interactive.pm:1158 +#: install_steps_interactive.pm:1157 #, c-format msgid "This password is too short (it must be at least %d characters long)" msgstr "" -#: install_steps_interactive.pm:1163 network/netconnect.pm:576 standalone/drakauth:26 standalone/drakconnect:451 +#: install_steps_interactive.pm:1162 network/netconnect.pm:575 standalone/drakauth:24 standalone/drakauth:26 standalone/drakconnect:460 #, c-format msgid "Authentication" msgstr "" -#: install_steps_interactive.pm:1194 +#: install_steps_interactive.pm:1193 #, c-format msgid "Preparing bootloader..." msgstr "" -#: install_steps_interactive.pm:1204 +#: install_steps_interactive.pm:1203 #, c-format msgid "" "You appear to have an OldWorld or Unknown\n" @@ -5407,29 +5542,29 @@ msgid "" " need to use BootX or some other means to boot your machine" msgstr "" -#: install_steps_interactive.pm:1210 +#: install_steps_interactive.pm:1209 #, c-format msgid "Do you want to use aboot?" msgstr "" -#: install_steps_interactive.pm:1213 +#: install_steps_interactive.pm:1212 #, c-format msgid "" "Error installing aboot, \n" "try to force installation even if that destroys the first partition?" msgstr "" -#: install_steps_interactive.pm:1224 +#: install_steps_interactive.pm:1223 #, c-format msgid "Installing bootloader" msgstr "" -#: install_steps_interactive.pm:1231 +#: install_steps_interactive.pm:1230 #, c-format msgid "Installation of bootloader failed. The following error occured:" msgstr "" -#: install_steps_interactive.pm:1236 +#: install_steps_interactive.pm:1235 #, c-format msgid "" "You may need to change your Open Firmware boot-device to\n" @@ -5440,27 +5575,27 @@ msgid "" "At your next boot you should see the bootloader prompt." msgstr "" -#: install_steps_interactive.pm:1249 +#: install_steps_interactive.pm:1248 #, c-format msgid "In this security level, access to the files in the Windows partition is restricted to the administrator." msgstr "" -#: install_steps_interactive.pm:1281 standalone/drakautoinst:76 +#: install_steps_interactive.pm:1276 standalone/drakautoinst:76 #, c-format msgid "Insert a blank floppy in drive %s" msgstr "" -#: install_steps_interactive.pm:1286 +#: install_steps_interactive.pm:1281 #, c-format msgid "Please insert another floppy for drivers disk" msgstr "" -#: install_steps_interactive.pm:1288 +#: install_steps_interactive.pm:1283 #, c-format msgid "Creating auto install floppy..." msgstr "" -#: install_steps_interactive.pm:1300 +#: install_steps_interactive.pm:1295 #, c-format msgid "" "Some steps are not completed.\n" @@ -5468,12 +5603,12 @@ msgid "" "Do you really want to quit now?" msgstr "" -#: install_steps_interactive.pm:1315 +#: install_steps_interactive.pm:1310 #, c-format msgid "Generate auto install floppy" msgstr "" -#: install_steps_interactive.pm:1317 +#: install_steps_interactive.pm:1312 #, c-format msgid "" "The auto install can be fully automated if wanted,\n" @@ -5585,562 +5720,572 @@ msgstr "" msgid "Re-submit" msgstr "" -#: keyboard.pm:137 keyboard.pm:169 +#: keyboard.pm:160 keyboard.pm:192 #, c-format msgid "Czech (QWERTZ)" msgstr "" -#: keyboard.pm:138 keyboard.pm:171 +#: keyboard.pm:161 keyboard.pm:194 #, c-format msgid "German" msgstr "" -#: keyboard.pm:139 +#: keyboard.pm:162 #, c-format msgid "Dvorak" msgstr "" -#: keyboard.pm:140 keyboard.pm:179 +#: keyboard.pm:163 keyboard.pm:203 #, c-format msgid "Spanish" msgstr "" -#: keyboard.pm:141 keyboard.pm:180 +#: keyboard.pm:164 keyboard.pm:204 #, c-format msgid "Finnish" msgstr "" -#: keyboard.pm:142 keyboard.pm:181 +#: keyboard.pm:165 keyboard.pm:205 #, c-format msgid "French" msgstr "" -#: keyboard.pm:143 keyboard.pm:220 +#: keyboard.pm:166 keyboard.pm:245 #, c-format msgid "Norwegian" msgstr "" -#: keyboard.pm:144 +#: keyboard.pm:167 #, c-format msgid "Polish" msgstr "" -#: keyboard.pm:145 keyboard.pm:229 +#: keyboard.pm:168 keyboard.pm:254 #, c-format msgid "Russian" msgstr "" -#: keyboard.pm:147 keyboard.pm:233 +#: keyboard.pm:170 keyboard.pm:258 #, c-format msgid "Swedish" msgstr "" -#: keyboard.pm:148 keyboard.pm:252 +#: keyboard.pm:171 keyboard.pm:277 #, c-format msgid "UK keyboard" msgstr "" -#: keyboard.pm:149 keyboard.pm:253 +#: keyboard.pm:172 keyboard.pm:278 #, c-format msgid "US keyboard" msgstr "" -#: keyboard.pm:151 +#: keyboard.pm:174 #, c-format msgid "Albanian" msgstr "" -#: keyboard.pm:152 +#: keyboard.pm:175 #, c-format msgid "Armenian (old)" msgstr "" -#: keyboard.pm:153 +#: keyboard.pm:176 #, c-format msgid "Armenian (typewriter)" msgstr "" -#: keyboard.pm:154 +#: keyboard.pm:177 #, c-format msgid "Armenian (phonetic)" msgstr "" -#: keyboard.pm:155 +#: keyboard.pm:178 #, c-format msgid "Arabic" msgstr "" -#: keyboard.pm:156 +#: keyboard.pm:179 #, c-format msgid "Azerbaidjani (latin)" msgstr "" -#: keyboard.pm:158 +#: keyboard.pm:181 #, c-format msgid "Belgian" msgstr "" -#: keyboard.pm:159 +#: keyboard.pm:182 #, c-format msgid "Bengali" msgstr "" -#: keyboard.pm:160 +#: keyboard.pm:183 #, c-format msgid "Bulgarian (phonetic)" msgstr "" -#: keyboard.pm:161 +#: keyboard.pm:184 #, c-format msgid "Bulgarian (BDS)" msgstr "" -#: keyboard.pm:162 +#: keyboard.pm:185 #, c-format msgid "Brazilian (ABNT-2)" msgstr "" -#: keyboard.pm:165 +#: keyboard.pm:188 #, c-format msgid "Bosnian" msgstr "" -#: keyboard.pm:166 +#: keyboard.pm:189 #, c-format msgid "Belarusian" msgstr "" -#: keyboard.pm:167 +#: keyboard.pm:190 #, c-format msgid "Swiss (German layout)" msgstr "" -#: keyboard.pm:168 +#: keyboard.pm:191 #, c-format msgid "Swiss (French layout)" msgstr "" -#: keyboard.pm:170 +#: keyboard.pm:193 #, c-format msgid "Czech (QWERTY)" msgstr "" -#: keyboard.pm:172 +#: keyboard.pm:195 #, c-format msgid "German (no dead keys)" msgstr "" -#: keyboard.pm:173 +#: keyboard.pm:196 #, c-format msgid "Devanagari" msgstr "" -#: keyboard.pm:174 +#: keyboard.pm:197 #, c-format msgid "Danish" msgstr "" -#: keyboard.pm:175 +#: keyboard.pm:198 #, c-format msgid "Dvorak (US)" msgstr "" -#: keyboard.pm:176 +#: keyboard.pm:199 +#, c-format +msgid "Dvorak (Esperanto)" +msgstr "" + +#: keyboard.pm:200 #, c-format msgid "Dvorak (Norwegian)" msgstr "" -#: keyboard.pm:177 +#: keyboard.pm:201 #, c-format msgid "Dvorak (Swedish)" msgstr "" -#: keyboard.pm:178 +#: keyboard.pm:202 #, c-format msgid "Estonian" msgstr "" -#: keyboard.pm:182 +#: keyboard.pm:206 #, c-format msgid "Georgian (\"Russian\" layout)" msgstr "" -#: keyboard.pm:183 +#: keyboard.pm:207 #, c-format msgid "Georgian (\"Latin\" layout)" msgstr "" -#: keyboard.pm:184 +#: keyboard.pm:208 #, c-format msgid "Greek" msgstr "" -#: keyboard.pm:185 +#: keyboard.pm:209 #, c-format msgid "Greek (polytonic)" msgstr "" -#: keyboard.pm:186 +#: keyboard.pm:210 #, c-format msgid "Gujarati" msgstr "" -#: keyboard.pm:187 +#: keyboard.pm:211 #, c-format msgid "Gurmukhi" msgstr "" -#: keyboard.pm:188 +#: keyboard.pm:212 #, c-format msgid "Hungarian" msgstr "" -#: keyboard.pm:189 +#: keyboard.pm:213 #, c-format msgid "Croatian" msgstr "" -#: keyboard.pm:190 +#: keyboard.pm:214 #, c-format msgid "Irish" msgstr "" -#: keyboard.pm:191 +#: keyboard.pm:215 #, c-format msgid "Israeli" msgstr "" -#: keyboard.pm:192 +#: keyboard.pm:216 #, c-format msgid "Israeli (Phonetic)" msgstr "" -#: keyboard.pm:193 +#: keyboard.pm:217 #, c-format msgid "Iranian" msgstr "" -#: keyboard.pm:194 +#: keyboard.pm:218 #, c-format msgid "Icelandic" msgstr "" -#: keyboard.pm:195 +#: keyboard.pm:219 #, c-format msgid "Italian" msgstr "" -#: keyboard.pm:196 +#: keyboard.pm:220 #, c-format msgid "Inuktitut" msgstr "" -#: keyboard.pm:200 +#: keyboard.pm:224 #, c-format msgid "Japanese 106 keys" msgstr "" -#: keyboard.pm:201 +#: keyboard.pm:225 #, c-format msgid "Kannada" msgstr "" -#: keyboard.pm:204 +#: keyboard.pm:228 #, c-format msgid "Korean keyboard" msgstr "" -#: keyboard.pm:205 +#: keyboard.pm:229 +#, c-format +msgid "Kyrgyz keyboard" +msgstr "" + +#: keyboard.pm:230 #, c-format msgid "Latin American" msgstr "" -#: keyboard.pm:206 +#: keyboard.pm:231 #, c-format msgid "Laotian" msgstr "" -#: keyboard.pm:207 +#: keyboard.pm:232 #, c-format msgid "Lithuanian AZERTY (old)" msgstr "" -#: keyboard.pm:209 +#: keyboard.pm:234 #, c-format msgid "Lithuanian AZERTY (new)" msgstr "" -#: keyboard.pm:210 +#: keyboard.pm:235 #, c-format msgid "Lithuanian \"number row\" QWERTY" msgstr "" -#: keyboard.pm:211 +#: keyboard.pm:236 #, c-format msgid "Lithuanian \"phonetic\" QWERTY" msgstr "" -#: keyboard.pm:212 +#: keyboard.pm:237 #, c-format msgid "Latvian" msgstr "" -#: keyboard.pm:213 +#: keyboard.pm:238 #, c-format msgid "Malayalam" msgstr "" -#: keyboard.pm:214 +#: keyboard.pm:239 #, c-format msgid "Macedonian" msgstr "" -#: keyboard.pm:215 +#: keyboard.pm:240 #, c-format msgid "Myanmar (Burmese)" msgstr "" -#: keyboard.pm:216 +#: keyboard.pm:241 #, c-format msgid "Mongolian (cyrillic)" msgstr "" -#: keyboard.pm:217 +#: keyboard.pm:242 #, c-format msgid "Maltese (UK)" msgstr "" -#: keyboard.pm:218 +#: keyboard.pm:243 #, c-format msgid "Maltese (US)" msgstr "" -#: keyboard.pm:219 +#: keyboard.pm:244 #, c-format msgid "Dutch" msgstr "" -#: keyboard.pm:221 +#: keyboard.pm:246 #, c-format msgid "Oriya" msgstr "" -#: keyboard.pm:222 +#: keyboard.pm:247 #, c-format msgid "Polish (qwerty layout)" msgstr "" -#: keyboard.pm:223 +#: keyboard.pm:248 #, c-format msgid "Polish (qwertz layout)" msgstr "" -#: keyboard.pm:224 +#: keyboard.pm:249 #, c-format msgid "Portuguese" msgstr "" -#: keyboard.pm:225 +#: keyboard.pm:250 #, c-format msgid "Canadian (Quebec)" msgstr "" -#: keyboard.pm:227 +#: keyboard.pm:252 #, c-format msgid "Romanian (qwertz)" msgstr "" -#: keyboard.pm:228 +#: keyboard.pm:253 #, c-format msgid "Romanian (qwerty)" msgstr "" -#: keyboard.pm:230 +#: keyboard.pm:255 #, c-format msgid "Russian (Phonetic)" msgstr "" -#: keyboard.pm:231 +#: keyboard.pm:256 #, c-format msgid "Saami (norwegian)" msgstr "" -#: keyboard.pm:232 +#: keyboard.pm:257 #, c-format msgid "Saami (swedish/finnish)" msgstr "" -#: keyboard.pm:234 +#: keyboard.pm:259 #, c-format msgid "Slovenian" msgstr "" -#: keyboard.pm:235 +#: keyboard.pm:260 #, c-format msgid "Slovakian (QWERTZ)" msgstr "" -#: keyboard.pm:236 +#: keyboard.pm:261 #, c-format msgid "Slovakian (QWERTY)" msgstr "" -#: keyboard.pm:238 +#: keyboard.pm:263 #, c-format msgid "Serbian (cyrillic)" msgstr "" -#: keyboard.pm:239 +#: keyboard.pm:264 #, c-format msgid "Syriac" msgstr "" -#: keyboard.pm:240 +#: keyboard.pm:265 #, c-format msgid "Syriac (phonetic)" msgstr "" -#: keyboard.pm:241 +#: keyboard.pm:266 #, c-format msgid "Telugu" msgstr "" -#: keyboard.pm:243 +#: keyboard.pm:268 #, c-format msgid "Tamil (ISCII-layout)" msgstr "" -#: keyboard.pm:244 +#: keyboard.pm:269 #, c-format msgid "Tamil (Typewriter-layout)" msgstr "" -#: keyboard.pm:245 +#: keyboard.pm:270 #, c-format msgid "Thai keyboard" msgstr "" -#: keyboard.pm:247 +#: keyboard.pm:272 #, c-format msgid "Tajik keyboard" msgstr "" -#: keyboard.pm:248 +#: keyboard.pm:273 #, c-format msgid "Turkish (traditional \"F\" model)" msgstr "" -#: keyboard.pm:249 +#: keyboard.pm:274 #, c-format msgid "Turkish (modern \"Q\" model)" msgstr "" -#: keyboard.pm:251 +#: keyboard.pm:276 #, c-format msgid "Ukrainian" msgstr "" -#: keyboard.pm:254 +#: keyboard.pm:279 #, c-format msgid "US keyboard (international)" msgstr "" -#: keyboard.pm:255 +#: keyboard.pm:280 #, c-format msgid "Uzbek (cyrillic)" msgstr "" -#: keyboard.pm:256 +#: keyboard.pm:281 #, c-format msgid "Vietnamese \"numeric row\" QWERTY" msgstr "" -#: keyboard.pm:257 +#: keyboard.pm:282 #, c-format msgid "Yugoslavian (latin)" msgstr "" -#: keyboard.pm:264 +#: keyboard.pm:289 #, c-format msgid "Right Alt key" msgstr "" -#: keyboard.pm:265 +#: keyboard.pm:290 #, c-format msgid "Both Shift keys simultaneously" msgstr "" -#: keyboard.pm:266 +#: keyboard.pm:291 #, c-format msgid "Control and Shift keys simultaneously" msgstr "" -#: keyboard.pm:267 +#: keyboard.pm:292 #, c-format msgid "CapsLock key" msgstr "" -#: keyboard.pm:268 +#: keyboard.pm:293 #, c-format msgid "Ctrl and Alt keys simultaneously" msgstr "" -#: keyboard.pm:269 +#: keyboard.pm:294 #, c-format msgid "Alt and Shift keys simultaneously" msgstr "" -#: keyboard.pm:270 +#: keyboard.pm:295 #, c-format msgid "\"Menu\" key" msgstr "" -#: keyboard.pm:271 +#: keyboard.pm:296 #, c-format msgid "Left \"Windows\" key" msgstr "" -#: keyboard.pm:272 +#: keyboard.pm:297 #, c-format msgid "Right \"Windows\" key" msgstr "" -#: keyboard.pm:273 +#: keyboard.pm:298 #, c-format msgid "Both Control keys simultaneously" msgstr "" -#: keyboard.pm:274 +#: keyboard.pm:299 #, c-format msgid "Both Alt keys simultaneously" msgstr "" -#: keyboard.pm:275 +#: keyboard.pm:300 #, c-format msgid "Left Shift key" msgstr "" -#: keyboard.pm:276 +#: keyboard.pm:301 #, c-format msgid "Right Shift key" msgstr "" -#: keyboard.pm:277 +#: keyboard.pm:302 #, c-format msgid "Left Alt key" msgstr "" -#: keyboard.pm:278 +#: keyboard.pm:303 #, c-format msgid "Left Control key" msgstr "" -#: keyboard.pm:279 +#: keyboard.pm:304 #, c-format msgid "Right Control key" msgstr "" -#: keyboard.pm:310 +#: keyboard.pm:335 #, c-format msgid "" "Here you can choose the key or key combination that will \n" @@ -6148,7 +6293,7 @@ msgid "" "(eg: latin and non latin)" msgstr "" -#: keyboard.pm:315 +#: keyboard.pm:340 #, c-format msgid "" "This setting will be activated after the installation.\n" @@ -6156,1142 +6301,1142 @@ msgid "" "key to switch between the different keyboard layouts." msgstr "" -#: lang.pm:151 +#: lang.pm:152 #, c-format msgid "default:LTR" msgstr "" -#: lang.pm:167 +#: lang.pm:168 #, c-format msgid "Afghanistan" msgstr "" -#: lang.pm:168 +#: lang.pm:169 #, c-format msgid "Andorra" msgstr "" -#: lang.pm:169 +#: lang.pm:170 #, c-format msgid "United Arab Emirates" msgstr "" -#: lang.pm:170 +#: lang.pm:171 #, c-format msgid "Antigua and Barbuda" msgstr "" -#: lang.pm:171 +#: lang.pm:172 #, c-format msgid "Anguilla" msgstr "" -#: lang.pm:172 +#: lang.pm:173 #, c-format msgid "Albania" msgstr "" -#: lang.pm:173 +#: lang.pm:174 #, c-format msgid "Armenia" msgstr "" -#: lang.pm:174 +#: lang.pm:175 #, c-format msgid "Netherlands Antilles" msgstr "" -#: lang.pm:175 +#: lang.pm:176 #, c-format msgid "Angola" msgstr "" -#: lang.pm:176 +#: lang.pm:177 #, c-format msgid "Antarctica" msgstr "" -#: lang.pm:177 standalone/drakxtv:48 +#: lang.pm:178 standalone/drakxtv:48 #, c-format msgid "Argentina" msgstr "" -#: lang.pm:178 +#: lang.pm:179 #, c-format msgid "American Samoa" msgstr "" -#: lang.pm:180 standalone/drakxtv:46 +#: lang.pm:181 standalone/drakxtv:46 #, c-format msgid "Australia" msgstr "" -#: lang.pm:181 +#: lang.pm:182 #, c-format msgid "Aruba" msgstr "" -#: lang.pm:182 +#: lang.pm:183 #, c-format msgid "Azerbaijan" msgstr "" -#: lang.pm:183 +#: lang.pm:184 #, c-format msgid "Bosnia and Herzegovina" msgstr "" -#: lang.pm:184 +#: lang.pm:185 #, c-format msgid "Barbados" msgstr "" -#: lang.pm:185 +#: lang.pm:186 #, c-format msgid "Bangladesh" msgstr "" -#: lang.pm:187 +#: lang.pm:188 #, c-format msgid "Burkina Faso" msgstr "" -#: lang.pm:188 +#: lang.pm:189 #, c-format msgid "Bulgaria" msgstr "" -#: lang.pm:189 +#: lang.pm:190 #, c-format msgid "Bahrain" msgstr "" -#: lang.pm:190 +#: lang.pm:191 #, c-format msgid "Burundi" msgstr "" -#: lang.pm:191 +#: lang.pm:192 #, c-format msgid "Benin" msgstr "" -#: lang.pm:192 +#: lang.pm:193 #, c-format msgid "Bermuda" msgstr "" -#: lang.pm:193 +#: lang.pm:194 #, c-format msgid "Brunei Darussalam" msgstr "" -#: lang.pm:194 +#: lang.pm:195 #, c-format msgid "Bolivia" msgstr "" -#: lang.pm:195 +#: lang.pm:196 #, c-format msgid "Brazil" msgstr "" -#: lang.pm:196 +#: lang.pm:197 #, c-format msgid "Bahamas" msgstr "" -#: lang.pm:197 +#: lang.pm:198 #, c-format msgid "Bhutan" msgstr "" -#: lang.pm:198 +#: lang.pm:199 #, c-format msgid "Bouvet Island" msgstr "" -#: lang.pm:199 +#: lang.pm:200 #, c-format msgid "Botswana" msgstr "" -#: lang.pm:200 +#: lang.pm:201 #, c-format msgid "Belarus" msgstr "" -#: lang.pm:201 +#: lang.pm:202 #, c-format msgid "Belize" msgstr "" -#: lang.pm:202 +#: lang.pm:203 #, c-format msgid "Canada" msgstr "" -#: lang.pm:203 +#: lang.pm:204 #, c-format msgid "Cocos (Keeling) Islands" msgstr "" -#: lang.pm:204 +#: lang.pm:205 #, c-format msgid "Congo (Kinshasa)" msgstr "" -#: lang.pm:205 +#: lang.pm:206 #, c-format msgid "Central African Republic" msgstr "" -#: lang.pm:206 +#: lang.pm:207 #, c-format msgid "Congo (Brazzaville)" msgstr "" -#: lang.pm:207 +#: lang.pm:208 #, c-format msgid "Switzerland" msgstr "" -#: lang.pm:208 +#: lang.pm:209 #, c-format msgid "Cote d'Ivoire" msgstr "" -#: lang.pm:209 +#: lang.pm:210 #, c-format msgid "Cook Islands" msgstr "" -#: lang.pm:210 +#: lang.pm:211 #, c-format msgid "Chile" msgstr "" -#: lang.pm:211 +#: lang.pm:212 #, c-format msgid "Cameroon" msgstr "" -#: lang.pm:212 +#: lang.pm:213 #, c-format msgid "China" msgstr "" -#: lang.pm:213 +#: lang.pm:214 #, c-format msgid "Colombia" msgstr "" -#: lang.pm:215 +#: lang.pm:216 #, c-format msgid "Cuba" msgstr "" -#: lang.pm:216 +#: lang.pm:217 #, c-format msgid "Cape Verde" msgstr "" -#: lang.pm:217 +#: lang.pm:218 #, c-format msgid "Christmas Island" msgstr "" -#: lang.pm:218 +#: lang.pm:219 #, c-format msgid "Cyprus" msgstr "" -#: lang.pm:221 +#: lang.pm:222 #, c-format msgid "Djibouti" msgstr "" -#: lang.pm:222 +#: lang.pm:223 #, c-format msgid "Denmark" msgstr "" -#: lang.pm:223 +#: lang.pm:224 #, c-format msgid "Dominica" msgstr "" -#: lang.pm:224 +#: lang.pm:225 #, c-format msgid "Dominican Republic" msgstr "" -#: lang.pm:225 +#: lang.pm:226 #, c-format msgid "Algeria" msgstr "" -#: lang.pm:226 +#: lang.pm:227 #, c-format msgid "Ecuador" msgstr "" -#: lang.pm:227 +#: lang.pm:228 #, c-format msgid "Estonia" msgstr "" -#: lang.pm:228 +#: lang.pm:229 #, c-format msgid "Egypt" msgstr "" -#: lang.pm:229 +#: lang.pm:230 #, c-format msgid "Western Sahara" msgstr "" -#: lang.pm:230 +#: lang.pm:231 #, c-format msgid "Eritrea" msgstr "" -#: lang.pm:231 network/adsl_consts.pm:202 network/adsl_consts.pm:210 network/adsl_consts.pm:219 network/adsl_consts.pm:230 +#: lang.pm:232 network/adsl_consts.pm:202 network/adsl_consts.pm:210 network/adsl_consts.pm:219 network/adsl_consts.pm:230 #, c-format msgid "Spain" msgstr "" -#: lang.pm:232 +#: lang.pm:233 #, c-format msgid "Ethiopia" msgstr "" -#: lang.pm:233 network/adsl_consts.pm:127 +#: lang.pm:234 network/adsl_consts.pm:127 #, c-format msgid "Finland" msgstr "" -#: lang.pm:234 +#: lang.pm:235 #, c-format msgid "Fiji" msgstr "" -#: lang.pm:235 +#: lang.pm:236 #, c-format msgid "Falkland Islands (Malvinas)" msgstr "" -#: lang.pm:236 +#: lang.pm:237 #, c-format msgid "Micronesia" msgstr "" -#: lang.pm:237 +#: lang.pm:238 #, c-format msgid "Faroe Islands" msgstr "" -#: lang.pm:239 +#: lang.pm:240 #, c-format msgid "Gabon" msgstr "" -#: lang.pm:240 network/adsl_consts.pm:247 network/adsl_consts.pm:255 network/netconnect.pm:51 +#: lang.pm:241 network/adsl_consts.pm:247 network/adsl_consts.pm:255 network/netconnect.pm:51 #, c-format msgid "United Kingdom" msgstr "" -#: lang.pm:241 +#: lang.pm:242 #, c-format msgid "Grenada" msgstr "" -#: lang.pm:242 +#: lang.pm:243 #, c-format msgid "Georgia" msgstr "" -#: lang.pm:243 +#: lang.pm:244 #, c-format msgid "French Guiana" msgstr "" -#: lang.pm:244 +#: lang.pm:245 #, c-format msgid "Ghana" msgstr "" -#: lang.pm:245 +#: lang.pm:246 #, c-format msgid "Gibraltar" msgstr "" -#: lang.pm:246 +#: lang.pm:247 #, c-format msgid "Greenland" msgstr "" -#: lang.pm:247 +#: lang.pm:248 #, c-format msgid "Gambia" msgstr "" -#: lang.pm:248 +#: lang.pm:249 #, c-format msgid "Guinea" msgstr "" -#: lang.pm:249 +#: lang.pm:250 #, c-format msgid "Guadeloupe" msgstr "" -#: lang.pm:250 +#: lang.pm:251 #, c-format msgid "Equatorial Guinea" msgstr "" -#: lang.pm:252 +#: lang.pm:253 #, c-format msgid "South Georgia and the South Sandwich Islands" msgstr "" -#: lang.pm:253 +#: lang.pm:254 #, c-format msgid "Guatemala" msgstr "" -#: lang.pm:254 +#: lang.pm:255 #, c-format msgid "Guam" msgstr "" -#: lang.pm:255 +#: lang.pm:256 #, c-format msgid "Guinea-Bissau" msgstr "" -#: lang.pm:256 +#: lang.pm:257 #, c-format msgid "Guyana" msgstr "" -#: lang.pm:257 +#: lang.pm:258 #, c-format msgid "China (Hong Kong)" msgstr "" -#: lang.pm:258 +#: lang.pm:259 #, c-format msgid "Heard and McDonald Islands" msgstr "" -#: lang.pm:259 +#: lang.pm:260 #, c-format msgid "Honduras" msgstr "" -#: lang.pm:260 +#: lang.pm:261 #, c-format msgid "Croatia" msgstr "" -#: lang.pm:261 +#: lang.pm:262 #, c-format msgid "Haiti" msgstr "" -#: lang.pm:262 network/adsl_consts.pm:152 +#: lang.pm:263 network/adsl_consts.pm:152 #, c-format msgid "Hungary" msgstr "" -#: lang.pm:263 +#: lang.pm:264 #, c-format msgid "Indonesia" msgstr "" -#: lang.pm:264 standalone/drakxtv:45 +#: lang.pm:265 standalone/drakxtv:45 #, c-format msgid "Ireland" msgstr "" -#: lang.pm:265 +#: lang.pm:266 #, c-format msgid "Israel" msgstr "" -#: lang.pm:266 +#: lang.pm:267 #, c-format msgid "India" msgstr "" -#: lang.pm:267 +#: lang.pm:268 #, c-format msgid "British Indian Ocean Territory" msgstr "" -#: lang.pm:268 +#: lang.pm:269 #, c-format msgid "Iraq" msgstr "" -#: lang.pm:269 +#: lang.pm:270 #, c-format msgid "Iran" msgstr "" -#: lang.pm:270 +#: lang.pm:271 #, c-format msgid "Iceland" msgstr "" -#: lang.pm:272 +#: lang.pm:273 #, c-format msgid "Jamaica" msgstr "" -#: lang.pm:273 +#: lang.pm:274 #, c-format msgid "Jordan" msgstr "" -#: lang.pm:274 +#: lang.pm:275 #, c-format msgid "Japan" msgstr "" -#: lang.pm:275 +#: lang.pm:276 #, c-format msgid "Kenya" msgstr "" -#: lang.pm:276 +#: lang.pm:277 #, c-format msgid "Kyrgyzstan" msgstr "" -#: lang.pm:277 +#: lang.pm:278 #, c-format msgid "Cambodia" msgstr "" -#: lang.pm:278 +#: lang.pm:279 #, c-format msgid "Kiribati" msgstr "" -#: lang.pm:279 +#: lang.pm:280 #, c-format msgid "Comoros" msgstr "" -#: lang.pm:280 +#: lang.pm:281 #, c-format msgid "Saint Kitts and Nevis" msgstr "" -#: lang.pm:281 +#: lang.pm:282 #, c-format msgid "Korea (North)" msgstr "" -#: lang.pm:282 +#: lang.pm:283 #, c-format msgid "Korea" msgstr "" -#: lang.pm:283 +#: lang.pm:284 #, c-format msgid "Kuwait" msgstr "" -#: lang.pm:284 +#: lang.pm:285 #, c-format msgid "Cayman Islands" msgstr "" -#: lang.pm:285 +#: lang.pm:286 #, c-format msgid "Kazakhstan" msgstr "" -#: lang.pm:286 +#: lang.pm:287 #, c-format msgid "Laos" msgstr "" -#: lang.pm:287 +#: lang.pm:288 #, c-format msgid "Lebanon" msgstr "" -#: lang.pm:288 +#: lang.pm:289 #, c-format msgid "Saint Lucia" msgstr "" -#: lang.pm:289 +#: lang.pm:290 #, c-format msgid "Liechtenstein" msgstr "" -#: lang.pm:290 +#: lang.pm:291 #, c-format msgid "Sri Lanka" msgstr "" -#: lang.pm:291 +#: lang.pm:292 #, c-format msgid "Liberia" msgstr "" -#: lang.pm:292 +#: lang.pm:293 #, c-format msgid "Lesotho" msgstr "" -#: lang.pm:293 +#: lang.pm:294 #, c-format msgid "Lithuania" msgstr "" -#: lang.pm:294 +#: lang.pm:295 #, c-format msgid "Luxembourg" msgstr "" -#: lang.pm:295 +#: lang.pm:296 #, c-format msgid "Latvia" msgstr "" -#: lang.pm:296 +#: lang.pm:297 #, c-format msgid "Libya" msgstr "" -#: lang.pm:297 +#: lang.pm:298 #, c-format msgid "Morocco" msgstr "" -#: lang.pm:298 +#: lang.pm:299 #, c-format msgid "Monaco" msgstr "" -#: lang.pm:299 +#: lang.pm:300 #, c-format msgid "Moldova" msgstr "" -#: lang.pm:300 +#: lang.pm:301 #, c-format msgid "Madagascar" msgstr "" -#: lang.pm:301 +#: lang.pm:302 #, c-format msgid "Marshall Islands" msgstr "" -#: lang.pm:302 +#: lang.pm:303 #, c-format msgid "Macedonia" msgstr "" -#: lang.pm:303 +#: lang.pm:304 #, c-format msgid "Mali" msgstr "" -#: lang.pm:304 +#: lang.pm:305 #, c-format msgid "Myanmar" msgstr "" -#: lang.pm:305 +#: lang.pm:306 #, c-format msgid "Mongolia" msgstr "" -#: lang.pm:306 +#: lang.pm:307 #, c-format msgid "Northern Mariana Islands" msgstr "" -#: lang.pm:307 +#: lang.pm:308 #, c-format msgid "Martinique" msgstr "" -#: lang.pm:308 +#: lang.pm:309 #, c-format msgid "Mauritania" msgstr "" -#: lang.pm:309 +#: lang.pm:310 #, c-format msgid "Montserrat" msgstr "" -#: lang.pm:310 +#: lang.pm:311 #, c-format msgid "Malta" msgstr "" -#: lang.pm:311 +#: lang.pm:312 #, c-format msgid "Mauritius" msgstr "" -#: lang.pm:312 +#: lang.pm:313 #, c-format msgid "Maldives" msgstr "" -#: lang.pm:313 +#: lang.pm:314 #, c-format msgid "Malawi" msgstr "" -#: lang.pm:314 +#: lang.pm:315 #, c-format msgid "Mexico" msgstr "" -#: lang.pm:315 +#: lang.pm:316 #, c-format msgid "Malaysia" msgstr "" -#: lang.pm:316 +#: lang.pm:317 #, c-format msgid "Mozambique" msgstr "" -#: lang.pm:317 +#: lang.pm:318 #, c-format msgid "Namibia" msgstr "" -#: lang.pm:318 +#: lang.pm:319 #, c-format msgid "New Caledonia" msgstr "" -#: lang.pm:319 +#: lang.pm:320 #, c-format msgid "Niger" msgstr "" -#: lang.pm:320 +#: lang.pm:321 #, c-format msgid "Norfolk Island" msgstr "" -#: lang.pm:321 +#: lang.pm:322 #, c-format msgid "Nigeria" msgstr "" -#: lang.pm:322 +#: lang.pm:323 #, c-format msgid "Nicaragua" msgstr "" -#: lang.pm:325 +#: lang.pm:326 #, c-format msgid "Nepal" msgstr "" -#: lang.pm:326 +#: lang.pm:327 #, c-format msgid "Nauru" msgstr "" -#: lang.pm:327 +#: lang.pm:328 #, c-format msgid "Niue" msgstr "" -#: lang.pm:328 +#: lang.pm:329 #, c-format msgid "New Zealand" msgstr "" -#: lang.pm:329 +#: lang.pm:330 #, c-format msgid "Oman" msgstr "" -#: lang.pm:330 +#: lang.pm:331 #, c-format msgid "Panama" msgstr "" -#: lang.pm:331 +#: lang.pm:332 #, c-format msgid "Peru" msgstr "" -#: lang.pm:332 +#: lang.pm:333 #, c-format msgid "French Polynesia" msgstr "" -#: lang.pm:333 +#: lang.pm:334 #, c-format msgid "Papua New Guinea" msgstr "" -#: lang.pm:334 +#: lang.pm:335 #, c-format msgid "Philippines" msgstr "" -#: lang.pm:335 +#: lang.pm:336 #, c-format msgid "Pakistan" msgstr "" -#: lang.pm:336 network/adsl_consts.pm:186 +#: lang.pm:337 network/adsl_consts.pm:186 #, c-format msgid "Poland" msgstr "" -#: lang.pm:337 +#: lang.pm:338 #, c-format msgid "Saint Pierre and Miquelon" msgstr "" -#: lang.pm:338 +#: lang.pm:339 #, c-format msgid "Pitcairn" msgstr "" -#: lang.pm:339 +#: lang.pm:340 #, c-format msgid "Puerto Rico" msgstr "" -#: lang.pm:340 +#: lang.pm:341 #, c-format msgid "Palestine" msgstr "" -#: lang.pm:341 network/adsl_consts.pm:196 +#: lang.pm:342 network/adsl_consts.pm:196 #, c-format msgid "Portugal" msgstr "" -#: lang.pm:342 +#: lang.pm:343 #, c-format msgid "Paraguay" msgstr "" -#: lang.pm:343 +#: lang.pm:344 #, c-format msgid "Palau" msgstr "" -#: lang.pm:344 +#: lang.pm:345 #, c-format msgid "Qatar" msgstr "" -#: lang.pm:345 +#: lang.pm:346 #, c-format msgid "Reunion" msgstr "" -#: lang.pm:346 +#: lang.pm:347 #, c-format msgid "Romania" msgstr "" -#: lang.pm:347 +#: lang.pm:348 #, c-format msgid "Russia" msgstr "" -#: lang.pm:348 +#: lang.pm:349 #, c-format msgid "Rwanda" msgstr "" -#: lang.pm:349 +#: lang.pm:350 #, c-format msgid "Saudi Arabia" msgstr "" -#: lang.pm:350 +#: lang.pm:351 #, c-format msgid "Solomon Islands" msgstr "" -#: lang.pm:351 +#: lang.pm:352 #, c-format msgid "Seychelles" msgstr "" -#: lang.pm:352 +#: lang.pm:353 #, c-format msgid "Sudan" msgstr "" -#: lang.pm:354 +#: lang.pm:355 #, c-format msgid "Singapore" msgstr "" -#: lang.pm:355 +#: lang.pm:356 #, c-format msgid "Saint Helena" msgstr "" -#: lang.pm:356 +#: lang.pm:357 #, c-format msgid "Slovenia" msgstr "" -#: lang.pm:357 +#: lang.pm:358 #, c-format msgid "Svalbard and Jan Mayen Islands" msgstr "" -#: lang.pm:358 +#: lang.pm:359 #, c-format msgid "Slovakia" msgstr "" -#: lang.pm:359 +#: lang.pm:360 #, c-format msgid "Sierra Leone" msgstr "" -#: lang.pm:360 +#: lang.pm:361 #, c-format msgid "San Marino" msgstr "" -#: lang.pm:361 +#: lang.pm:362 #, c-format msgid "Senegal" msgstr "" -#: lang.pm:362 +#: lang.pm:363 #, c-format msgid "Somalia" msgstr "" -#: lang.pm:363 +#: lang.pm:364 #, c-format msgid "Suriname" msgstr "" -#: lang.pm:364 +#: lang.pm:365 #, c-format msgid "Sao Tome and Principe" msgstr "" -#: lang.pm:365 +#: lang.pm:366 #, c-format msgid "El Salvador" msgstr "" -#: lang.pm:366 +#: lang.pm:367 #, c-format msgid "Syria" msgstr "" -#: lang.pm:367 +#: lang.pm:368 #, c-format msgid "Swaziland" msgstr "" -#: lang.pm:368 +#: lang.pm:369 #, c-format msgid "Turks and Caicos Islands" msgstr "" -#: lang.pm:369 +#: lang.pm:370 #, c-format msgid "Chad" msgstr "" -#: lang.pm:370 +#: lang.pm:371 #, c-format msgid "French Southern Territories" msgstr "" -#: lang.pm:371 +#: lang.pm:372 #, c-format msgid "Togo" msgstr "" -#: lang.pm:372 +#: lang.pm:373 #, c-format msgid "Thailand" msgstr "" -#: lang.pm:373 +#: lang.pm:374 #, c-format msgid "Tajikistan" msgstr "" -#: lang.pm:374 +#: lang.pm:375 #, c-format msgid "Tokelau" msgstr "" -#: lang.pm:375 +#: lang.pm:376 #, c-format msgid "East Timor" msgstr "" -#: lang.pm:376 +#: lang.pm:377 #, c-format msgid "Turkmenistan" msgstr "" -#: lang.pm:377 +#: lang.pm:378 #, c-format msgid "Tunisia" msgstr "" -#: lang.pm:378 +#: lang.pm:379 #, c-format msgid "Tonga" msgstr "" -#: lang.pm:379 +#: lang.pm:380 #, c-format msgid "Turkey" msgstr "" -#: lang.pm:380 +#: lang.pm:381 #, c-format msgid "Trinidad and Tobago" msgstr "" -#: lang.pm:381 +#: lang.pm:382 #, c-format msgid "Tuvalu" msgstr "" -#: lang.pm:382 +#: lang.pm:383 #, c-format msgid "Taiwan" msgstr "" -#: lang.pm:383 +#: lang.pm:384 #, c-format msgid "Tanzania" msgstr "" -#: lang.pm:384 +#: lang.pm:385 #, c-format msgid "Ukraine" msgstr "" -#: lang.pm:385 +#: lang.pm:386 #, c-format msgid "Uganda" msgstr "" -#: lang.pm:386 +#: lang.pm:387 #, c-format msgid "United States Minor Outlying Islands" msgstr "" -#: lang.pm:388 +#: lang.pm:389 #, c-format msgid "Uruguay" msgstr "" -#: lang.pm:389 +#: lang.pm:390 #, c-format msgid "Uzbekistan" msgstr "" -#: lang.pm:390 +#: lang.pm:391 #, c-format msgid "Vatican" msgstr "" -#: lang.pm:391 +#: lang.pm:392 #, c-format msgid "Saint Vincent and the Grenadines" msgstr "" -#: lang.pm:392 +#: lang.pm:393 #, c-format msgid "Venezuela" msgstr "" -#: lang.pm:393 +#: lang.pm:394 #, c-format msgid "Virgin Islands (British)" msgstr "" -#: lang.pm:394 +#: lang.pm:395 #, c-format msgid "Virgin Islands (U.S.)" msgstr "" -#: lang.pm:395 +#: lang.pm:396 #, c-format msgid "Vietnam" msgstr "" -#: lang.pm:396 +#: lang.pm:397 #, c-format msgid "Vanuatu" msgstr "" -#: lang.pm:397 +#: lang.pm:398 #, c-format msgid "Wallis and Futuna" msgstr "" -#: lang.pm:398 +#: lang.pm:399 #, c-format msgid "Samoa" msgstr "" -#: lang.pm:399 +#: lang.pm:400 #, c-format msgid "Yemen" msgstr "" -#: lang.pm:400 +#: lang.pm:401 #, c-format msgid "Mayotte" msgstr "" -#: lang.pm:401 +#: lang.pm:402 #, c-format msgid "Serbia & Montenegro" msgstr "" -#: lang.pm:402 standalone/drakxtv:47 +#: lang.pm:403 standalone/drakxtv:47 #, c-format msgid "South Africa" msgstr "" -#: lang.pm:403 +#: lang.pm:404 #, c-format msgid "Zambia" msgstr "" -#: lang.pm:404 +#: lang.pm:405 #, c-format msgid "Zimbabwe" msgstr "" -#: lang.pm:985 +#: lang.pm:991 #, c-format msgid "Welcome to %s" msgstr "" @@ -7310,7 +7455,7 @@ msgid "" "" msgstr "" -#: modules/interactive.pm:21 standalone/drakconnect:969 +#: modules/interactive.pm:21 standalone/drakconnect:981 #, c-format msgid "Parameters" msgstr "" @@ -7465,7 +7610,7 @@ msgstr "" msgid "GlidePoint" msgstr "" -#: mouse.pm:36 network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 network/modem.pm:58 network/modem.pm:72 network/modem.pm:77 network/modem.pm:108 network/netconnect.pm:587 network/netconnect.pm:592 network/netconnect.pm:604 network/netconnect.pm:609 network/netconnect.pm:625 network/netconnect.pm:627 +#: mouse.pm:36 network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 network/modem.pm:58 network/modem.pm:72 network/modem.pm:77 network/modem.pm:108 network/netconnect.pm:586 network/netconnect.pm:591 network/netconnect.pm:603 network/netconnect.pm:608 network/netconnect.pm:624 network/netconnect.pm:626 #, c-format msgid "Automatic" msgstr "" @@ -7620,17 +7765,17 @@ msgstr "" msgid "No mouse" msgstr "" -#: mouse.pm:515 +#: mouse.pm:514 #, c-format msgid "Please test the mouse" msgstr "" -#: mouse.pm:517 +#: mouse.pm:516 #, c-format msgid "To activate the mouse," msgstr "" -#: mouse.pm:518 +#: mouse.pm:517 #, c-format msgid "MOVE YOUR WHEEL!" msgstr "" @@ -7670,12 +7815,12 @@ msgstr "" msgid "Sagem (using dhcp) usb" msgstr "" -#: network/adsl.pm:35 network/netconnect.pm:769 +#: network/adsl.pm:35 network/netconnect.pm:761 #, c-format msgid "Connect to the Internet" msgstr "" -#: network/adsl.pm:36 network/netconnect.pm:770 +#: network/adsl.pm:36 network/netconnect.pm:762 #, c-format msgid "" "The most common way to connect with adsl is pppoe.\n" @@ -7683,7 +7828,7 @@ msgid "" "If you don't know, choose 'use pppoe'" msgstr "" -#: network/adsl.pm:41 network/netconnect.pm:774 +#: network/adsl.pm:41 network/netconnect.pm:766 #, c-format msgid "ADSL connection type :" msgstr "" @@ -7738,12 +7883,12 @@ msgstr "" msgid "Echo request (ping)" msgstr "" -#: network/drakfirewall.pm:125 +#: network/drakfirewall.pm:131 #, c-format msgid "No network card" msgstr "" -#: network/drakfirewall.pm:146 +#: network/drakfirewall.pm:152 #, c-format msgid "" "drakfirewall configurator\n" @@ -7753,7 +7898,7 @@ msgid "" "specialized MandrakeSecurity Firewall distribution." msgstr "" -#: network/drakfirewall.pm:152 +#: network/drakfirewall.pm:158 #, c-format msgid "" "drakfirewall configurator\n" @@ -7762,12 +7907,12 @@ msgid "" "drakconnect before going any further." msgstr "" -#: network/drakfirewall.pm:169 +#: network/drakfirewall.pm:175 #, c-format msgid "Which services would you like to allow the Internet to connect to?" msgstr "" -#: network/drakfirewall.pm:170 +#: network/drakfirewall.pm:176 #, c-format msgid "" "You can enter miscellaneous ports. \n" @@ -7775,7 +7920,7 @@ msgid "" "Have a look at /etc/services for information." msgstr "" -#: network/drakfirewall.pm:176 +#: network/drakfirewall.pm:182 #, c-format msgid "" "Invalid port given: %s.\n" @@ -7785,47 +7930,47 @@ msgid "" "You can also give a range of ports (eg: 24300:24350/udp)" msgstr "" -#: network/drakfirewall.pm:186 +#: network/drakfirewall.pm:192 #, c-format msgid "Everything (no firewall)" msgstr "" -#: network/drakfirewall.pm:188 +#: network/drakfirewall.pm:194 #, c-format msgid "Other ports" msgstr "" -#: network/isdn.pm:115 network/netconnect.pm:437 +#: network/isdn.pm:109 network/netconnect.pm:436 #, c-format msgid "Unlisted - edit manually" msgstr "" -#: network/isdn.pm:157 network/netconnect.pm:389 +#: network/isdn.pm:151 network/netconnect.pm:385 #, c-format msgid "ISA / PCMCIA" msgstr "" -#: network/isdn.pm:157 network/netconnect.pm:389 +#: network/isdn.pm:151 network/netconnect.pm:385 #, c-format msgid "I don't know" msgstr "" -#: network/isdn.pm:158 network/netconnect.pm:389 +#: network/isdn.pm:152 network/netconnect.pm:385 #, c-format msgid "PCI" msgstr "" -#: network/isdn.pm:159 network/netconnect.pm:389 +#: network/isdn.pm:153 network/netconnect.pm:385 #, c-format msgid "USB" msgstr "" -#: network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 network/netconnect.pm:592 network/netconnect.pm:609 network/netconnect.pm:625 +#: network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 network/netconnect.pm:591 network/netconnect.pm:608 network/netconnect.pm:624 #, c-format msgid "Manual" msgstr "" -#: network/netconnect.pm:88 network/netconnect.pm:466 network/netconnect.pm:476 network/netconnect.pm:837 network/netconnect.pm:842 +#: network/netconnect.pm:88 network/netconnect.pm:465 network/netconnect.pm:475 network/netconnect.pm:829 network/netconnect.pm:834 #, c-format msgid "Manual choice" msgstr "" @@ -7885,12 +8030,12 @@ msgstr "" msgid "Protocol for the rest of the world" msgstr "" -#: network/netconnect.pm:113 standalone/drakconnect:528 +#: network/netconnect.pm:113 standalone/drakconnect:540 #, c-format msgid "European protocol (EDSS1)" msgstr "" -#: network/netconnect.pm:114 standalone/drakconnect:529 +#: network/netconnect.pm:114 standalone/drakconnect:541 #, c-format msgid "" "Protocol for the rest of the world\n" @@ -7972,27 +8117,27 @@ msgstr "" msgid "PPPOA VC" msgstr "" -#: network/netconnect.pm:170 standalone/drakconnect:466 +#: network/netconnect.pm:170 standalone/drakconnect:476 #, c-format msgid "Script-based" msgstr "" -#: network/netconnect.pm:171 standalone/drakconnect:466 +#: network/netconnect.pm:171 standalone/drakconnect:476 #, c-format msgid "PAP" msgstr "" -#: network/netconnect.pm:172 standalone/drakconnect:466 +#: network/netconnect.pm:172 standalone/drakconnect:476 #, c-format msgid "Terminal-based" msgstr "" -#: network/netconnect.pm:173 standalone/drakconnect:466 +#: network/netconnect.pm:173 standalone/drakconnect:476 #, c-format msgid "CHAP" msgstr "" -#: network/netconnect.pm:174 standalone/drakconnect:466 +#: network/netconnect.pm:174 standalone/drakconnect:476 #, c-format msgid "PAP/CHAP" msgstr "" @@ -8062,32 +8207,32 @@ msgid "" "Press \"%s\" to continue." msgstr "" -#: network/netconnect.pm:278 network/netconnect.pm:796 +#: network/netconnect.pm:278 network/netconnect.pm:788 #, c-format msgid "Connection Configuration" msgstr "" -#: network/netconnect.pm:279 network/netconnect.pm:797 +#: network/netconnect.pm:279 network/netconnect.pm:789 #, c-format msgid "Please fill or check the field below" msgstr "" -#: network/netconnect.pm:286 standalone/drakconnect:519 +#: network/netconnect.pm:286 standalone/drakconnect:531 #, c-format msgid "Card IRQ" msgstr "" -#: network/netconnect.pm:287 standalone/drakconnect:520 +#: network/netconnect.pm:287 standalone/drakconnect:532 #, c-format msgid "Card mem (DMA)" msgstr "" -#: network/netconnect.pm:288 standalone/drakconnect:521 +#: network/netconnect.pm:288 standalone/drakconnect:533 #, c-format msgid "Card IO" msgstr "" -#: network/netconnect.pm:289 standalone/drakconnect:522 +#: network/netconnect.pm:289 standalone/drakconnect:534 #, c-format msgid "Card IO_0" msgstr "" @@ -8102,12 +8247,12 @@ msgstr "" msgid "Your personal phone number" msgstr "" -#: network/netconnect.pm:292 network/netconnect.pm:800 +#: network/netconnect.pm:292 network/netconnect.pm:792 #, c-format msgid "Provider name (ex provider.net)" msgstr "" -#: network/netconnect.pm:293 standalone/drakconnect:463 +#: network/netconnect.pm:293 standalone/drakconnect:472 #, c-format msgid "Provider phone number" msgstr "" @@ -8122,67 +8267,62 @@ msgstr "" msgid "Provider DNS 2 (optional)" msgstr "" -#: network/netconnect.pm:296 standalone/drakconnect:419 +#: network/netconnect.pm:296 standalone/drakconnect:428 #, c-format msgid "Dialing mode" msgstr "" -#: network/netconnect.pm:297 standalone/drakconnect:424 standalone/drakconnect:484 +#: network/netconnect.pm:297 standalone/drakconnect:433 standalone/drakconnect:494 #, c-format msgid "Connection speed" msgstr "" -#: network/netconnect.pm:298 standalone/drakconnect:429 +#: network/netconnect.pm:298 standalone/drakconnect:438 #, c-format msgid "Connection timeout (in sec)" msgstr "" -#: network/netconnect.pm:301 network/netconnect.pm:803 standalone/drakconnect:461 +#: network/netconnect.pm:301 network/netconnect.pm:795 standalone/drakconnect:470 #, c-format msgid "Account Login (user name)" msgstr "" -#: network/netconnect.pm:302 network/netconnect.pm:804 standalone/drakconnect:462 +#: network/netconnect.pm:302 network/netconnect.pm:796 standalone/drakconnect:471 #, c-format msgid "Account Password" msgstr "" -#: network/netconnect.pm:332 network/netconnect.pm:650 network/netconnect.pm:835 +#: network/netconnect.pm:332 network/netconnect.pm:649 network/netconnect.pm:827 #, c-format msgid "Select the network interface to configure:" msgstr "" -#: network/netconnect.pm:334 network/netconnect.pm:379 network/netconnect.pm:651 network/netconnect.pm:837 network/shorewall.pm:84 standalone/drakconnect:643 standalone/drakgw:225 standalone/drakvpn:221 +#: network/netconnect.pm:334 network/netconnect.pm:375 network/netconnect.pm:650 network/netconnect.pm:829 network/shorewall.pm:84 standalone/drakconnect:655 standalone/drakgw:225 standalone/drakvpn:221 #, c-format msgid "Net Device" msgstr "" -#: network/netconnect.pm:335 network/netconnect.pm:347 +#: network/netconnect.pm:335 network/netconnect.pm:343 #, c-format msgid "External ISDN modem" msgstr "" -#: network/netconnect.pm:338 network/netconnect.pm:470 network/netconnect.pm:655 standalone/drakgw:113 standalone/drakvpn:51 -#, c-format -msgid "Sorry, we support only 2.4 and above kernels." -msgstr "" - -#: network/netconnect.pm:378 standalone/harddrake2:115 +#: network/netconnect.pm:374 standalone/harddrake2:115 #, c-format msgid "Select a device !" msgstr "" -#: network/netconnect.pm:387 network/netconnect.pm:397 network/netconnect.pm:407 network/netconnect.pm:423 network/netconnect.pm:434 +#: network/netconnect.pm:383 network/netconnect.pm:393 network/netconnect.pm:403 network/netconnect.pm:419 network/netconnect.pm:433 #, c-format msgid "ISDN Configuration" msgstr "" -#: network/netconnect.pm:388 +#: network/netconnect.pm:384 #, c-format msgid "What kind of card do you have?" msgstr "" -#: network/netconnect.pm:398 +#: network/netconnect.pm:394 #, c-format msgid "" "\n" @@ -8192,156 +8332,161 @@ msgid "" "" msgstr "" -#: network/netconnect.pm:402 +#: network/netconnect.pm:398 #, c-format msgid "Continue" msgstr "" -#: network/netconnect.pm:402 +#: network/netconnect.pm:398 #, c-format msgid "Abort" msgstr "" -#: network/netconnect.pm:408 +#: network/netconnect.pm:404 #, c-format msgid "Which of the following is your ISDN card?" msgstr "" -#: network/netconnect.pm:423 +#: network/netconnect.pm:419 #, c-format msgid "Which protocol do you want to use?" msgstr "" -#: network/netconnect.pm:425 standalone/drakconnect:116 standalone/drakconnect:527 standalone/drakvpn:1142 +#: network/netconnect.pm:421 standalone/drakconnect:116 standalone/drakconnect:317 standalone/drakconnect:539 standalone/drakvpn:1142 #, c-format msgid "Protocol" msgstr "" -#: network/netconnect.pm:434 +#: network/netconnect.pm:433 #, c-format msgid "" "Select your provider.\n" "If it isn't listed, choose Unlisted." msgstr "" -#: network/netconnect.pm:436 network/netconnect.pm:542 network/netconnect.pm:690 +#: network/netconnect.pm:435 network/netconnect.pm:541 network/netconnect.pm:683 #, c-format msgid "Provider:" msgstr "" -#: network/netconnect.pm:451 +#: network/netconnect.pm:450 #, c-format msgid "" "Your modem isn't supported by the system.\n" "Take a look at http://www.linmodems.org" msgstr "" -#: network/netconnect.pm:463 +#: network/netconnect.pm:462 #, c-format msgid "Select the modem to configure:" msgstr "" -#: network/netconnect.pm:511 +#: network/netconnect.pm:469 standalone/drakgw:113 standalone/drakvpn:51 +#, c-format +msgid "Sorry, we support only 2.4 and above kernels." +msgstr "" + +#: network/netconnect.pm:510 #, c-format msgid "Please choose which serial port your modem is connected to." msgstr "" -#: network/netconnect.pm:540 +#: network/netconnect.pm:539 #, c-format msgid "Select your provider:" msgstr "" -#: network/netconnect.pm:569 +#: network/netconnect.pm:568 #, c-format msgid "Dialup: account options" msgstr "" -#: network/netconnect.pm:572 +#: network/netconnect.pm:571 #, c-format msgid "Connection name" msgstr "" -#: network/netconnect.pm:573 +#: network/netconnect.pm:572 #, c-format msgid "Phone number" msgstr "" -#: network/netconnect.pm:574 +#: network/netconnect.pm:573 #, c-format msgid "Login ID" msgstr "" -#: network/netconnect.pm:589 network/netconnect.pm:622 +#: network/netconnect.pm:588 network/netconnect.pm:621 #, c-format msgid "Dialup: IP parameters" msgstr "" -#: network/netconnect.pm:592 +#: network/netconnect.pm:591 #, c-format msgid "IP parameters" msgstr "" -#: network/netconnect.pm:593 network/netconnect.pm:927 printer/printerdrake.pm:431 standalone/drakconnect:116 standalone/drakconnect:325 standalone/drakconnect:816 standalone/drakups:266 +#: network/netconnect.pm:592 network/netconnect.pm:919 printer/printerdrake.pm:431 standalone/drakconnect:116 standalone/drakconnect:331 standalone/drakconnect:828 standalone/drakups:266 #, c-format msgid "IP address" msgstr "" -#: network/netconnect.pm:594 +#: network/netconnect.pm:593 #, c-format msgid "Subnet mask" msgstr "" -#: network/netconnect.pm:606 +#: network/netconnect.pm:605 #, c-format msgid "Dialup: DNS parameters" msgstr "" -#: network/netconnect.pm:609 +#: network/netconnect.pm:608 #, c-format msgid "DNS" msgstr "" -#: network/netconnect.pm:610 +#: network/netconnect.pm:609 #, c-format msgid "Domain name" msgstr "" -#: network/netconnect.pm:611 network/netconnect.pm:801 standalone/drakconnect:934 +#: network/netconnect.pm:610 network/netconnect.pm:793 standalone/drakconnect:946 #, c-format msgid "First DNS Server (optional)" msgstr "" -#: network/netconnect.pm:612 network/netconnect.pm:802 standalone/drakconnect:935 +#: network/netconnect.pm:611 network/netconnect.pm:794 standalone/drakconnect:947 #, c-format msgid "Second DNS Server (optional)" msgstr "" -#: network/netconnect.pm:613 +#: network/netconnect.pm:612 #, c-format msgid "Set hostname from IP" msgstr "" -#: network/netconnect.pm:625 standalone/drakconnect:336 +#: network/netconnect.pm:624 standalone/drakconnect:342 #, c-format msgid "Gateway" msgstr "" -#: network/netconnect.pm:626 +#: network/netconnect.pm:625 #, c-format msgid "Gateway IP address" msgstr "" -#: network/netconnect.pm:650 +#: network/netconnect.pm:649 #, c-format msgid "ADSL configuration" msgstr "" -#: network/netconnect.pm:688 +#: network/netconnect.pm:681 #, c-format msgid "Please choose your ADSL provider" msgstr "" -#: network/netconnect.pm:706 +#: network/netconnect.pm:699 #, c-format msgid "" "You need the Alcatel microcode.\n" @@ -8349,32 +8494,32 @@ msgid "" "or skip and do it later." msgstr "" -#: network/netconnect.pm:710 network/netconnect.pm:715 +#: network/netconnect.pm:703 network/netconnect.pm:708 #, c-format msgid "Use a floppy" msgstr "" -#: network/netconnect.pm:710 network/netconnect.pm:719 +#: network/netconnect.pm:703 network/netconnect.pm:712 #, c-format msgid "Use my Windows partition" msgstr "" -#: network/netconnect.pm:710 network/netconnect.pm:723 +#: network/netconnect.pm:703 network/netconnect.pm:715 #, c-format msgid "Do it later" msgstr "" -#: network/netconnect.pm:730 +#: network/netconnect.pm:722 #, c-format msgid "Firmware copy failed, file %s not found" msgstr "" -#: network/netconnect.pm:737 +#: network/netconnect.pm:729 #, c-format msgid "Firmware copy succeeded" msgstr "" -#: network/netconnect.pm:752 +#: network/netconnect.pm:744 #, c-format msgid "" "You need the Alcatel microcode.\n" @@ -8383,22 +8528,22 @@ msgid "" "and copy the mgmt.o in /usr/share/speedtouch" msgstr "" -#: network/netconnect.pm:805 +#: network/netconnect.pm:797 #, c-format msgid "Virtual Path ID (VPI):" msgstr "" -#: network/netconnect.pm:806 +#: network/netconnect.pm:798 #, c-format msgid "Virtual Circuit ID (VCI):" msgstr "" -#: network/netconnect.pm:808 +#: network/netconnect.pm:800 #, c-format msgid "Encapsulation :" msgstr "" -#: network/netconnect.pm:825 +#: network/netconnect.pm:817 #, c-format msgid "" "The ECI Hi-Focus modem cannot be supported due to binary driver distribution problem.\n" @@ -8406,7 +8551,7 @@ msgid "" "You can find a driver on http://eciadsl.flashtux.org/" msgstr "" -#: network/netconnect.pm:852 +#: network/netconnect.pm:844 #, c-format msgid "" "WARNING: this device has been previously configured to connect to the Internet.\n" @@ -8414,7 +8559,7 @@ msgid "" "Modifying the fields below will override this configuration." msgstr "" -#: network/netconnect.pm:865 network/netconnect.pm:1231 +#: network/netconnect.pm:857 network/netconnect.pm:1223 #, c-format msgid "" "Congratulations, the network and Internet configuration is finished.\n" @@ -8422,22 +8567,22 @@ msgid "" "" msgstr "" -#: network/netconnect.pm:879 +#: network/netconnect.pm:871 #, c-format msgid "Zeroconf hostname resolution" msgstr "" -#: network/netconnect.pm:880 network/netconnect.pm:914 +#: network/netconnect.pm:872 network/netconnect.pm:906 #, c-format msgid "Configuring network device %s (driver %s)" msgstr "" -#: network/netconnect.pm:881 +#: network/netconnect.pm:873 #, c-format msgid "The following protocols can be used to configure an ethernet connection. Please choose the one you want to use" msgstr "" -#: network/netconnect.pm:915 +#: network/netconnect.pm:907 #, c-format msgid "" "Please enter the IP configuration for this machine.\n" @@ -8445,102 +8590,102 @@ msgid "" "notation (for example, 1.2.3.4)." msgstr "" -#: network/netconnect.pm:922 +#: network/netconnect.pm:914 #, c-format msgid "Assign host name from DHCP address" msgstr "" -#: network/netconnect.pm:923 +#: network/netconnect.pm:915 #, c-format msgid "DHCP host name" msgstr "" -#: network/netconnect.pm:928 standalone/drakconnect:330 standalone/drakconnect:817 standalone/drakgw:321 +#: network/netconnect.pm:920 standalone/drakconnect:336 standalone/drakconnect:829 standalone/drakgw:321 #, c-format msgid "Netmask" msgstr "" -#: network/netconnect.pm:930 standalone/drakconnect:412 +#: network/netconnect.pm:922 standalone/drakconnect:421 #, c-format msgid "Track network card id (useful for laptops)" msgstr "" -#: network/netconnect.pm:931 standalone/drakconnect:413 +#: network/netconnect.pm:923 standalone/drakconnect:422 #, c-format msgid "Network Hotplugging" msgstr "" -#: network/netconnect.pm:932 standalone/drakconnect:407 +#: network/netconnect.pm:924 standalone/drakconnect:416 #, c-format msgid "Start at boot" msgstr "" -#: network/netconnect.pm:934 standalone/drakconnect:820 +#: network/netconnect.pm:926 standalone/drakconnect:832 #, c-format msgid "DHCP client" msgstr "" -#: network/netconnect.pm:944 printer/printerdrake.pm:1383 standalone/drakconnect:608 +#: network/netconnect.pm:936 printer/printerdrake.pm:1383 standalone/drakconnect:620 #, c-format msgid "IP address should be in format 1.2.3.4" msgstr "" -#: network/netconnect.pm:947 +#: network/netconnect.pm:939 #, c-format msgid "Warning : IP address %s is usually reserved !" msgstr "" -#: network/netconnect.pm:977 network/netconnect.pm:1006 +#: network/netconnect.pm:969 network/netconnect.pm:998 #, c-format msgid "Please enter the wireless parameters for this card:" msgstr "" -#: network/netconnect.pm:980 standalone/drakconnect:378 +#: network/netconnect.pm:972 standalone/drakconnect:388 #, c-format msgid "Operating Mode" msgstr "" -#: network/netconnect.pm:982 standalone/drakconnect:379 +#: network/netconnect.pm:974 standalone/drakconnect:389 #, c-format msgid "Network name (ESSID)" msgstr "" -#: network/netconnect.pm:983 standalone/drakconnect:380 +#: network/netconnect.pm:975 standalone/drakconnect:390 #, c-format msgid "Network ID" msgstr "" -#: network/netconnect.pm:984 standalone/drakconnect:381 +#: network/netconnect.pm:976 standalone/drakconnect:391 #, c-format msgid "Operating frequency" msgstr "" -#: network/netconnect.pm:985 standalone/drakconnect:382 +#: network/netconnect.pm:977 standalone/drakconnect:392 #, c-format msgid "Sensitivity threshold" msgstr "" -#: network/netconnect.pm:986 standalone/drakconnect:383 +#: network/netconnect.pm:978 standalone/drakconnect:393 #, c-format msgid "Bitrate (in b/s)" msgstr "" -#: network/netconnect.pm:992 +#: network/netconnect.pm:984 #, c-format msgid "Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz frequency), or add enough '0' (zeroes)." msgstr "" -#: network/netconnect.pm:996 +#: network/netconnect.pm:988 #, c-format msgid "Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add enough '0' (zeroes)." msgstr "" -#: network/netconnect.pm:1009 standalone/drakconnect:394 +#: network/netconnect.pm:1001 standalone/drakconnect:404 #, c-format msgid "RTS/CTS" msgstr "" -#: network/netconnect.pm:1010 +#: network/netconnect.pm:1002 #, c-format msgid "" "RTS/CTS adds a handshake before each packet transmission to make sure that the\n" @@ -8551,17 +8696,17 @@ msgid "" "or off." msgstr "" -#: network/netconnect.pm:1017 standalone/drakconnect:395 +#: network/netconnect.pm:1009 standalone/drakconnect:405 #, c-format msgid "Fragmentation" msgstr "" -#: network/netconnect.pm:1018 standalone/drakconnect:396 +#: network/netconnect.pm:1010 standalone/drakconnect:406 #, c-format msgid "Iwconfig command extra arguments" msgstr "" -#: network/netconnect.pm:1019 +#: network/netconnect.pm:1011 #, c-format msgid "" "Here, one can configure some extra wireless parameters such as:\n" @@ -8571,12 +8716,12 @@ msgid "" msgstr "" #. -PO: split the "xyz command extra argument" translated string into two lines if it's bigger than the english one -#: network/netconnect.pm:1026 standalone/drakconnect:397 +#: network/netconnect.pm:1018 standalone/drakconnect:407 #, c-format msgid "Iwspy command extra arguments" msgstr "" -#: network/netconnect.pm:1027 +#: network/netconnect.pm:1019 #, c-format msgid "" "Iwspy is used to set a list of addresses in a wireless network\n" @@ -8588,12 +8733,12 @@ msgid "" "See iwpspy(8) man page for further information." msgstr "" -#: network/netconnect.pm:1035 standalone/drakconnect:398 +#: network/netconnect.pm:1027 standalone/drakconnect:408 #, c-format msgid "Iwpriv command extra arguments" msgstr "" -#: network/netconnect.pm:1036 +#: network/netconnect.pm:1028 #, c-format msgid "" "Iwpriv enable to set up optionals (private) parameters of a wireless network\n" @@ -8608,24 +8753,24 @@ msgid "" "See iwpriv(8) man page for further information." msgstr "" -#: network/netconnect.pm:1063 +#: network/netconnect.pm:1055 #, c-format msgid "" "No ethernet network adapter has been detected on your system.\n" "I cannot set up this connection type." msgstr "" -#: network/netconnect.pm:1067 standalone/drakgw:261 standalone/drakpxe:142 +#: network/netconnect.pm:1059 standalone/drakgw:261 standalone/drakpxe:142 #, c-format msgid "Choose the network interface" msgstr "" -#: network/netconnect.pm:1068 +#: network/netconnect.pm:1060 #, c-format msgid "Please choose which network adapter you want to use to connect to Internet." msgstr "" -#: network/netconnect.pm:1089 +#: network/netconnect.pm:1081 #, c-format msgid "" "Please enter your host name.\n" @@ -8634,82 +8779,82 @@ msgid "" "You may also enter the IP address of the gateway if you have one." msgstr "" -#: network/netconnect.pm:1093 +#: network/netconnect.pm:1085 #, c-format msgid "Last but not least you can also type in your DNS server IP addresses." msgstr "" -#: network/netconnect.pm:1095 standalone/drakconnect:933 +#: network/netconnect.pm:1087 standalone/drakconnect:945 #, c-format msgid "Host name (optional)" msgstr "" -#: network/netconnect.pm:1095 +#: network/netconnect.pm:1087 #, c-format msgid "Host name" msgstr "" -#: network/netconnect.pm:1097 +#: network/netconnect.pm:1089 #, c-format msgid "DNS server 1" msgstr "" -#: network/netconnect.pm:1098 +#: network/netconnect.pm:1090 #, c-format msgid "DNS server 2" msgstr "" -#: network/netconnect.pm:1099 +#: network/netconnect.pm:1091 #, c-format msgid "DNS server 3" msgstr "" -#: network/netconnect.pm:1100 +#: network/netconnect.pm:1092 #, c-format msgid "Search domain" msgstr "" -#: network/netconnect.pm:1101 +#: network/netconnect.pm:1093 #, c-format msgid "By default search domain will be set from the fully-qualified host name" msgstr "" -#: network/netconnect.pm:1102 +#: network/netconnect.pm:1094 #, c-format msgid "Gateway (e.g. %s)" msgstr "" -#: network/netconnect.pm:1104 +#: network/netconnect.pm:1096 #, c-format msgid "Gateway device" msgstr "" -#: network/netconnect.pm:1113 +#: network/netconnect.pm:1105 #, c-format msgid "DNS server address should be in format 1.2.3.4" msgstr "" -#: network/netconnect.pm:1118 standalone/drakconnect:611 +#: network/netconnect.pm:1110 standalone/drakconnect:623 #, c-format msgid "Gateway address should be in format 1.2.3.4" msgstr "" -#: network/netconnect.pm:1129 +#: network/netconnect.pm:1121 #, c-format msgid "Enter a Zeroconf host name which will be the one that your machine will get back to other machines on the network:" msgstr "" -#: network/netconnect.pm:1130 +#: network/netconnect.pm:1122 #, c-format msgid "Zeroconf Host name" msgstr "" -#: network/netconnect.pm:1133 +#: network/netconnect.pm:1125 #, c-format msgid "Zeroconf host name must not contain a ." msgstr "" -#: network/netconnect.pm:1143 +#: network/netconnect.pm:1135 #, c-format msgid "" "You have configured multiple ways to connect to the Internet.\n" @@ -8718,32 +8863,32 @@ msgid "" "" msgstr "" -#: network/netconnect.pm:1145 +#: network/netconnect.pm:1137 #, c-format msgid "Internet connection" msgstr "" -#: network/netconnect.pm:1153 +#: network/netconnect.pm:1145 #, c-format msgid "Configuration is complete, do you want to apply settings ?" msgstr "" -#: network/netconnect.pm:1163 +#: network/netconnect.pm:1155 #, c-format msgid "Do you want to start the connection at boot?" msgstr "" -#: network/netconnect.pm:1175 +#: network/netconnect.pm:1167 #, c-format msgid "The network needs to be restarted. Do you want to restart it ?" msgstr "" -#: network/netconnect.pm:1182 network/netconnect.pm:1247 +#: network/netconnect.pm:1174 network/netconnect.pm:1239 #, c-format msgid "Network Configuration" msgstr "" -#: network/netconnect.pm:1183 +#: network/netconnect.pm:1175 #, c-format msgid "" "A problem occured while restarting the network: \n" @@ -8751,46 +8896,46 @@ msgid "" "%s" msgstr "" -#: network/netconnect.pm:1191 +#: network/netconnect.pm:1183 #, c-format msgid "Do you want to try to connect to the Internet now?" msgstr "" -#: network/netconnect.pm:1199 standalone/drakconnect:965 +#: network/netconnect.pm:1191 standalone/drakconnect:977 #, c-format msgid "Testing your connection..." msgstr "" -#: network/netconnect.pm:1215 +#: network/netconnect.pm:1207 #, c-format msgid "The system is now connected to the Internet." msgstr "" -#: network/netconnect.pm:1216 +#: network/netconnect.pm:1208 #, c-format msgid "For security reasons, it will be disconnected now." msgstr "" -#: network/netconnect.pm:1217 +#: network/netconnect.pm:1209 #, c-format msgid "" "The system doesn't seem to be connected to the Internet.\n" "Try to reconfigure your connection." msgstr "" -#: network/netconnect.pm:1234 +#: network/netconnect.pm:1226 #, c-format msgid "After this is done, we recommend that you restart your X environment to avoid any hostname-related problems." msgstr "" -#: network/netconnect.pm:1235 +#: network/netconnect.pm:1227 #, c-format msgid "" "Problems occured during configuration.\n" "Test your connection via net_monitor or mcc. If your connection doesn't work, you might want to relaunch the configuration." msgstr "" -#: network/netconnect.pm:1248 +#: network/netconnect.pm:1240 #, c-format msgid "" "Because you are doing a network installation, your network is already configured.\n" @@ -8798,7 +8943,7 @@ msgid "" "" msgstr "" -#: network/netconnect.pm:1336 +#: network/netconnect.pm:1328 #, c-format msgid "" "An unexpected error has happened:\n" @@ -8852,17 +8997,17 @@ msgid "" "" msgstr "" -#: network/tools.pm:205 +#: network/tools.pm:206 #, c-format msgid "Insert floppy" msgstr "" -#: network/tools.pm:206 +#: network/tools.pm:207 #, c-format msgid "Insert a FAT formatted floppy in drive %s with %s in root directory and press %s" msgstr "" -#: network/tools.pm:207 +#: network/tools.pm:208 #, c-format msgid "Floppy access error, unable to mount device %s" msgstr "" @@ -8907,27 +9052,27 @@ msgid "" "It means writing anything on the disk will end up with random, corrupted data." msgstr "" -#: pkgs.pm:24 +#: pkgs.pm:23 #, c-format msgid "must have" msgstr "" -#: pkgs.pm:25 +#: pkgs.pm:24 #, c-format msgid "important" msgstr "" -#: pkgs.pm:26 +#: pkgs.pm:25 #, c-format msgid "very nice" msgstr "" -#: pkgs.pm:27 +#: pkgs.pm:26 #, c-format msgid "nice" msgstr "" -#: pkgs.pm:28 +#: pkgs.pm:27 #, c-format msgid "maybe" msgstr "" @@ -8992,7 +9137,7 @@ msgstr "" msgid "CUPS - Common Unix Printing System" msgstr "" -#: printer/detect.pm:148 printer/detect.pm:226 printer/detect.pm:428 printer/detect.pm:465 printer/printerdrake.pm:686 +#: printer/detect.pm:149 printer/detect.pm:227 printer/detect.pm:429 printer/detect.pm:466 printer/printerdrake.pm:686 #, c-format msgid "Unknown Model" msgstr "" @@ -9269,7 +9414,7 @@ msgstr "" msgid "Custom configuration" msgstr "" -#: printer/printerdrake.pm:78 standalone/scannerdrake:561 standalone/scannerdrake:578 +#: printer/printerdrake.pm:78 standalone/scannerdrake:566 standalone/scannerdrake:583 #, c-format msgid "No remote machines" msgstr "" @@ -9924,7 +10069,7 @@ msgstr "" msgid "Remote printer name missing!" msgstr "" -#: printer/printerdrake.pm:1228 printer/printerdrake.pm:1799 standalone/drakTermServ:466 standalone/drakTermServ:764 standalone/drakTermServ:780 standalone/drakTermServ:1418 standalone/drakTermServ:1426 standalone/drakTermServ:1437 standalone/drakbackup:582 standalone/drakbackup:687 standalone/drakbackup:722 standalone/drakbackup:840 standalone/drakconnect:263 standalone/drakconnect:298 standalone/drakconnect:542 standalone/drakconnect:552 standalone/drakconnect:576 standalone/harddrake2:160 +#: printer/printerdrake.pm:1228 printer/printerdrake.pm:1799 standalone/drakTermServ:454 standalone/drakTermServ:752 standalone/drakTermServ:768 standalone/drakTermServ:1431 standalone/drakTermServ:1439 standalone/drakTermServ:1450 standalone/drakbackup:526 standalone/drakbackup:632 standalone/drakbackup:667 standalone/drakbackup:787 standalone/harddrake2:160 #, c-format msgid "Information" msgstr "" @@ -10226,7 +10371,7 @@ msgstr "" msgid "Name of printer" msgstr "" -#: printer/printerdrake.pm:2302 standalone/drakconnect:557 standalone/harddrake2:40 standalone/printerdrake:212 standalone/printerdrake:219 +#: printer/printerdrake.pm:2302 standalone/drakconnect:569 standalone/harddrake2:40 standalone/printerdrake:212 standalone/printerdrake:219 #, c-format msgid "Description" msgstr "" @@ -10616,7 +10761,7 @@ msgstr "" msgid "Printing on the printer \"%s\"" msgstr "" -#: printer/printerdrake.pm:3293 printer/printerdrake.pm:3296 printer/printerdrake.pm:3297 printer/printerdrake.pm:3298 printer/printerdrake.pm:4384 standalone/drakTermServ:325 standalone/drakbackup:4265 standalone/drakbug:177 standalone/drakfont:500 standalone/drakfont:591 standalone/net_monitor:106 standalone/printerdrake:508 +#: printer/printerdrake.pm:3293 printer/printerdrake.pm:3296 printer/printerdrake.pm:3297 printer/printerdrake.pm:3298 printer/printerdrake.pm:4384 standalone/drakTermServ:313 standalone/drakbackup:4088 standalone/drakbug:177 standalone/drakfont:500 standalone/drakfont:591 standalone/net_monitor:107 standalone/printerdrake:508 #, c-format msgid "Close" msgstr "" @@ -11080,12 +11225,12 @@ msgstr "" msgid "Could not set permissions of firmware file %s!" msgstr "" -#: scanner.pm:200 standalone/scannerdrake:65 standalone/scannerdrake:69 standalone/scannerdrake:77 standalone/scannerdrake:339 standalone/scannerdrake:414 standalone/scannerdrake:458 standalone/scannerdrake:462 standalone/scannerdrake:484 standalone/scannerdrake:549 +#: scanner.pm:200 standalone/scannerdrake:65 standalone/scannerdrake:69 standalone/scannerdrake:77 standalone/scannerdrake:344 standalone/scannerdrake:419 standalone/scannerdrake:463 standalone/scannerdrake:467 standalone/scannerdrake:489 standalone/scannerdrake:554 #, c-format msgid "Scannerdrake" msgstr "" -#: scanner.pm:201 standalone/scannerdrake:915 +#: scanner.pm:201 standalone/scannerdrake:920 #, c-format msgid "Could not install the packages needed to share your scanner(s)." msgstr "" @@ -12040,7 +12185,7 @@ msgid "" "about this service, sorry." msgstr "" -#: services.pm:226 ugtk2.pm:1167 +#: services.pm:226 ugtk2.pm:1176 #, c-format msgid "Info" msgstr "" @@ -12065,6 +12210,456 @@ msgstr "" msgid "Stop" msgstr "" +#: share/advertising/corpo-desk-01.pl:9 share/advertising/corpo-server-01.pl:9 +#, c-format +msgid "<b>Thank you for choosing Mandrakelinux!</b>" +msgstr "" + +#: share/advertising/corpo-desk-01.pl:11 +#, c-format +msgid "Mandrakesoft offers businesses a set of GNU Linux, Open-Source software and related services. It provides user-friendly and highly competitive technologies at a very attractive total cost of ownership." +msgstr "" + +#: share/advertising/corpo-desk-01.pl:12 +#, c-format +msgid "Whether you seek a product flexible enough to be adapted to your requirements or need high value added services, you'll find answers in our Business product line." +msgstr "" + +#: share/advertising/corpo-desk-01.pl:14 +#, c-format +msgid "For any questions, contact us at <b>sales@mandrakesoft.com</b>" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:9 +#, c-format +msgid "<b>Thank you for choosing the new Mandrakelinux Corporate Desktop!</b>" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:11 +#, c-format +msgid "Corporate Desktop is the new Mandrakelinux Desktop, specifically dedicated to the business world." +msgstr "" + +#: share/advertising/corpo-desk-02.pl:13 share/advertising/corpo-server-03.pl:12 +#, c-format +msgid "All the strengths of Mandrakelinux ... " +msgstr "" + +#: share/advertising/corpo-desk-02.pl:14 share/advertising/corpo-server-03.pl:14 +#, c-format +msgid "- Mandrakelinux Desktop is the most user-friendly and easy-to-use Linux Desktop" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:15 share/advertising/corpo-server-03.pl:15 +#, c-format +msgid "- The only Linux Desktop with a task-oriented menu, with a single application per task" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:16 share/advertising/corpo-server-03.pl:16 +#, c-format +msgid "- Discover the best Open Source applications: OpenOffice to create, edit and manage documents, Mozilla to surf the Internet, Evolution to send and receive e-mails, GnomeMeeting to organize video-conferences and much more!" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:18 share/advertising/corpo-server-03.pl:18 +#, c-format +msgid "... adapted to Businesses" +msgstr "" + +#: share/advertising/corpo-desk-02.pl:19 share/advertising/corpo-server-03.pl:20 +#, c-format +msgid "Find out quickly on our website <b>www.mandrakesoft.com</b> our partnerships!" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:9 +#, c-format +msgid "<b>Corporate Server</b>" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:11 share/advertising/corpo-server-02.pl:11 +#, c-format +msgid "Based on the new Linux kernel 2.6, Corporate Server is definitely the complete server solution for businesses." +msgstr "" + +#: share/advertising/corpo-desk-03.pl:12 share/advertising/corpo-server-02.pl:12 +#, c-format +msgid "It brings you better performance through the new Apache 2, Samba 3, NPTL and much more!!!" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:13 +#, c-format +msgid "Just point and click server(s) that you need: " +msgstr "" + +#: share/advertising/corpo-desk-03.pl:14 share/advertising/corpo-server-02.pl:14 +#, c-format +msgid "- Directory\t\t\t\t- DHCP\t\t\t- Printing System \t\t- Web" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:15 share/advertising/corpo-server-02.pl:15 +#, c-format +msgid "- Backup\t\t\t\t- Instant Messaging\t- NIS\t\t\t\t\t- etc" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:16 share/advertising/corpo-server-02.pl:16 +#, c-format +msgid "- Authentication\t\t\t- Name server\t\t- File and Device Sharing" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:17 share/advertising/corpo-server-02.pl:17 +#, c-format +msgid "- Database\t\t\t\t- Fax\t\t\t\t- Proxy" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:18 share/advertising/corpo-server-02.pl:18 +#, c-format +msgid "- Secure Remote Access\t- File Transfer\t\t- Router" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:19 share/advertising/corpo-server-02.pl:19 +#, c-format +msgid "- Mail\t\t\t\t- High Availability\t- Groupware" +msgstr "" + +#: share/advertising/corpo-desk-03.pl:21 share/advertising/corpo-server-02.pl:21 +#, c-format +msgid "Thanks to exclusive Mandrakelinux configuration assistants," +msgstr "" + +#: share/advertising/corpo-desk-03.pl:22 share/advertising/corpo-server-02.pl:22 +#, c-format +msgid "deploying servers has never been so easy!" +msgstr "" + +#: share/advertising/corpo-desk-04.pl:9 share/advertising/corpo-server-04.pl:9 +#, c-format +msgid "<b>Multi Network Firewall,</b>" +msgstr "" + +#: share/advertising/corpo-desk-04.pl:10 +#, c-format +msgid "The Mandrakelinux security solution" +msgstr "" + +#: share/advertising/corpo-desk-04.pl:12 share/advertising/corpo-server-04.pl:13 +#, c-format +msgid "Multi Network Firewall (MNF), combines firewall, Virtual Private Network (VPN), intrusion detection, and traffic management functions into an easy-to-use product!" +msgstr "" + +#: share/advertising/corpo-desk-04.pl:14 share/advertising/corpo-server-04.pl:15 +#, c-format +msgid "Through a secure Web interface which utilizes finely-tuned wizards, network administrators can easily build a network, define access rules, filter and monitor Internet content, and perform administration tasks!" +msgstr "" + +#: share/advertising/corpo-desk-04.pl:16 +#, c-format +msgid "For more information about this product, visit: <b>www.mandrakesoft.com</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-a.pl:9 share/advertising/corpo-desk-05-b.pl:9 share/advertising/corpo-desk-05.pl:9 share/advertising/corpo-desk-06-a.pl:9 share/advertising/corpo-desk-06-b.pl:9 share/advertising/corpo-desk-06.pl:9 share/advertising/corpo-server-05.pl:9 share/advertising/corpo-server-06.pl:9 +#, c-format +msgid "<b>Find out about our professional services!</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-a.pl:11 share/advertising/corpo-desk-05.pl:11 share/advertising/corpo-server-05.pl:11 +#, c-format +msgid "<b>Professional Support</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-a.pl:13 share/advertising/corpo-desk-05.pl:13 share/advertising/corpo-server-05.pl:13 +#, c-format +msgid "Includes Server scope and TELNET, NIS, DNS/DDNS, SQUID Server, SYMPA Server, Databases: MySQL and PostgreSQL, LDAP Server, CYRUS-SASL, DHCP, Static Routing, System Initialization Scripts, Network Printers, Basic Security, Basic Backup and <b>Privileged Contact!</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-a.pl:15 +#, c-format +msgid "For more details about support, visit <b>www.mandrakesoft.com/support/scope</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-b.pl:11 share/advertising/corpo-desk-05.pl:17 +#, c-format +msgid "<b>Mandrakeonline- Professional Level</b>" +msgstr "" + +#: share/advertising/corpo-desk-05-b.pl:13 share/advertising/corpo-desk-05.pl:19 share/advertising/corpo-server-05.pl:19 +#, c-format +msgid "Our new Mandrakeonline service enables you to update an entire computer network in a centralized manner!" +msgstr "" + +#: share/advertising/corpo-desk-05-b.pl:15 +#, c-format +msgid "For more details about this new service, visit <b>services.mandrakesoft.com/online</b>" +msgstr "" + +#: share/advertising/corpo-desk-05.pl:15 share/advertising/corpo-server-05.pl:15 +#, c-format +msgid "For more details about support, visit www.mandrakesoft.com/support/scope" +msgstr "" + +#: share/advertising/corpo-desk-05.pl:21 share/advertising/corpo-server-05.pl:21 +#, c-format +msgid "For more details about this new service, visit www.mandrakesoft.com/mandrakeonline" +msgstr "" + +#: share/advertising/corpo-desk-06-a.pl:11 share/advertising/corpo-desk-06.pl:11 share/advertising/corpo-server-06.pl:11 +#, c-format +msgid "<b>Corporate Club</b>" +msgstr "" + +#: share/advertising/corpo-desk-06-a.pl:13 +#, c-format +msgid "The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development." +msgstr "" + +#: share/advertising/corpo-desk-06-a.pl:15 +#, c-format +msgid "For further information, visit <b>www.mandrakesoft.com/corporateclub</b>" +msgstr "" + +#: share/advertising/corpo-desk-06-b.pl:11 share/advertising/corpo-desk-06.pl:16 share/advertising/corpo-server-06.pl:16 +#, c-format +msgid "<b>Consulting</b>" +msgstr "" + +#: share/advertising/corpo-desk-06-b.pl:13 +#, c-format +msgid "For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others." +msgstr "" + +#: share/advertising/corpo-desk-06-b.pl:15 +#, c-format +msgid "For further information, visit <b>www.mandrakesoft.com/consulting</b>" +msgstr "" + +#: share/advertising/corpo-desk-06.pl:13 +#, c-format +msgid "" +"The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development. \n" +"\t\t For further information, visit www.mandrakesoft.com/corporateclub/" +msgstr "" + +#: share/advertising/corpo-desk-06.pl:18 +#, c-format +msgid "" +"For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others.\n" +"\t\t For further information, visit www.mandrakesoft.com/consulting" +msgstr "" + +#: share/advertising/corpo-desk-07.pl:9 share/advertising/corpo-server-07.pl:9 +#, c-format +msgid "<b>Become a Mandrakesoft partner!</b>" +msgstr "" + +#: share/advertising/corpo-desk-07.pl:11 share/advertising/corpo-server-07.pl:11 +#, c-format +msgid "Mandrakesoft provides business partners with the technology expertise, experience and know-how of a leading editor." +msgstr "" + +#: share/advertising/corpo-desk-07.pl:13 share/advertising/corpo-server-07.pl:13 +#, c-format +msgid "Already familiar with, or about to enter the Linux market? Our partnership programs can help you to truly capitalize on your products and services. When you become a Mandrakesoft partner, you gain access to full support and assistance for all of your project cycle needs including: research and development, sales and marketing opportunities and professional services. " +msgstr "" + +#: share/advertising/corpo-desk-07.pl:15 +#, c-format +msgid "For more information, visit: <b>www.mandrakesoft.com/partners</b>" +msgstr "" + +#: share/advertising/corpo-desk-08.pl:9 share/advertising/corpo-desk-09.pl:9 share/advertising/corpo-server-08.pl:9 +#, c-format +msgid "<b>PSMP: Personalised Solutions and Maintenance Program</b>" +msgstr "" + +#: share/advertising/corpo-desk-08.pl:11 +#, c-format +msgid "- The \"Personalised Solutions and Maintenance Program\" is an easy-to-use, cost effective program designed to meet the needs of businesses of all size. <b>PSMP allows you to purchase Mandrakesoft solutions at volume prices.</b> It reduces the costs associated with evaluating, acquiring, implementing, and maintaining eBusiness software, and provides streamlined purchasing and centralised solution management through an Internet based graphic interface." +msgstr "" + +#: share/advertising/corpo-desk-08.pl:13 +#, c-format +msgid "- PSMP is a highly personalized program that provides an upper edge solution to enterprise from their competitors. PSMP is a perfect example of a modern web based solution. The program is designed to provide One-Shop complete open source solutions (Products/Support/Updates/Services) to enterprise." +msgstr "" + +#: share/advertising/corpo-desk-09.pl:11 +#, c-format +msgid "- Maximum savings, minimum hassle, it's easy to get started. The user friendly web design architecture of PSMP allows you to purchase your desired solution for provisioning, managing, migrating and updating your systems, giving you complete flexibility while minimizing cost. It can help you get the most value with up-to-date technology with benefits that can save time and money. PSMP pricing lowers software budgets." +msgstr "" + +#: share/advertising/corpo-desk-09.pl:13 +#, c-format +msgid "- The PSMP order Process is as follows:" +msgstr "" + +#: share/advertising/corpo-desk-09.pl:14 +#, c-format +msgid "\t1. Register free at www.mandrakesoft.com/psmp" +msgstr "" + +#: share/advertising/corpo-desk-09.pl:15 +#, c-format +msgid "\t2. Personalise the cart according to your needs" +msgstr "" + +#: share/advertising/corpo-desk-09.pl:16 +#, c-format +msgid "\t3. Receive the order at your door step" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:9 share/advertising/corpo-server-10.pl:9 +#, c-format +msgid "<b>Find out quickly Mandrakestore!!!</b>" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:11 +#, c-format +msgid "Mandrakestore is Mandrakesoft full service e-commerce platform." +msgstr "" + +#: share/advertising/corpo-desk-10.pl:12 +#, c-format +msgid "Thanks to Mandrakestore, meet all your needs:" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:14 +#, c-format +msgid "- Find out about all Mandrakelinux products" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:15 +#, c-format +msgid "- Buy additional support incidents" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:16 +#, c-format +msgid "- Find out our ISV partners" +msgstr "" + +#: share/advertising/corpo-desk-10.pl:17 +#, c-format +msgid "- etc..." +msgstr "" + +#: share/advertising/corpo-desk-10.pl:19 +#, c-format +msgid "Stop by today at <b>www.mandrakestore.com</b>!" +msgstr "" + +#: share/advertising/corpo-server-01.pl:11 +#, c-format +msgid "" +"Mandrakesoft offers businesses a set of GNU Linux, Open-Source software and related services. It provides user-friendly and highly competitive technologies at a very attractive total cost of ownership.\n" +"\t Whether you seek a product flexible enough to be adapted to your requirements or need high value added services, you'll find answers in our Business product line." +msgstr "" + +#: share/advertising/corpo-server-01.pl:14 +#, c-format +msgid "For any questions, contact us at sales@mandrakesoft.com" +msgstr "" + +#: share/advertising/corpo-server-02.pl:9 +#, c-format +msgid "<b>Thank you for choosing the new Mandrakelinux Corporate Server!</b>" +msgstr "" + +#: share/advertising/corpo-server-02.pl:13 +#, c-format +msgid "Just point and click server(s) that you need:" +msgstr "" + +#: share/advertising/corpo-server-03.pl:9 +#, c-format +msgid "<b>Corporate Desktop, </b>" +msgstr "" + +#: share/advertising/corpo-server-03.pl:10 +#, c-format +msgid "The new Mandrakelinux Desktop, specifically dedicated to the business world" +msgstr "" + +#: share/advertising/corpo-server-04.pl:11 +#, c-format +msgid "the Mandrakelinux security solution" +msgstr "" + +#: share/advertising/corpo-server-04.pl:17 +#, c-format +msgid "For more information about this product, visit www.mandrakesoft.com" +msgstr "" + +#: share/advertising/corpo-server-05.pl:17 +#, c-format +msgid "<b>Mandrakeonline Professional Level</b>" +msgstr "" + +#: share/advertising/corpo-server-06.pl:13 +#, c-format +msgid "" +"The Corporate Club is designed to serve organizations that have discovered that Free Software is an essential element for solving critical technology issues and fulfilling corporate goals. The Corporate Club provides a framework for a privileged relationship with Mandrakesoft. It will provide dedicated company contacts to help with requests for customized training, support, and platform development. \n" +"For further information, visit www.mandrakesoft.com/corporateclub/" +msgstr "" + +#: share/advertising/corpo-server-06.pl:18 +#, c-format +msgid "" +"For all of your projects, Mandrakesoft and its partners are ready to share their expertise. We can assist with projects such as migrating to Linux on desktops and servers, auditing and deploying security solutions, building customized distributions, coding drivers, consulting for scientific computing and clustering, plus others.\n" +"For further information, visit www.mandrakesoft.com/consulting" +msgstr "" + +#: share/advertising/corpo-server-07.pl:15 +#, c-format +msgid "For more information, visit: www.mandrakesoft.com/partners" +msgstr "" + +#: share/advertising/corpo-server-08.pl:11 +#, c-format +msgid "The \"Personalised Solutions and Maintenance Program\" is an easy-to-use, cost effective program designed to meet the needs of businesses of all size. PSMP allows you to purchase Mandrakesoft solutions at volume prices. It reduces the costs associated with evaluating, acquiring, implementing, and maintaining eBusiness software, and provides streamlined purchasing and centralised solution management through an Internet based graphic interface. " +msgstr "" + +#: share/advertising/corpo-server-08.pl:13 +#, c-format +msgid "PSMP is a highly personalized program that provides an upper edge solution to enterprise from their competitors. PSMP is a perfect example of a modern web based solution. The program is designed to provide One-Shop complete open source solutions (Products/Support/Updates/Services) to enterprise. " +msgstr "" + +#: share/advertising/corpo-server-09.pl:9 +#, c-format +msgid "<b>PSMP: Personalised Solutions and Maintenance Program </b>" +msgstr "" + +#: share/advertising/corpo-server-09.pl:11 +#, c-format +msgid "Maximum savings, minimum hassle, it's easy to get started. The user friendly web design architecture of PSMP allows you to purchase your desired solution for provisioning, managing, migrating and updating your systems, giving you complete flexibility while minimizing cost. It can help you get the most value with up-to-date technology with benefits that can save time and money. PSMP pricing lowers software budgets. " +msgstr "" + +#: share/advertising/corpo-server-09.pl:13 +#, c-format +msgid "" +"The PSMP order Process is as follows:\n" +"1. Register free at www.mandrakesoft.com/psmp\n" +"2. Personalise the cart according to your needs \n" +"3. Receive the order at your door step" +msgstr "" + +#: share/advertising/corpo-server-10.pl:11 +#, c-format +msgid "" +"Mandrakestore is Mandrakesoft full service e-commerce platform. \n" +"Thanks to Mandrakestore, meet all your needs" +msgstr "" + +#: share/advertising/corpo-server-10.pl:14 +#, c-format +msgid "" +"Find out about all Mandrakelinux products\n" +"Buy additional support incidents\n" +"Find out our ISV partners\n" +"etc" +msgstr "" + +#: share/advertising/corpo-server-10.pl:19 +#, c-format +msgid "Stop by today at www.mandrakestore.com!" +msgstr "" + #: share/advertising/dis-01.pl:13 share/advertising/dwd-01.pl:13 share/advertising/ppp-01.pl:13 share/advertising/pwp-01.pl:13 #, c-format msgid "<b>Congratulations for choosing Mandrakelinux!</b>" @@ -12804,100 +13399,93 @@ msgstr "" msgid "You need to log out and back in again for changes to take effect" msgstr "" -#: standalone/drakTermServ:77 +#: standalone/drakTermServ:79 #, c-format msgid "Useless without Terminal Server" msgstr "" -#: standalone/drakTermServ:114 standalone/drakTermServ:121 +#: standalone/drakTermServ:116 standalone/drakTermServ:123 #, c-format msgid "" "%s: %s requires a username...\n" "" msgstr "" -#: standalone/drakTermServ:134 +#: standalone/drakTermServ:136 #, c-format msgid "" "%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, 0/1 for Local Config...\n" "" msgstr "" -#: standalone/drakTermServ:141 +#: standalone/drakTermServ:143 #, c-format msgid "" "%s: %s requires hostname...\n" "" msgstr "" -#: standalone/drakTermServ:153 -#, c-format -msgid "" -"You must be root to read configuration file. \n" -"" -msgstr "" - -#: standalone/drakTermServ:238 standalone/drakTermServ:512 standalone/drakfont:575 +#: standalone/drakTermServ:226 standalone/drakTermServ:500 standalone/drakfont:575 #, c-format msgid "OK" msgstr "" -#: standalone/drakTermServ:249 standalone/drakTermServ:252 +#: standalone/drakTermServ:237 standalone/drakTermServ:240 #, c-format msgid "Terminal Server Configuration" msgstr "" -#: standalone/drakTermServ:267 +#: standalone/drakTermServ:255 #, c-format msgid "Enable Server" msgstr "" -#: standalone/drakTermServ:273 +#: standalone/drakTermServ:261 #, c-format msgid "Disable Server" msgstr "" -#: standalone/drakTermServ:281 +#: standalone/drakTermServ:269 #, c-format msgid "Start Server" msgstr "" -#: standalone/drakTermServ:287 +#: standalone/drakTermServ:275 #, c-format msgid "Stop Server" msgstr "" -#: standalone/drakTermServ:295 +#: standalone/drakTermServ:283 #, c-format msgid "Etherboot Floppy/ISO" msgstr "" -#: standalone/drakTermServ:299 +#: standalone/drakTermServ:287 #, c-format msgid "Net Boot Images" msgstr "" -#: standalone/drakTermServ:305 +#: standalone/drakTermServ:293 #, c-format msgid "Add/Del Users" msgstr "" -#: standalone/drakTermServ:309 +#: standalone/drakTermServ:297 #, c-format msgid "Add/Del Clients" msgstr "" -#: standalone/drakTermServ:320 standalone/drakbug:54 +#: standalone/drakTermServ:308 standalone/drakbug:54 #, c-format msgid "First Time Wizard" msgstr "" -#: standalone/drakTermServ:352 standalone/drakTermServ:353 +#: standalone/drakTermServ:340 standalone/drakTermServ:341 #, c-format msgid "%s defined as dm, adding gdm user to /etc/passwd$$CLIENT$$" msgstr "" -#: standalone/drakTermServ:359 +#: standalone/drakTermServ:347 #, c-format msgid "" "\n" @@ -12917,22 +13505,22 @@ msgid "" "" msgstr "" -#: standalone/drakTermServ:404 +#: standalone/drakTermServ:392 #, c-format msgid "Cancel Wizard" msgstr "" -#: standalone/drakTermServ:416 +#: standalone/drakTermServ:404 #, c-format msgid "Please save dhcpd config!" msgstr "" -#: standalone/drakTermServ:444 +#: standalone/drakTermServ:432 #, c-format msgid "Use thin clients." msgstr "" -#: standalone/drakTermServ:446 +#: standalone/drakTermServ:434 #, c-format msgid "" "Please select default client type.\n" @@ -12940,42 +13528,42 @@ msgid "" " 'Fat' clients use their own CPU/RAM but the server's filesystem." msgstr "" -#: standalone/drakTermServ:458 standalone/drakTermServ:1072 +#: standalone/drakTermServ:446 standalone/drakTermServ:1060 #, c-format msgid "Sync client X keyboard settings with server." msgstr "" -#: standalone/drakTermServ:465 +#: standalone/drakTermServ:453 #, c-format msgid "Creating net boot images for all kernels" msgstr "" -#: standalone/drakTermServ:466 standalone/drakTermServ:764 standalone/drakTermServ:780 +#: standalone/drakTermServ:454 standalone/drakTermServ:752 standalone/drakTermServ:768 #, c-format msgid "This will take a few minutes." msgstr "" -#: standalone/drakTermServ:470 standalone/drakTermServ:490 +#: standalone/drakTermServ:458 standalone/drakTermServ:478 #, c-format msgid "Done!" msgstr "" -#: standalone/drakTermServ:476 +#: standalone/drakTermServ:464 #, c-format msgid "Syncing server user list with client list, including root." msgstr "" -#: standalone/drakTermServ:496 +#: standalone/drakTermServ:484 #, c-format msgid "In order to enable changes made for thin clients, the display manager must be restarted. Restart now?" msgstr "" -#: standalone/drakTermServ:531 +#: standalone/drakTermServ:519 #, c-format msgid "Terminal Server Overview" msgstr "" -#: standalone/drakTermServ:532 +#: standalone/drakTermServ:520 #, c-format msgid "" " - Create Etherboot Enabled Boot Images:\n" @@ -12986,7 +13574,7 @@ msgid "" " \tdhcpd.conf, you should create the etherboot images for at least one full kernel." msgstr "" -#: standalone/drakTermServ:538 +#: standalone/drakTermServ:526 #, c-format msgid "" " - Maintain /etc/dhcpd.conf:\n" @@ -13001,7 +13589,7 @@ msgid "" " \tA typical dhcpd.conf stanza to support a diskless client looks like:" msgstr "" -#: standalone/drakTermServ:556 +#: standalone/drakTermServ:544 #, c-format msgid "" " While you can use a pool of IP addresses, rather than setup a specific entry for\n" @@ -13026,7 +13614,7 @@ msgid "" " Note: You must stop/start the server after adding or changing clients." msgstr "" -#: standalone/drakTermServ:576 +#: standalone/drakTermServ:564 #, c-format msgid "" " - Maintain /etc/exports:\n" @@ -13042,7 +13630,7 @@ msgid "" " \tWith SUBNET/MASK being defined for your network." msgstr "" -#: standalone/drakTermServ:588 +#: standalone/drakTermServ:576 #, c-format msgid "" " - Maintain %s:\n" @@ -13051,7 +13639,7 @@ msgid "" " \thelps in this respect by adding or removing system users from this file." msgstr "" -#: standalone/drakTermServ:592 +#: standalone/drakTermServ:580 #, c-format msgid "" " - Per client %s:\n" @@ -13060,7 +13648,7 @@ msgid "" " \tdrakTermServ will help create these files." msgstr "" -#: standalone/drakTermServ:597 +#: standalone/drakTermServ:585 #, c-format msgid "" " - Per client system configuration files:\n" @@ -13074,7 +13662,7 @@ msgid "" " turned back off, retaining the configuration files, once the client machine is configured." msgstr "" -#: standalone/drakTermServ:606 +#: standalone/drakTermServ:594 #, c-format msgid "" " - /etc/xinetd.d/tftp:\n" @@ -13100,7 +13688,7 @@ msgid "" " \tputs its images." msgstr "" -#: standalone/drakTermServ:627 +#: standalone/drakTermServ:615 #, c-format msgid "" " - Create etherboot floppies/CDs:\n" @@ -13115,62 +13703,62 @@ msgid "" " \t\t/usr/lib/etherboot/zimg/3c509.zimg > /dev/fd0" msgstr "" -#: standalone/drakTermServ:662 +#: standalone/drakTermServ:650 #, c-format msgid "Boot Floppy" msgstr "" -#: standalone/drakTermServ:664 +#: standalone/drakTermServ:652 #, c-format msgid "Boot ISO" msgstr "" -#: standalone/drakTermServ:666 +#: standalone/drakTermServ:654 #, c-format msgid "PXE Image" msgstr "" -#: standalone/drakTermServ:735 +#: standalone/drakTermServ:723 #, c-format msgid "Default kernel version" msgstr "" -#: standalone/drakTermServ:762 +#: standalone/drakTermServ:750 #, c-format msgid "Build Whole Kernel -->" msgstr "" -#: standalone/drakTermServ:769 +#: standalone/drakTermServ:757 #, c-format msgid "No kernel selected!" msgstr "" -#: standalone/drakTermServ:772 +#: standalone/drakTermServ:760 #, c-format msgid "Build Single NIC -->" msgstr "" -#: standalone/drakTermServ:776 +#: standalone/drakTermServ:764 #, c-format msgid "No NIC selected!" msgstr "" -#: standalone/drakTermServ:779 +#: standalone/drakTermServ:767 #, c-format msgid "Build All Kernels -->" msgstr "" -#: standalone/drakTermServ:787 +#: standalone/drakTermServ:775 #, c-format msgid "<-- Delete" msgstr "" -#: standalone/drakTermServ:794 +#: standalone/drakTermServ:782 #, c-format msgid "Delete All NBIs" msgstr "" -#: standalone/drakTermServ:881 +#: standalone/drakTermServ:869 #, c-format msgid "" "!!! Indicates the password in the system database is different than\n" @@ -13178,161 +13766,171 @@ msgid "" "Delete/re-add the user to the Terminal Server to enable login." msgstr "" -#: standalone/drakTermServ:886 +#: standalone/drakTermServ:874 #, c-format msgid "Add User -->" msgstr "" -#: standalone/drakTermServ:892 +#: standalone/drakTermServ:880 #, c-format msgid "<-- Del User" msgstr "" -#: standalone/drakTermServ:928 +#: standalone/drakTermServ:916 #, c-format msgid "type: %s" msgstr "" -#: standalone/drakTermServ:932 +#: standalone/drakTermServ:920 #, c-format msgid "local config: %s" msgstr "" -#: standalone/drakTermServ:962 +#: standalone/drakTermServ:950 #, c-format msgid "" "Allow local hardware\n" "configuration." msgstr "" -#: standalone/drakTermServ:971 +#: standalone/drakTermServ:959 #, c-format msgid "No net boot images created!" msgstr "" -#: standalone/drakTermServ:989 +#: standalone/drakTermServ:977 #, c-format msgid "Thin Client" msgstr "" -#: standalone/drakTermServ:993 +#: standalone/drakTermServ:981 #, c-format msgid "Allow Thin Clients" msgstr "" -#: standalone/drakTermServ:994 +#: standalone/drakTermServ:982 #, c-format msgid "Add Client -->" msgstr "" -#: standalone/drakTermServ:1008 +#: standalone/drakTermServ:996 #, c-format msgid "type: fat" msgstr "" -#: standalone/drakTermServ:1009 +#: standalone/drakTermServ:997 #, c-format msgid "type: thin" msgstr "" -#: standalone/drakTermServ:1016 +#: standalone/drakTermServ:1004 #, c-format msgid "local config: false" msgstr "" -#: standalone/drakTermServ:1017 +#: standalone/drakTermServ:1005 #, c-format msgid "local config: true" msgstr "" -#: standalone/drakTermServ:1025 +#: standalone/drakTermServ:1013 #, c-format msgid "<-- Edit Client" msgstr "" -#: standalone/drakTermServ:1051 +#: standalone/drakTermServ:1039 #, c-format msgid "Disable Local Config" msgstr "" -#: standalone/drakTermServ:1058 +#: standalone/drakTermServ:1046 #, c-format msgid "Delete Client" msgstr "" -#: standalone/drakTermServ:1067 +#: standalone/drakTermServ:1055 #, c-format msgid "dhcpd Config..." msgstr "" -#: standalone/drakTermServ:1083 +#: standalone/drakTermServ:1071 #, c-format msgid "" "Need to restart the Display Manager for full changes to take effect. \n" "(service dm restart - at the console)" msgstr "" -#: standalone/drakTermServ:1123 +#: standalone/drakTermServ:1111 #, c-format msgid "Thin clients won't work with autologin. Disable autologin?" msgstr "" -#: standalone/drakTermServ:1139 +#: standalone/drakTermServ:1127 #, c-format msgid "All clients will use %s" msgstr "" -#: standalone/drakTermServ:1169 +#: standalone/drakTermServ:1159 #, c-format msgid "Subnet:" msgstr "" -#: standalone/drakTermServ:1176 +#: standalone/drakTermServ:1166 #, c-format msgid "Netmask:" msgstr "" -#: standalone/drakTermServ:1183 +#: standalone/drakTermServ:1173 #, c-format msgid "Routers:" msgstr "" -#: standalone/drakTermServ:1190 +#: standalone/drakTermServ:1180 #, c-format msgid "Subnet Mask:" msgstr "" -#: standalone/drakTermServ:1197 +#: standalone/drakTermServ:1187 #, c-format msgid "Broadcast Address:" msgstr "" -#: standalone/drakTermServ:1204 +#: standalone/drakTermServ:1194 #, c-format msgid "Domain Name:" msgstr "" -#: standalone/drakTermServ:1212 +#: standalone/drakTermServ:1202 #, c-format msgid "Name Servers:" msgstr "" -#: standalone/drakTermServ:1223 +#: standalone/drakTermServ:1213 #, c-format msgid "IP Range Start:" msgstr "" -#: standalone/drakTermServ:1224 +#: standalone/drakTermServ:1214 #, c-format msgid "IP Range End:" msgstr "" -#: standalone/drakTermServ:1276 +#: standalone/drakTermServ:1256 +#, c-format +msgid "Append TS Includes To Existing Config" +msgstr "" + +#: standalone/drakTermServ:1258 +#, c-format +msgid "Write Config" +msgstr "" + +#: standalone/drakTermServ:1274 #, c-format msgid "dhcpd Server Configuration" msgstr "" -#: standalone/drakTermServ:1277 +#: standalone/drakTermServ:1275 #, c-format msgid "" "Most of these values were extracted\n" @@ -13340,128 +13938,118 @@ msgid "" "You can modify as needed." msgstr "" -#: standalone/drakTermServ:1280 +#: standalone/drakTermServ:1278 #, c-format msgid "Dynamic IP Address Pool:" msgstr "" -#: standalone/drakTermServ:1293 -#, c-format -msgid "Write Config" -msgstr "" - -#: standalone/drakTermServ:1412 +#: standalone/drakTermServ:1425 #, c-format msgid "Please insert floppy disk:" msgstr "" -#: standalone/drakTermServ:1416 +#: standalone/drakTermServ:1429 #, c-format msgid "Couldn't access the floppy!" msgstr "" -#: standalone/drakTermServ:1418 +#: standalone/drakTermServ:1431 #, c-format msgid "Floppy can be removed now" msgstr "" -#: standalone/drakTermServ:1421 +#: standalone/drakTermServ:1434 #, c-format msgid "No floppy drive available!" msgstr "" -#: standalone/drakTermServ:1426 +#: standalone/drakTermServ:1439 #, c-format msgid "PXE image is %s/%s" msgstr "" -#: standalone/drakTermServ:1428 +#: standalone/drakTermServ:1441 #, c-format msgid "Error writing %s/%s" msgstr "" -#: standalone/drakTermServ:1437 +#: standalone/drakTermServ:1450 #, c-format msgid "Etherboot ISO image is %s" msgstr "" -#: standalone/drakTermServ:1439 +#: standalone/drakTermServ:1452 #, c-format msgid "Something went wrong! - Is mkisofs installed?" msgstr "" -#: standalone/drakTermServ:1459 +#: standalone/drakTermServ:1474 #, c-format msgid "Need to create /etc/dhcpd.conf first!" msgstr "" -#: standalone/drakTermServ:1620 +#: standalone/drakTermServ:1633 #, c-format msgid "" "%s passwd bad in Terminal Server - rewriting...\n" "" msgstr "" -#: standalone/drakTermServ:1638 +#: standalone/drakTermServ:1646 #, c-format msgid "" "%s is not a user..\n" "" msgstr "" -#: standalone/drakTermServ:1639 +#: standalone/drakTermServ:1647 #, c-format msgid "" "%s is already a Terminal Server user\n" "" msgstr "" -#: standalone/drakTermServ:1641 +#: standalone/drakTermServ:1649 #, c-format msgid "" "Addition of %s to Terminal Server failed!\n" "" msgstr "" -#: standalone/drakTermServ:1643 +#: standalone/drakTermServ:1651 #, c-format msgid "" "%s added to Terminal Server\n" "" msgstr "" -#: standalone/drakTermServ:1695 +#: standalone/drakTermServ:1697 #, c-format msgid "" "Deleted %s...\n" "" msgstr "" -#: standalone/drakTermServ:1697 standalone/drakTermServ:1774 +#: standalone/drakTermServ:1699 standalone/drakTermServ:1772 #, c-format msgid "" "%s not found...\n" "" msgstr "" -#: standalone/drakTermServ:1719 standalone/drakTermServ:1720 standalone/drakTermServ:1721 +#: standalone/drakTermServ:1721 standalone/drakTermServ:1722 standalone/drakTermServ:1723 #, c-format msgid "" "%s already in use\n" "" msgstr "" -#: standalone/drakTermServ:1745 -#, c-format -msgid "Can't open %s!" -msgstr "" - -#: standalone/drakTermServ:1802 +#: standalone/drakTermServ:1800 #, c-format msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed" msgstr "" -#: standalone/drakTermServ:1959 +#: standalone/drakTermServ:1952 #, c-format msgid "Configuration changed - restart clusternfs/dhcpd?" msgstr "" @@ -13537,7 +14125,7 @@ msgid "" "The parameters of the auto-install are available in the sections on the left" msgstr "" -#: standalone/drakautoinst:252 standalone/drakgw:598 standalone/drakvpn:902 standalone/scannerdrake:374 +#: standalone/drakautoinst:252 standalone/drakgw:598 standalone/drakvpn:902 standalone/scannerdrake:379 #, c-format msgid "Congratulations!" msgstr "" @@ -13579,106 +14167,106 @@ msgstr "" msgid "No devices found" msgstr "" -#: standalone/drakbackup:154 +#: standalone/drakbackup:166 #, c-format msgid "Expect is an extension to the Tcl scripting language that allows interactive sessions without user intervention." msgstr "" -#: standalone/drakbackup:155 +#: standalone/drakbackup:167 #, c-format msgid "Store the password for this system in drakbackup configuration." msgstr "" -#: standalone/drakbackup:156 +#: standalone/drakbackup:168 #, c-format msgid "For a multisession CD, only the first session will erase the cdrw. Otherwise the cdrw is erased before each backup." msgstr "" -#: standalone/drakbackup:157 +#: standalone/drakbackup:169 #, c-format msgid "This option will save files that have changed. Exact behavior depends on whether incremental or differential mode is used." msgstr "" -#: standalone/drakbackup:158 +#: standalone/drakbackup:170 #, c-format msgid "Incremental backups only save files that have changed or are new since the last backup." msgstr "" -#: standalone/drakbackup:159 +#: standalone/drakbackup:171 #, c-format msgid "Differential backups only save files that have changed or are new since the original 'base' backup." msgstr "" -#: standalone/drakbackup:160 +#: standalone/drakbackup:172 #, c-format msgid "This should be a local user or email addresse that you want the backup results sent to. You will need to define a functioning mail server." msgstr "" -#: standalone/drakbackup:161 +#: standalone/drakbackup:173 #, c-format msgid "Files or wildcards listed in a .backupignore file at the top of a directory tree will not be backed up." msgstr "" -#: standalone/drakbackup:162 +#: standalone/drakbackup:174 #, c-format msgid "For backups to other media, files are still created on the hard drive, then moved to the other media. Enabling this option will remove the hard drive tar files after the backup." msgstr "" -#: standalone/drakbackup:163 +#: standalone/drakbackup:175 #, c-format msgid "Some protocols, like rsync, may be configured at the server end. Rather than using a directory path, you would use the 'module' name for the service path." msgstr "" -#: standalone/drakbackup:164 +#: standalone/drakbackup:176 #, c-format msgid "Custom allows you to specify your own day and time. The other options use run-parts in /etc/crontab." msgstr "" -#: standalone/drakbackup:396 +#: standalone/drakbackup:340 #, c-format msgid "No media selected for cron operation." msgstr "" -#: standalone/drakbackup:400 +#: standalone/drakbackup:344 #, c-format msgid "No interval selected for cron operation." msgstr "" -#: standalone/drakbackup:447 +#: standalone/drakbackup:391 #, c-format msgid "Interval cron not available as non-root" msgstr "" -#: standalone/drakbackup:532 standalone/logdrake:467 +#: standalone/drakbackup:476 standalone/logdrake:467 #, c-format msgid "\"%s\" neither is a valid email nor is an existing local user!" msgstr "" -#: standalone/drakbackup:536 standalone/logdrake:472 +#: standalone/drakbackup:480 standalone/logdrake:472 #, c-format msgid "\"%s\" is a local user, but you did not select a local smtp, so you must use a complete email address!" msgstr "" -#: standalone/drakbackup:545 +#: standalone/drakbackup:489 #, c-format msgid "Valid user list changed, rewriting config file." msgstr "" -#: standalone/drakbackup:547 +#: standalone/drakbackup:491 #, c-format msgid "" "Old user list:\n" "" msgstr "" -#: standalone/drakbackup:549 +#: standalone/drakbackup:493 #, c-format msgid "" "New user list:\n" "" msgstr "" -#: standalone/drakbackup:594 +#: standalone/drakbackup:538 #, c-format msgid "" "\n" @@ -13686,7 +14274,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:595 +#: standalone/drakbackup:539 #, c-format msgid "" "\n" @@ -13694,7 +14282,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:601 +#: standalone/drakbackup:545 #, c-format msgid "" "\n" @@ -13704,12 +14292,12 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:625 standalone/drakbackup:696 standalone/drakbackup:752 +#: standalone/drakbackup:570 standalone/drakbackup:641 standalone/drakbackup:697 #, c-format msgid "Total progress" msgstr "" -#: standalone/drakbackup:678 +#: standalone/drakbackup:623 #, c-format msgid "" "%s exists, delete?\n" @@ -13718,42 +14306,42 @@ msgid "" " need to purge the entry from authorized_keys on the server." msgstr "" -#: standalone/drakbackup:687 +#: standalone/drakbackup:632 #, c-format msgid "This may take a moment to generate the keys." msgstr "" -#: standalone/drakbackup:694 +#: standalone/drakbackup:639 #, c-format msgid "Cannot spawn %s." msgstr "" -#: standalone/drakbackup:711 +#: standalone/drakbackup:656 #, c-format msgid "No password prompt on %s at port %s" msgstr "" -#: standalone/drakbackup:712 +#: standalone/drakbackup:657 #, c-format msgid "Bad password on %s" msgstr "" -#: standalone/drakbackup:713 +#: standalone/drakbackup:658 #, c-format msgid "Permission denied transferring %s to %s" msgstr "" -#: standalone/drakbackup:714 +#: standalone/drakbackup:659 #, c-format msgid "Can't find %s on %s" msgstr "" -#: standalone/drakbackup:718 +#: standalone/drakbackup:663 #, c-format msgid "%s not responding" msgstr "" -#: standalone/drakbackup:722 +#: standalone/drakbackup:667 #, c-format msgid "" "Transfer successful\n" @@ -13764,84 +14352,84 @@ msgid "" "without being prompted for a password." msgstr "" -#: standalone/drakbackup:766 +#: standalone/drakbackup:711 #, c-format msgid "WebDAV remote site already in sync!" msgstr "" -#: standalone/drakbackup:770 +#: standalone/drakbackup:715 #, c-format msgid "WebDAV transfer failed!" msgstr "" -#: standalone/drakbackup:791 +#: standalone/drakbackup:736 #, c-format msgid "No CD-R/DVD-R in drive!" msgstr "" -#: standalone/drakbackup:795 +#: standalone/drakbackup:740 #, c-format msgid "Does not appear to be recordable media!" msgstr "" -#: standalone/drakbackup:799 +#: standalone/drakbackup:745 #, c-format msgid "Not erasable media!" msgstr "" -#: standalone/drakbackup:840 +#: standalone/drakbackup:787 #, c-format msgid "This may take a moment to erase the media." msgstr "" -#: standalone/drakbackup:898 +#: standalone/drakbackup:845 #, c-format msgid "Permission problem accessing CD." msgstr "" -#: standalone/drakbackup:925 +#: standalone/drakbackup:872 #, c-format msgid "No tape in %s!" msgstr "" -#: standalone/drakbackup:1025 +#: standalone/drakbackup:972 #, c-format msgid "" "Backup quota exceeded!\n" "%d MB used vs %d MB allocated." msgstr "" -#: standalone/drakbackup:1044 standalone/drakbackup:1077 +#: standalone/drakbackup:991 standalone/drakbackup:1024 #, c-format msgid "Backup system files..." msgstr "" -#: standalone/drakbackup:1078 standalone/drakbackup:1119 +#: standalone/drakbackup:1025 standalone/drakbackup:1066 #, c-format msgid "Hard Disk Backup files..." msgstr "" -#: standalone/drakbackup:1118 +#: standalone/drakbackup:1065 #, c-format msgid "Backup User files..." msgstr "" -#: standalone/drakbackup:1153 +#: standalone/drakbackup:1100 #, c-format msgid "Backup Other files..." msgstr "" -#: standalone/drakbackup:1154 +#: standalone/drakbackup:1101 #, c-format msgid "Hard Disk Backup Progress..." msgstr "" -#: standalone/drakbackup:1159 +#: standalone/drakbackup:1106 #, c-format msgid "No changes to backup!" msgstr "" -#: standalone/drakbackup:1177 standalone/drakbackup:1201 +#: standalone/drakbackup:1124 standalone/drakbackup:1148 #, c-format msgid "" "\n" @@ -13850,7 +14438,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:1186 +#: standalone/drakbackup:1133 #, c-format msgid "" "\n" @@ -13858,19 +14446,19 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:1187 +#: standalone/drakbackup:1134 #, c-format msgid "Error during sending file via FTP. Please correct your FTP configuration." msgstr "" -#: standalone/drakbackup:1189 +#: standalone/drakbackup:1136 #, c-format msgid "" "file list sent by FTP: %s\n" "" msgstr "" -#: standalone/drakbackup:1206 +#: standalone/drakbackup:1153 #, c-format msgid "" "\n" @@ -13879,7 +14467,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:1211 +#: standalone/drakbackup:1158 #, c-format msgid "" "\n" @@ -13888,29 +14476,24 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:1220 +#: standalone/drakbackup:1167 #, c-format msgid "Error sending mail. Your report mail was not sent." msgstr "" -#: standalone/drakbackup:1221 +#: standalone/drakbackup:1168 #, c-format msgid "" " Error while sending mail. \n" "" msgstr "" -#: standalone/drakbackup:1249 +#: standalone/drakbackup:1196 #, c-format msgid "Can't create catalog!" msgstr "" -#: standalone/drakbackup:1455 -#, c-format -msgid "Select the files or directories and click on 'OK'" -msgstr "" - -#: standalone/drakbackup:1484 +#: standalone/drakbackup:1409 #, c-format msgid "" "\n" @@ -13918,513 +14501,518 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:1485 +#: standalone/drakbackup:1410 #, c-format msgid "" "These options can backup and restore all files in your /etc directory.\n" "" msgstr "" -#: standalone/drakbackup:1486 +#: standalone/drakbackup:1411 #, c-format msgid "Backup your System files. (/etc directory)" msgstr "" -#: standalone/drakbackup:1487 standalone/drakbackup:1551 standalone/drakbackup:1617 +#: standalone/drakbackup:1412 standalone/drakbackup:1476 standalone/drakbackup:1542 #, c-format msgid "Use Incremental/Differential Backups (do not replace old backups)" msgstr "" -#: standalone/drakbackup:1489 standalone/drakbackup:1553 standalone/drakbackup:1619 +#: standalone/drakbackup:1414 standalone/drakbackup:1478 standalone/drakbackup:1544 #, c-format msgid "Use Incremental Backups" msgstr "" -#: standalone/drakbackup:1489 standalone/drakbackup:1553 standalone/drakbackup:1619 +#: standalone/drakbackup:1414 standalone/drakbackup:1478 standalone/drakbackup:1544 #, c-format msgid "Use Differential Backups" msgstr "" -#: standalone/drakbackup:1491 +#: standalone/drakbackup:1416 #, c-format msgid "Do not include critical files (passwd, group, fstab)" msgstr "" -#: standalone/drakbackup:1492 +#: standalone/drakbackup:1417 #, c-format msgid "" "With this option you will be able to restore any version\n" " of your /etc directory." msgstr "" -#: standalone/drakbackup:1523 +#: standalone/drakbackup:1448 #, c-format msgid "Please check all users that you want to include in your backup." msgstr "" -#: standalone/drakbackup:1550 +#: standalone/drakbackup:1475 #, c-format msgid "Do not include the browser cache" msgstr "" -#: standalone/drakbackup:1605 standalone/drakfont:656 +#: standalone/drakbackup:1529 +#, c-format +msgid "Select the files or directories and click on 'OK'" +msgstr "" + +#: standalone/drakbackup:1530 standalone/drakfont:656 #, c-format msgid "Remove Selected" msgstr "" -#: standalone/drakbackup:1668 +#: standalone/drakbackup:1593 #, c-format msgid "Users" msgstr "" -#: standalone/drakbackup:1688 +#: standalone/drakbackup:1613 #, c-format msgid "Use network connection to backup" msgstr "" -#: standalone/drakbackup:1690 +#: standalone/drakbackup:1615 #, c-format msgid "Net Method:" msgstr "" -#: standalone/drakbackup:1694 +#: standalone/drakbackup:1619 #, c-format msgid "Use Expect for SSH" msgstr "" -#: standalone/drakbackup:1695 +#: standalone/drakbackup:1620 #, c-format msgid "Create/Transfer backup keys for SSH" msgstr "" -#: standalone/drakbackup:1697 +#: standalone/drakbackup:1622 #, c-format msgid "Transfer Now" msgstr "" -#: standalone/drakbackup:1699 +#: standalone/drakbackup:1624 #, c-format msgid "Other (not drakbackup) keys in place already" msgstr "" -#: standalone/drakbackup:1702 +#: standalone/drakbackup:1627 #, c-format msgid "Host name or IP." msgstr "" -#: standalone/drakbackup:1707 +#: standalone/drakbackup:1632 #, c-format msgid "Directory (or module) to put the backup on this host." msgstr "" -#: standalone/drakbackup:1712 +#: standalone/drakbackup:1637 #, c-format msgid "Login name" msgstr "" -#: standalone/drakbackup:1719 +#: standalone/drakbackup:1644 #, c-format msgid "Remember this password" msgstr "" -#: standalone/drakbackup:1735 +#: standalone/drakbackup:1660 #, c-format msgid "Need hostname, username and password!" msgstr "" -#: standalone/drakbackup:1833 +#: standalone/drakbackup:1758 #, c-format msgid "Use CD-R/DVD-R to backup" msgstr "" -#: standalone/drakbackup:1836 +#: standalone/drakbackup:1761 #, c-format msgid "Choose your CD/DVD device" msgstr "" -#: standalone/drakbackup:1841 +#: standalone/drakbackup:1766 #, c-format msgid "Choose your CD/DVD media size" msgstr "" -#: standalone/drakbackup:1848 +#: standalone/drakbackup:1773 #, c-format msgid "Multisession CD" msgstr "" -#: standalone/drakbackup:1850 +#: standalone/drakbackup:1775 #, c-format msgid "CDRW media" msgstr "" -#: standalone/drakbackup:1856 +#: standalone/drakbackup:1781 #, c-format msgid "Erase your RW media (1st Session)" msgstr "" -#: standalone/drakbackup:1857 +#: standalone/drakbackup:1782 #, c-format msgid " Erase Now " msgstr "" -#: standalone/drakbackup:1863 +#: standalone/drakbackup:1788 #, c-format msgid "DVD+RW media" msgstr "" -#: standalone/drakbackup:1865 +#: standalone/drakbackup:1790 #, c-format msgid "DVD-R media" msgstr "" -#: standalone/drakbackup:1867 +#: standalone/drakbackup:1792 #, c-format msgid "DVDRAM device" msgstr "" -#: standalone/drakbackup:1898 +#: standalone/drakbackup:1823 #, c-format msgid "No CD device defined!" msgstr "" -#: standalone/drakbackup:1945 +#: standalone/drakbackup:1870 #, c-format msgid "Use tape to backup" msgstr "" -#: standalone/drakbackup:1948 +#: standalone/drakbackup:1873 #, c-format msgid "Device name to use for backup" msgstr "" -#: standalone/drakbackup:1954 +#: standalone/drakbackup:1879 #, c-format msgid "Don't rewind tape after backup" msgstr "" -#: standalone/drakbackup:1960 +#: standalone/drakbackup:1885 #, c-format msgid "Erase tape before backup" msgstr "" -#: standalone/drakbackup:1966 +#: standalone/drakbackup:1891 #, c-format msgid "Eject tape after the backup" msgstr "" -#: standalone/drakbackup:2033 +#: standalone/drakbackup:1958 #, c-format msgid "Enter the directory to save to:" msgstr "" -#: standalone/drakbackup:2037 +#: standalone/drakbackup:1962 #, c-format msgid "Directory to save to" msgstr "" -#: standalone/drakbackup:2042 +#: standalone/drakbackup:1967 #, c-format msgid "" "Maximum size\n" " allowed for Drakbackup (MB)" msgstr "" -#: standalone/drakbackup:2106 +#: standalone/drakbackup:2031 #, c-format msgid "CD-R / DVD-R" msgstr "" -#: standalone/drakbackup:2111 +#: standalone/drakbackup:2036 #, c-format msgid "HardDrive / NFS" msgstr "" -#: standalone/drakbackup:2127 standalone/drakbackup:2132 standalone/drakbackup:2137 +#: standalone/drakbackup:2052 standalone/drakbackup:2057 standalone/drakbackup:2062 #, c-format msgid "hourly" msgstr "" -#: standalone/drakbackup:2128 standalone/drakbackup:2133 standalone/drakbackup:2137 +#: standalone/drakbackup:2053 standalone/drakbackup:2058 standalone/drakbackup:2062 #, c-format msgid "daily" msgstr "" -#: standalone/drakbackup:2129 standalone/drakbackup:2134 standalone/drakbackup:2137 +#: standalone/drakbackup:2054 standalone/drakbackup:2059 standalone/drakbackup:2062 #, c-format msgid "weekly" msgstr "" -#: standalone/drakbackup:2130 standalone/drakbackup:2135 standalone/drakbackup:2137 +#: standalone/drakbackup:2055 standalone/drakbackup:2060 standalone/drakbackup:2062 #, c-format msgid "monthly" msgstr "" -#: standalone/drakbackup:2131 standalone/drakbackup:2136 standalone/drakbackup:2137 +#: standalone/drakbackup:2056 standalone/drakbackup:2061 standalone/drakbackup:2062 #, c-format msgid "custom" msgstr "" -#: standalone/drakbackup:2142 +#: standalone/drakbackup:2067 #, c-format msgid "January" msgstr "" -#: standalone/drakbackup:2142 +#: standalone/drakbackup:2067 #, c-format msgid "February" msgstr "" -#: standalone/drakbackup:2142 +#: standalone/drakbackup:2067 #, c-format msgid "March" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "April" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "May" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "June" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "July" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "August" msgstr "" -#: standalone/drakbackup:2143 +#: standalone/drakbackup:2068 #, c-format msgid "September" msgstr "" -#: standalone/drakbackup:2144 +#: standalone/drakbackup:2069 #, c-format msgid "October" msgstr "" -#: standalone/drakbackup:2144 +#: standalone/drakbackup:2069 #, c-format msgid "November" msgstr "" -#: standalone/drakbackup:2144 +#: standalone/drakbackup:2069 #, c-format msgid "December" msgstr "" -#: standalone/drakbackup:2149 +#: standalone/drakbackup:2074 #, c-format msgid "Sunday" msgstr "" -#: standalone/drakbackup:2149 +#: standalone/drakbackup:2074 #, c-format msgid "Monday" msgstr "" -#: standalone/drakbackup:2149 +#: standalone/drakbackup:2074 #, c-format msgid "Tuesday" msgstr "" -#: standalone/drakbackup:2150 +#: standalone/drakbackup:2075 #, c-format msgid "Wednesday" msgstr "" -#: standalone/drakbackup:2150 +#: standalone/drakbackup:2075 #, c-format msgid "Thursday" msgstr "" -#: standalone/drakbackup:2150 +#: standalone/drakbackup:2075 #, c-format msgid "Friday" msgstr "" -#: standalone/drakbackup:2150 +#: standalone/drakbackup:2075 #, c-format msgid "Saturday" msgstr "" -#: standalone/drakbackup:2185 +#: standalone/drakbackup:2110 #, c-format msgid "Use daemon" msgstr "" -#: standalone/drakbackup:2190 +#: standalone/drakbackup:2115 #, c-format msgid "Please choose the time interval between each backup" msgstr "" -#: standalone/drakbackup:2196 +#: standalone/drakbackup:2121 #, c-format msgid "Custom setup/crontab entry:" msgstr "" -#: standalone/drakbackup:2201 +#: standalone/drakbackup:2126 #, c-format msgid "Minute" msgstr "" -#: standalone/drakbackup:2205 +#: standalone/drakbackup:2130 #, c-format msgid "Hour" msgstr "" -#: standalone/drakbackup:2209 +#: standalone/drakbackup:2134 #, c-format msgid "Day" msgstr "" -#: standalone/drakbackup:2213 +#: standalone/drakbackup:2138 #, c-format msgid "Month" msgstr "" -#: standalone/drakbackup:2217 +#: standalone/drakbackup:2142 #, c-format msgid "Weekday" msgstr "" -#: standalone/drakbackup:2223 +#: standalone/drakbackup:2148 #, c-format msgid "Please choose the media for backup." msgstr "" -#: standalone/drakbackup:2230 +#: standalone/drakbackup:2155 #, c-format msgid "Please be sure that the cron daemon is included in your services." msgstr "" -#: standalone/drakbackup:2231 +#: standalone/drakbackup:2156 #, c-format msgid "Note that currently all 'net' media also use the hard drive." msgstr "" -#: standalone/drakbackup:2281 +#: standalone/drakbackup:2206 #, c-format msgid "Please choose the compression type" msgstr "" -#: standalone/drakbackup:2285 +#: standalone/drakbackup:2210 #, c-format msgid "Use .backupignore files" msgstr "" -#: standalone/drakbackup:2287 +#: standalone/drakbackup:2212 #, c-format msgid "Send mail report after each backup to:" msgstr "" -#: standalone/drakbackup:2293 +#: standalone/drakbackup:2218 #, c-format msgid "SMTP server for mail:" msgstr "" -#: standalone/drakbackup:2298 +#: standalone/drakbackup:2223 #, c-format msgid "Delete Hard Drive tar files after backup to other media." msgstr "" -#: standalone/drakbackup:2338 +#: standalone/drakbackup:2263 #, c-format msgid "What" msgstr "" -#: standalone/drakbackup:2343 +#: standalone/drakbackup:2268 #, c-format msgid "Where" msgstr "" -#: standalone/drakbackup:2348 +#: standalone/drakbackup:2273 #, c-format msgid "When" msgstr "" -#: standalone/drakbackup:2353 +#: standalone/drakbackup:2278 #, c-format msgid "More Options" msgstr "" -#: standalone/drakbackup:2366 +#: standalone/drakbackup:2291 #, c-format msgid "Backup destination not configured..." msgstr "" -#: standalone/drakbackup:2385 standalone/drakbackup:4413 +#: standalone/drakbackup:2309 standalone/drakbackup:4233 #, c-format msgid "Drakbackup Configuration" msgstr "" -#: standalone/drakbackup:2402 +#: standalone/drakbackup:2325 #, c-format msgid "Please choose where you want to backup" msgstr "" -#: standalone/drakbackup:2404 +#: standalone/drakbackup:2327 #, c-format msgid "Hard Drive used to prepare backups for all media" msgstr "" -#: standalone/drakbackup:2412 +#: standalone/drakbackup:2335 #, c-format msgid "Across Network" msgstr "" -#: standalone/drakbackup:2420 +#: standalone/drakbackup:2343 #, c-format msgid "On CD-R" msgstr "" -#: standalone/drakbackup:2428 +#: standalone/drakbackup:2351 #, c-format msgid "On Tape Device" msgstr "" -#: standalone/drakbackup:2468 +#: standalone/drakbackup:2390 #, c-format msgid "Backup Users" msgstr "" -#: standalone/drakbackup:2469 +#: standalone/drakbackup:2391 #, c-format msgid " (Default is all users)" msgstr "" -#: standalone/drakbackup:2481 +#: standalone/drakbackup:2403 #, c-format msgid "Please choose what you want to backup" msgstr "" -#: standalone/drakbackup:2482 +#: standalone/drakbackup:2404 #, c-format msgid "Backup System" msgstr "" -#: standalone/drakbackup:2484 +#: standalone/drakbackup:2406 #, c-format msgid "Select user manually" msgstr "" -#: standalone/drakbackup:2513 +#: standalone/drakbackup:2435 #, c-format msgid "Please select data to backup..." msgstr "" -#: standalone/drakbackup:2585 +#: standalone/drakbackup:2507 #, c-format msgid "" "\n" @@ -14432,7 +15020,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2586 +#: standalone/drakbackup:2508 #, c-format msgid "" "\n" @@ -14440,7 +15028,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2588 +#: standalone/drakbackup:2510 #, c-format msgid "" "\n" @@ -14448,7 +15036,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2590 +#: standalone/drakbackup:2512 #, c-format msgid "" "\n" @@ -14456,7 +15044,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2592 +#: standalone/drakbackup:2514 #, c-format msgid "" "\n" @@ -14464,14 +15052,14 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2593 +#: standalone/drakbackup:2515 #, c-format msgid "" "\tLimit disk usage to %s MB\n" "" msgstr "" -#: standalone/drakbackup:2596 +#: standalone/drakbackup:2518 #, c-format msgid "" "\n" @@ -14479,51 +15067,51 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2600 +#: standalone/drakbackup:2522 #, c-format msgid "NO" msgstr "" -#: standalone/drakbackup:2601 +#: standalone/drakbackup:2523 #, c-format msgid "YES" msgstr "" -#: standalone/drakbackup:2602 +#: standalone/drakbackup:2524 #, c-format msgid "" "\n" "- Burn to CD" msgstr "" -#: standalone/drakbackup:2603 +#: standalone/drakbackup:2525 #, c-format msgid "RW" msgstr "" -#: standalone/drakbackup:2604 +#: standalone/drakbackup:2526 #, c-format msgid " on device: %s" msgstr "" -#: standalone/drakbackup:2605 +#: standalone/drakbackup:2527 #, c-format msgid " (multi-session)" msgstr "" -#: standalone/drakbackup:2606 +#: standalone/drakbackup:2528 #, c-format msgid "" "\n" "- Save to Tape on device: %s" msgstr "" -#: standalone/drakbackup:2607 +#: standalone/drakbackup:2529 #, c-format msgid "\t\tErase=%s" msgstr "" -#: standalone/drakbackup:2610 +#: standalone/drakbackup:2532 #, c-format msgid "" "\n" @@ -14531,7 +15119,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2611 +#: standalone/drakbackup:2533 #, c-format msgid "" "\t\t user name: %s\n" @@ -14539,7 +15127,7 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2612 +#: standalone/drakbackup:2534 #, c-format msgid "" "\n" @@ -14547,56 +15135,56 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2613 +#: standalone/drakbackup:2535 #, c-format msgid "" "\tDo not include System Files\n" "" msgstr "" -#: standalone/drakbackup:2615 +#: standalone/drakbackup:2537 #, c-format msgid "" "\tBackups use tar and bzip2\n" "" msgstr "" -#: standalone/drakbackup:2616 +#: standalone/drakbackup:2538 #, c-format msgid "" "\tBackups use tar and gzip\n" "" msgstr "" -#: standalone/drakbackup:2617 +#: standalone/drakbackup:2539 #, c-format msgid "" "\tBackups use tar only\n" "" msgstr "" -#: standalone/drakbackup:2619 +#: standalone/drakbackup:2541 #, c-format msgid "" "\tUse .backupignore files\n" "" msgstr "" -#: standalone/drakbackup:2620 +#: standalone/drakbackup:2542 #, c-format msgid "" "\tSend mail to %s\n" "" msgstr "" -#: standalone/drakbackup:2621 +#: standalone/drakbackup:2543 #, c-format msgid "" "\tUsing SMTP server %s\n" "" msgstr "" -#: standalone/drakbackup:2623 +#: standalone/drakbackup:2545 #, c-format msgid "" "\n" @@ -14604,63 +15192,63 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2624 +#: standalone/drakbackup:2546 #, c-format msgid "" "\t-Hard drive.\n" "" msgstr "" -#: standalone/drakbackup:2625 +#: standalone/drakbackup:2547 #, c-format msgid "" "\t-CD-R.\n" "" msgstr "" -#: standalone/drakbackup:2626 +#: standalone/drakbackup:2548 #, c-format msgid "" "\t-Tape \n" "" msgstr "" -#: standalone/drakbackup:2627 +#: standalone/drakbackup:2549 #, c-format msgid "" "\t-Network by FTP.\n" "" msgstr "" -#: standalone/drakbackup:2628 +#: standalone/drakbackup:2550 #, c-format msgid "" "\t-Network by SSH.\n" "" msgstr "" -#: standalone/drakbackup:2629 +#: standalone/drakbackup:2551 #, c-format msgid "" "\t-Network by rsync.\n" "" msgstr "" -#: standalone/drakbackup:2630 +#: standalone/drakbackup:2552 #, c-format msgid "" "\t-Network by webdav.\n" "" msgstr "" -#: standalone/drakbackup:2632 +#: standalone/drakbackup:2554 #, c-format msgid "" "No configuration, please click Wizard or Advanced.\n" "" msgstr "" -#: standalone/drakbackup:2637 +#: standalone/drakbackup:2559 #, c-format msgid "" "List of data to restore:\n" @@ -14668,35 +15256,35 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2639 +#: standalone/drakbackup:2561 #, c-format msgid "" "- Restore System Files.\n" "" msgstr "" -#: standalone/drakbackup:2641 standalone/drakbackup:2651 +#: standalone/drakbackup:2563 standalone/drakbackup:2573 #, c-format msgid "" " - from date: %s %s\n" "" msgstr "" -#: standalone/drakbackup:2644 +#: standalone/drakbackup:2566 #, c-format msgid "" "- Restore User Files: \n" "" msgstr "" -#: standalone/drakbackup:2649 +#: standalone/drakbackup:2571 #, c-format msgid "" "- Restore Other Files: \n" "" msgstr "" -#: standalone/drakbackup:2830 +#: standalone/drakbackup:2752 #, c-format msgid "" "List of data corrupted:\n" @@ -14704,403 +15292,403 @@ msgid "" "" msgstr "" -#: standalone/drakbackup:2832 +#: standalone/drakbackup:2754 #, c-format msgid "Please uncheck or remove it on next time." msgstr "" -#: standalone/drakbackup:2842 +#: standalone/drakbackup:2764 #, c-format msgid "Backup files are corrupted" msgstr "" -#: standalone/drakbackup:2863 +#: standalone/drakbackup:2785 #, c-format msgid " All of your selected data have been " msgstr "" -#: standalone/drakbackup:2864 +#: standalone/drakbackup:2786 #, c-format msgid " Successfuly Restored on %s " msgstr "" -#: standalone/drakbackup:2987 +#: standalone/drakbackup:2906 #, c-format msgid " Restore Configuration " msgstr "" -#: standalone/drakbackup:3015 +#: standalone/drakbackup:2934 #, c-format msgid "OK to restore the other files." msgstr "" -#: standalone/drakbackup:3031 +#: standalone/drakbackup:2950 #, c-format msgid "User list to restore (only the most recent date per user is important)" msgstr "" -#: standalone/drakbackup:3098 +#: standalone/drakbackup:3017 #, c-format msgid "Please choose the date to restore:" msgstr "" -#: standalone/drakbackup:3135 +#: standalone/drakbackup:3054 #, c-format msgid "Restore from Hard Disk." msgstr "" -#: standalone/drakbackup:3137 +#: standalone/drakbackup:3056 #, c-format msgid "Enter the directory where backups are stored" msgstr "" -#: standalone/drakbackup:3141 +#: standalone/drakbackup:3060 #, c-format msgid "Directory with backups" msgstr "" -#: standalone/drakbackup:3194 +#: standalone/drakbackup:3114 #, c-format msgid "Select another media to restore from" msgstr "" -#: standalone/drakbackup:3196 +#: standalone/drakbackup:3116 #, c-format msgid "Other Media" msgstr "" -#: standalone/drakbackup:3201 +#: standalone/drakbackup:3121 #, c-format msgid "Restore system" msgstr "" -#: standalone/drakbackup:3202 +#: standalone/drakbackup:3122 #, c-format msgid "Restore Users" msgstr "" -#: standalone/drakbackup:3203 +#: standalone/drakbackup:3123 #, c-format msgid "Restore Other" msgstr "" -#: standalone/drakbackup:3205 +#: standalone/drakbackup:3125 #, c-format msgid "Select path to restore (instead of /)" msgstr "" -#: standalone/drakbackup:3209 standalone/drakbackup:3490 +#: standalone/drakbackup:3129 standalone/drakbackup:3412 #, c-format msgid "Path To Restore To" msgstr "" -#: standalone/drakbackup:3212 +#: standalone/drakbackup:3132 #, c-format msgid "Do new backup before restore (only for incremental backups.)" msgstr "" -#: standalone/drakbackup:3214 +#: standalone/drakbackup:3134 #, c-format msgid "Remove user directories before restore." msgstr "" -#: standalone/drakbackup:3298 +#: standalone/drakbackup:3219 #, c-format msgid "Filename text substring to search for (empty string matches all):" msgstr "" -#: standalone/drakbackup:3301 +#: standalone/drakbackup:3222 #, c-format msgid "Search Backups" msgstr "" -#: standalone/drakbackup:3320 +#: standalone/drakbackup:3241 #, c-format msgid "No matches found..." msgstr "" -#: standalone/drakbackup:3324 +#: standalone/drakbackup:3245 #, c-format msgid "Restore Selected" msgstr "" -#: standalone/drakbackup:3458 +#: standalone/drakbackup:3380 #, c-format msgid "" "Click date/time to see backup files.\n" "Ctrl-Click files to select multiple files." msgstr "" -#: standalone/drakbackup:3464 +#: standalone/drakbackup:3386 #, c-format msgid "" "Restore Selected\n" "Catalog Entry" msgstr "" -#: standalone/drakbackup:3473 +#: standalone/drakbackup:3395 #, c-format msgid "" "Restore Selected\n" "Files" msgstr "" -#: standalone/drakbackup:3550 +#: standalone/drakbackup:3472 #, c-format msgid "Backup files not found at %s." msgstr "" -#: standalone/drakbackup:3563 +#: standalone/drakbackup:3485 #, c-format msgid "Restore From CD" msgstr "" -#: standalone/drakbackup:3563 +#: standalone/drakbackup:3485 #, c-format msgid "" "Insert the CD with volume label %s\n" " in the CD drive under mount point /mnt/cdrom" msgstr "" -#: standalone/drakbackup:3565 +#: standalone/drakbackup:3487 #, c-format msgid "Not the correct CD label. Disk is labelled %s." msgstr "" -#: standalone/drakbackup:3575 +#: standalone/drakbackup:3497 #, c-format msgid "Restore From Tape" msgstr "" -#: standalone/drakbackup:3575 +#: standalone/drakbackup:3497 #, c-format msgid "" "Insert the tape with volume label %s\n" " in the tape drive device %s" msgstr "" -#: standalone/drakbackup:3577 +#: standalone/drakbackup:3499 #, c-format msgid "Not the correct tape label. Tape is labelled %s." msgstr "" -#: standalone/drakbackup:3588 +#: standalone/drakbackup:3510 #, c-format msgid "Restore Via Network" msgstr "" -#: standalone/drakbackup:3588 +#: standalone/drakbackup:3510 #, c-format msgid "Restore Via Network Protocol: %s" msgstr "" -#: standalone/drakbackup:3589 +#: standalone/drakbackup:3511 #, c-format msgid "Host Name" msgstr "" -#: standalone/drakbackup:3590 +#: standalone/drakbackup:3512 #, c-format msgid "Host Path or Module" msgstr "" -#: standalone/drakbackup:3597 +#: standalone/drakbackup:3519 #, c-format msgid "Password required" msgstr "" -#: standalone/drakbackup:3603 +#: standalone/drakbackup:3525 #, c-format msgid "Username required" msgstr "" -#: standalone/drakbackup:3606 +#: standalone/drakbackup:3528 #, c-format msgid "Hostname required" msgstr "" -#: standalone/drakbackup:3611 +#: standalone/drakbackup:3533 #, c-format msgid "Path or Module required" msgstr "" -#: standalone/drakbackup:3624 +#: standalone/drakbackup:3546 #, c-format msgid "Files Restored..." msgstr "" -#: standalone/drakbackup:3627 +#: standalone/drakbackup:3549 #, c-format msgid "Restore Failed..." msgstr "" -#: standalone/drakbackup:3737 standalone/drakbackup:3754 +#: standalone/drakbackup:3567 #, c-format msgid "%s not retrieved..." msgstr "" -#: standalone/drakbackup:3880 standalone/drakbackup:3953 +#: standalone/drakbackup:3769 standalone/drakbackup:3838 #, c-format msgid "Search for files to restore" msgstr "" -#: standalone/drakbackup:3885 +#: standalone/drakbackup:3773 #, c-format msgid "Restore all backups" msgstr "" -#: standalone/drakbackup:3894 +#: standalone/drakbackup:3781 #, c-format msgid "Custom Restore" msgstr "" -#: standalone/drakbackup:3899 standalone/drakbackup:3949 +#: standalone/drakbackup:3785 standalone/drakbackup:3834 #, c-format msgid "Restore From Catalog" msgstr "" -#: standalone/drakbackup:3921 +#: standalone/drakbackup:3806 #, c-format msgid "" "Unable to find backups to restore...\n" "" msgstr "" -#: standalone/drakbackup:3922 +#: standalone/drakbackup:3807 #, c-format msgid "Verify that %s is the correct path" msgstr "" -#: standalone/drakbackup:3923 +#: standalone/drakbackup:3808 #, c-format msgid " and the CD is in the drive" msgstr "" -#: standalone/drakbackup:3925 +#: standalone/drakbackup:3810 #, c-format msgid "Backups on unmountable media - Use Catalog to restore" msgstr "" -#: standalone/drakbackup:3941 +#: standalone/drakbackup:3826 #, c-format msgid "CD in place - continue." msgstr "" -#: standalone/drakbackup:3946 +#: standalone/drakbackup:3831 #, c-format msgid "Browse to new restore repository." msgstr "" -#: standalone/drakbackup:3947 +#: standalone/drakbackup:3832 #, c-format msgid "Directory To Restore From" msgstr "" -#: standalone/drakbackup:3986 +#: standalone/drakbackup:3868 #, c-format msgid "Restore Progress" msgstr "" -#: standalone/drakbackup:4016 standalone/drakbackup:4123 standalone/logdrake:174 +#: standalone/drakbackup:3923 standalone/drakbackup:3996 standalone/logdrake:174 #, c-format msgid "Save" msgstr "" -#: standalone/drakbackup:4099 +#: standalone/drakbackup:3979 #, c-format msgid "Build Backup" msgstr "" -#: standalone/drakbackup:4147 standalone/drakbackup:4512 +#: standalone/drakbackup:4012 standalone/drakbackup:4332 #, c-format msgid "Restore" msgstr "" -#: standalone/drakbackup:4277 +#: standalone/drakbackup:4100 #, c-format msgid "" "The following packages need to be installed:\n" "" msgstr "" -#: standalone/drakbackup:4304 +#: standalone/drakbackup:4127 #, c-format msgid "Please select data to restore..." msgstr "" -#: standalone/drakbackup:4344 +#: standalone/drakbackup:4167 #, c-format msgid "Backup system files" msgstr "" -#: standalone/drakbackup:4347 +#: standalone/drakbackup:4170 #, c-format msgid "Backup user files" msgstr "" -#: standalone/drakbackup:4350 +#: standalone/drakbackup:4173 #, c-format msgid "Backup other files" msgstr "" -#: standalone/drakbackup:4353 standalone/drakbackup:4389 +#: standalone/drakbackup:4176 standalone/drakbackup:4210 #, c-format msgid "Total Progress" msgstr "" -#: standalone/drakbackup:4381 +#: standalone/drakbackup:4202 #, c-format msgid "Sending files by FTP" msgstr "" -#: standalone/drakbackup:4384 +#: standalone/drakbackup:4205 #, c-format msgid "Sending files..." msgstr "" -#: standalone/drakbackup:4455 +#: standalone/drakbackup:4275 #, c-format msgid "Backup Now from configuration file" msgstr "" -#: standalone/drakbackup:4460 +#: standalone/drakbackup:4280 #, c-format msgid "View Backup Configuration." msgstr "" -#: standalone/drakbackup:4486 +#: standalone/drakbackup:4306 #, c-format msgid "Wizard Configuration" msgstr "" -#: standalone/drakbackup:4491 +#: standalone/drakbackup:4311 #, c-format msgid "Advanced Configuration" msgstr "" -#: standalone/drakbackup:4496 +#: standalone/drakbackup:4316 #, c-format msgid "View Configuration" msgstr "" -#: standalone/drakbackup:4500 +#: standalone/drakbackup:4320 #, c-format msgid "View Last Log" msgstr "" -#: standalone/drakbackup:4505 +#: standalone/drakbackup:4325 #, c-format msgid "Backup Now" msgstr "" -#: standalone/drakbackup:4509 +#: standalone/drakbackup:4329 #, c-format msgid "" "No configuration file found \n" "please click Wizard or Advanced." msgstr "" -#: standalone/drakbackup:4530 standalone/drakbackup:4533 +#: standalone/drakbackup:4349 standalone/drakbackup:4352 #, c-format msgid "Drakbackup" msgstr "" @@ -15437,7 +16025,7 @@ msgstr "" msgid "Reset" msgstr "" -#: standalone/drakclock:212 +#: standalone/drakclock:214 #, c-format msgid "" "We need to install ntp package\n" @@ -15451,17 +16039,17 @@ msgstr "" msgid "Network configuration (%d adapters)" msgstr "" -#: standalone/drakconnect:92 standalone/drakconnect:738 +#: standalone/drakconnect:92 standalone/drakconnect:750 #, c-format msgid "Gateway:" msgstr "" -#: standalone/drakconnect:92 standalone/drakconnect:738 +#: standalone/drakconnect:92 standalone/drakconnect:750 #, c-format msgid "Interface:" msgstr "" -#: standalone/drakconnect:96 standalone/net_monitor:105 +#: standalone/drakconnect:96 standalone/net_monitor:106 #, c-format msgid "Wait please" msgstr "" @@ -15491,7 +16079,7 @@ msgstr "" msgid "Configure hostname..." msgstr "" -#: standalone/drakconnect:149 standalone/drakconnect:779 +#: standalone/drakconnect:149 standalone/drakconnect:791 #, c-format msgid "LAN configuration" msgstr "" @@ -15501,7 +16089,7 @@ msgstr "" msgid "Configure Local Area Network..." msgstr "" -#: standalone/drakconnect:162 standalone/drakconnect:237 standalone/drakconnect:241 +#: standalone/drakconnect:162 standalone/drakconnect:240 standalone/drakconnect:244 #, c-format msgid "Apply" msgstr "" @@ -15511,127 +16099,122 @@ msgstr "" msgid "Manage connections" msgstr "" -#: standalone/drakconnect:263 standalone/drakconnect:272 standalone/drakconnect:292 standalone/drakconnect:298 standalone/drakconnect:308 standalone/drakconnect:309 standalone/drakconnect:576 +#: standalone/drakconnect:218 #, c-format -msgid "TCP/IP" +msgid "Device selected" msgstr "" -#: standalone/drakconnect:263 standalone/drakconnect:272 standalone/drakconnect:292 standalone/drakconnect:444 standalone/drakconnect:448 standalone/drakconnect:576 +#: standalone/drakconnect:313 #, c-format -msgid "Account" +msgid "IP configuration" msgstr "" -#: standalone/drakconnect:298 standalone/drakconnect:370 standalone/drakconnect:371 standalone/drakconnect:576 -#, c-format -msgid "Wireless" -msgstr "" - -#: standalone/drakconnect:344 +#: standalone/drakconnect:350 #, c-format msgid "DNS servers" msgstr "" -#: standalone/drakconnect:351 +#: standalone/drakconnect:358 #, c-format msgid "Search Domain" msgstr "" -#: standalone/drakconnect:359 +#: standalone/drakconnect:366 #, c-format msgid "static" msgstr "" -#: standalone/drakconnect:359 +#: standalone/drakconnect:366 #, c-format msgid "DHCP" msgstr "" -#: standalone/drakconnect:482 +#: standalone/drakconnect:492 #, c-format msgid "Flow control" msgstr "" -#: standalone/drakconnect:483 +#: standalone/drakconnect:493 #, c-format msgid "Line termination" msgstr "" -#: standalone/drakconnect:493 +#: standalone/drakconnect:504 #, c-format -msgid "Use lock file" +msgid "Modem timeout" msgstr "" -#: standalone/drakconnect:496 +#: standalone/drakconnect:508 #, c-format -msgid "Modem timeout" +msgid "Use lock file" msgstr "" -#: standalone/drakconnect:500 +#: standalone/drakconnect:510 #, c-format msgid "Wait for dialup tone before dialing" msgstr "" -#: standalone/drakconnect:503 +#: standalone/drakconnect:513 #, c-format msgid "Busy wait" msgstr "" -#: standalone/drakconnect:507 +#: standalone/drakconnect:518 #, c-format msgid "Modem sound" msgstr "" -#: standalone/drakconnect:508 +#: standalone/drakconnect:519 #, c-format msgid "Enable" msgstr "" -#: standalone/drakconnect:508 +#: standalone/drakconnect:519 #, c-format msgid "Disable" msgstr "" -#: standalone/drakconnect:558 standalone/harddrake2:58 +#: standalone/drakconnect:570 standalone/harddrake2:58 #, c-format msgid "Media class" msgstr "" -#: standalone/drakconnect:559 standalone/drakfloppy:140 +#: standalone/drakconnect:571 standalone/drakfloppy:140 #, c-format msgid "Module name" msgstr "" -#: standalone/drakconnect:560 +#: standalone/drakconnect:572 #, c-format msgid "Mac Address" msgstr "" -#: standalone/drakconnect:561 standalone/harddrake2:21 +#: standalone/drakconnect:573 standalone/harddrake2:21 #, c-format msgid "Bus" msgstr "" -#: standalone/drakconnect:562 standalone/harddrake2:29 +#: standalone/drakconnect:574 standalone/harddrake2:29 #, c-format msgid "Location on the bus" msgstr "" -#: standalone/drakconnect:632 standalone/drakgw:248 standalone/drakpxe:138 +#: standalone/drakconnect:644 standalone/drakgw:248 standalone/drakpxe:138 #, c-format msgid "No ethernet network adapter has been detected on your system. Please run the hardware configuration tool." msgstr "" -#: standalone/drakconnect:638 +#: standalone/drakconnect:650 #, c-format msgid "Remove a network interface" msgstr "" -#: standalone/drakconnect:642 +#: standalone/drakconnect:654 #, c-format msgid "Select the network interface to remove:" msgstr "" -#: standalone/drakconnect:666 +#: standalone/drakconnect:678 #, c-format msgid "" "An error occured while deleting the \"%s\" network interface:\n" @@ -15639,133 +16222,133 @@ msgid "" "%s" msgstr "" -#: standalone/drakconnect:668 +#: standalone/drakconnect:680 #, c-format msgid "Congratulations, the \"%s\" network interface has been succesfully deleted" msgstr "" -#: standalone/drakconnect:685 +#: standalone/drakconnect:697 #, c-format msgid "No Ip" msgstr "" -#: standalone/drakconnect:686 +#: standalone/drakconnect:698 #, c-format msgid "No Mask" msgstr "" -#: standalone/drakconnect:687 standalone/drakconnect:850 +#: standalone/drakconnect:699 standalone/drakconnect:862 #, c-format msgid "up" msgstr "" -#: standalone/drakconnect:687 standalone/drakconnect:850 +#: standalone/drakconnect:699 standalone/drakconnect:862 #, c-format msgid "down" msgstr "" -#: standalone/drakconnect:728 standalone/net_monitor:415 +#: standalone/drakconnect:740 standalone/net_monitor:419 #, c-format msgid "Connected" msgstr "" -#: standalone/drakconnect:728 standalone/net_monitor:415 +#: standalone/drakconnect:740 standalone/net_monitor:419 #, c-format msgid "Not connected" msgstr "" -#: standalone/drakconnect:730 +#: standalone/drakconnect:742 #, c-format msgid "Disconnect..." msgstr "" -#: standalone/drakconnect:730 +#: standalone/drakconnect:742 #, c-format msgid "Connect..." msgstr "" -#: standalone/drakconnect:759 +#: standalone/drakconnect:771 #, c-format msgid "Warning, another Internet connection has been detected, maybe using your network" msgstr "" -#: standalone/drakconnect:775 +#: standalone/drakconnect:787 #, c-format msgid "Deactivate now" msgstr "" -#: standalone/drakconnect:775 +#: standalone/drakconnect:787 #, c-format msgid "Activate now" msgstr "" -#: standalone/drakconnect:783 +#: standalone/drakconnect:795 #, c-format msgid "" "You don't have any configured interface.\n" "Configure them first by clicking on 'Configure'" msgstr "" -#: standalone/drakconnect:797 +#: standalone/drakconnect:809 #, c-format msgid "LAN Configuration" msgstr "" -#: standalone/drakconnect:809 +#: standalone/drakconnect:821 #, c-format msgid "Adapter %s: %s" msgstr "" -#: standalone/drakconnect:818 +#: standalone/drakconnect:830 #, c-format msgid "Boot Protocol" msgstr "" -#: standalone/drakconnect:819 +#: standalone/drakconnect:831 #, c-format msgid "Started on boot" msgstr "" -#: standalone/drakconnect:855 +#: standalone/drakconnect:867 #, c-format msgid "" "This interface has not been configured yet.\n" "Run the \"Add an interface\" assistant from the Mandrake Control Center" msgstr "" -#: standalone/drakconnect:910 +#: standalone/drakconnect:922 #, c-format msgid "" "You don't have any configured Internet connection.\n" "Please run \"Internet access\" in control center." msgstr "" -#: standalone/drakconnect:918 +#: standalone/drakconnect:930 #, c-format msgid "Internet connection configuration" msgstr "" -#: standalone/drakconnect:936 +#: standalone/drakconnect:948 #, c-format msgid "Third DNS server (optional)" msgstr "" -#: standalone/drakconnect:958 +#: standalone/drakconnect:970 #, c-format msgid "Internet Connection Configuration" msgstr "" -#: standalone/drakconnect:959 +#: standalone/drakconnect:971 #, c-format msgid "Internet access" msgstr "" -#: standalone/drakconnect:961 standalone/net_monitor:87 +#: standalone/drakconnect:973 standalone/net_monitor:88 #, c-format msgid "Connection type: " msgstr "" -#: standalone/drakconnect:964 +#: standalone/drakconnect:976 #, c-format msgid "Status:" msgstr "" @@ -17072,7 +17655,7 @@ msgstr "" msgid "Make kernel message quiet by default" msgstr "" -#: standalone/draksplash:161 standalone/draksplash:319 standalone/draksplash:462 +#: standalone/draksplash:161 standalone/draksplash:319 standalone/draksplash:464 #, c-format msgid "Notice" msgstr "" @@ -17092,22 +17675,22 @@ msgstr "" msgid "saving Bootsplash theme..." msgstr "" -#: standalone/draksplash:443 +#: standalone/draksplash:445 #, c-format msgid "ProgressBar color selection" msgstr "" -#: standalone/draksplash:462 +#: standalone/draksplash:464 #, c-format msgid "You must choose an image file first!" msgstr "" -#: standalone/draksplash:467 +#: standalone/draksplash:469 #, c-format msgid "Generating preview ..." msgstr "" -#: standalone/draksplash:512 +#: standalone/draksplash:514 #, c-format msgid "%s BootSplash (%s) preview" msgstr "" @@ -19145,7 +19728,7 @@ msgstr "" msgid "A tool to monitor your logs" msgstr "" -#: standalone/logdrake:130 standalone/net_monitor:85 +#: standalone/logdrake:130 standalone/net_monitor:86 #, c-format msgid "Settings" msgstr "" @@ -19336,135 +19919,135 @@ msgstr "" msgid "Please test your mouse:" msgstr "" -#: standalone/net_monitor:51 standalone/net_monitor:56 +#: standalone/net_monitor:52 standalone/net_monitor:57 #, c-format msgid "Network Monitoring" msgstr "" -#: standalone/net_monitor:91 +#: standalone/net_monitor:92 #, c-format msgid "Global statistics" msgstr "" -#: standalone/net_monitor:94 +#: standalone/net_monitor:95 #, c-format msgid "Instantaneous" msgstr "" -#: standalone/net_monitor:94 +#: standalone/net_monitor:95 #, c-format msgid "Average" msgstr "" -#: standalone/net_monitor:95 +#: standalone/net_monitor:96 #, c-format msgid "" "Sending\n" "speed:" msgstr "" -#: standalone/net_monitor:96 +#: standalone/net_monitor:97 #, c-format msgid "" "Receiving\n" "speed:" msgstr "" -#: standalone/net_monitor:99 +#: standalone/net_monitor:100 #, c-format msgid "" "Connection\n" "time: " msgstr "" -#: standalone/net_monitor:121 +#: standalone/net_monitor:122 #, c-format msgid "Wait please, testing your connection..." msgstr "" -#: standalone/net_monitor:149 standalone/net_monitor:162 +#: standalone/net_monitor:150 standalone/net_monitor:163 #, c-format msgid "Disconnecting from Internet " msgstr "" -#: standalone/net_monitor:149 standalone/net_monitor:162 +#: standalone/net_monitor:150 standalone/net_monitor:163 #, c-format msgid "Connecting to Internet " msgstr "" -#: standalone/net_monitor:193 +#: standalone/net_monitor:194 #, c-format msgid "Disconnection from Internet failed." msgstr "" -#: standalone/net_monitor:194 +#: standalone/net_monitor:195 #, c-format msgid "Disconnection from Internet complete." msgstr "" -#: standalone/net_monitor:196 +#: standalone/net_monitor:197 #, c-format msgid "Connection complete." msgstr "" -#: standalone/net_monitor:197 +#: standalone/net_monitor:198 #, c-format msgid "" "Connection failed.\n" "Verify your configuration in the Mandrake Control Center." msgstr "" -#: standalone/net_monitor:295 +#: standalone/net_monitor:299 #, c-format msgid "Color configuration" msgstr "" -#: standalone/net_monitor:343 standalone/net_monitor:363 +#: standalone/net_monitor:347 standalone/net_monitor:367 #, c-format msgid "sent: " msgstr "" -#: standalone/net_monitor:350 standalone/net_monitor:367 +#: standalone/net_monitor:354 standalone/net_monitor:371 #, c-format msgid "received: " msgstr "" -#: standalone/net_monitor:357 +#: standalone/net_monitor:361 #, c-format msgid "average" msgstr "" -#: standalone/net_monitor:360 +#: standalone/net_monitor:364 #, c-format msgid "Local measure" msgstr "" -#: standalone/net_monitor:392 +#: standalone/net_monitor:396 #, c-format msgid "transmitted" msgstr "" -#: standalone/net_monitor:393 +#: standalone/net_monitor:397 #, c-format msgid "received" msgstr "" -#: standalone/net_monitor:411 +#: standalone/net_monitor:415 #, c-format msgid "Warning, another internet connection has been detected, maybe using your network" msgstr "" -#: standalone/net_monitor:417 +#: standalone/net_monitor:421 #, c-format msgid "Disconnect %s" msgstr "" -#: standalone/net_monitor:417 +#: standalone/net_monitor:421 #, c-format msgid "Connect %s" msgstr "" -#: standalone/net_monitor:422 +#: standalone/net_monitor:426 #, c-format msgid "No internet connection configured" msgstr "" @@ -19639,17 +20222,17 @@ msgstr "" msgid "Scannerdrake will not be started now." msgstr "" -#: standalone/scannerdrake:66 standalone/scannerdrake:459 +#: standalone/scannerdrake:66 standalone/scannerdrake:464 #, c-format msgid "Searching for configured scanners ..." msgstr "" -#: standalone/scannerdrake:70 standalone/scannerdrake:463 +#: standalone/scannerdrake:70 standalone/scannerdrake:468 #, c-format msgid "Searching for new scanners ..." msgstr "" -#: standalone/scannerdrake:78 standalone/scannerdrake:485 +#: standalone/scannerdrake:78 standalone/scannerdrake:490 #, c-format msgid "Re-generating list of configured scanners ..." msgstr "" @@ -19764,56 +20347,61 @@ msgstr "" msgid "Select firmware file for the %s" msgstr "" -#: standalone/scannerdrake:282 +#: standalone/scannerdrake:274 +#, c-format +msgid "Could not install the firmware file for the %s!" +msgstr "" + +#: standalone/scannerdrake:287 #, c-format msgid "The firmware file for your %s was successfully installed." msgstr "" -#: standalone/scannerdrake:292 +#: standalone/scannerdrake:297 #, c-format msgid "The %s is unsupported" msgstr "" -#: standalone/scannerdrake:297 +#: standalone/scannerdrake:302 #, c-format msgid "" "The %s must be configured by printerdrake.\n" "You can launch printerdrake from the %s Control Center in Hardware section." msgstr "" -#: standalone/scannerdrake:301 standalone/scannerdrake:308 standalone/scannerdrake:338 +#: standalone/scannerdrake:306 standalone/scannerdrake:313 standalone/scannerdrake:343 #, c-format msgid "Auto-detect available ports" msgstr "" -#: standalone/scannerdrake:303 standalone/scannerdrake:349 +#: standalone/scannerdrake:308 standalone/scannerdrake:354 #, c-format msgid "Please select the device where your %s is attached" msgstr "" -#: standalone/scannerdrake:304 +#: standalone/scannerdrake:309 #, c-format msgid "(Note: Parallel ports cannot be auto-detected)" msgstr "" -#: standalone/scannerdrake:306 standalone/scannerdrake:351 +#: standalone/scannerdrake:311 standalone/scannerdrake:356 #, c-format msgid "choose device" msgstr "" -#: standalone/scannerdrake:340 +#: standalone/scannerdrake:345 #, c-format msgid "Searching for scanners ..." msgstr "" -#: standalone/scannerdrake:375 +#: standalone/scannerdrake:380 #, c-format msgid "" "Your %s has been configured.\n" "You may now scan documents using \"XSane\" or \"Kooka\" from Multimedia/Graphics in the applications menu." msgstr "" -#: standalone/scannerdrake:399 +#: standalone/scannerdrake:404 #, c-format msgid "" "The following scanners\n" @@ -19823,7 +20411,7 @@ msgid "" "" msgstr "" -#: standalone/scannerdrake:400 +#: standalone/scannerdrake:405 #, c-format msgid "" "The following scanner\n" @@ -19833,133 +20421,133 @@ msgid "" "" msgstr "" -#: standalone/scannerdrake:403 standalone/scannerdrake:406 +#: standalone/scannerdrake:408 standalone/scannerdrake:411 #, c-format msgid "" "There are no scanners found which are available on your system.\n" "" msgstr "" -#: standalone/scannerdrake:420 +#: standalone/scannerdrake:425 #, c-format msgid "Search for new scanners" msgstr "" -#: standalone/scannerdrake:426 +#: standalone/scannerdrake:431 #, c-format msgid "Add a scanner manually" msgstr "" -#: standalone/scannerdrake:433 +#: standalone/scannerdrake:438 #, c-format msgid "Install/Update firmware files" msgstr "" -#: standalone/scannerdrake:439 +#: standalone/scannerdrake:444 #, c-format msgid "Scanner sharing" msgstr "" -#: standalone/scannerdrake:498 standalone/scannerdrake:663 +#: standalone/scannerdrake:503 standalone/scannerdrake:668 #, c-format msgid "All remote machines" msgstr "" -#: standalone/scannerdrake:510 standalone/scannerdrake:813 +#: standalone/scannerdrake:515 standalone/scannerdrake:818 #, c-format msgid "This machine" msgstr "" -#: standalone/scannerdrake:550 +#: standalone/scannerdrake:555 #, c-format msgid "Here you can choose whether the scanners connected to this machine should be accessible by remote machines and by which remote machines." msgstr "" -#: standalone/scannerdrake:551 +#: standalone/scannerdrake:556 #, c-format msgid "You can also decide here whether scanners on remote machines should be made available on this machine." msgstr "" -#: standalone/scannerdrake:554 +#: standalone/scannerdrake:559 #, c-format msgid "The scanners on this machine are available to other computers" msgstr "" -#: standalone/scannerdrake:556 +#: standalone/scannerdrake:561 #, c-format msgid "Scanner sharing to hosts: " msgstr "" -#: standalone/scannerdrake:570 +#: standalone/scannerdrake:575 #, c-format msgid "Use scanners on remote computers" msgstr "" -#: standalone/scannerdrake:573 +#: standalone/scannerdrake:578 #, c-format msgid "Use the scanners on hosts: " msgstr "" -#: standalone/scannerdrake:600 standalone/scannerdrake:672 standalone/scannerdrake:822 +#: standalone/scannerdrake:605 standalone/scannerdrake:677 standalone/scannerdrake:827 #, c-format msgid "Sharing of local scanners" msgstr "" -#: standalone/scannerdrake:601 +#: standalone/scannerdrake:606 #, c-format msgid "These are the machines on which the locally connected scanner(s) should be available:" msgstr "" -#: standalone/scannerdrake:612 standalone/scannerdrake:762 +#: standalone/scannerdrake:617 standalone/scannerdrake:767 #, c-format msgid "Add host" msgstr "" -#: standalone/scannerdrake:618 standalone/scannerdrake:768 +#: standalone/scannerdrake:623 standalone/scannerdrake:773 #, c-format msgid "Edit selected host" msgstr "" -#: standalone/scannerdrake:627 standalone/scannerdrake:777 +#: standalone/scannerdrake:632 standalone/scannerdrake:782 #, c-format msgid "Remove selected host" msgstr "" -#: standalone/scannerdrake:651 standalone/scannerdrake:659 standalone/scannerdrake:664 standalone/scannerdrake:710 standalone/scannerdrake:801 standalone/scannerdrake:809 standalone/scannerdrake:814 standalone/scannerdrake:860 +#: standalone/scannerdrake:656 standalone/scannerdrake:664 standalone/scannerdrake:669 standalone/scannerdrake:715 standalone/scannerdrake:806 standalone/scannerdrake:814 standalone/scannerdrake:819 standalone/scannerdrake:865 #, c-format msgid "Name/IP address of host:" msgstr "" -#: standalone/scannerdrake:673 standalone/scannerdrake:823 +#: standalone/scannerdrake:678 standalone/scannerdrake:828 #, c-format msgid "Choose the host on which the local scanners should be made available:" msgstr "" -#: standalone/scannerdrake:684 standalone/scannerdrake:834 +#: standalone/scannerdrake:689 standalone/scannerdrake:839 #, c-format msgid "" "You must enter a host name or an IP address.\n" "" msgstr "" -#: standalone/scannerdrake:695 standalone/scannerdrake:845 +#: standalone/scannerdrake:700 standalone/scannerdrake:850 #, c-format msgid "" "This host is already in the list, it cannot be added again.\n" "" msgstr "" -#: standalone/scannerdrake:750 +#: standalone/scannerdrake:755 #, c-format msgid "Usage of remote scanners" msgstr "" -#: standalone/scannerdrake:751 +#: standalone/scannerdrake:756 #, c-format msgid "These are the machines from which the scanners should be used:" msgstr "" -#: standalone/scannerdrake:908 +#: standalone/scannerdrake:913 #, c-format msgid "" "saned needs to be installed to share the local scanner(s).\n" @@ -19967,40 +20555,40 @@ msgid "" "Do you want to install the saned package?" msgstr "" -#: standalone/scannerdrake:912 standalone/scannerdrake:916 +#: standalone/scannerdrake:917 standalone/scannerdrake:921 #, c-format msgid "Your scanner(s) will not be available on the network." msgstr "" -#: standalone/service_harddrake:58 +#: standalone/service_harddrake:72 #, c-format msgid "" "Some devices in the \"%s\" hardware class were removed:\n" "" msgstr "" -#: standalone/service_harddrake:59 +#: standalone/service_harddrake:73 #, c-format msgid "" "- %s was removed\n" "" msgstr "" -#: standalone/service_harddrake:62 +#: standalone/service_harddrake:76 #, c-format msgid "" "Some devices were added: %s\n" "" msgstr "" -#: standalone/service_harddrake:63 +#: standalone/service_harddrake:77 #, c-format msgid "" "- %s was added\n" "" msgstr "" -#: standalone/service_harddrake:107 +#: standalone/service_harddrake:141 #, c-format msgid "Hardware probing in progress" msgstr "" @@ -20105,22 +20693,22 @@ msgstr "" msgid "Exit install" msgstr "" -#: ugtk2.pm:1075 +#: ugtk2.pm:1084 #, c-format msgid "Is this correct?" msgstr "" -#: ugtk2.pm:1203 +#: ugtk2.pm:1212 #, c-format msgid "Expand Tree" msgstr "" -#: ugtk2.pm:1204 +#: ugtk2.pm:1213 #, c-format msgid "Collapse Tree" msgstr "" -#: ugtk2.pm:1205 +#: ugtk2.pm:1214 #, c-format msgid "Toggle between flat and group sorted" msgstr "" diff --git a/perl-install/share/po/fr.po b/perl-install/share/po/fr.po deleted file mode 100644 index 0a52f9e3c..000000000 --- a/perl-install/share/po/fr.po +++ /dev/null @@ -1,24701 +0,0 @@ -# translation of DrakX-fr.po to Français -# translation of DrakX-fr.po to french -# Translation file of Mandrake graphic install -# Copyright (C) 1999 Mandrakesoft -# David BAUDENS <baudens@mandrakesoft.com>, 1999-2004 -# David ODIN <odin@mandrakesoft.com>, 2000 -# Pablo Saratxaga <pablo@mandrakesoft.com>, 2001 -# KAtiOS <katios@nolabel.net>, 2001 -# Guillaume Cottenceau <gc@mandrakesoft.com>, 2001-2002 -# Thierry Vignaud <tvignaud@mandrakesoft.com>, 2001-2003 -# Christophe Combelles <ccomb@free.fr>, 2002,2003 -# Stéphane T <steletch@steletch.org> -# Adrien REZER <monsieurdidi@free.fr>, 2003 -# -# 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 tapper sous la plupart des -# éditeurs, vous pouvez utiliser la touche "Compose" puis en tappant -# 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 tapper, 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. -msgid "" -msgstr "" -"Project-Id-Version: DrakX-fr\n" -"POT-Creation-Date: 2004-04-01 15:07+0200\n" -"PO-Revision-Date: 2004-04-28 10:39+0200\n" -"Last-Translator: David Baudens <baudens@mandrakesoft.com>\n" -"Language-Team: Français <fr@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.0.1\n" - -#: ../move/move.pm:359 -#, c-format -msgid "" -"Your USB key doesn't have any valid Windows (FAT) partitions.\n" -"We need one to continue (beside, it's more standard so that you\n" -"will be able to move and access your files from machines\n" -"running Windows). Please plug in an USB key containing a\n" -"Windows partition instead.\n" -"\n" -"\n" -"You may also proceed without an USB key - you'll still be\n" -"able to use Mandrake Move as a normal live Mandrake\n" -"Operating System." -msgstr "" -"Votre clé USB n'a aucune partition Windows (FAT) valide.\n" -"Nous en avons besoin d'une pour continuer (de plus, c'est\n" -"standard donc vous pourrez vous déplacer et accéder à vos\n" -"fichiers à partir de machines tournant sous Windows). Veuillez\n" -"connecter une clé USB contenant une partition Windows à la\n" -"place.\n" -"\n" -"\n" -"Vous pouvez aussi continuer sans clé USB - vous pourrez\n" -"toujours utiliser Mandrake Move comme un système\n" -"d'exploitation Mandrake sur CDROM." - -#: ../move/move.pm:369 -#, c-format -msgid "" -"We didn't detect any USB key on your system. If you\n" -"plug in an USB key now, Mandrake Move will have the ability\n" -"to transparently save the data in your home directory and\n" -"system wide configuration, for next boot on this computer\n" -"or another one. Note: if you plug in a key now, wait several\n" -"seconds before detecting again.\n" -"\n" -"\n" -"You may also proceed without an USB key - you'll still be\n" -"able to use Mandrake Move as a normal live Mandrake\n" -"Operating System." -msgstr "" -"Aucune clé USB n'a été détectée sur votre système. Si vous\n" -"connectez une clé USB maintenant, Mandrake Move pourra\n" -"sauvegarder automatiquement les données de votre dossier\n" -"personnel et les configurations système, pour le prochain\n" -"démarrage de votre ordinateur ou bien sur un autre\n" -"ordinateur. Notez que si vous connectez une clé maintenant,\n" -"il faut attendre quelques secondes avant de détecter à \n" -"nouveau la présence de la clé.\n" -"\n" -"\n" -"Vous pouvez aussi continuer sans clé USB - vous pourrez\n" -"toujours utiliser Mandrake Move comme un système\n" -"d'exploitation Mandrake sur CDROM." - -#: ../move/move.pm:380 -#, c-format -msgid "Need a key to save your data" -msgstr "Il faut une clé pour sauvegarder vos données" - -#: ../move/move.pm:382 -#, c-format -msgid "Detect USB key again" -msgstr "Détecter à nouveau la clé USB" - -#: ../move/move.pm:383 ../move/move.pm:413 -#, c-format -msgid "Continue without USB key" -msgstr "Continuer sans clé USB" - -#: ../move/move.pm:394 ../move/move.pm:408 -#, c-format -msgid "Key isn't writable" -msgstr "La clé n'est pas accessible en écriture" - -#: ../move/move.pm:396 -#, c-format -msgid "" -"The USB key seems to have write protection enabled, but we can't safely\n" -"unplug it now.\n" -"\n" -"\n" -"Click the button to reboot the machine, unplug it, remove write protection,\n" -"plug the key again, and launch Mandrake Move again." -msgstr "" -"La clé USB semble être protégée en écriture, mais nous\n" -"ne pouvons pas la déconnecter de manière sûre maintenant.\n" -"\n" -"\n" -"Cliquez le bouton pour redémarrer l'ordinateur,\n" -"déconnectez la clé, enlevez la protection en écriture,\n" -"connectez la clé à nouveau, et relancez Mandrake Move." - -#: ../move/move.pm:402 help.pm:418 install_steps_interactive.pm:1312 -#, c-format -msgid "Reboot" -msgstr "Redémarrage" - -#: ../move/move.pm:410 -#, c-format -msgid "" -"The USB key seems to have write protection enabled. Please\n" -"unplug it, remove write protection, and then plug it again." -msgstr "" -"La clé USB semble être protégée en écriture. Veuillez la\n" -"déconnecter, enlever la protection en écriture, puis la\n" -"connecter à nouveau." - -#: ../move/move.pm:412 -#, c-format -msgid "Retry" -msgstr "Réessayer" - -#: ../move/move.pm:423 -#, c-format -msgid "Setting up USB key" -msgstr "Installation de la clé USB" - -#: ../move/move.pm:423 -#, c-format -msgid "Please wait, setting up system configuration files on USB key..." -msgstr "" -"Veuillez patienter, installation des fichiers de configuration système sur " -"la clé USB..." - -#: ../move/move.pm:445 -#, c-format -msgid "Enter your user information, password will be used for screensaver" -msgstr "" -"Entrez vos informations utilisateurs, le mot de passe sera utilisé pour " -"l'économiseur d'écran" - -#: ../move/move.pm:455 -#, c-format -msgid "Auto configuration" -msgstr "Configuration automatique" - -#: ../move/move.pm:455 -#, c-format -msgid "Please wait, detecting and configuring devices..." -msgstr "Veuillez patienter, détection et configuration des périphériques..." - -#: ../move/move.pm:502 ../move/move.pm:559 ../move/move.pm:563 -#: ../move/tree/mdk_totem:86 diskdrake/dav.pm:77 diskdrake/hd_gtk.pm:117 -#: diskdrake/interactive.pm:215 diskdrake/interactive.pm:228 -#: diskdrake/interactive.pm:369 diskdrake/interactive.pm:384 -#: diskdrake/interactive.pm:505 diskdrake/interactive.pm:510 -#: diskdrake/smbnfs_gtk.pm:42 fsedit.pm:253 install_steps.pm:82 -#: install_steps_interactive.pm:40 interactive/http.pm:118 -#: interactive/http.pm:119 network/netconnect.pm:944 network/netconnect.pm:947 -#: network/netconnect.pm:992 network/netconnect.pm:996 -#: network/netconnect.pm:1063 network/netconnect.pm:1113 -#: network/netconnect.pm:1118 network/netconnect.pm:1133 -#: network/netconnect.pm:1336 printer/printerdrake.pm:213 -#: printer/printerdrake.pm:220 printer/printerdrake.pm:245 -#: printer/printerdrake.pm:393 printer/printerdrake.pm:398 -#: printer/printerdrake.pm:411 printer/printerdrake.pm:421 -#: printer/printerdrake.pm:1067 printer/printerdrake.pm:1114 -#: printer/printerdrake.pm:1151 printer/printerdrake.pm:1195 -#: printer/printerdrake.pm:1199 printer/printerdrake.pm:1213 -#: printer/printerdrake.pm:1303 printer/printerdrake.pm:1383 -#: printer/printerdrake.pm:1387 printer/printerdrake.pm:1391 -#: printer/printerdrake.pm:1440 printer/printerdrake.pm:1497 -#: printer/printerdrake.pm:1501 printer/printerdrake.pm:1515 -#: printer/printerdrake.pm:1625 printer/printerdrake.pm:1629 -#: printer/printerdrake.pm:1666 printer/printerdrake.pm:1731 -#: printer/printerdrake.pm:1749 printer/printerdrake.pm:1758 -#: printer/printerdrake.pm:1767 printer/printerdrake.pm:1778 -#: printer/printerdrake.pm:1840 printer/printerdrake.pm:2285 -#: printer/printerdrake.pm:2551 printer/printerdrake.pm:2557 -#: printer/printerdrake.pm:3010 printer/printerdrake.pm:3014 -#: printer/printerdrake.pm:3018 printer/printerdrake.pm:3421 -#: printer/printerdrake.pm:3664 printer/printerdrake.pm:3677 -#: printer/printerdrake.pm:3817 printer/printerdrake.pm:3909 -#: standalone/drakTermServ:416 standalone/drakTermServ:769 -#: standalone/drakTermServ:776 standalone/drakTermServ:971 -#: standalone/drakTermServ:1416 standalone/drakTermServ:1421 -#: standalone/drakTermServ:1428 standalone/drakTermServ:1439 -#: standalone/drakTermServ:1459 standalone/drakauth:36 -#: standalone/drakbackup:581 standalone/drakbackup:694 -#: standalone/drakbackup:1187 standalone/drakbackup:1220 -#: standalone/drakbackup:1735 standalone/drakbackup:1898 -#: standalone/drakbackup:2513 standalone/drakbackup:4286 -#: standalone/drakbackup:4509 standalone/drakboot:255 standalone/drakbug:267 -#: standalone/drakbug:286 standalone/drakbug:292 standalone/drakconnect:608 -#: standalone/drakconnect:611 standalone/drakconnect:632 -#: standalone/drakfloppy:301 standalone/drakfloppy:305 -#: standalone/drakfloppy:311 standalone/drakfont:210 standalone/drakfont:223 -#: standalone/drakfont:259 standalone/drakfont:600 standalone/draksplash:21 -#: standalone/drakxtv:105 standalone/logdrake:170 standalone/logdrake:467 -#: standalone/logdrake:472 standalone/scannerdrake:58 -#: standalone/scannerdrake:200 standalone/scannerdrake:259 -#: standalone/scannerdrake:683 standalone/scannerdrake:694 -#: standalone/scannerdrake:833 standalone/scannerdrake:844 -#: standalone/scannerdrake:914 wizards.pm:95 wizards.pm:99 wizards.pm:121 -#, c-format -msgid "Error" -msgstr "Erreur" - -#: ../move/move.pm:503 install_steps.pm:83 -#, c-format -msgid "" -"An error occurred, but I don't 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." - -#: ../move/move.pm:559 install_steps_interactive.pm:40 -#, c-format -msgid "An error occurred" -msgstr "Une erreur est survenue" - -#: ../move/move.pm:565 -#, c-format -msgid "" -"An error occurred:\n" -"\n" -"\n" -"%s\n" -"\n" -"This may come from corrupted system configuration files\n" -"on the USB key, in this case removing them and then\n" -"rebooting Mandrake Move would fix the problem. To do\n" -"so, click on the corresponding button.\n" -"\n" -"\n" -"You may also want to reboot and remove the USB key, or\n" -"examine its contents under another OS, or even have\n" -"a look at log files in console #3 and #4 to try to\n" -"guess what's happening." -msgstr "" -"Une erreur est survenue :\n" -"\n" -"\n" -"%s\n" -"\n" -"Cela peu provenir de fichiers de configuration système corrompus\n" -"sur la clé USB, dans ce cas les supprimer et ensuite redémarrer\n" -"MandrakeMove résoudrait le problème. Pour faire cela, cliquez\n" -"sur le bouton correspondant.\n" -"\n" -"\n" -"Vous pouvez aussi redémarrer l'ordinateur et enlever la clé\n" -"USB, ou bien examiner son contenu sous un autre système\n" -"d'exploitation, ou même regarder les fichiers de log sur\n" -"les consoles #3 et #4 pour essayer de deviner ce qui s'est\n" -"passé." - -#: ../move/move.pm:580 -#, c-format -msgid "Remove system config files" -msgstr "Supprimer les fichiers de config." - -#: ../move/move.pm:581 -#, c-format -msgid "Simply reboot" -msgstr "Seulement redémarrer" - -#: ../move/tree/mdk_totem:60 -#, c-format -msgid "You can only run with no CDROM support" -msgstr "Vous ne pouvez continuer que sans support de CDROM" - -#: ../move/tree/mdk_totem:81 -#, c-format -msgid "Kill those programs" -msgstr "Fermer ces programmes" - -#: ../move/tree/mdk_totem:82 -#, c-format -msgid "No CDROM support" -msgstr "Pas de support du CDROM" - -#: ../move/tree/mdk_totem:87 -#, c-format -msgid "" -"You can't use another CDROM when the following programs are running: \n" -"%s" -msgstr "" -"Vous ne pouvez pas utiliser un autre CDROM lorsque les programmes suivants " -"sont en cours de fonctionnement : \n" -"%s" - -#: ../move/tree/mdk_totem:101 -#, c-format -msgid "Copying to memory to allow removing the CDROM" -msgstr "Copie en mémoire pour permettre l'éjection du CDROM" - -#: Xconfig/card.pm:16 -#, c-format -msgid "256 kB" -msgstr "256 ko" - -#: Xconfig/card.pm:17 -#, c-format -msgid "512 kB" -msgstr "512 ko" - -#: Xconfig/card.pm:18 -#, c-format -msgid "1 MB" -msgstr "1 Mo" - -#: Xconfig/card.pm:19 -#, c-format -msgid "2 MB" -msgstr "2 Mo" - -#: Xconfig/card.pm:20 -#, c-format -msgid "4 MB" -msgstr "4 Mo" - -#: Xconfig/card.pm:21 -#, c-format -msgid "8 MB" -msgstr "8 Mo" - -#: Xconfig/card.pm:22 -#, c-format -msgid "16 MB" -msgstr "16 Mo" - -#: Xconfig/card.pm:23 -#, c-format -msgid "32 MB" -msgstr "32 Mo" - -#: Xconfig/card.pm:24 -#, c-format -msgid "64 MB or more" -msgstr "64 Mo ou plus" - -#: Xconfig/card.pm:211 -#, c-format -msgid "X server" -msgstr "serveur XFree" - -#: Xconfig/card.pm:212 -#, c-format -msgid "Choose an X server" -msgstr "Choisissez un serveur d'affichage (serveur XFree)" - -#: Xconfig/card.pm:244 -#, c-format -msgid "Multi-head configuration" -msgstr "Configuration multi-écrans" - -#: Xconfig/card.pm:245 -#, c-format -msgid "" -"Your system supports multiple head configuration.\n" -"What do you want to do?" -msgstr "" -"Votre système peut utiliser simultanément plusieurs écrans.\n" -"Que souhaitez-vous faire ?" - -#: Xconfig/card.pm:312 -#, c-format -msgid "Can't install XFree package: %s" -msgstr "Impossible d'installer le paquetage XFree : %s" - -#: Xconfig/card.pm:322 -#, c-format -msgid "Select the memory size of your graphics card" -msgstr "" -"Veuillez préciser la quantité de mémoire vidéo de votre carte graphique" - -#: Xconfig/card.pm:398 -#, c-format -msgid "XFree configuration" -msgstr "Configuration d'XFree" - -#: Xconfig/card.pm:400 -#, c-format -msgid "Which configuration of XFree do you want to have?" -msgstr "Quelle configuration d'XFree désirez-vous utiliser ?" - -#: Xconfig/card.pm:434 -#, c-format -msgid "Configure all heads independently" -msgstr "Configurer les écrans séparément" - -#: Xconfig/card.pm:435 -#, c-format -msgid "Use Xinerama extension" -msgstr "Répartir l'affichage sur plusieurs écrans (Xinerama)" - -#: Xconfig/card.pm:440 -#, c-format -msgid "Configure only card \"%s\"%s" -msgstr "Configurer seulement la carte « %s » %s" - -#: Xconfig/card.pm:454 Xconfig/card.pm:456 Xconfig/various.pm:23 -#, c-format -msgid "XFree %s" -msgstr "XFree %s" - -#: Xconfig/card.pm:467 Xconfig/card.pm:493 Xconfig/various.pm:23 -#, c-format -msgid "XFree %s with 3D hardware acceleration" -msgstr "XFree %s avec accélération 3D matérielle" - -#: Xconfig/card.pm:470 -#, c-format -msgid "" -"Your card can have 3D hardware acceleration support but only with XFree %s.\n" -"Your card is supported by XFree %s which may have a better support in 2D." -msgstr "" -"Votre carte vidéo peut utiliser l'accélération 3D matérielle mais\n" -"uniquement en utilisant XFree %s.\n" -"Votre carte vidéo est supportée par XFree %s. Ce dernier peut être plus\n" -"performant en 2D." - -#: Xconfig/card.pm:472 Xconfig/card.pm:495 -#, c-format -msgid "Your card can have 3D hardware acceleration support with XFree %s." -msgstr "" -"Votre carte vidéo peut utiliser l'accélération 3D matérielle avec XFree %s." - -#: Xconfig/card.pm:480 Xconfig/card.pm:501 -#, c-format -msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration" -msgstr "XFree %s avec support EXPÉRIMENTAL de l'accélération 3D matérielle" - -#: Xconfig/card.pm:483 -#, c-format -msgid "" -"Your card can have 3D hardware acceleration support but only with XFree %s,\n" -"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n" -"Your card is supported by XFree %s which may have a better support in 2D." -msgstr "" -"Votre carte vidéo peut utiliser l'accélération 3D matérielle mais\n" -"uniquement en utilisant XFree %s.\n" -"Attention, veuillez noter que ce support est EXPÉRIMENTAL et peut BLOQUER\n" -"VOTRE ORDINATEUR.\n" -"\n" -"Votre carte vidéo est supportée par XFree %s. Ce dernier peut être plus\n" -"performant en 2D." - -#: Xconfig/card.pm:486 Xconfig/card.pm:503 -#, c-format -msgid "" -"Your card can have 3D hardware acceleration support with XFree %s,\n" -"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER." -msgstr "" -"Votre carte vidéo peut utiliser l'accélération 3D matérielle en utilisant\n" -"XFree %s.\n" -"Veuillez noter que ce support est EXPÉRIMENTAL et qu'il peut BLOQUER VOTRE\n" -"ORDINATEUR." - -#: Xconfig/card.pm:509 -#, c-format -msgid "Xpmac (installation display driver)" -msgstr "Xpmac (pilote d'affichage pour l'installation)" - -#: Xconfig/main.pm:88 Xconfig/main.pm:89 Xconfig/monitor.pm:106 any.pm:830 -#, c-format -msgid "Custom" -msgstr "Personnalisé" - -#: Xconfig/main.pm:113 diskdrake/dav.pm:28 help.pm:14 -#: install_steps_interactive.pm:83 printer/printerdrake.pm:608 -#: printer/printerdrake.pm:4076 standalone/draksplash:120 -#: standalone/harddrake2:188 standalone/logdrake:175 -#: standalone/scannerdrake:445 -#, c-format -msgid "Quit" -msgstr "Quitter" - -#: Xconfig/main.pm:115 -#, c-format -msgid "Graphic Card" -msgstr "Carte graphique" - -#: Xconfig/main.pm:118 Xconfig/monitor.pm:100 -#, c-format -msgid "Monitor" -msgstr "Moniteur" - -#: Xconfig/main.pm:121 Xconfig/resolution_and_depth.pm:228 -#, c-format -msgid "Resolution" -msgstr "Résolution" - -#: Xconfig/main.pm:126 -#, c-format -msgid "Test" -msgstr "Test" - -#: Xconfig/main.pm:131 diskdrake/dav.pm:67 diskdrake/interactive.pm:410 -#: diskdrake/removable.pm:25 diskdrake/smbnfs_gtk.pm:80 -#: standalone/drakconnect:263 standalone/drakconnect:272 -#: standalone/drakconnect:292 standalone/drakconnect:298 -#: standalone/drakconnect:404 standalone/drakconnect:405 -#: standalone/drakconnect:576 standalone/drakfont:494 standalone/drakfont:554 -#: standalone/harddrake2:185 -#, c-format -msgid "Options" -msgstr "Options" - -#: Xconfig/main.pm:180 -#, c-format -msgid "" -"Keep the changes?\n" -"The current configuration is:\n" -"\n" -"%s" -msgstr "" -"Désirez-vous conserver les changements ?\n" -"La configuration actuelle est :\n" -"\n" -"%s" - -#: Xconfig/monitor.pm:101 -#, c-format -msgid "Choose a monitor" -msgstr "Choisissez un moniteur" - -#: Xconfig/monitor.pm:107 -#, c-format -msgid "Plug'n Play" -msgstr "Plug'n Play" - -#: Xconfig/monitor.pm:108 mouse.pm:49 -#, c-format -msgid "Generic" -msgstr "Générique" - -#: Xconfig/monitor.pm:109 standalone/drakconnect:556 standalone/harddrake2:68 -#: standalone/harddrake2:69 -#, c-format -msgid "Vendor" -msgstr "Vendeur" - -#: Xconfig/monitor.pm:119 -#, c-format -msgid "Plug'n Play probing failed. Please select the correct monitor" -msgstr "Échec de l'interrogation « Plug'n Play ». Veuillez choisir un moniteur" - -#: Xconfig/monitor.pm:124 -#, c-format -msgid "" -"The two critical parameters are the vertical refresh rate, which is the " -"rate\n" -"at which the whole screen is refreshed, and most importantly the horizontal\n" -"sync rate, which is the rate at which scanlines are displayed.\n" -"\n" -"It is VERY IMPORTANT that you do not specify a monitor type with a sync " -"range\n" -"that is beyond the capabilities of your monitor: you may damage your " -"monitor.\n" -" If in doubt, choose a conservative setting." -msgstr "" -"Les deux paramètres importants sont la fréquence de rafraîchissement\n" -"verticale (qui détermine la vitesse à laquelle l'écran est rafraîchi)\n" -"et, surtout, la fréquence de synchronisation horizontale (qui détermine\n" -"la vitesse à laquelle les lignes sont tracées).\n" -"\n" -"Il ne faut SURTOUT PAS choisir un type de moniteur ayant\n" -"une fréquence de rafraîchissement excédant les capacités de votre\n" -"moniteur. Vous risqueriez de l'endommager.\n" -"En cas de doute, choisissez un réglage moins performant mais\n" -"sans risque pour votre matériel." - -#: Xconfig/monitor.pm:131 -#, c-format -msgid "Horizontal refresh rate" -msgstr "Fréquence horizontale" - -#: Xconfig/monitor.pm:132 -#, c-format -msgid "Vertical refresh rate" -msgstr "Fréquence verticale" - -#: Xconfig/resolution_and_depth.pm:12 -#, c-format -msgid "256 colors (8 bits)" -msgstr "256 couleurs (8 bits)" - -#: Xconfig/resolution_and_depth.pm:13 -#, c-format -msgid "32 thousand colors (15 bits)" -msgstr "32 mille couleurs (15 bits)" - -#: Xconfig/resolution_and_depth.pm:14 -#, c-format -msgid "65 thousand colors (16 bits)" -msgstr "65 mille couleurs (16 bits)" - -#: Xconfig/resolution_and_depth.pm:15 -#, c-format -msgid "16 million colors (24 bits)" -msgstr "16 millions de couleurs (24 bits)" - -#: Xconfig/resolution_and_depth.pm:16 -#, c-format -msgid "4 billion colors (32 bits)" -msgstr "4 milliards de couleurs (32 bits)" - -#: Xconfig/resolution_and_depth.pm:141 -#, c-format -msgid "Resolutions" -msgstr "Résolutions" - -#: Xconfig/resolution_and_depth.pm:275 -#, c-format -msgid "Choose the resolution and the color depth" -msgstr "Choix de la résolution et du nombre de couleurs" - -#: Xconfig/resolution_and_depth.pm:276 -#, c-format -msgid "Graphics card: %s" -msgstr "Carte graphique : %s" - -#: Xconfig/resolution_and_depth.pm:289 interactive.pm:403 -#: interactive/gtk.pm:759 interactive/http.pm:103 interactive/http.pm:157 -#: interactive/newt.pm:308 interactive/newt.pm:410 interactive/stdio.pm:39 -#: interactive/stdio.pm:142 interactive/stdio.pm:143 interactive/stdio.pm:172 -#: standalone/drakbackup:4045 standalone/drakbackup:4075 -#: standalone/drakbackup:4162 standalone/drakbackup:4175 -#: standalone/drakbackup:4247 standalone/drakconnect:165 -#: standalone/drakconnect:786 standalone/drakconnect:873 -#: standalone/drakconnect:972 standalone/drakups:194 -#: standalone/net_monitor:303 ugtk2.pm:413 ugtk2.pm:510 ugtk2.pm:1075 -#: ugtk2.pm:1098 -#, c-format -msgid "Ok" -msgstr "Ok" - -#: Xconfig/resolution_and_depth.pm:289 any.pm:870 diskdrake/smbnfs_gtk.pm:81 -#: help.pm:197 help.pm:457 install_steps_gtk.pm:490 -#: install_steps_interactive.pm:781 interactive.pm:404 interactive/gtk.pm:763 -#: interactive/http.pm:104 interactive/http.pm:161 interactive/newt.pm:307 -#: interactive/newt.pm:414 interactive/stdio.pm:39 interactive/stdio.pm:142 -#: interactive/stdio.pm:176 printer/printerdrake.pm:3088 -#: standalone/drakautoinst:217 standalone/drakbackup:4009 -#: standalone/drakbackup:4035 standalone/drakbackup:4058 -#: standalone/drakbackup:4089 standalone/drakbackup:4113 -#: standalone/drakbackup:4137 standalone/drakbackup:4189 -#: standalone/drakbackup:4216 standalone/drakbackup:4241 -#: standalone/drakconnect:164 standalone/drakconnect:871 -#: standalone/drakconnect:971 standalone/drakfont:663 standalone/drakfont:740 -#: standalone/drakups:201 standalone/logdrake:175 standalone/net_monitor:299 -#: ugtk2.pm:407 ugtk2.pm:508 ugtk2.pm:517 ugtk2.pm:1075 -#, c-format -msgid "Cancel" -msgstr "Annuler" - -#: Xconfig/resolution_and_depth.pm:289 diskdrake/hd_gtk.pm:154 -#: install_steps_gtk.pm:269 install_steps_gtk.pm:670 interactive.pm:498 -#: interactive/gtk.pm:623 interactive/gtk.pm:625 standalone/drakTermServ:316 -#: standalone/drakbackup:4010 standalone/drakbackup:4039 -#: standalone/drakbackup:4062 standalone/drakbackup:4093 -#: standalone/drakbackup:4117 standalone/drakbackup:4141 -#: standalone/drakbackup:4174 standalone/drakbackup:4193 -#: standalone/drakbackup:4220 standalone/drakbackup:4245 -#: standalone/drakbackup:4264 standalone/drakbug:157 -#: standalone/drakconnect:160 standalone/drakconnect:236 -#: standalone/drakfont:512 standalone/drakperm:134 standalone/draksec:296 -#: standalone/harddrake2:184 ugtk2.pm:1188 ugtk2.pm:1189 -#, c-format -msgid "Help" -msgstr "Aide" - -#: Xconfig/test.pm:30 -#, c-format -msgid "Test of the configuration" -msgstr "Test de la configuration" - -#: Xconfig/test.pm:31 -#, c-format -msgid "Do you want to test the configuration?" -msgstr "Désirez-vous tester la configuration ?" - -#: Xconfig/test.pm:31 -#, c-format -msgid "Warning: testing this graphic card may freeze your computer" -msgstr "Attention : tester cette carte vidéo peut bloquer votre ordinateur" - -#: Xconfig/test.pm:71 -#, c-format -msgid "" -"An error occurred:\n" -"%s\n" -"Try to change some parameters" -msgstr "" -"Une erreur est survenue :\n" -"%s\n" -"Essayez de changer les paramètres" - -#: Xconfig/test.pm:149 -#, c-format -msgid "Leaving in %d seconds" -msgstr "Fin dans %d secondes" - -#: Xconfig/test.pm:149 -#, c-format -msgid "Is this the correct setting?" -msgstr "La configuration est-elle correcte ?" - -#: Xconfig/various.pm:29 -#, c-format -msgid "Keyboard layout: %s\n" -msgstr "Type de clavier : %s\n" - -#: Xconfig/various.pm:30 -#, c-format -msgid "Mouse type: %s\n" -msgstr "Type de souris : %s\n" - -#: Xconfig/various.pm:31 -#, c-format -msgid "Mouse device: %s\n" -msgstr "Périphérique : %s\n" - -#: Xconfig/various.pm:32 -#, c-format -msgid "Monitor: %s\n" -msgstr "Moniteur : %s\n" - -#: Xconfig/various.pm:33 -#, c-format -msgid "Monitor HorizSync: %s\n" -msgstr "Fréquence horizontale : %s\n" - -#: Xconfig/various.pm:34 -#, c-format -msgid "Monitor VertRefresh: %s\n" -msgstr "Fréquence verticale : %s\n" - -#: Xconfig/various.pm:35 -#, c-format -msgid "Graphics card: %s\n" -msgstr "Carte graphique : %s\n" - -#: Xconfig/various.pm:36 -#, c-format -msgid "Graphics memory: %s kB\n" -msgstr "Mémoire vidéo : %s ko\n" - -#: Xconfig/various.pm:38 -#, c-format -msgid "Color depth: %s\n" -msgstr "Nombre de couleurs : %s\n" - -#: Xconfig/various.pm:39 -#, c-format -msgid "Resolution: %s\n" -msgstr "Résolution : %s\n" - -#: Xconfig/various.pm:41 -#, c-format -msgid "XFree86 server: %s\n" -msgstr "Serveur XFree86 : %s\n" - -#: Xconfig/various.pm:42 -#, c-format -msgid "XFree86 driver: %s\n" -msgstr "Pilote XFree86 : %s\n" - -#: Xconfig/various.pm:71 -#, c-format -msgid "Graphical interface at startup" -msgstr "Interface graphique lors du démarrage" - -#: Xconfig/various.pm:73 -#, c-format -msgid "" -"I can setup your computer to automatically start the graphical interface " -"(XFree) upon booting.\n" -"Would you like XFree to start when you reboot?" -msgstr "" -"Souhaitez-vous que l'interface graphique soit\n" -"automatiquement lancée lors du démarrage ?" - -#: Xconfig/various.pm:86 -#, c-format -msgid "" -"Your graphic card seems to have a TV-OUT connector.\n" -"It can be configured to work using frame-buffer.\n" -"\n" -"For this you have to plug your graphic card to your TV before booting your " -"computer.\n" -"Then choose the \"TVout\" entry in the bootloader\n" -"\n" -"Do you have this feature?" -msgstr "" -"Votre carte graphique semble avoir un connecteur TV-OUT.\n" -"Elle peut être configurée pour fonctionner avec le « frame-buffer ».\n" -"\n" -"Pour cela vous devez connecter votre carte graphique à votre TV avant de " -"démarrer votre ordinateur.\n" -"Ensuite choisissez l'option « TVout » dans le menu d'amorçage\n" -"\n" -"Avez-vous cette fonction ?" - -#: Xconfig/various.pm:98 -#, c-format -msgid "What norm is your TV using?" -msgstr "Quelle norme utilise votre téléviseur ?" - -#: any.pm:103 harddrake/sound.pm:150 interactive.pm:441 standalone/drakbug:259 -#: standalone/drakconnect:167 standalone/draksec:56 standalone/drakups:90 -#: standalone/drakxtv:90 standalone/harddrake2:134 -#: standalone/service_harddrake:107 -#, c-format -msgid "Please wait" -msgstr "Veuillez patienter" - -#: any.pm:103 -#, c-format -msgid "Bootloader installation in progress" -msgstr "Installation du programme d'amorçage en cours" - -#: any.pm:142 -#, 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:165 any.pm:197 help.pm:800 -#, c-format -msgid "First sector of drive (MBR)" -msgstr "Premier secteur du disque (MBR)" - -#: any.pm:166 -#, c-format -msgid "First sector of the root partition" -msgstr "Premier secteur de la partition racine" - -#: any.pm:168 -#, c-format -msgid "On Floppy" -msgstr "sur disquette" - -#: any.pm:170 help.pm:768 help.pm:800 printer/printerdrake.pm:3418 -#, c-format -msgid "Skip" -msgstr "Passer" - -#: any.pm:175 -#, c-format -msgid "SILO Installation" -msgstr "Installation de SILO" - -#: any.pm:175 -#, c-format -msgid "LILO/grub Installation" -msgstr "Installation de LILO ou Grub" - -#: any.pm:176 -#, c-format -msgid "Where do you want to install the bootloader?" -msgstr "Où désirez-vous installer le programme d'amorçage ?" - -#: any.pm:197 -#, c-format -msgid "First sector of boot partition" -msgstr "Premier secteur de la partition d'amorçage" - -#: any.pm:209 -#, c-format -msgid "Boot Style Configuration" -msgstr "Configuration du style de démarrage" - -#: any.pm:211 any.pm:248 -#, c-format -msgid "Bootloader main options" -msgstr "Principales options du programme d'amorçage" - -#: any.pm:215 -#, c-format -msgid "Give the ram size in MB" -msgstr "Indiquez la quantité de mémoire en Mo" - -#: any.pm:217 -#, 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:218 any.pm:531 install_steps_interactive.pm:1156 -#, c-format -msgid "The passwords do not match" -msgstr "Les mots de passe ne sont pas identiques" - -#: any.pm:218 any.pm:531 diskdrake/interactive.pm:1255 -#: install_steps_interactive.pm:1156 -#, c-format -msgid "Please try again" -msgstr "Veuillez réessayer" - -#: any.pm:223 any.pm:251 help.pm:768 -#, c-format -msgid "Bootloader to use" -msgstr "Programme d'amorçage à utiliser" - -#: any.pm:225 -#, c-format -msgid "Bootloader installation" -msgstr "Installation du programme d'amorçage" - -#: any.pm:227 any.pm:253 help.pm:768 -#, c-format -msgid "Boot device" -msgstr "Périphérique d'amorçage" - -#: any.pm:229 -#, c-format -msgid "Delay before booting default image" -msgstr "Délai avant l'activation du choix par défaut" - -#: any.pm:230 help.pm:768 -#, c-format -msgid "Enable ACPI" -msgstr "Activer l'ACPI" - -#: any.pm:232 help.pm:768 -#, c-format -msgid "Force no APIC" -msgstr "Forcer sans APIC" - -#: any.pm:234 -#, c-format -msgid "Force No Local APIC" -msgstr "Forcer sans APIC local" - -#: any.pm:236 any.pm:558 diskdrake/smbnfs_gtk.pm:180 -#: install_steps_interactive.pm:1161 network/netconnect.pm:575 -#: printer/printerdrake.pm:1374 printer/printerdrake.pm:1494 -#: standalone/drakbackup:1717 standalone/drakbackup:3592 -#: standalone/drakups:278 -#, c-format -msgid "Password" -msgstr "Mot de passe" - -#: any.pm:237 any.pm:559 install_steps_interactive.pm:1162 -#, c-format -msgid "Password (again)" -msgstr "Mot de passe (vérif)" - -#: any.pm:238 -#, c-format -msgid "Restrict command line options" -msgstr "Protéger par mot de passe les options" - -#: any.pm:238 -#, c-format -msgid "restrict" -msgstr "protection" - -#: any.pm:240 -#, c-format -msgid "Clean /tmp at each boot" -msgstr "Vider le dossier /tmp à chaque démarrage" - -#: any.pm:241 -#, 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:243 -#, c-format -msgid "Enable multiple profiles" -msgstr "Autoriser plusieurs profils" - -#: any.pm:252 -#, c-format -msgid "Init Message" -msgstr "Message de démarrage" - -#: any.pm:254 -#, c-format -msgid "Open Firmware Delay" -msgstr "Délai de l'Open Firmware" - -#: any.pm:255 -#, c-format -msgid "Kernel Boot Timeout" -msgstr "Délai d'amorçage du noyau" - -#: any.pm:256 -#, c-format -msgid "Enable CD Boot?" -msgstr "Autoriser le démarrage sur CD ?" - -#: any.pm:257 -#, c-format -msgid "Enable OF Boot?" -msgstr "Autoriser le démarrage sur l'OF ?" - -#: any.pm:258 -#, c-format -msgid "Default OS?" -msgstr "Système d'exploitation par défaut ?" - -#: any.pm:302 -#, c-format -msgid "Image" -msgstr "Image" - -#: any.pm:303 any.pm:312 -#, c-format -msgid "Root" -msgstr "Partition racine" - -#: any.pm:304 any.pm:325 -#, c-format -msgid "Append" -msgstr "Options passées au noyau" - -#: any.pm:306 -#, c-format -msgid "Video mode" -msgstr "Mode vidéo" - -#: any.pm:308 -#, c-format -msgid "Initrd" -msgstr "Fichier RamDisk" - -#: any.pm:317 any.pm:322 any.pm:324 -#, c-format -msgid "Label" -msgstr "Label" - -#: any.pm:319 any.pm:329 harddrake/v4l.pm:255 standalone/drakfloppy:88 -#: standalone/drakfloppy:94 -#, c-format -msgid "Default" -msgstr "Choix par défaut" - -#: any.pm:326 -#, c-format -msgid "Initrd-size" -msgstr "Taille du RamDisk" - -#: any.pm:328 -#, c-format -msgid "NoVideo" -msgstr "NoVideo" - -#: any.pm:339 -#, c-format -msgid "Empty label not allowed" -msgstr "Un label vide n'est pas autorisé" - -#: any.pm:340 -#, c-format -msgid "You must specify a kernel image" -msgstr "Vous devez spécifier l'image noyau désirée" - -#: any.pm:340 -#, c-format -msgid "You must specify a root partition" -msgstr "Vous devez spécifier une partition racine" - -#: any.pm:341 -#, c-format -msgid "This label is already used" -msgstr "Ce label est déjà utilisé" - -#: any.pm:354 -#, c-format -msgid "Which type of entry do you want to add?" -msgstr "Quel type de système souhaitez-vous ajouter ?" - -#: any.pm:355 -#, c-format -msgid "Linux" -msgstr "Linux" - -#: any.pm:355 -#, c-format -msgid "Other OS (SunOS...)" -msgstr "Autres systèmes (SunOS, etc.)" - -#: any.pm:356 -#, c-format -msgid "Other OS (MacOS...)" -msgstr "Autres systèmes (MacOS, etc.)" - -#: any.pm:356 -#, c-format -msgid "Other OS (windows...)" -msgstr "Autres systèmes (Windows, etc.)" - -#: any.pm:384 -#, 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:516 -#, c-format -msgid "access to X programs" -msgstr "accès aux programmes graphiques" - -#: any.pm:517 -#, c-format -msgid "access to rpm tools" -msgstr "accès aux outils rpm" - -#: any.pm:518 -#, c-format -msgid "allow \"su\"" -msgstr "autoriser « su »" - -#: any.pm:519 -#, c-format -msgid "access to administrative files" -msgstr "accès aux fichiers d'administration" - -#: any.pm:520 -#, c-format -msgid "access to network tools" -msgstr "accès aux outils réseaux" - -#: any.pm:521 -#, c-format -msgid "access to compilation tools" -msgstr "accès aux outils de compilation" - -#: any.pm:527 -#, c-format -msgid "(already added %s)" -msgstr "Utilisateur(s) existant(s) : %s" - -#: any.pm:532 -#, c-format -msgid "This password is too simple" -msgstr "Ce mot de passe est trop simple" - -#: any.pm:533 -#, c-format -msgid "Please give a user name" -msgstr "Veuillez taper un nom d'utilisateur" - -#: any.pm:534 -#, 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:535 -#, c-format -msgid "The user name is too long" -msgstr "Ce nom d'utilisateur est trop long" - -#: any.pm:536 -#, c-format -msgid "This user name has already been added" -msgstr "Ce nom d'utilisateur est déjà utilisé" - -#: any.pm:540 -#, c-format -msgid "Add user" -msgstr "Ajouter un utilisateur" - -#: any.pm:541 -#, c-format -msgid "" -"Enter a user\n" -"%s" -msgstr "" -"Créer un compte utilisateur\n" -"%s" - -#: any.pm:544 diskdrake/dav.pm:68 diskdrake/hd_gtk.pm:158 -#: diskdrake/removable.pm:27 diskdrake/smbnfs_gtk.pm:82 help.pm:544 -#: interactive/http.pm:152 printer/printerdrake.pm:165 -#: printer/printerdrake.pm:352 printer/printerdrake.pm:4076 -#: standalone/drakbackup:2802 standalone/scannerdrake:636 -#: standalone/scannerdrake:786 -#, c-format -msgid "Done" -msgstr "Terminer" - -#: any.pm:545 help.pm:52 -#, c-format -msgid "Accept user" -msgstr "Accepter" - -#: any.pm:556 -#, c-format -msgid "Real name" -msgstr "Nom et prénom" - -#: any.pm:557 help.pm:52 printer/printerdrake.pm:1373 -#: printer/printerdrake.pm:1493 -#, c-format -msgid "User name" -msgstr "Nom d'utilisateur" - -#: any.pm:560 -#, c-format -msgid "Shell" -msgstr "Interpréteur" - -#: any.pm:562 -#, c-format -msgid "Icon" -msgstr "Icône" - -#: any.pm:603 security/l10n.pm:14 -#, c-format -msgid "Autologin" -msgstr "Connexion automatique" - -#: any.pm:604 -#, 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:605 help.pm:52 -#, c-format -msgid "Do you want to use this feature?" -msgstr "Voulez-vous utiliser cette fonctionnalité ?" - -#: any.pm:606 -#, c-format -msgid "Choose the default user:" -msgstr "Choisissez l'utilisateur par défaut :" - -#: any.pm:607 -#, c-format -msgid "Choose the window manager to run:" -msgstr "Choisissez l'environnement graphique :" - -#: any.pm:619 -#, c-format -msgid "Please choose a language to use." -msgstr "Choisissez la langue :" - -#: any.pm:640 -#, c-format -msgid "" -"Mandrakelinux 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 "" -"Vous pouvez choisir d'autres langues.\n" -"Elles seront disponibles après l'installation." - -#: any.pm:658 help.pm:660 -#, c-format -msgid "Use Unicode by default" -msgstr "Utiliser l'Unicode par défaut" - -#: any.pm:659 help.pm:660 -#, c-format -msgid "All languages" -msgstr "Toutes les langues" - -#: any.pm:695 help.pm:581 help.pm:991 install_steps_interactive.pm:901 -#, c-format -msgid "Country / Region" -msgstr "Pays / Région" - -#: any.pm:696 -#, c-format -msgid "Please choose your country." -msgstr "Veuillez choisir votre pays." - -#: any.pm:698 -#, c-format -msgid "Here is the full list of available countries" -msgstr "Voici la liste complète des pays disponibles" - -#: any.pm:699 diskdrake/interactive.pm:292 help.pm:544 help.pm:581 help.pm:621 -#: help.pm:991 install_steps_interactive.pm:114 -#, c-format -msgid "More" -msgstr "Davantage" - -#: any.pm:830 -#, c-format -msgid "No sharing" -msgstr "Pas de partage" - -#: any.pm:830 -#, c-format -msgid "Allow all users" -msgstr "Autoriser tous les utilisateurs" - -#: any.pm:834 -#, 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 pouront 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:850 -#, c-format -msgid "" -"You can export using NFS or Samba. Please select which you'd like to use." -msgstr "" -"Souhaitez-vous exporter par NFS (protocole Unix) ou SMB (protocole Windows) ?" - -#: any.pm:858 -#, c-format -msgid "The package %s is going to be removed." -msgstr "Le paquetage %s va être désinstallé." - -#: any.pm:870 -#, c-format -msgid "Launch userdrake" -msgstr "Lancer Userdrake" - -#: any.pm:872 -#, 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 »." - -#: authentication.pm:12 -#, c-format -msgid "Local files" -msgstr "Fichiers locaux" - -#: authentication.pm:12 -#, c-format -msgid "LDAP" -msgstr "LDAP" - -#: authentication.pm:12 -#, c-format -msgid "NIS" -msgstr "NIS" - -#: authentication.pm:12 authentication.pm:50 -#, c-format -msgid "Windows Domain" -msgstr "Domaine Windows" - -#: authentication.pm:33 -#, c-format -msgid "Authentication LDAP" -msgstr "Authentification LDAP" - -#: authentication.pm:34 -#, c-format -msgid "LDAP Base dn" -msgstr "Racine (dn) LDAP" - -#: authentication.pm:35 -#, c-format -msgid "LDAP Server" -msgstr "Serveur LDAP" - -#: authentication.pm:40 -#, c-format -msgid "Authentication NIS" -msgstr "Authentification NIS" - -#: authentication.pm:41 -#, c-format -msgid "NIS Domain" -msgstr "Domaine NIS" - -#: authentication.pm:42 -#, c-format -msgid "NIS Server" -msgstr "Serveur NIS" - -#: authentication.pm:47 -#, 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(tm).\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 DOMAIN " -"-U USER%%PASSWORD' en utilisant votre domaine Windows(tm), 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:49 -#, c-format -msgid "Authentication Windows Domain" -msgstr "Authentification au Domaine Windows" - -#: authentication.pm:51 -#, c-format -msgid "Domain Admin User Name" -msgstr "Nom d'administrateur de domaine" - -#: authentication.pm:52 -#, c-format -msgid "Domain Admin Password" -msgstr "Mot de passe d'administration de domaine" - -#: authentication.pm:83 -#, c-format -msgid "Can't 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:532 -#, 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:663 -#, c-format -msgid "SILO" -msgstr "SILO" - -#: bootloader.pm:665 help.pm:768 -#, c-format -msgid "LILO with graphical menu" -msgstr "LILO en mode graphique" - -#: bootloader.pm:666 help.pm:768 -#, c-format -msgid "LILO with text menu" -msgstr "LILO en mode texte" - -#: bootloader.pm:668 -#, c-format -msgid "Grub" -msgstr "Grub" - -#: bootloader.pm:670 -#, c-format -msgid "Yaboot" -msgstr "Yaboot" - -#: bootloader.pm:1143 -#, c-format -msgid "not enough room in /boot" -msgstr "il n'y a pas assez de place dans le dossier /boot" - -#: bootloader.pm:1171 -#, c-format -msgid "You can't 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:1215 -#, 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:1222 -#, c-format -msgid "" -"The bootloader can't 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 d'installation avec l'option « rescue » et choisir « %s »" - -#: bootloader.pm:1223 -#, c-format -msgid "Re-install Boot Loader" -msgstr "Réinstaller le programme d'amorçage" - -#: common.pm:125 -#, c-format -msgid "KB" -msgstr "Ko" - -#: common.pm:125 -#, c-format -msgid "MB" -msgstr "Mo" - -#: common.pm:125 -#, c-format -msgid "GB" -msgstr "Go" - -#: common.pm:133 -#, c-format -msgid "TB" -msgstr "To" - -#: common.pm:141 -#, c-format -msgid "%d minutes" -msgstr "%d minutes" - -#: common.pm:143 -#, c-format -msgid "1 minute" -msgstr "1 minute" - -#: common.pm:145 -#, c-format -msgid "%d seconds" -msgstr "%d secondes" - -#: common.pm:197 -#, c-format -msgid "Can't make screenshots before partitioning" -msgstr "Impossible de faire des captures d'écran avant le partitionnement" - -#: common.pm:204 -#, c-format -msgid "Screenshots will be available after install in %s" -msgstr "Les captures d'écran seront disponibles après l'installation dans %s" - -#: common.pm:269 -#, c-format -msgid "kdesu missing" -msgstr "le programme « kdesu » est introuvable" - -#: common.pm:272 -#, c-format -msgid "consolehelper missing" -msgstr "le programme « consolehelper » est introuvable" - -#: crypto.pm:14 crypto.pm:28 lang.pm:238 network/adsl_consts.pm:44 -#: network/adsl_consts.pm:55 network/adsl_consts.pm:65 -#: network/adsl_consts.pm:75 network/adsl_consts.pm:86 -#: network/adsl_consts.pm:97 network/adsl_consts.pm:107 -#: network/adsl_consts.pm:117 network/adsl_consts.pm:264 -#: network/netconnect.pm:46 -#, c-format -msgid "France" -msgstr "France" - -#: crypto.pm:15 lang.pm:214 -#, c-format -msgid "Costa Rica" -msgstr "Costa Rica" - -#: crypto.pm:16 crypto.pm:29 lang.pm:186 network/adsl_consts.pm:26 -#: network/adsl_consts.pm:36 network/netconnect.pm:49 -#, c-format -msgid "Belgium" -msgstr "Belgique" - -#: crypto.pm:17 crypto.pm:30 lang.pm:219 -#, c-format -msgid "Czech Republic" -msgstr "République Tchèque" - -#: crypto.pm:18 crypto.pm:31 lang.pm:220 network/adsl_consts.pm:134 -#: network/adsl_consts.pm:142 -#, c-format -msgid "Germany" -msgstr "Allemagne" - -#: crypto.pm:19 crypto.pm:32 lang.pm:251 -#, c-format -msgid "Greece" -msgstr "Grèce" - -#: crypto.pm:20 crypto.pm:33 lang.pm:324 -#, c-format -msgid "Norway" -msgstr "Norvège" - -#: crypto.pm:21 crypto.pm:34 lang.pm:353 network/adsl_consts.pm:240 -#, c-format -msgid "Sweden" -msgstr "Suède" - -#: crypto.pm:22 crypto.pm:36 lang.pm:323 network/adsl_consts.pm:178 -#: network/netconnect.pm:47 -#, c-format -msgid "Netherlands" -msgstr "Pays-Bas" - -#: crypto.pm:23 crypto.pm:37 lang.pm:271 network/adsl_consts.pm:158 -#: network/adsl_consts.pm:168 network/netconnect.pm:48 standalone/drakxtv:45 -#, c-format -msgid "Italy" -msgstr "Italie" - -#: crypto.pm:24 crypto.pm:38 lang.pm:179 network/adsl_consts.pm:20 -#, c-format -msgid "Austria" -msgstr "Autriche" - -#: crypto.pm:35 crypto.pm:65 lang.pm:387 network/netconnect.pm:50 -#, c-format -msgid "United States" -msgstr "États-Unis" - -#: diskdrake/dav.pm:19 -#, 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:27 -#, c-format -msgid "New" -msgstr "Nouveau" - -#: diskdrake/dav.pm:63 diskdrake/interactive.pm:417 diskdrake/smbnfs_gtk.pm:75 -#, c-format -msgid "Unmount" -msgstr "Démonter" - -#: diskdrake/dav.pm:64 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:76 -#, c-format -msgid "Mount" -msgstr "Monter" - -#: diskdrake/dav.pm:65 help.pm:137 -#, c-format -msgid "Server" -msgstr "Serveur" - -#: diskdrake/dav.pm:66 diskdrake/interactive.pm:408 -#: diskdrake/interactive.pm:616 diskdrake/interactive.pm:635 -#: diskdrake/removable.pm:24 diskdrake/smbnfs_gtk.pm:79 -#, c-format -msgid "Mount point" -msgstr "Point de montage" - -#: diskdrake/dav.pm:85 -#, c-format -msgid "Please enter the WebDAV server URL" -msgstr "Entrez l'adresse du serveur WebDAV" - -#: diskdrake/dav.pm:89 -#, c-format -msgid "The URL must begin with http:// or https://" -msgstr "L'URL doit commencer par http:// ou https://" - -#: diskdrake/dav.pm:111 -#, c-format -msgid "Server: " -msgstr "Serveur : " - -#: diskdrake/dav.pm:112 diskdrake/interactive.pm:469 -#: diskdrake/interactive.pm:1149 diskdrake/interactive.pm:1225 -#, c-format -msgid "Mount point: " -msgstr "Point de montage : " - -#: diskdrake/dav.pm:113 diskdrake/interactive.pm:1233 -#, c-format -msgid "Options: %s" -msgstr "Options : %s" - -#: diskdrake/hd_gtk.pm:96 diskdrake/interactive.pm:995 -#: diskdrake/interactive.pm:1005 diskdrake/interactive.pm:1065 -#, c-format -msgid "Read carefully!" -msgstr "MISE EN GARDE !" - -#: diskdrake/hd_gtk.pm:96 -#, 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:99 -#, 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:156 help.pm:544 -#, c-format -msgid "Wizard" -msgstr "Assistant" - -#: diskdrake/hd_gtk.pm:189 -#, c-format -msgid "Choose action" -msgstr "Choisissez une action" - -#: diskdrake/hd_gtk.pm:193 -#, 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 grosse 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:195 -#, c-format -msgid "Please click on a partition" -msgstr "Veuillez cliquer sur une partition" - -#: diskdrake/hd_gtk.pm:209 diskdrake/smbnfs_gtk.pm:63 install_steps_gtk.pm:477 -#: standalone/drakbackup:3040 standalone/drakbackup:3102 -#, c-format -msgid "Details" -msgstr "Détails" - -#: diskdrake/hd_gtk.pm:255 -#, c-format -msgid "No hard drives found" -msgstr "Aucun disque dur trouvé" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "Ext2" -msgstr "Ext2" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "Journalised FS" -msgstr "SF journalisé" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "Swap" -msgstr "Swap" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "SunOS" -msgstr "SunOS" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "HFS" -msgstr "HFS" - -#: diskdrake/hd_gtk.pm:326 -#, c-format -msgid "Windows" -msgstr "Windows" - -#: diskdrake/hd_gtk.pm:327 install_steps_gtk.pm:329 mouse.pm:167 -#: services.pm:164 standalone/drakbackup:1673 standalone/drakperm:250 -#, c-format -msgid "Other" -msgstr "Autre" - -#: diskdrake/hd_gtk.pm:327 diskdrake/interactive.pm:1165 -#, c-format -msgid "Empty" -msgstr "Vide" - -#: diskdrake/hd_gtk.pm:331 -#, c-format -msgid "Filesystem types:" -msgstr "Types des systèmes de fichiers :" - -#: diskdrake/hd_gtk.pm:348 diskdrake/hd_gtk.pm:350 diskdrake/hd_gtk.pm:353 -#, c-format -msgid "Use ``%s'' instead" -msgstr "Utilisez plutôt « %s »" - -#: diskdrake/hd_gtk.pm:348 diskdrake/hd_gtk.pm:353 -#: diskdrake/interactive.pm:409 diskdrake/interactive.pm:569 -#: diskdrake/removable.pm:26 diskdrake/removable.pm:49 -#: standalone/harddrake2:67 -#, c-format -msgid "Type" -msgstr "Type" - -#: diskdrake/hd_gtk.pm:348 diskdrake/interactive.pm:431 -#, c-format -msgid "Create" -msgstr "Créer" - -#: diskdrake/hd_gtk.pm:350 diskdrake/interactive.pm:418 -#: standalone/drakperm:124 standalone/printerdrake:231 -#, c-format -msgid "Delete" -msgstr "Supprimer" - -#: diskdrake/hd_gtk.pm:353 -#, c-format -msgid "Use ``Unmount'' first" -msgstr "Cliquez d'abord sur « Démonter »" - -#: diskdrake/interactive.pm:179 -#, c-format -msgid "Choose another partition" -msgstr "Choisissez une autre partition" - -#: diskdrake/interactive.pm:179 -#, c-format -msgid "Choose a partition" -msgstr "Choisissez une partition" - -#: diskdrake/interactive.pm:208 -#, c-format -msgid "Exit" -msgstr "Quitter" - -#: diskdrake/interactive.pm:241 help.pm:544 -#, c-format -msgid "Undo" -msgstr "État précédent" - -#: diskdrake/interactive.pm:241 -#, c-format -msgid "Toggle to normal mode" -msgstr "Passer en mode normal" - -#: diskdrake/interactive.pm:241 -#, c-format -msgid "Toggle to expert mode" -msgstr "Passer en mode expert" - -#: diskdrake/interactive.pm:260 -#, c-format -msgid "Continue anyway?" -msgstr "Désirez-vous tout de même continuer ?" - -#: diskdrake/interactive.pm:265 -#, c-format -msgid "Quit without saving" -msgstr "Quitter sans sauvegarder" - -#: diskdrake/interactive.pm:265 -#, 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:270 -#, c-format -msgid "Do you want to save /etc/fstab modifications" -msgstr "Désirez-vous sauvegarder les modifications de /etc/fstab" - -#: diskdrake/interactive.pm:277 install_steps_interactive.pm:301 -#, 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:290 help.pm:544 -#, c-format -msgid "Clear all" -msgstr "Supprimer toutes les partitions" - -#: diskdrake/interactive.pm:291 help.pm:544 -#, c-format -msgid "Auto allocate" -msgstr "Partitionnement automatique" - -#: diskdrake/interactive.pm:297 -#, c-format -msgid "Hard drive information" -msgstr "Informations sur les disques durs" - -#: diskdrake/interactive.pm:329 -#, c-format -msgid "All primary partitions are used" -msgstr "Toutes les partitions primaires sont utilisées" - -#: diskdrake/interactive.pm:330 -#, c-format -msgid "I can't add any more partitions" -msgstr "Impossible d'ajouter une partition" - -#: diskdrake/interactive.pm:331 -#, 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:342 help.pm:544 -#, c-format -msgid "Save partition table" -msgstr "Sauvegarder la table des partitions..." - -#: diskdrake/interactive.pm:343 help.pm:544 -#, c-format -msgid "Restore partition table" -msgstr "Charger une table des partitions..." - -#: diskdrake/interactive.pm:344 help.pm:544 -#, c-format -msgid "Rescue partition table" -msgstr "Deviner automatiquement la table des partitions" - -#: diskdrake/interactive.pm:346 help.pm:544 -#, c-format -msgid "Reload partition table" -msgstr "Relire la table des partitions" - -#: diskdrake/interactive.pm:348 -#, c-format -msgid "Removable media automounting" -msgstr "Auto-montage des périphériques amovibles" - -#: diskdrake/interactive.pm:357 diskdrake/interactive.pm:377 -#, c-format -msgid "Select file" -msgstr "Sélectionnez un fichier" - -#: diskdrake/interactive.pm:364 -#, 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:378 harddrake/sound.pm:226 keyboard.pm:314 -#: network/netconnect.pm:338 network/netconnect.pm:451 -#: network/netconnect.pm:470 network/netconnect.pm:655 -#: printer/printerdrake.pm:936 printer/printerdrake.pm:1891 -#: printer/printerdrake.pm:1953 printer/printerdrake.pm:1987 -#: printer/printerdrake.pm:2291 printer/printerdrake.pm:3149 -#: printer/printerdrake.pm:3426 printer/printerdrake.pm:3545 -#: printer/printerdrake.pm:4543 standalone/drakTermServ:352 -#: standalone/drakTermServ:1083 standalone/drakTermServ:1139 -#: standalone/drakTermServ:1802 standalone/drakbackup:580 -#: standalone/drakbackup:678 standalone/drakboot:156 standalone/drakclock:212 -#: standalone/drakconnect:908 standalone/drakfloppy:295 standalone/drakups:27 -#: standalone/scannerdrake:50 standalone/scannerdrake:908 -#, c-format -msgid "Warning" -msgstr "Attention" - -#: diskdrake/interactive.pm:379 -#, c-format -msgid "" -"Insert a floppy in drive\n" -"All data on this floppy will be lost" -msgstr "" -"Insérez une disquette dans le lecteur.\n" -"Toutes les données présentes sur cette disquette seront perdues." - -#: diskdrake/interactive.pm:390 -#, c-format -msgid "Trying to rescue partition table" -msgstr "Tentative de lecture de l'organisation des partitions..." - -#: diskdrake/interactive.pm:396 -#, c-format -msgid "Detailed information" -msgstr "Informations détaillées" - -#: diskdrake/interactive.pm:411 diskdrake/interactive.pm:706 -#, c-format -msgid "Resize" -msgstr "Redimensionner" - -#: diskdrake/interactive.pm:412 diskdrake/interactive.pm:774 -#, c-format -msgid "Move" -msgstr "Déplacer" - -#: diskdrake/interactive.pm:413 -#, c-format -msgid "Format" -msgstr "Formater" - -#: diskdrake/interactive.pm:415 -#, c-format -msgid "Add to RAID" -msgstr "Ajouter au RAID" - -#: diskdrake/interactive.pm:416 -#, c-format -msgid "Add to LVM" -msgstr "Ajouter au LVM" - -#: diskdrake/interactive.pm:419 -#, c-format -msgid "Remove from RAID" -msgstr "Supprimer du RAID" - -#: diskdrake/interactive.pm:420 -#, c-format -msgid "Remove from LVM" -msgstr "Supprimer du LVM" - -#: diskdrake/interactive.pm:421 -#, c-format -msgid "Modify RAID" -msgstr "Modifier le RAID" - -#: diskdrake/interactive.pm:422 -#, c-format -msgid "Use for loopback" -msgstr "Utiliser pour le bouclage" - -#: diskdrake/interactive.pm:462 -#, c-format -msgid "Create a new partition" -msgstr "Créer une nouvelle partition" - -#: diskdrake/interactive.pm:465 -#, c-format -msgid "Start sector: " -msgstr "Secteur de début : " - -#: diskdrake/interactive.pm:467 diskdrake/interactive.pm:876 -#, c-format -msgid "Size in MB: " -msgstr "Taille en Mo : " - -#: diskdrake/interactive.pm:468 diskdrake/interactive.pm:877 -#, c-format -msgid "Filesystem type: " -msgstr "Type du système de fichiers : " - -#: diskdrake/interactive.pm:473 -#, c-format -msgid "Preference: " -msgstr "Préférence : " - -#: diskdrake/interactive.pm:476 -#, c-format -msgid "Logical volume name " -msgstr "Nom du volume logique" - -#: diskdrake/interactive.pm:505 -#, c-format -msgid "" -"You can't 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:535 -#, c-format -msgid "Remove the loopback file?" -msgstr "Supprimer le fichier de boucle ?" - -#: diskdrake/interactive.pm:554 -#, 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:565 -#, c-format -msgid "Change partition type" -msgstr "Changement du type de partition" - -#: diskdrake/interactive.pm:566 diskdrake/removable.pm:48 -#, c-format -msgid "Which filesystem do you want?" -msgstr "Quel système de fichiers désirez-vous utiliser ?" - -#: diskdrake/interactive.pm:574 -#, c-format -msgid "Switching from ext2 to ext3" -msgstr "Passage de ext2 à ext3" - -#: diskdrake/interactive.pm:603 -#, 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:604 -#, c-format -msgid "Where do you want to mount device %s?" -msgstr "Où désirez-vous monter la partition %s ?" - -#: diskdrake/interactive.pm:609 -#, c-format -msgid "" -"Can't 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:634 -#, c-format -msgid "Where do you want to mount %s?" -msgstr "Où désirez-vous monter %s ?" - -#: diskdrake/interactive.pm:658 diskdrake/interactive.pm:738 -#: install_interactive.pm:156 install_interactive.pm:186 -#, c-format -msgid "Resizing" -msgstr "Redimensionnement" - -#: diskdrake/interactive.pm:658 -#, c-format -msgid "Computing FAT filesystem bounds" -msgstr "Calcul des limites du système de fichiers FAT..." - -#: diskdrake/interactive.pm:694 -#, c-format -msgid "This partition is not resizeable" -msgstr "Cette partition ne peut pas être redimensionnée" - -#: diskdrake/interactive.pm:699 -#, 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:701 -#, 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:706 -#, c-format -msgid "Choose the new size" -msgstr "Choisissez la nouvelle taille" - -#: diskdrake/interactive.pm:707 -#, c-format -msgid "New size in MB: " -msgstr "Nouvelle taille en Mo : " - -#: diskdrake/interactive.pm:751 install_interactive.pm:194 -#, c-format -msgid "" -"To ensure data integrity after resizing the partition(s), \n" -"filesystem checks will be run on your next boot into Windows(TM)" -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(TM)" - -#: diskdrake/interactive.pm:775 -#, c-format -msgid "Which disk do you want to move it to?" -msgstr "Sur quel disque souhaitez-vous la déplacer ?" - -#: diskdrake/interactive.pm:776 -#, c-format -msgid "Sector" -msgstr "Secteur" - -#: diskdrake/interactive.pm:777 -#, c-format -msgid "Which sector do you want to move it to?" -msgstr "Sur quel secteur souhaitez-vous la déplacer ?" - -#: diskdrake/interactive.pm:780 -#, c-format -msgid "Moving" -msgstr "Déplacement" - -#: diskdrake/interactive.pm:780 -#, c-format -msgid "Moving partition..." -msgstr "Déplacement de la partition..." - -#: diskdrake/interactive.pm:802 -#, c-format -msgid "Choose an existing RAID to add to" -msgstr "Choisissez un RAID existant" - -#: diskdrake/interactive.pm:803 diskdrake/interactive.pm:820 -#, c-format -msgid "new" -msgstr "Nouveau" - -#: diskdrake/interactive.pm:818 -#, c-format -msgid "Choose an existing LVM to add to" -msgstr "Choisissez un LVM existant" - -#: diskdrake/interactive.pm:824 -#, c-format -msgid "LVM name?" -msgstr "Nom LVM ?" - -#: diskdrake/interactive.pm:861 -#, c-format -msgid "This partition can't be used for loopback" -msgstr "Cette partition ne peut pas être utilisée pour du bouclage" - -#: diskdrake/interactive.pm:874 -#, c-format -msgid "Loopback" -msgstr "Bouclage" - -#: diskdrake/interactive.pm:875 -#, c-format -msgid "Loopback file name: " -msgstr "Nom du fichier de bouclage :" - -#: diskdrake/interactive.pm:880 -#, c-format -msgid "Give a file name" -msgstr "Donnez un nom de fichier" - -#: diskdrake/interactive.pm:883 -#, 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:884 -#, c-format -msgid "File already exists. Use it?" -msgstr "Le fichier existe déjà . Faut-il l'utiliser ?" - -#: diskdrake/interactive.pm:907 -#, c-format -msgid "Mount options" -msgstr "Options de montage" - -#: diskdrake/interactive.pm:914 -#, c-format -msgid "Various" -msgstr "Divers" - -#: diskdrake/interactive.pm:978 -#, c-format -msgid "device" -msgstr "périphérique" - -#: diskdrake/interactive.pm:979 -#, c-format -msgid "level" -msgstr "Niveau de RAID" - -#: diskdrake/interactive.pm:980 -#, c-format -msgid "chunk size" -msgstr "Taille de bloc" - -#: diskdrake/interactive.pm:996 -#, c-format -msgid "Be careful: this operation is dangerous." -msgstr "Soyez prudent : cette opération est dangereuse." - -#: diskdrake/interactive.pm:1011 -#, c-format -msgid "What type of partitioning?" -msgstr "Quel type de partitionnement ?" - -#: diskdrake/interactive.pm:1027 -#, c-format -msgid "The package %s is needed. Install it?" -msgstr "Le paquetage %s est requis. Souhaitez-vous l'installer ?" - -#: diskdrake/interactive.pm:1056 -#, 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:1065 -#, 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:1078 -#, 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:1095 -#, c-format -msgid "Move files to the new partition" -msgstr "Déplacer les fichiers sur la nouvelle partition" - -#: diskdrake/interactive.pm:1095 -#, c-format -msgid "Hide files" -msgstr "Cacher les fichiers" - -#: diskdrake/interactive.pm:1096 -#, c-format -msgid "" -"Directory %s already contains data\n" -"(%s)" -msgstr "" -"Le dossier %s contient déjà des données\n" -"(%s)" - -#: diskdrake/interactive.pm:1107 -#, c-format -msgid "Moving files to the new partition" -msgstr "Déplacement des fichiers sur la nouvelle partition..." - -#: diskdrake/interactive.pm:1111 -#, c-format -msgid "Copying %s" -msgstr "Copie de %s" - -#: diskdrake/interactive.pm:1115 -#, c-format -msgid "Removing %s" -msgstr "Suppression de %s" - -#: diskdrake/interactive.pm:1129 -#, c-format -msgid "partition %s is now known as %s" -msgstr "la partition %s est maintenant connue comme %s" - -#: diskdrake/interactive.pm:1150 diskdrake/interactive.pm:1210 -#, c-format -msgid "Device: " -msgstr "Périphérique : " - -#: diskdrake/interactive.pm:1151 -#, c-format -msgid "DOS drive letter: %s (just a guess)\n" -msgstr "Lettre de lecteur DOS supposée : %s:\n" - -#: diskdrake/interactive.pm:1155 diskdrake/interactive.pm:1163 -#: diskdrake/interactive.pm:1229 -#, c-format -msgid "Type: " -msgstr "Type : " - -#: diskdrake/interactive.pm:1159 install_steps_gtk.pm:341 -#, c-format -msgid "Name: " -msgstr "Nom : " - -#: diskdrake/interactive.pm:1167 -#, c-format -msgid "Start: sector %s\n" -msgstr "Début : secteur %s\n" - -#: diskdrake/interactive.pm:1168 -#, c-format -msgid "Size: %s" -msgstr "Taille : %s" - -#: diskdrake/interactive.pm:1170 -#, c-format -msgid ", %s sectors" -msgstr ", %s secteurs" - -#: diskdrake/interactive.pm:1172 -#, c-format -msgid "Cylinder %d to %d\n" -msgstr "Cylindre %d à %d\n" - -#: diskdrake/interactive.pm:1173 -#, c-format -msgid "Number of logical extents: %d" -msgstr "Nombre d'unités d'allocation logiques : %d" - -#: diskdrake/interactive.pm:1174 -#, c-format -msgid "Formatted\n" -msgstr "Formatée\n" - -#: diskdrake/interactive.pm:1175 -#, c-format -msgid "Not formatted\n" -msgstr "Non formatée\n" - -#: diskdrake/interactive.pm:1176 -#, c-format -msgid "Mounted\n" -msgstr "Montée\n" - -#: diskdrake/interactive.pm:1177 -#, c-format -msgid "RAID md%s\n" -msgstr "Appartient au RAID md%s\n" - -#: diskdrake/interactive.pm:1179 -#, c-format -msgid "" -"Loopback file(s):\n" -" %s\n" -msgstr "" -"Fichier(s) de bouclage :\n" -" %s\n" - -#: diskdrake/interactive.pm:1180 -#, 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:1182 -#, c-format -msgid "Level %s\n" -msgstr "RAID de niveau %s\n" - -#: diskdrake/interactive.pm:1183 -#, c-format -msgid "Chunk size %s\n" -msgstr "Taille de bloc %s\n" - -#: diskdrake/interactive.pm:1184 -#, c-format -msgid "RAID-disks %s\n" -msgstr "disques RAID %s\n" - -#: diskdrake/interactive.pm:1186 -#, c-format -msgid "Loopback file name: %s" -msgstr "Nom du fichier de bouclage : %s" - -#: diskdrake/interactive.pm:1189 -#, 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:1192 -#, 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:1211 -#, c-format -msgid "Read-only" -msgstr "Protégé en lecture" - -#: diskdrake/interactive.pm:1212 -#, c-format -msgid "Size: %s\n" -msgstr "Taille : %s\n" - -#: diskdrake/interactive.pm:1213 -#, 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:1214 -#, c-format -msgid "Info: " -msgstr "Information : " - -#: diskdrake/interactive.pm:1215 -#, c-format -msgid "LVM-disks %s\n" -msgstr "disques LVM %s\n" - -#: diskdrake/interactive.pm:1216 -#, c-format -msgid "Partition table type: %s\n" -msgstr "Table des partitions de type : %s\n" - -#: diskdrake/interactive.pm:1217 -#, c-format -msgid "on channel %d id %d\n" -msgstr "sur canal %d id %d\n" - -#: diskdrake/interactive.pm:1250 -#, c-format -msgid "Filesystem encryption key" -msgstr "Clef de chiffrement du système de fichiers" - -#: diskdrake/interactive.pm:1251 -#, c-format -msgid "Choose your filesystem encryption key" -msgstr "Choisissez la clef de chiffrement du système de fichiers" - -#: diskdrake/interactive.pm:1254 -#, c-format -msgid "This encryption key is too simple (must be at least %d characters long)" -msgstr "Cette clef de chiffrement est trop courte (minimum %d caractères)" - -#: diskdrake/interactive.pm:1255 -#, c-format -msgid "The encryption keys do not match" -msgstr "Les clefs de chiffrement ne correspondent pas" - -#: diskdrake/interactive.pm:1258 network/netconnect.pm:987 -#: standalone/drakconnect:393 -#, c-format -msgid "Encryption key" -msgstr "Clef de chiffrement" - -#: diskdrake/interactive.pm:1259 -#, c-format -msgid "Encryption key (again)" -msgstr "Clef de chiffrement (confirmation)" - -#: diskdrake/removable.pm:47 -#, c-format -msgid "Change type" -msgstr "Changer le type" - -#: diskdrake/smbnfs_gtk.pm:163 -#, c-format -msgid "Can't login using username %s (bad password?)" -msgstr "Impossible de se connecter avec le nom %s (mauvais mot de passe ?)" - -#: diskdrake/smbnfs_gtk.pm:167 diskdrake/smbnfs_gtk.pm:176 -#, c-format -msgid "Domain Authentication Required" -msgstr "Domaine d'authentification nécessaire" - -#: diskdrake/smbnfs_gtk.pm:168 -#, c-format -msgid "Which username" -msgstr "Quel nom d'utilisateur" - -#: diskdrake/smbnfs_gtk.pm:168 -#, c-format -msgid "Another one" -msgstr "Un autre" - -#: diskdrake/smbnfs_gtk.pm:177 -#, 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:179 standalone/drakbackup:3591 -#, c-format -msgid "Username" -msgstr "Nom d'utilisateur" - -#: diskdrake/smbnfs_gtk.pm:181 -#, c-format -msgid "Domain" -msgstr "Domaine" - -#: diskdrake/smbnfs_gtk.pm:205 -#, c-format -msgid "Search servers" -msgstr "Rechercher les serveurs" - -#: diskdrake/smbnfs_gtk.pm:210 -#, c-format -msgid "Search new servers" -msgstr "Rechercher les nouveaux serveurs" - -#: do_pkgs.pm:21 -#, 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:26 -#, c-format -msgid "Mandatory package %s is missing" -msgstr "Le paquetage %s, requis, est manquant" - -#: do_pkgs.pm:143 -#, c-format -msgid "Installing packages..." -msgstr "Installation des paquetages..." - -#: do_pkgs.pm:217 -#, c-format -msgid "Removing packages..." -msgstr "Suppression des packages ..." - -#: fs.pm:409 -#, 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.pm:412 -#, 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.pm:415 -#, 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.pm:417 -#, 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.pm:421 -#, 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.pm:425 -#, c-format -msgid "Mount the file system read-only." -msgstr "Monter le système de fichier en lecture seule." - -#: fs.pm:427 -#, 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.pm:431 -#, c-format -msgid "" -"Allow an ordinary user to mount the file system. The\n" -"name of the mounting user is written to mtab so that he can unmount the " -"file\n" -"system again. This option implies the options noexec, nosuid, and nodev\n" -"(unless overridden by subsequent options, as in the option line\n" -"user,exec,dev,suid )." -msgstr "" -"Permet à un utilisateur ordinaire de monter le système de fichier. Le\n" -"jom de l'utilisateur est écrit dans mtab de telle façon qu'il puisse\n" -"démonter le système de fichier ensuite. Cette option implique les\n" -"options noxec, nosuid, et nodev (à moins que ces dernières soit\n" -"désactivée par les options suivantes comme dans l'exemple suivant :\n" -"« user,exec,dev,suid »)." - -#: fs.pm:439 -#, c-format -msgid "Give write access to ordinary users" -msgstr "Donner l'accès en écriture aux utilisateurs ordinaires" - -#: fs.pm:441 -#, c-format -msgid "Give read-only access to ordinary users" -msgstr "Donner l'accès en lecture aux utilisateurs ordinaires" - -#: fs.pm:581 fs.pm:591 fs.pm:595 fs.pm:599 fs.pm:603 fs.pm:607 swap.pm:12 -#, c-format -msgid "%s formatting of %s failed" -msgstr "le formatage au format %s de %s a échoué" - -#: fs.pm:648 -#, c-format -msgid "I don't know how to format %s in type %s" -msgstr "Impossible de formater %s au format %s" - -#: fs.pm:655 fs.pm:662 -#, c-format -msgid "Formatting partition %s" -msgstr "Formatage de la partition %s" - -#: fs.pm:659 -#, c-format -msgid "Creating and formatting file %s" -msgstr "Création et formatage du fichier %s" - -#: fs.pm:719 fs.pm:772 -#, c-format -msgid "Mounting partition %s" -msgstr "Montage de la partition %s" - -#: fs.pm:720 fs.pm:773 -#, c-format -msgid "mounting partition %s in directory %s failed" -msgstr "le montage de la partition %s dans le dossier %s a échoué" - -#: fs.pm:740 fs.pm:748 -#, c-format -msgid "Checking %s" -msgstr "Vérification de %s" - -#: fs.pm:789 partition_table.pm:638 -#, c-format -msgid "error unmounting %s: %s" -msgstr "Le démontage de %s a échoué : %s" - -#: fs.pm:821 -#, c-format -msgid "Enabling swap partition %s" -msgstr "Activer la partition d'échange %s" - -#: fsedit.pm:21 -#, c-format -msgid "simple" -msgstr "simple" - -#: fsedit.pm:25 -#, c-format -msgid "with /usr" -msgstr "avec /usr" - -#: fsedit.pm:30 -#, c-format -msgid "server" -msgstr "serveur" - -#: fsedit.pm:254 -#, c-format -msgid "" -"I can't 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:513 -#, c-format -msgid "You can't use JFS for partitions smaller than 16MB" -msgstr "Les partitions JFS doivent faire au moins 16 Mo." - -#: fsedit.pm:514 -#, c-format -msgid "You can't use ReiserFS for partitions smaller than 32MB" -msgstr "Les partitions ReiserFS doivent faire au moins 32 Mo." - -#: fsedit.pm:533 -#, c-format -msgid "Mount points must begin with a leading /" -msgstr "Les points de montage doivent commencer par /" - -#: fsedit.pm:534 -#, 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:535 -#, 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:537 -#, 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:540 -#, c-format -msgid "You can't use a LVM Logical Volume for mount point %s" -msgstr "" -"Vous ne pouvez pas utiliser une partition logique LVM pour le point de " -"montage %s" - -#: fsedit.pm:542 -#, c-format -msgid "" -"You've selected a LVM Logical Volume as root (/).\n" -"The bootloader is not able to handle this without a /boot partition.\n" -"Please be sure to add a /boot partition" -msgstr "" -"Attention, vous avez choisi une partition logique LVM comme partition racine " -"(/).\n" -"Pour que votre système puisse démarrer, vous devez ajouter\n" -"une partition non LVM, spécifique pour le dossier /boot." - -#: fsedit.pm:545 -#, c-format -msgid "" -"You may not be able to install lilo (since lilo doesn't handle a LV on " -"multiple PVs)" -msgstr "" -"Vous risquez de ne pas être en mesure d'installer lilo (car lilo ne supporte " -"pas un LV sur plusieurs PVs)" - -#: fsedit.pm:548 fsedit.pm:550 -#, c-format -msgid "This directory should remain within the root filesystem" -msgstr "Ce dossier doit rester dans la partition racine" - -#: fsedit.pm:552 -#, 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:554 -#, c-format -msgid "You can't 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:615 -#, c-format -msgid "Not enough free space for auto-allocating" -msgstr "Pas assez d'espace libre pour le partitionnement automatique" - -#: fsedit.pm:617 -#, c-format -msgid "Nothing to do" -msgstr "Rien à faire" - -#: fsedit.pm:713 -#, c-format -msgid "Error opening %s for writing: %s" -msgstr "Erreur lors de l'ouverture de %s en écriture : %s" - -#: harddrake/data.pm:53 -#, c-format -msgid "Floppy" -msgstr "Lecteur de disquette" - -#: harddrake/data.pm:54 -#, c-format -msgid "Zip" -msgstr "Lecteurs Zip" - -#: harddrake/data.pm:55 -#, c-format -msgid "Disk" -msgstr "Disques" - -#: harddrake/data.pm:56 -#, c-format -msgid "CDROM" -msgstr "CD-Rom" - -#: harddrake/data.pm:57 -#, c-format -msgid "CD/DVD burners" -msgstr "Graveurs CD/DVD" - -#: harddrake/data.pm:58 -#, c-format -msgid "DVD-ROM" -msgstr "DVD" - -#: harddrake/data.pm:59 standalone/drakbackup:2116 -#, c-format -msgid "Tape" -msgstr "Bande" - -#: harddrake/data.pm:60 -#, c-format -msgid "Videocard" -msgstr "Carte vidéo" - -#: harddrake/data.pm:61 -#, c-format -msgid "Tvcard" -msgstr "Carte TV" - -#: harddrake/data.pm:62 -#, c-format -msgid "Other MultiMedia devices" -msgstr "Autre périphériques multimédia" - -#: harddrake/data.pm:63 -#, c-format -msgid "Soundcard" -msgstr "Carte son" - -#: harddrake/data.pm:64 -#, c-format -msgid "Webcam" -msgstr "Webcam" - -#: harddrake/data.pm:68 -#, c-format -msgid "Processors" -msgstr "Processeurs" - -#: harddrake/data.pm:69 -#, c-format -msgid "ISDN adapters" -msgstr "Cartes RNIS" - -#: harddrake/data.pm:70 -#, c-format -msgid "Ethernetcard" -msgstr "Carte ethernet" - -#: harddrake/data.pm:78 network/netconnect.pm:465 standalone/drakconnect:272 -#: standalone/drakconnect:292 standalone/drakconnect:472 -#: standalone/drakconnect:473 standalone/drakconnect:576 -#, c-format -msgid "Modem" -msgstr "Modem" - -#: harddrake/data.pm:79 -#, c-format -msgid "ADSL adapters" -msgstr "Modems ADSL" - -#: harddrake/data.pm:81 -#, c-format -msgid "AGP controllers" -msgstr "Contrôleurs AGP" - -#: harddrake/data.pm:82 -#, c-format -msgid "Bridges and system controllers" -msgstr "Ponts et contrôleurs système" - -#: harddrake/data.pm:83 help.pm:203 help.pm:991 -#: install_steps_interactive.pm:933 printer/printerdrake.pm:687 -#: printer/printerdrake.pm:4175 -#, c-format -msgid "Printer" -msgstr "Imprimante" - -#: harddrake/data.pm:85 help.pm:991 install_steps_interactive.pm:926 -#, c-format -msgid "Mouse" -msgstr "Souris" - -#: harddrake/data.pm:90 -#, c-format -msgid "Joystick" -msgstr "Joystick" - -#: harddrake/data.pm:92 -#, c-format -msgid "(E)IDE/ATA controllers" -msgstr "Contrôleurs (E)IDE/ATA" - -#: harddrake/data.pm:94 -#, c-format -msgid "Firewire controllers" -msgstr "Contrôleurs Firewire" - -#: harddrake/data.pm:95 -#, c-format -msgid "SCSI controllers" -msgstr "Contrôleurs SCSI" - -#: harddrake/data.pm:96 -#, c-format -msgid "USB controllers" -msgstr "Contrôleurs USB" - -#: harddrake/data.pm:97 -#, c-format -msgid "SMBus controllers" -msgstr "Contrôleurs SMB" - -#: harddrake/data.pm:98 -#, c-format -msgid "Scanner" -msgstr "Scanner" - -#: harddrake/data.pm:100 standalone/harddrake2:319 -#, c-format -msgid "Unknown/Others" -msgstr "Inconnus/Autres" - -#: harddrake/data.pm:114 -#, c-format -msgid "cpu # " -msgstr "processeur n°" - -#: harddrake/sound.pm:150 standalone/drakconnect:169 -#, c-format -msgid "Please Wait... Applying the configuration" -msgstr "Veuillez patienter... Mise en place de la configuration" - -#: harddrake/sound.pm:186 -#, c-format -msgid "No alternative driver" -msgstr "Pas de pilote alternatif" - -#: harddrake/sound.pm:187 -#, 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:193 -#, c-format -msgid "Sound configuration" -msgstr "Configuration du son" - -#: harddrake/sound.pm:195 -#, 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)" - -#: harddrake/sound.pm:197 -#, 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:199 -#, 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 plate-" -"formes (disponible sur la majorité des systèmes UNIX(tm)) 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:213 harddrake/sound.pm:293 standalone/drakups:134 -#, c-format -msgid "Driver:" -msgstr "Pilote :" - -#: harddrake/sound.pm:218 -#, c-format -msgid "Trouble shooting" -msgstr "Résolution de problème" - -#: harddrake/sound.pm:226 -#, 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'll 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:234 -#, c-format -msgid "No open source driver" -msgstr "Pas de pilote open-source" - -#: harddrake/sound.pm:235 -#, 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:238 -#, c-format -msgid "No known driver" -msgstr "Aucun pilote connu" - -#: harddrake/sound.pm:239 -#, 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:243 -#, c-format -msgid "Unknown driver" -msgstr "Pilote inconnu" - -#: harddrake/sound.pm:244 -#, 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:257 -#, c-format -msgid "Sound trouble shooting" -msgstr "Résolution d'un problème de son" - -#: harddrake/sound.pm:258 -#, 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/modules.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" -"vous pouvez hurler 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/modules.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 chuchotera peut-être que le volume est coupé...\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:284 -#, c-format -msgid "Let me pick any driver" -msgstr "Choix d'un pilote" - -#: harddrake/sound.pm:287 -#, c-format -msgid "Choosing an arbitrary driver" -msgstr "Choix arbitraire d'un pilote..." - -#: harddrake/sound.pm:288 -#, 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:14 -#, c-format -msgid "Auto-detect" -msgstr "Auto-détecter" - -#: harddrake/v4l.pm:69 harddrake/v4l.pm:227 -#, c-format -msgid "Unknown|Generic" -msgstr "Inconnu|Générique" - -#: harddrake/v4l.pm:102 -#, c-format -msgid "Unknown|CPH05X (bt878) [many vendors]" -msgstr "Inconnu|CPH05X (bt878) [nombreux vendeurs]" - -#: harddrake/v4l.pm:103 -#, c-format -msgid "Unknown|CPH06X (bt878) [many vendors]" -msgstr "Inconnu|CPH06X (bt878) [nombreux vendeurs]" - -#: harddrake/v4l.pm:289 -#, 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'a sélectionner les paramètres nécessaires " -"à votre carte TV si nécessaire." - -#: harddrake/v4l.pm:292 -#, c-format -msgid "Card model:" -msgstr "Modèle de carte :" - -#: harddrake/v4l.pm:293 -#, c-format -msgid "Tuner type:" -msgstr "Type de tuner :" - -#: harddrake/v4l.pm:294 -#, c-format -msgid "Number of capture buffers:" -msgstr "Nombre de tampons de capture" - -#: harddrake/v4l.pm:294 -#, c-format -msgid "number of capture buffers for mmap'ed capture" -msgstr "nombre de tampons pour la capture via mmap()" - -#: harddrake/v4l.pm:296 -#, c-format -msgid "PLL setting:" -msgstr "Réglage de la BVP (PLL)" - -#: harddrake/v4l.pm:297 -#, c-format -msgid "Radio support:" -msgstr "Support de la radio :" - -#: harddrake/v4l.pm:297 -#, c-format -msgid "enable radio support" -msgstr "activer le support de la radio" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:11 -#, c-format -msgid "" -"Before continuing, you should carefully read the terms of the license. It\n" -"covers the entire Mandrakelinux distribution. If you do agree with all the\n" -"terms in it, check the \"%s\" box. If not, clicking on the \"%s\" button\n" -"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 Mandrakelinux. 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:14 install_steps_gtk.pm:598 install_steps_interactive.pm:88 -#: install_steps_interactive.pm:690 standalone/drakautoinst:216 -#, c-format -msgid "Accept" -msgstr "Accepter" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:17 -#, c-format -msgid "" -"GNU/Linux is a multi-user system, meaning each user may have their own\n" -"preferences, their own files and so on. You can read the ``Starter Guide''\n" -"to learn more about multi-user systems. But unlike \"root\", who is the\n" -"system administrator, the users you add at this point will not be\n" -"authorized to change anything except their own files and their own\n" -"configurations, protecting the system from unintentional or malicious\n" -"changes that impact on the system as a whole. You will have to create at\n" -"least one regular user for yourself -- this is the account which you should\n" -"use for routine, day-to-day use. Although it is very easy to log in as\n" -"\"root\" to do anything and everything, it may also be very dangerous! A\n" -"very simple mistake could mean that your system will not work any more. If\n" -"you make a serious mistake as a regular user, the worst that will happen is\n" -"that you will lose some information, but 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 typed in this field and copy it to the \"%s\" field, 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 is no reason to neglect\n" -"it by making it blank or too simple: after all, your files could be the\n" -"ones 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 or your sister, for example. Click \"%s\" when\n" -"you have 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 have finished adding users, you will be asked to choose a user who\n" -"can automatically log into the system when the computer boots up. If you\n" -"are interested in that feature (and do not care much about local security),\n" -"choose the desired user and window manager, then click \"%s\". If you are\n" -"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. Pour plus d'informations, consultez le « Guide de\n" -"démarrage ». 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:52 help.pm:197 help.pm:444 help.pm:691 help.pm:784 help.pm:1005 -#: install_steps_gtk.pm:277 interactive.pm:403 interactive/newt.pm:308 -#: network/netconnect.pm:271 network/tools.pm:206 printer/printerdrake.pm:3090 -#: standalone/drakTermServ:409 standalone/drakbackup:4199 -#: standalone/drakbackup:4229 standalone/drakbackup:4251 ugtk2.pm:510 -#, c-format -msgid "Next" -msgstr "Suivant" - -#: help.pm:52 help.pm:418 help.pm:444 help.pm:660 help.pm:733 help.pm:768 -#: interactive.pm:371 -#, c-format -msgid "Advanced" -msgstr "Avancé" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:55 -#, 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 bon dans la grande majorité des cas. Si vous faites un\n" -"changement, vous devez au moins avoir une partition racine (« / »).\n" -"Prenez garde de vous réserver suffisamment d'espace pour\n" -"installer tous les programmes qui vous intéressent. Vous devrez\n" -"également créer une partition « /home ». Ceci s'avère exclusivement\n" -"possible lorsque vous avez déjà au moins une partition GNU/Linux de\n" -"configurée.\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 « fd ». Pour les\n" -"disques 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:86 -#, c-format -msgid "" -"The Mandrakelinux 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 correct CD as required." -msgstr "" -"Les paquetages requis à l'installation de Mandrakelinux sont distribués\n" -"sur 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é." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:91 -#, fuzzy, c-format -msgid "" -"It is now time to specify which programs you wish to install on your\n" -"system. There are thousands of packages available for Mandrakelinux, and\n" -"to make it simpler to manage the packages have been placed into groups of\n" -"similar applications.\n" -"\n" -"Packages are sorted into groups corresponding to a particular use of your\n" -"machine. Mandrakelinux sorts packages groups in four categories. You can\n" -"mix and match applications from the various categories, so a\n" -"``Workstation'' installation can still have applications from the\n" -"``Development'' category installed.\n" -"\n" -" * \"%s\": if you plan to use your machine as a workstation, select one or\n" -"more of the groups that are in the workstation category.\n" -"\n" -" * \"%s\": if you plan on using your machine for programming, select the\n" -"appropriate groups from that category.\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. If you unselect all groups when performing a regular\n" -"installation (as opposed to an upgrade), a dialog will pop up proposing\n" -"different options 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.\n" -"\n" -"You can check the \"%s\" box, which is useful if you are 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 started the installation in \"%s\" mode, you can unselect all groups\n" -"to avoid installing any new package. This is useful for repairing or\n" -"updating an existing system." -msgstr "" -"C'est maintenant le moment de choisir les paquetages qui seront installés\n" -"sur votre système. Sachez que Mandrakelinux contient plusieurs milliers de\n" -"paquetages à installer, et qu'il n'est pas nécessaire de tous les connaître\n" -"par cÅ“ur.\n" -"\n" -"Les paquetages sont regroupés en groupes chacun correspondant à une usage\n" -"particulier de l'ordinateur. Mandrakelinux range ces groupes en quatre\n" -"catégories. Vous pouvez mélanger des groupes de plusieurs catégories de\n" -"sorte qu'une station de travail peut toujours proposer des programmes\n" -"pour le « %s ».\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.\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. Si vous désélectionnez tous\n" -"les groupes lors d'une installation standard (par opposition à une mise à \n" -"jour), un dialogue apparaîtra proposant différentes options pour une\n" -"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.\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." - -#: help.pm:137 -#, c-format -msgid "Workstation" -msgstr "Station de travail" - -#: help.pm:137 -#, c-format -msgid "Development" -msgstr "Développement" - -#: help.pm:137 -#, c-format -msgid "Graphical Environment" -msgstr "Environnement graphique" - -#: help.pm:137 install_steps_interactive.pm:552 -#, c-format -msgid "With X" -msgstr "Avec X" - -#: help.pm:137 -#, c-format -msgid "With basic documentation" -msgstr "Avec la documentation de base" - -#: help.pm:137 -#, c-format -msgid "Truly minimal install" -msgstr "Installation réellement minimale" - -#: help.pm:137 install_steps_gtk.pm:272 install_steps_interactive.pm:598 -#, c-format -msgid "Individual package selection" -msgstr "Sélection individuelle des paquetages" - -#: help.pm:137 help.pm:602 -#, c-format -msgid "Upgrade" -msgstr "Mise à jour" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:140 -#, fuzzy, c-format -msgid "" -"If you told the installer that you wanted to individually select packages,\n" -"it will present 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 to let you know the purpose of the 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 will be asked to confirm that you really want those servers to be\n" -"installed. By default Mandrakelinux 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 that\n" -"security holes were discovered after this version of Mandrakelinux 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 \"%s\". Clicking \"%s\" will\n" -"install the listed services and they will be started automatically by\n" -"default during boot. !!\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 have relationships between each them such\n" -"that installation of one package requires that some other program is also\n" -"required to be installed. The installer can determine which packages are\n" -"required to satisfy a dependency 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 a floppy disk previously created at the\n" -"end of another installation. See the second tip of last step on how to\n" -"create 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 naviguant à 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. Une fois votre sélection terminée, cliquez sur « %s »\n" -"pour lancer le processus. Soyez patient, car en fonction du type\n" -"d'installation choisi ou du nombre de paquetages sélectionnés, le temps\n" -"requis peut être substantiellement différent. Une estimation du temps\n" -"requis est présentée sur l'écran en cours d'opération afin de vous\n" -"permettre d'évaluer de combien de temps vous disposez pour prendre votre\n" -"déjeuner.\n" -"\n" -"!! Si un logiciel serveur a été sélectionné, vous devrez confirmer que vous\n" -"voulez vraiment que celui-ci soit installé. Sous Mandrake, par défaut, tous\n" -"les serveurs installés sont lancés au démarrage. Malgré tous les efforts\n" -"investis pour vous livrer une distribution Linux sécurisée, il est possible\n" -"que certaines failles de sécurité affectent les serveurs installés au-delà \n" -"de la date de publication. Si vous ne savez pas précisément à quoi sert un\n" -"serveur en particulier ou pourquoi il est installé, cliquez sur « %s ». En\n" -"cliquant sur « %s », le serveur sera installé et le service rendu\n" -"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. Ces avertissements\n" -"surviennent parce que DrakX a déterminé que pour qu'un paquetage soit\n" -"fonctionnel, il lui en faut un autre dont il est dépendant.\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 note de la\n" -"dernière étape afin de savoir comment créer une telle disquette." - -#: help.pm:172 help.pm:301 help.pm:329 help.pm:457 install_any.pm:413 -#: interactive.pm:149 modules/interactive.pm:71 standalone/harddrake2:219 -#: ugtk2.pm:1074 wizards.pm:156 -#, c-format -msgid "No" -msgstr "Non" - -#: help.pm:172 help.pm:301 help.pm:457 install_any.pm:413 interactive.pm:149 -#: modules/interactive.pm:71 printer/printerdrake.pm:607 standalone/drakgw:288 -#: standalone/drakgw:289 standalone/drakgw:297 standalone/drakgw:307 -#: standalone/harddrake2:218 ugtk2.pm:1074 wizards.pm:156 -#, c-format -msgid "Yes" -msgstr "Oui" - -#: help.pm:172 -#, c-format -msgid "Automatic dependencies" -msgstr "Dépendances automatiques" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:175 -#, c-format -msgid "" -"You will now set up your Internet/network connection. If you wish to\n" -"connect your computer to the Internet or to a local network, click \"%s\".\n" -"Mandrakelinux will attempt to auto-detect network devices and modems. If\n" -"this detection fails, uncheck the \"%s\" box. You may also choose not to\n" -"configure the network, or to do it later, in which case clicking the \"%s\"\n" -"button will take you to the next step.\n" -"\n" -"When configuring your network, the available connections options are:\n" -"Normal modem connection, Winmodem connection, ISDN modem, ADSL connection,\n" -"cable modem, and finally a simple LAN connection (Ethernet).\n" -"\n" -"We will not detail each configuration option - just make sure that you have\n" -"all the parameters, such as IP address, default gateway, DNS servers, etc.\n" -"from your Internet Service Provider or system administrator.\n" -"\n" -"About Winmodem Connection. Winmodems are special integrated low-end modems\n" -"that require additional software to work compared to Normal modems. Some of\n" -"those modems actually work under Mandrakelinux, some others do not. You\n" -"can consult the list of supported modems at LinModems.\n" -"\n" -"You can consult the ``Starter Guide'' chapter about Internet connections\n" -"for details about the configuration, or simply wait until your system is\n" -"installed and use the program described there to configure your connection." -msgstr "" -"Si vous désirez connecter votre système à un réseau ou à Internet, cliquez\n" -"sur « %s ». L'auto-détection des périphériques réseau et modem sera alors\n" -"lancée. Si cette détection échoue, décochez la case « %s ». Vous pouvez\n" -"aussi choisir de ne pas configurer le réseau, ou de le faire plus tard.\n" -"Dans ce cas, cliquez simplement sur « %s ».\n" -"\n" -"Les types de connexion supportées sont : modem téléphonique, Winmodem,\n" -"modem ISDN, connexion ADSL, modem câble ou simplement LAN (réseau\n" -"Ethernet).\n" -"\n" -"Nous ne détaillerons pas ici chacune des configurations possibles.\n" -"Assurez-vous seulement que vous avez toutes les informations de votre\n" -"fournisseur de service Internet à portée de main.\n" -"\n" -"À propos des Winmodems Les Winmodems sont des modems de bas de gamme\n" -"généralement intégrés à la carte mère de l'ordinateur qui ont besoin d'un\n" -"logiciel additionnel pour fonctionner par rapport aux modems standards.\n" -"Certains de ces modems fonctionnent avec Mandrakelinux, d'autres non. Vous\n" -"pouvez consulter la liste des modems pris en charge chez LinModems.\n" -"\n" -"Vous pouvez consulter le chapitre du « Guide de démarrage » concernant les\n" -"connexions à Internet pour plus de détails à propos des configurations\n" -"spécifiques de chaque type de connexion. Vous pouvez également configurer\n" -"votre connexion à Internet une fois l'installation terminée." - -#: help.pm:197 -#, c-format -msgid "Use auto detection" -msgstr "Utiliser la détection automatique" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:200 -#, 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 setup a new printer. The interface presented there is\n" -"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:203 help.pm:581 help.pm:991 install_steps_gtk.pm:648 -#: standalone/drakbackup:2406 standalone/drakbackup:2414 -#: standalone/drakbackup:2422 standalone/drakbackup:2430 -#, c-format -msgid "Configure" -msgstr "Configurer" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:206 -#, c-format -msgid "" -"This dialog is used to choose which services you wish to start at boot\n" -"time.\n" -"\n" -"DrakX will list all the services available on the current installation.\n" -"Review each one 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 are 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 will probably not want to start any services that 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" -"!!" -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. !!" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:224 -#, 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 like Windows.\n" -"\n" -"The \"%s\" option will automatically regulate the clock by connecting to a\n" -"remote time server on the Internet. For this feature to work, you must have\n" -"a working Internet connection. It is best to choose a time server located\n" -"near you. This option actually installs a time server that can be used by\n" -"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" -"l'horloge matérielle soit la même que celle du système. Cela est\n" -"particulièrement utile si la machine accueille un autre système\n" -"d'exploitation tel que Windows.\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 avoir une\n" -"connexion Internet pour que cela fonctionne bien entendu. Cela installera\n" -"en fait sur votre machine un serveur de temps local qui pourra, en option,\n" -"être lui-même utilisé par d'autres machines de votre réseau local." - -#: help.pm:235 install_steps_interactive.pm:828 -#, c-format -msgid "Hardware clock set to GMT" -msgstr "Horloge système réglée sur le Temps Universel (GMT)" - -#: help.pm:235 -#, c-format -msgid "Automatic time synchronization" -msgstr "Synchronisation automatique de l'horloge" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:238 -#, c-format -msgid "" -"Graphic Card\n" -"\n" -" The installer will normally automatically detect and configure the\n" -"graphic card installed on your machine. If it is not the case, 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 are asked to choose the server that\n" -"best suits your needs." -msgstr "" -"Carte graphique\n" -"\n" -" Le programme d'installation détecte et configure automatiquement les\n" -"cartes graphiques présentes 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:249 -#, 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 Mandrakelinux rely upon.\n" -"\n" -"You will be presented with a list of different parameters to change to get\n" -"an optimal graphical display: Graphic Card\n" -"\n" -" The installer will normally automatically detect and configure the\n" -"graphic card installed on your machine. If it is not the case, 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 are asked to choose the server that\n" -"best suits your needs.\n" -"\n" -"\n" -"\n" -"Monitor\n" -"\n" -" The installer will normally automatically detect and configure the\n" -"monitor connected to your machine. If it is incorrect, you can choose from\n" -"this list the monitor you actually have connected to your computer.\n" -"\n" -"\n" -"\n" -"Resolution\n" -"\n" -" Here you can choose the resolutions and color depths available for your\n" -"hardware. Choose the one that best suits your needs (you will be able to\n" -"change that after installation though). 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 can see the message during the test and answer \"%s\",\n" -"then DrakX will proceed to the next step. If you cannot see the message, it\n" -"means that some part of the auto-detected configuration was incorrect and\n" -"the test will automatically end after 12 seconds, bringing you back to the\n" -"menu. Change settings until you get a correct graphical display.\n" -"\n" -"\n" -"\n" -"Options\n" -"\n" -" Here you can choose whether you want to have your machine automatically\n" -"switch to a graphical interface at boot. Obviously, you want to check\n" -"\"%s\" if your machine is to act as a server, or if you were not successful\n" -"in getting the display configured." -msgstr "" -"X (pour le système X Window) est le cÅ“ur de votre interface graphique sous\n" -"GNU/Linux. Tous les environnements graphiques (KDE, GNOME, WindowMaker\n" -"etc.) présents sur Mandrakelinux dépendent de X.\n" -"\n" -"Il vous sera présenté une liste de divers paramètres à changer pour obtenir\n" -"un affichage optimal : Carte graphique\n" -"\n" -" Le programme d'installation détecte et configure automatiquement les\n" -"cartes graphiques présentes 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:304 -#, c-format -msgid "" -"Monitor\n" -"\n" -" The installer will normally automatically detect and configure the\n" -"monitor connected to your machine. If it is incorrect, you can choose from\n" -"this list the monitor you actually have 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:311 -#, c-format -msgid "" -"Resolution\n" -"\n" -" Here you can choose the resolutions and color depths available for your\n" -"hardware. Choose the one that best suits your needs (you will be able to\n" -"change that after installation though). 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:319 -#, c-format -msgid "" -"In the situation where different servers are available for your card, with\n" -"or without 3D acceleration, you are asked to choose the server that 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:324 -#, c-format -msgid "" -"Options\n" -"\n" -" Here you can choose whether you want to have your machine automatically\n" -"switch to a graphical interface at boot. Obviously, you want to check\n" -"\"%s\" if your machine is to act as a server, or if you were not successful\n" -"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." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:332 -#, c-format -msgid "" -"At this point, you need to decide where you want to install the Mandrake\n" -"Linux operating system on your hard drive. If your hard drive is empty or\n" -"if an existing operating system is using all the available space you will\n" -"have to partition the drive. Basically, partitioning a hard drive consists\n" -"of logically dividing it to create the space needed to install your new\n" -"Mandrakelinux system.\n" -"\n" -"Because the process of partitioning a hard drive is usually irreversible\n" -"and can lead to lost data if there is an existing operating system already\n" -"installed on the drive, partitioning can be intimidating and stressful if\n" -"you are an 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 your hard drive configuration, several options are 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 have 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 Mandrakelinux 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" -"then when you started. You will have less free space under Microsoft\n" -"Windows 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 Mandrakelinux system,\n" -"choose this option. Be careful, because you will not be able to undo your\n" -"choice after you confirm.\n" -"\n" -" !! If you choose this option, all data on your disk will be deleted. !!\n" -"\n" -" * \"%s\": this will simply erase everything on the drive and begin fresh,\n" -"partitioning everything from scratch. All data on your disk will be lost.\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 Mandrakelinux. 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, révisez vos manuels et surtout,\n" -"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 existant sur\n" -"votre disque. Si vous voulez les utiliser, choisissez cette option. Il vous\n" -"sera alors demandé de choisir les points de montage associés à chacune des\n" -"partitions. Les anciens points de montage sont sélectionnés par défaut, et\n" -"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 Mandrakelinux and Microsoft Windows sur\n" -"le 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 programmes\n" -"installées sur votre système et les remplacer par votre nouveau système\n" -"Mandrakelinux, 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 effacera tout simplement ce que contient le disque et\n" -"recommencera à zéro. Toutes les données et les programmes présents sur le\n" -"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:389 install_interactive.pm:95 -#, c-format -msgid "Use free space" -msgstr "Utiliser l'espace libre" - -#: help.pm:389 -#, c-format -msgid "Use existing partition" -msgstr "Utiliser une partition existante" - -#: help.pm:389 install_interactive.pm:137 -#, c-format -msgid "Use the free space on the Windows partition" -msgstr "Utiliser l'espace libre sur la partition Windows" - -#: help.pm:389 install_interactive.pm:211 -#, c-format -msgid "Erase entire disk" -msgstr "Effacer tout le disque" - -#: help.pm:389 -#, c-format -msgid "Remove Windows" -msgstr "Supprimer Windows" - -#: help.pm:389 install_interactive.pm:226 -#, c-format -msgid "Custom disk partitioning" -msgstr "Partitionnement personnalisé" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:392 -#, c-format -msgid "" -"There you are. Installation is now complete and your GNU/Linux system is\n" -"ready to use. Just click \"%s\" to reboot the system. Don't forget to\n" -"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" -"bootloader menu, giving you the choice of which operating system to start.\n" -"\n" -"The \"%s\" button shows two more buttons to:\n" -"\n" -" * \"%s\": to create an installation floppy disk that will automatically\n" -"perform a whole installation without the help of an operator, similar to\n" -"the installation you just configured.\n" -"\n" -" Note that two different options are available after clicking the 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 a number of similar machines.\n" -"See the Auto install section on our web site for more information.\n" -"\n" -" * \"%s\": saves a list of the packages selected in this installation. To\n" -"use this selection with another installation, insert the floppy and start\n" -"the installation. At the prompt, press the [F1] key and type >>linux\n" -"defcfg=\"floppy\" <<." -msgstr "" -"Votre installation de Mandrakelinux est maintenant terminée et votre\n" -"système est prêt à être utilisé. Cliquez sur « %s » pour redémarrer votre\n" -"système. N'oubliez pas de retirer la source d'installation(CD-ROM ou\n" -"disquette). La première chose que vous verrez alors après que l'ordinateur\n" -"ait fait ses propres tests matériels est le menu de démarrage, permettant\n" -"de démarrer tous les systèmes présents sur votre machine.\n" -"\n" -"Le bouton « %s » (en mode Expert uniquement) 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 particulièrement pratique pour l'installation\n" -"de multiples systèmes. Voir la section Auto install de notre site Internet.\n" -"\n" -" * « %s » sauvegarde la sélection des paquetages installés. Puis, lorsque\n" -"vous ferez une autre installation, insérez la disquette dans le lecteur et\n" -"accédez au menu d'aide en tapant [F1], et entrez la commande suivante :\n" -"« linux defcfg=\"floppy\" »." - -#: help.pm:418 -#, c-format -msgid "Generate auto-install floppy" -msgstr "Créer une disquette d'auto-installation" - -#: help.pm:418 install_steps_interactive.pm:1322 -#, c-format -msgid "Replay" -msgstr "Rejouer" - -#: help.pm:418 install_steps_interactive.pm:1322 -#, c-format -msgid "Automated" -msgstr "Automatisée" - -#: help.pm:418 install_steps_interactive.pm:1325 -#, c-format -msgid "Save packages selection" -msgstr "Sauvegarder la sélection des paquetages" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:421 -#, c-format -msgid "" -"Any partitions that have been newly defined must be formatted for use\n" -"(formatting means creating a file system).\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" -"it.\n" -"\n" -"Click on \"%s\" when you are ready to format the partitions.\n" -"\n" -"Click on \"%s\" if you want to choose another partition for your new\n" -"Mandrakelinux operating system installation.\n" -"\n" -"Click on \"%s\" if you wish to select partitions that will be checked for\n" -"bad blocks on the disk." -msgstr "" -"Les partitions ayant été nouvellement définies doivent être formatées (ce\n" -"qui implique la création d'un système de fichiers).\n" -"\n" -"Lors de cette étape, vous pouvez reformater des partitions existantes pour\n" -"effacer les données présentes. Vous devrez alors également les\n" -"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 des données.\n" -"\n" -"Cliquez sur « %s » lorsque vous êtes prêt à formater les partitions.\n" -"\n" -"Cliquez sur « %s » pour ajouter ou enlever une partition à formater.\n" -"\n" -"Cliquer sur « %s » si vous désirez sélectionner des partitions pour une\n" -"vérification des secteurs défectueux (« Bad Blocks »)." - -#: help.pm:444 help.pm:1005 install_steps_gtk.pm:433 interactive.pm:404 -#: interactive/newt.pm:307 printer/printerdrake.pm:3088 -#: standalone/drakTermServ:388 standalone/drakbackup:4012 -#: standalone/drakbackup:4041 standalone/drakbackup:4095 -#: standalone/drakbackup:4119 standalone/drakbackup:4143 -#: standalone/drakbackup:4195 standalone/drakbackup:4225 -#: standalone/drakbackup:4247 ugtk2.pm:508 -#, c-format -msgid "Previous" -msgstr "Précédent" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:447 -#, c-format -msgid "" -"At the time you are installing Mandrakelinux, it is likely that some\n" -"packages will have been updated since the initial release. Bugs may have\n" -"been fixed, security issues resolved. To allow you to benefit from these\n" -"updates, you are now able to download them from the Internet. Check \"%s\"\n" -"if you have a working Internet connection, or \"%s\" if you prefer to\n" -"install updated packages later.\n" -"\n" -"Choosing \"%s\" will display a list of places from which updates can be\n" -"retrieved. You should choose one near to you. A package-selection tree will\n" -"appear: review the selection, and press \"%s\" to retrieve and install the\n" -"selected package(s), or \"%s\" to abort." -msgstr "" -"Au moment où vous êtes en train d'installer Mandrakelinux, il est possible\n" -"que certains paquetages aient été mis à jour depuis la sortie du produit.\n" -"Des bogues ont pu être corrigés, et des problèmes de sécurité résolus. Pour\n" -"vous permettre de bénéficier de ces mises à jour, il vous est maintenant\n" -"proposé de les télécharger depuis Internet. Choisissez « %s » si vous avez\n" -"une connexion Internet, ou « %s » si vous préférez installer les mises à \n" -"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" -"Puis un arbre de choix des paquetages apparaît : vérifiez la sélection,\n" -"puis cliquez sur « %s » pour télécharger et installer les mises à jour\n" -"sélectionnées, ou « %s » pour abandonner." - -#: help.pm:457 help.pm:602 install_steps_gtk.pm:432 -#: install_steps_interactive.pm:148 standalone/drakbackup:4279 -#, c-format -msgid "Install" -msgstr "Installation" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:460 -#, c-format -msgid "" -"At this point, DrakX will allow you to choose the security level desired\n" -"for the machine. As a rule of thumb, the security level should be set\n" -"higher if the machine will contain crucial data, or if it will be a machine\n" -"directly exposed to the Internet. The trade-off of a higher security level\n" -"is generally obtained at the expense of ease of use.\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" -"Mandrake 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." -msgstr "" -"À cette étape, vous devrez déterminer le niveau de sécurité requis par\n" -"votre système. Le niveau de sécurité requis se détermine en fonction de\n" -"l'exposition du système à d'autres utilisateurs (s'il est connecté\n" -"directement sur Internet par exemple) et selon le niveau de sensibilité de\n" -"l'information contenue dans le système. Sachez que, de manière générale,\n" -"plus la sécurité d'un 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" -"\n" -"Le champ « %s » sert à indiquer l'utilisateur sur le système qui sera\n" -"responsable de la sécurité. Les messages de sécurité lui seront adressés." - -#: help.pm:472 -#, c-format -msgid "Security Administrator" -msgstr "Administrateur sécurité" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:475 -#, c-format -msgid "" -"At this point, you need to choose which partition(s) will be used for the\n" -"installation of your Mandrakelinux 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 doesn't 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 Mandrakelinux. Si votre disque est déjà partitionné, soit\n" -"par une autre installation GNU/Linux ou par un autre outil de\n" -"partitionnement, vous pourrez les utiliser. Sinon, les partitions devront\n" -"ê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:544 -#, c-format -msgid "Removable media auto-mounting" -msgstr "Auto-montage des périphériques amovibles" - -#: help.pm:544 -#, c-format -msgid "Toggle between normal/expert mode" -msgstr "Bassculer entre les modes expert et normal" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:547 -#, 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" -"Mandrakelinux 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" -"Mandrakelinux.\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: »)" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:578 -#, c-format -msgid "" -"\"%s\": check the current country selection. If you are not in this\n" -"country, click on the \"%s\" button and choose another one. If your country\n" -"is not in the first list shown, click the \"%s\" button to get the complete\n" -"country list." -msgstr "" -"« %s » : vérifiez la section 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:584 -#, 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 install or an upgrade\n" -"of an existing Mandrakelinux system:\n" -"\n" -" * \"%s\": For the most part, this completely wipes out the old system. If\n" -"you wish to change how your hard drives are partitioned, or change the file\n" -"system, you should use this option. However, depending on your partitioning\n" -"scheme, you can prevent some of your existing data from being over-written.\n" -"\n" -" * \"%s\": this installation class allows you to update the packages\n" -"currently installed on your Mandrakelinux system. Your current\n" -"partitioning scheme and user data is not altered. Most of other\n" -"configuration steps remain available, similar to a standard installation.\n" -"\n" -"Using the ``Upgrade'' option should work fine on Mandrakelinux systems\n" -"running version \"8.1\" or later. Performing an Upgrade on versions prior\n" -"to Mandrakelinux version \"8.1\" is not recommended." -msgstr "" -"Cette étape ne s'affiche que si une partition GNU/Linux a été détectée sur\n" -"votre disque dur.\n" -"\n" -"DrakX doit maintenant savoir quel type d'installation vous désirez\n" -"réaliser. Deux types d'installation sont proposés : Par défaut (« %s »),\n" -"qui limite le nombre de questions à l'utilisateur au minimum ou « %s » qui\n" -"vous permet de sélectionner individuellement chacune des composantes à \n" -"installer. Il vous est également proposé de faire une « %s » ou une « %s »\n" -"d'un système Mandrakelinux déjà installé :\n" -"\n" -" * « %s » : Remplace l'ancien système. En fait, selon ce que votre machine\n" -"comporte, vous pourrez garder intactes certaines des anciennes partitions\n" -"(Linux ou autres) ;\n" -"\n" -" * « %s » : cette classe d'installation permet de mettre à jour seulement\n" -"les paquetages qui composent votre système Mandrakelinux. Elle conserve\n" -"les partitions existantes, ainsi que la configuration des utilisateurs. La\n" -"plupart des autres étapes d'une installation classique sont accessibles.\n" -"\n" -"La mise à jour devrait fonctionner correctement pour les systèmes Mandrake\n" -"Linux à partir de la version « 8.1 ». Essayer de lancer une mise à jour sur\n" -"les versions antérieures à « 8.1 » n'est pas recommandé." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:605 -#, c-format -msgid "" -"Depending on the language you chose in section , DrakX will automatically\n" -"select a particular type of keyboard configuration. Check that the\n" -"selection suits you or choose another keyboard layout.\n" -"\n" -"Also, you may not have a keyboard that 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 presented with the complete list of\n" -"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 that will switch the\n" -"keyboard between the Latin and non-Latin layouts." -msgstr "" -"Selon la langue principale que vous avez choisie à l'étape , DrakX\n" -"sélectionne 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 language et votre configuration de clavier ne sont pas\n" -"les même. 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, on vous\n" -"demandera au prochain écran de choisir la combinaison de touches permettant\n" -"d'alterner entre ceux-ci." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:624 -#, c-format -msgid "" -"Your choice of preferred language will affect the language of the\n" -"documentation, the installer and the system in general. Select first the\n" -"region you are located in, and 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 you will\n" -"host users from Spain on your machine, select English as the default\n" -"language in 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. Though full support for it in GNU/Linux is\n" -"still under development. For that reason, Mandrakelinux will be using it\n" -"or not depending on the user choices:\n" -"\n" -" * If you choose a languages 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 the system at user request by\n" -"selecting option \"%s\" independently of which language(s) have been\n" -"chosen.\n" -"\n" -"Note that you're not limited to choosing a single additional language. You\n" -"may choose several ones, or even install them all by selecting the \"%s\"\n" -"box. Selecting support for a language means translations, fonts, spell\n" -"checkers, etc. for that language will also be installed.\n" -"\n" -"To switch between the various languages installed on the system, you can\n" -"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n" -"language used by the entire system. Running the command as a regular user\n" -"will only 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é à la documentation, l'installation et\n" -"le système en général. Commencez par choisir la région où vous vous situez,\n" -"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 station de travail. En\n" -"choisissant des langues supplémentaires, le programme vous installera toute\n" -"la documentation et les programmes 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 langages existants.\n" -"Cependant son intégration dans GNU/Linux est encore imparfaite. Pour cette\n" -"raison, Mandrakelinux l'utilisera ou non selon les critères suivants :\n" -"\n" -" * Si vous choisissez une langue avec un encodage ayant une longue histoire\n" -"(langages associés à « latin1 », Russe, Japonais, Chinois, Coréen, Thaï,\n" -"Grec, Turc, et la plupart des langages « iso-8859-2 »), l'encodage\n" -"historique sera utilisé;\n" -"\n" -" * Les autres langages 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:660 -#, c-format -msgid "Espanol" -msgstr "Espagnol" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:663 -#, 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 ``pressed'' 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" -"In case you have a 3 buttons mouse without wheel, you can choose the mouse\n" -"that says \"%s\". DrakX will then configure your mouse so that you can\n" -"simulate the wheel with it: to do so, press the middle button and move your\n" -"mouse 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" -"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 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 to\n" -"go back to the list of choices.\n" -"\n" -"Wheel mice are occasionally 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 is displayed on-screen. Scroll\n" -"the mouse wheel to ensure that it is activated correctly. Once you see the\n" -"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n" -"buttons and check that the mouse pointer moves on-screen as you move your\n" -"mouse." -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. De plus, DrakX saura automatiquement si\n" -"vous avez une souris PS/2, série ou USB.\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" -"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'espacement 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 à roulette ne sont pas détectées. Vous devrez alors\n" -"sélectionner manuellement une souris dans la liste. Assurez vous de choisir\n" -"celle qui correspond à votre modèle et au bon port de connexion. Après\n" -"avoir pressé le bouton « %s », une image de souris apparaît. Vous devez\n" -"alors faire tourner la molette afin de l'activer correctement. Testez alors\n" -"que tous les mouvements et boutons fonctionnent correctement." - -#: help.pm:691 -#, c-format -msgid "with Wheel emulation" -msgstr "avec émulation de la molette" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:694 -#, 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:698 -#, fuzzy, c-format -msgid "" -"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 user 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 the password you chose is too easy. As you\n" -"can see, you are not forced to enter a password, but we strongly advise you\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 a system.\n" -"\n" -"One caveat -- do not make the password too long or complicated because you\n" -"must be able to remember it!\n" -"\n" -"The password will not be displayed on screen as you type it in. To reduce\n" -"the chance of a blind typing error you will need to enter the password\n" -"twice. If you do happen to make the same typing error twice, this\n" -"``incorrect'' password will be the one you will have use the first time you\n" -"connect.\n" -"\n" -"If you wish access to this computer to be controlled by an authentication\n" -"server, click 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, if your computer\n" -"will never be connected to the Internet and you absolutely trust everybody\n" -"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. L'utilisateur « root » est l'administrateur du système qui a tous\n" -"les droits d'accès aux fichiers de configuration, etc. Il est donc\n" -"impératif de choisir un mot de passe difficile à deviner (pensez aux\n" -"systèmes prévus à cet effet qui anticipent les combinaisons communes des\n" -"utilisateurs). DrakX vous avertira si le mot de passe entré est trop facile\n" -"à deviner. Comme vous pouvez le voir, il est également possible de ne pas\n" -"entrer de mot de passe. Nous déconseillons fortement cette pratique. Comme\n" -"l'erreur est humaine, un utilisateur avec tous les droits peut tout\n" -"détruire sur votre système, c'est pourquoi le mot de passe doit agir comme\n" -"barrière à l'entrée.\n" -"\n" -"Le mot de passe choisi devrait contenir au moins 8 caractères\n" -"alphanumériques. Ne jamais écrire un mot de passe, forcez-vous à vous en\n" -"souvenir par cÅ“ur. Il faut donc ménager accessibilité et mémoire, donc un\n" -"mot de passe de 30 caractères est presque 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.\n" -"\n" -"En mode expert, on vous demandera si vous comptez vous connecter sur un\n" -"serveur d'authentification, tel que NIS ou LDAP. Si votre réseau utilise un\n" -"de ces protocoles, il faut le sélectionner. Si vous n'en avez aucune idée,\n" -"demandez à votre administrateur réseau.\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'authentification. 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:733 -#, c-format -msgid "authentication" -msgstr "authentification" - -#. -PO: keep this short or else the buttons will not fit in the window -#: help.pm:733 install_steps_interactive.pm:1152 -#, c-format -msgid "No password" -msgstr "Aucun" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:736 -#, c-format -msgid "" -"This dialog allows you to fine tune your bootloader:\n" -"\n" -" * \"%s\": there are three choices for your bootloader:\n" -"\n" -" * \"%s\": if you prefer GRUB (text menu).\n" -"\n" -" * \"%s\": if you prefer LILO with its text menu interface.\n" -"\n" -" * \"%s\": if you prefer LILO with its graphical interface.\n" -"\n" -" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n" -"you prefer, the bootloader can be installed on the second hard drive\n" -"(\"%s\"), or even on a floppy disk (\"%s\");\n" -"\n" -" * \"%s\": after a boot or a reboot of the computer, this is the delay\n" -"given to the user at the console to select a boot entry other than the\n" -"default.\n" -"\n" -" * \"%s\": ACPI is a new standard (appeared during year 2002) for power\n" -"management, notably for laptops. If you know your hardware supports it and\n" -"you need it, check this box.\n" -"\n" -" * \"%s\": If you noticed hardware problems on your machine (IRQ conflicts,\n" -"instabilities, machine freeze, ...) you should try disabling APIC by\n" -"checking this box.\n" -"\n" -"!! Be aware that if you choose not to install a bootloader (by selecting\n" -"\"%s\"), you must ensure that you have a way to boot your Mandrakelinux\n" -"system! Be sure you know what you are doing before changing any of the\n" -"options. !!\n" -"\n" -"Clicking the \"%s\" button in this dialog will offer advanced options which\n" -"are normally reserved for the expert user." -msgstr "" -"Ce dialogue permet de contrôler finement le chargeur de démarrage :\n" -"\n" -" * « %s » vous propose trois choix :\n" -"\n" -" * « %s » : si vous préférez GRUB (menu texte).\n" -"\n" -" * « %s » : si vous préférez la version texte de LILO.\n" -"\n" -" * « %s » : si vous préférez l'interface graphique.\n" -"\n" -" * « %s » : dans la plupart des cas, vous n'aurez pas à changer le disque\n" -"par défaut (« %s », mais si vous le désirez, le programme d'amorce peut\n" -"être installé sur un second disque, « %s », ou même sur une disquette,\n" -"« %s ».\n" -"\n" -" * « %s » : au redémarrage de l'ordinateur, il s'agit du temps accordé à \n" -"l'utilisateur pour démarrer un autre système d'exploitation.\n" -"\n" -" * « %s » : l'ACPI est un nouveau standard (apparu courant 2002) pour la\n" -"gestion d'énergie, surtout pour les portables. Si vous savez que votre\n" -"matériel est compatible ACPI cochez cette case.\n" -"\n" -" * « %s » : Si vous avez remarqué auparavant des problèmes matériels sur\n" -"votre machine (conflits IRQ, instabilités, blocages machine, ...) vous\n" -"pouvez essayer de désactiver l'APIC en cochant cette case.\n" -"\n" -"!! Prenez garde, si vous décidez de ne pas installer de programme d'amorce\n" -"(en cliquant sur « %s »), vous devez vous assurer d'avoir une méthode pour\n" -"démarrer le système. Aussi, assurez-vous de bien savoir ce que vous faites\n" -"si vous modifiez les options. !!\n" -"\n" -"En cliquant sur « %s », vous aurez accès à plusieurs autres options de\n" -"configuration. Sachez que celles-ci sont réservées aux experts en la\n" -"matière." - -#: help.pm:768 -#, c-format -msgid "GRUB" -msgstr "GRUB" - -#: help.pm:768 -#, c-format -msgid "/dev/hda" -msgstr "/dev/hda" - -#: help.pm:768 -#, c-format -msgid "/dev/hdb" -msgstr "/dev/hdb" - -#: help.pm:768 -#, c-format -msgid "/dev/fd0" -msgstr "/dev/fd0" - -#: help.pm:768 -#, c-format -msgid "Delay before booting the default image" -msgstr "Délai avant l'activation du choix par défaut" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:771 -#, c-format -msgid "" -"After you have configured the general bootloader parameters, the list of\n" -"boot options that will be available at boot time will be displayed.\n" -"\n" -"If there are other operating systems installed on your machine they will\n" -"automatically be added to the boot menu. You can fine-tune the existing\n" -"options by clicking \"%s\" to create a new entry; selecting an entry and\n" -"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n" -"changes.\n" -"\n" -"You may also not want to give access to these other operating systems to\n" -"anyone who goes to the console and reboots the machine. You can delete the\n" -"corresponding entries for the operating systems to remove them from the\n" -"bootloader menu, but you will need a boot disk in order to boot those other\n" -"operating systems!" -msgstr "" -"Après avoir configuré les paramètres généraux de LILO ou GRUB la liste des\n" -"options de démarrage sera rendue disponible au démarrage.\n" -"\n" -"Si d'autres systèmes d'exploitation sont détectés, il seront\n" -"automatiquement ajoutés au menu démarrage. Vous pouvez ici affiner votre\n" -"configuration. Cliquez sur « %s » pour créer une nouvelle entrée ;\n" -"Choisissez une entrée et cliquez « %s » pour l'éditer, ou « %s » pour\n" -"l'enlever. « %s » validera vos changements.\n" -"\n" -"Il est possible que vous vouliez limiter l'accès à ce système\n" -"d'exploitation. Il vous suffit de retirer l'entrée dans les options de\n" -"démarrage et démarrer ce système avec une disquette." - -#: help.pm:784 interactive.pm:295 interactive/gtk.pm:480 -#: standalone/drakbackup:1604 standalone/drakfont:589 standalone/drakfont:655 -#: standalone/drakups:280 standalone/drakups:329 standalone/drakups:349 -#: standalone/drakvpn:333 standalone/drakvpn:694 -#, c-format -msgid "Add" -msgstr "Ajouter" - -#: help.pm:784 interactive.pm:295 interactive/gtk.pm:480 -#, c-format -msgid "Modify" -msgstr "Modifier" - -#: help.pm:784 interactive.pm:295 interactive/gtk.pm:480 -#: standalone/drakups:282 standalone/drakups:331 standalone/drakups:351 -#: standalone/drakvpn:333 standalone/drakvpn:694 -#, c-format -msgid "Remove" -msgstr "Enlever" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:787 -#, c-format -msgid "" -"LILO and GRUB are GNU/Linux bootloaders. Normally, this stage is totally\n" -"automated. DrakX will analyze the disk boot sector and act according to\n" -"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 will be able to load either GNU/Linux or any\n" -"other OS installed on your machine.\n" -"\n" -" * if a GRUB or LILO boot sector is found, it will replace it with a new\n" -"one.\n" -"\n" -"If it cannot make a determination, DrakX will ask you where to place the\n" -"bootloader. Generally, the \"%s\" is the safest place. Choosing \"%s\"\n" -"won't install any bootloader. Use it only if you know what you are doing." -msgstr "" -"LILO et GRUB sont deux programmes d'amorce pour GNU/Linux. Cette étape est\n" -"normalement complètement automatique. En fait, DrakX analyse le secteur de\n" -"démarrage (« master boot record ») et agit en fonction de ce qu'il peut y\n" -"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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:803 -#, fuzzy, c-format -msgid "" -"Now, it's time to select a printing system for your computer. Other OSs may\n" -"offer you one, but Mandrakelinux offers two. Each of the printing systems\n" -"is best suited to particular types of configuration.\n" -"\n" -" * \"%s\" -- which is an acronym for ``print, don't 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" -"with networks.) It's recommended that you use \"pdq\" if this is your first\n" -"experience with GNU/Linux.\n" -"\n" -" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n" -"printing to your local printer or to one halfway around the planet. It is\n" -"simple to configure and can act as a server or a client for the ancient\n" -"\"lpd \" printing system, so it is compatible with older operating systems\n" -"which may still need print services. While quite powerful, the basic setup\n" -"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n" -"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n" -"front-ends for printing or choosing printer options and for managing the\n" -"printer.\n" -"\n" -"If you make a choice now, and later find that you don't like your printing\n" -"system you may change it by running PrinterDrake from the Mandrake Control\n" -"Center and clicking the expert button." -msgstr "" -"Il faut choisir ici un système d'impression pour votre ordinateur. D'autres\n" -"OSs en offrent un, Mandrakelinux en propose deux.\n" -"\n" -" * « %s » - qui veut dire « print, don't 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 et que vous voulez pouvoir arrêter\n" -"l'impression directement en cas de problème et que vous n'avez pas\n" -"d'imprimantes réseau. Il prendra en charge de simples cas en réseau, mais\n" -"les performances sont plutôt mauvaises dans ces cas. Choisissez\n" -"drakx-misc-params-sect1.xml pdq si vous débutez sous Linux. Vous pourrez\n" -"toujours changer de système plus tard avec PrinterDrake à partir du Centre\n" -"de contrôle Mandrake en cliquant sur « %s ».\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\n" -"d'impression « lpd ». Il s'agit d'un outil très puissant, mais les\n" -"configurations de bases sont aussi simples que pdq. Pour émuler un serveur\n" -"lpq, lancez le démon (« daemon ») cups-lpq. Enfin, cups offre une interface\n" -"simple pour imprimer et choisir les imprimantes.\n" -"\n" -"Vous pourrez changer ultérieurement de système d'impression en lançant\n" -"PrinterDrake depuis le Centre de Contrôle Mandrakelinux." - -#: help.pm:826 -#, c-format -msgid "pdq" -msgstr "pdq" - -#: help.pm:826 printer/cups.pm:115 printer/data.pm:83 -#, c-format -msgid "CUPS" -msgstr "CUPS" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:829 -#, 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." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:847 -#, c-format -msgid "" -"You can add additional entries in yaboot for other operating systems,\n" -"alternate kernels, or for an emergency boot image.\n" -"\n" -"For other OSs, the entry consists only of a label and the \"root\"\n" -"partition.\n" -"\n" -"For Linux, there are a few possible options:\n" -"\n" -" * Label: this is the name you will have to type at the yaboot prompt to\n" -"select this boot option.\n" -"\n" -" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n" -"variation of vmlinux with an extension.\n" -"\n" -" * Root: the \"root\" device or ``/'' for your Linux installation.\n" -"\n" -" * Append: on Apple hardware, the kernel append option is often used to\n" -"assist in initializing video hardware, or to enable keyboard mouse button\n" -"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n" -"The following are some examples:\n" -"\n" -" \t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n" -"hda=autotune\n" -"\n" -" \t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n" -"\n" -" * Initrd: this option can be used either to load initial modules before\n" -"the boot device is available, or to load a ramdisk image for an emergency\n" -"boot situation.\n" -"\n" -" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n" -"need to allocate a large ramdisk, this option can be used to specify a\n" -"ramdisk larger than the default.\n" -"\n" -" * Read-write: normally the \"root\" partition is initially mounted as\n" -"read-only, to allow a file system check before the system becomes ``live''.\n" -"You can override the default with this option.\n" -"\n" -" * NoVideo: should the Apple video hardware prove to be exceptionally\n" -"problematic, you can select this option to boot in ``novideo'' mode, with\n" -"native frame buffer support.\n" -"\n" -" * Default: selects this entry as being the default Linux selection,\n" -"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n" -"highlighted with a ``*'' if you press [Tab] to see the boot selections." -msgstr "" -"Vous pouvez ajouter des entrées supplémentaires au menu yaboot, soit pour\n" -"d'autres systèmes d'exploitation, des noyaux alternatifs, ou pour des\n" -"images de démarrage en cas de problème.\n" -"\n" -"Pour les autres OS, l'entrée n'est constituée que d'une étiquette et d'une\n" -"partition « root ».\n" -"\n" -"Pour Linux, quelques options sont disponibles :\n" -"\n" -" * Étiquette : c'est simplement le nom que vous devrez taper lors de\n" -"l'invite yaboot pour choisir cette option de démarrage ;\n" -"\n" -" * Image : c'est le nom de l'image noyau à démarrer. Généralement, on\n" -"utilise vmlinux ou une variante de vmlinux avec une extension ;\n" -"\n" -" * Root : le périphérique « root » ou « / » pour votre installation Linux ;\n" -"\n" -" * Adjonction (« Append ») : sur le matériel Apple, l'option d'adjonction\n" -"noyau est utilisée assez souvent afin d'aider à l'initialisation de\n" -"matériel vidéo ou pour permettre l'émulation de la souris clavier, vu que\n" -"les souris Apple n'ont souvent qu'un bouton. Voici quelques exemples :\n" -"\n" -" \t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n" -"hda=autotune\n" -"\n" -" \t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n" -"\n" -" \t \n" -"\n" -" * Initrd : cette option peut être utilisée pour charger des modules\n" -"initiaux avant que le périphérique de démarrage ne soit disponible, ou pour\n" -"charger une image de disque virtuel (« ramdisk ») dans le cas où une\n" -"situation de démarrage d'urgence surviendrait ;\n" -"\n" -" * Initrd-size : la taille par défaut de l'image de disque virtuel est\n" -"normalement 4 096 octets. Si vous avez besoin d'un grand espace de disque\n" -"virtuel, cette option peut être utilisée ;\n" -"\n" -" * Lecture-écriture : normalement, la partition « root » est montée en\n" -"« lecture seulement » pour permettre une vérification du système de\n" -"fichiers avant que le système ne soit « live ». Vous pouvez changer ces\n" -"options dans cette section ;\n" -"\n" -" * NoVideo : si le matériel vidéo Apple devait très mal fonctionner, vous\n" -"pouvez sélectionner cette option pour démarrer en mode « novideo », avec\n" -"une prise en charge native de la mémoire d'image (« frame buffer ») ;\n" -"\n" -" * Défaut : sélectionne cette entrée en tant que choix Linux par défaut. En\n" -"tapant sur ENTRÉE lors de l'invite de yaboot, vous y accéderez\n" -"automatiquement. Cette entrée sera mise en évidence par le biais d'une\n" -"astérisque (« * ») et si vous cliquez sur la touche [Tab], vous verrez\n" -"toutes les sélections de démarrage possibles." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:894 -#, c-format -msgid "" -"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n" -"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n" -"detected and installed in the bootloader menu. If this is not the case, you\n" -"can add an entry by hand in this screen. Take care to choose the correct\n" -"parameters.\n" -"\n" -"Yaboot's main options are:\n" -"\n" -" * Init Message: a simple text message displayed before the boot prompt.\n" -"\n" -" * Boot Device: indicates where you want to place the information required\n" -"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n" -"to hold this information.\n" -"\n" -" * Open Firmware Delay: unlike LILO, there are two delays available with\n" -"yaboot. The first delay is measured in seconds and at this point, you can\n" -"choose between CD, OF boot, MacOS or Linux;\n" -"\n" -" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n" -"After selecting Linux, you will have this delay in 0.1 second increments\n" -"before your default kernel description is selected;\n" -"\n" -" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n" -"at the first boot prompt.\n" -"\n" -" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n" -"Open Firmware at the first boot prompt.\n" -"\n" -" * Default OS: you can select which OS will boot by default when the Open\n" -"Firmware Delay expires." -msgstr "" -"Yaboot est un chargeur de démarrage pour les équipements NewWorld\n" -"MacIntosh. Il est capable de démarrer soit GNU/Linux, MacOS ou MacOSX,\n" -"s'ils sont présents sur votre ordinateur bien entendu. Normalement, ces\n" -"systèmes d'exploitation sont correctement détectés et installés. Si ce\n" -"n'est pas le cas, vous pouvez maintenant ajouter une entrée à la main.\n" -"Soyez prudent et choisissez les bons paramètres.\n" -"\n" -"Les options principales de Yaboot sont :\n" -"\n" -" * Message Init : un message texte apparaît l'invite de démarrage ;\n" -"\n" -" * Périphérique de démarrage (« Boot ») : indique où vous voulez placer\n" -"l'information nécessaire pour démarrer GNU/Linux. Généralement, il est\n" -"préférable de créer une partition bootstrap avant l'installation pour\n" -"contenir cette information ;\n" -"\n" -" * Délai Open Firmware : contrairement à LILO, deux délais sont disponibles\n" -"pour yaboot. Le premier se mesure en secondes et à cette étape, vous pouvez\n" -"choisir entre le CD, l'amorçage OF (Open Firmware), MacOS ou Linux ;\n" -"\n" -" * Expiration du démarrage du noyau (« Kernel Boot Timeout » : cette\n" -"expiration de temps est similaire au délai de démarrage de LILO. Après\n" -"avoir choisi Linux, il y aura un délai de 0,1 secondes avant que le noyau\n" -"par défaut soit choisi ;\n" -"\n" -" * Activer le démarrage via un CD ? : en cochant cette option, vous pourrez\n" -"choisir l'option « C » pour démarrer avec un CD lors de la première invite\n" -"de démarrage ;\n" -"\n" -" * Activer le démarrage OF ? : en choisissant cette option, vous pourrez\n" -"sélectionner la touche « N » pour activer Open Firmware lors de la première\n" -"invite de démarrage ;\n" -"\n" -" * OS par défaut : vous pouvez choisir le système d'exploitation qui\n" -"démarrera par défaut lorsque le délai de temps attribué à Open Firmware\n" -"expire." - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:926 -#, c-format -msgid "" -"\"%s\": if a sound card is detected on your system, it is displayed here.\n" -"If you notice the sound card displayed is not the one that is actually\n" -"present on your system, you can click on the button and choose another\n" -"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 en\n" -"choisir une autre." - -#: help.pm:929 help.pm:991 install_steps_interactive.pm:960 -#: install_steps_interactive.pm:977 -#, c-format -msgid "Sound card" -msgstr "Carte son" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:932 -#, fuzzy, c-format -msgid "" -"As a review, DrakX will present a summary of information it has about your\n" -"system. Depending on your installed hardware, you may have some or all of\n" -"the following entries. Each entry is made up of the configuration item to\n" -"be configured, followed by a quick summary of the current configuration.\n" -"Click on the corresponding \"%s\" button to change that.\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 are not in this\n" -"country, click on the \"%s\" button and choose another one. If your country\n" -"is not in the first list shown, click 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\": check the current mouse configuration and click on the button to\n" -"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 setup a new printer. The interface\n" -"presented there is similar to the one used during installation.\n" -"\n" -" * \"%s\": if a sound card is detected on your system, it is displayed\n" -"here. If you notice the sound card displayed is not the one that is\n" -"actually present on your system, you can click on the button and choose\n" -"another driver.\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 a TV card is detected on your system, it is displayed here.\n" -"If you have a TV card and it is not detected, click on \"%s\" to try to\n" -"configure it manually.\n" -"\n" -" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n" -"here. You can click on \"%s\" to change the parameters associated with the\n" -"card.\n" -"\n" -" * \"%s\": If you wish to configure your Internet or local network access\n" -"now.\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 that\n" -"button. This should be reserved to advanced users.\n" -"\n" -" * \"%s\": here you'll be able to fine control 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 vous présente ici diverses informations 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 de la configuration, suivi d'un\n" -"cours résumé de la configuration actuelle. Cliquez sur le bouton « %s »\n" -"correspondant pour changer cela.\n" -"\n" -" * « %s » : vérifiez la configuration choisie pour le clavier.\n" -"\n" -" * « %s » : vérifiez la section 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.\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 en\n" -"choisir une autre.\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 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 ce bouton 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 pour en modifier les paramètres.\n" -"\n" -" * « %s » : si vous souhaitez configurer votre accès Internet ou réseau\n" -"local dès maintenant.\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.\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:991 install_steps_interactive.pm:110 -#: install_steps_interactive.pm:893 standalone/keyboarddrake:23 -#, c-format -msgid "Keyboard" -msgstr "Clavier" - -#: help.pm:991 install_steps_interactive.pm:919 standalone/drakclock:75 -#, c-format -msgid "Timezone" -msgstr "Fuseau horaire" - -#: help.pm:991 -#, c-format -msgid "Graphical Interface" -msgstr "Interface graphique" - -#: help.pm:991 install_steps_interactive.pm:993 -#, c-format -msgid "TV card" -msgstr "Carte TV" - -#: help.pm:991 -#, c-format -msgid "ISDN card" -msgstr "Carte RNIS" - -#: help.pm:991 install_steps_interactive.pm:1011 standalone/drakbackup:2101 -#, c-format -msgid "Network" -msgstr "Réseau" - -#: help.pm:991 install_steps_interactive.pm:1037 -#, c-format -msgid "Security Level" -msgstr "Niveau de sécurité" - -#: help.pm:991 install_steps_interactive.pm:1051 -#, c-format -msgid "Firewall" -msgstr "Pare Feu" - -#: help.pm:991 install_steps_interactive.pm:1065 -#, c-format -msgid "Bootloader" -msgstr "Programme d'amorçage" - -#: help.pm:991 install_steps_interactive.pm:1075 services.pm:195 -#, c-format -msgid "Services" -msgstr "Services" - -# DO NOT BOTHER TO MODIFY HERE, SEE: -# cvs.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:994 -#, c-format -msgid "" -"Choose the hard drive you want to erase in order to install your new\n" -"Mandrakelinux 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.mandrakesoft.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml -#: help.pm:999 -#, 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." - -#: install2.pm:119 -#, c-format -msgid "" -"Can't 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)" - -#: install2.pm:169 -#, c-format -msgid "You must also format %s" -msgstr "Vous devez aussi formater %s" - -#: install_any.pm:404 -#, c-format -msgid "" -"You have selected the following server(s): %s\n" -"\n" -"\n" -"These servers are activated by default. They don't 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" - -#: install_any.pm:425 -#, 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" - -#: install_any.pm:820 -#, c-format -msgid "Insert a FAT formatted floppy in drive %s" -msgstr "Insérez une disquette formatée en FAT (format DOS/Windows) %s" - -#: install_any.pm:824 -#, c-format -msgid "This floppy is not FAT formatted" -msgstr "Cette disquette n'est pas au format DOS/Windows" - -#: install_any.pm:836 -#, c-format -msgid "" -"To use this saved packages selection, boot installation with ``linux " -"defcfg=floppy''" -msgstr "" -"Pour utiliser cette sauvegarde de sélection des paquetages, veuillez " -"redémarrer l'installation avec la commande « linux defcfg=floppy »." - -#: install_any.pm:864 partition_table.pm:847 -#, c-format -msgid "Error reading file %s" -msgstr "Erreur lors de la lecture du fichier %s" - -#: install_any.pm:988 -#, 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." - -#: install_gtk.pm:161 -#, c-format -msgid "System installation" -msgstr "Installation du système" - -#: install_gtk.pm:164 -#, c-format -msgid "System configuration" -msgstr "Configuration du système" - -#: install_interactive.pm:22 -#, 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" - -#: install_interactive.pm:62 -#, 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 « / »." - -#: install_interactive.pm:67 -#, c-format -msgid "" -"You don't have a swap partition.\n" -"\n" -"Continue anyway?" -msgstr "" -"Vous n'avez pas de partition d'échange (swap).\n" -"\n" -"Désirez-vous tout de même continuer ?" - -#: install_interactive.pm:70 install_steps.pm:206 -#, 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" - -#: install_interactive.pm:97 -#, c-format -msgid "Not enough free space to allocate new partitions" -msgstr "Pas assez d'espace libre pour créer de nouvelles partitions" - -#: install_interactive.pm:105 -#, c-format -msgid "Use existing partitions" -msgstr "Utiliser une partition existante" - -#: install_interactive.pm:107 -#, c-format -msgid "There is no existing partition to use" -msgstr "Pas de partition existante à utiliser" - -#: install_interactive.pm:114 -#, c-format -msgid "Use the Windows partition for loopback" -msgstr "Utiliser la partition Windows pour le bouclage" - -#: install_interactive.pm:117 -#, c-format -msgid "Which partition do you want to use for Linux4Win?" -msgstr "Quelle partition désirez-vous utiliser pour Linux4Win ?" - -#: install_interactive.pm:119 -#, c-format -msgid "Choose the sizes" -msgstr "Choix des tailles" - -#: install_interactive.pm:120 -#, c-format -msgid "Root partition size in MB: " -msgstr "Taille de la partition racine en Mo : " - -#: install_interactive.pm:121 -#, c-format -msgid "Swap partition size in MB: " -msgstr "Taille de la partition d'échange (swap) en Mo : " - -#: install_interactive.pm:130 -#, 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)" - -#: install_interactive.pm:139 -#, c-format -msgid "Which partition do you want to resize?" -msgstr "Quelle partition désirez-vous redimensionner ?" - -#: install_interactive.pm:153 -#, c-format -msgid "" -"The FAT resizer is unable to handle your partition, \n" -"the following error occured: %s" -msgstr "" -"Le programme de redimensionnement des partitions FAT ne peut gérer votre\n" -"partition. L'erreur suivante est survenue : %s" - -#: install_interactive.pm:156 -#, c-format -msgid "Computing the size of the Windows partition" -msgstr "Calcul de l'espace libre sur la partition Windows" - -#: install_interactive.pm:163 -#, c-format -msgid "" -"Your Windows partition is too fragmented. Please reboot your computer under " -"Windows, run the ``defrag'' utility, then restart the Mandrakelinux " -"installation." -msgstr "" -"Votre partition FAT est trop fragmentée. Redémarrez sous Windows\n" -"et lancez le programme de défragmentation « defrag »,\n" -"puis relancez l'installation de Mandrakelinux." - -#: install_interactive.pm:164 -#, c-format -msgid "" -"WARNING!\n" -"\n" -"DrakX will now resize your Windows partition. Be careful: this\n" -"operation is dangerous. If you have not already done so, you\n" -"first need to exit the installation, run \"chkdsk c:\" from a\n" -"Command Prompt under Windows (beware, running graphical program\n" -"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n" -"Command Prompt!), optionally run defrag, then restart the\n" -"installation. You should also backup your data.\n" -"When sure, press Ok." -msgstr "" -"ATTENTION !\n" -"\n" -"La taille de votre partition Windows va maintenant être réduite.\n" -"Soyez prudent : cette opération est dangereuse. Si ce n'est pas déjà \n" -"fait, vous devriez tout d'abord quitter l'installation, lancer\n" -"« chkdsk c: » depuis la ligne de commande sous Windows (attention, le\n" -"programme graphique « scandisk » n'est pas suffisant, utilisez\n" -"réellement « chkdsk » depuis la ligne de commande!), éventuellement\n" -"exécutez defrag, puis recommencez l'installation. Vous devriez\n" -"également sauvegarder vos données.\n" -"Si vous êtes sûr de vous, cliquez sur OK." - -#: install_interactive.pm:176 -#, c-format -msgid "Which size do you want to keep for Windows on" -msgstr "Quelle taille désirez-vous allouer à Windows sur la" - -#: install_interactive.pm:177 -#, c-format -msgid "partition %s" -msgstr "partition %s" - -#: install_interactive.pm:186 -#, c-format -msgid "Resizing Windows partition" -msgstr "Calcul des limites du système de fichiers de Windows en cours" - -#: install_interactive.pm:191 -#, c-format -msgid "FAT resizing failed: %s" -msgstr "Le redimensionnement de la partition FAT a échoué : %s" - -#: install_interactive.pm:206 -#, 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)" - -#: install_interactive.pm:211 -#, c-format -msgid "Remove Windows(TM)" -msgstr "Supprimer Microsoft Windows(TM)" - -#: install_interactive.pm:213 -#, 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 ?" - -#: install_interactive.pm:217 -#, c-format -msgid "ALL existing partitions and their data will be lost on drive %s" -msgstr "" -"TOUTES les partitions et les données présentes sur le disque %s seront " -"perdues" - -#: install_interactive.pm:230 -#, c-format -msgid "Use fdisk" -msgstr "Utiliser fdisk" - -#: install_interactive.pm:233 -#, c-format -msgid "" -"You can now partition %s.\n" -"When you are done, don't 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 »." - -#: install_interactive.pm:269 -#, c-format -msgid "I can't find any room for installing" -msgstr "Pas de place disponible pour l'installation" - -#: install_interactive.pm:273 -#, c-format -msgid "The DrakX Partitioning wizard found the following solutions:" -msgstr "L'assistant de partitionnement a trouvé les solutions suivantes :" - -#: install_interactive.pm:279 -#, c-format -msgid "Partitioning failed: %s" -msgstr "Le partitionnement a échoué : %s" - -#: install_interactive.pm:286 -#, c-format -msgid "Bringing up the network" -msgstr "Démarrage de l'interface réseau..." - -#: install_interactive.pm:291 -#, c-format -msgid "Bringing down the network" -msgstr "Arrêt de l'interface réseau..." - -#: install_messages.pm:9 -#, c-format -msgid "" -"Introduction\n" -"\n" -"The operating system and the different components available in the " -"Mandrakelinux 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 Mandrakelinux distribution.\n" -"\n" -"\n" -"1. License Agreement\n" -"\n" -"Please read this document carefully. This document is a license agreement " -"between you and \n" -"MandrakeSoft 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" -"MandrakeSoft 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 MandrakeSoft 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, MandrakeSoft 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 Mandrakelinux 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 MandrakeSoft.\n" -"The programs developed by MandrakeSoft S.A. are governed by the GPL License. " -"Documentation written \n" -"by MandrakeSoft 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" -"MandrakeSoft 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" -"\"Mandrake\", \"Mandrakelinux\" and associated logos are trademarks of " -"MandrakeSoft 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 MandrakeSoft S.A. \n" -msgstr "" -"Introduction\n" -"\n" -"Le système d'exploitation et les divers composants disponibles dans la \n" -"distribution Mandrakelinux 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 Mandrakelinux.\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" -"MandrakeSoft 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 Mandrakelinux.\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. MandrakeSoft 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 MandrakeSoft 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 MandrakeSoft S.A. ni ses fournisseurs ne pourront être \n" -"tenus responsable à 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" -"Mandrakelinux 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 à MandrakeSoft. \n" -"Les programmes conçus par MandrakeSoft sont régis par la licence GPL. \n" -"La documentation rédigée par MandrakeSoft 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 « Mandrake » et « Mandrakelinux » ainsi que les \n" -"logotypes associés sont déposés par MandrakeSoft 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 MandrakeSoft S.A., les tribunaux compétents de Paris seront saisis du \n" -"litige. Pour toute question relative au présent document, veuillez \n" -"contacter MandrakeSoft S.A.\n" - -#: install_messages.pm:89 -#, 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 " -"certains\n" -"logiciels libres peuvent etre couverts par des brevets dans votre pays. Par " -"exemple, les\n" -"décodeurs MP3 inclus peuvent nécessiter une licence pour un usage plus " -"poussé (voyez\n" -"http://www.mp3licensing.com pour plus de détails). Si vous n'êtes pas sûr si " -"une licence\n" -"peut vous etre demandés, vérifiez les lois en vigueurs dans votre pays." - -#: install_messages.pm:96 -#, 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" - -#: install_messages.pm:128 -#, c-format -msgid "" -"Congratulations, installation is complete.\n" -"Remove the boot media and press return to reboot.\n" -"\n" -"\n" -"For information on fixes which are available for this release of " -"Mandrakelinux,\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 Mandrakelinux 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 Mandrakelinux, 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 Mandrakelinux." - -#: install_messages.pm:141 -#, c-format -msgid "http://www.mandrakelinux.com/en/100errata.php3" -msgstr "http://www.mandrakelinux.com/en/100errata.php3" - -#: install_steps.pm:241 -#, c-format -msgid "Duplicate mount point %s" -msgstr "Point de montage en double : %s" - -#: install_steps.pm:406 -#, c-format -msgid "" -"Some important packages didn't get installed properly.\n" -"Either your cdrom drive or your cdrom is defective.\n" -"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.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 Mandrake/RPMS/*." -"rpm »\n" - -#: install_steps.pm:535 -#, c-format -msgid "No floppy drive available" -msgstr "Aucun lecteur de disquette disponible" - -#: install_steps_auto_install.pm:76 install_steps_stdio.pm:27 -#, c-format -msgid "Entering step `%s'\n" -msgstr "Démarrage de l'étape « %s »\n" - -#: install_steps_gtk.pm:178 -#, c-format -msgid "" -"Your system is low on resources. You may have some problem installing\n" -"Mandrakelinux. 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 Mandrakelinux. 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 »." - -#: install_steps_gtk.pm:232 install_steps_interactive.pm:580 -#, c-format -msgid "Package Group Selection" -msgstr "Sélection des groupes de paquetages" - -#: install_steps_gtk.pm:294 install_steps_interactive.pm:519 -#, c-format -msgid "Total size: %d / %d MB" -msgstr "Taille totale : %d / %d Mo" - -#: install_steps_gtk.pm:340 -#, c-format -msgid "Bad package" -msgstr "Mauvais paquetage" - -#: install_steps_gtk.pm:342 -#, c-format -msgid "Version: " -msgstr "Version :" - -#: install_steps_gtk.pm:343 -#, c-format -msgid "Size: " -msgstr "Taille : " - -#: install_steps_gtk.pm:343 -#, c-format -msgid "%d KB\n" -msgstr "%d Ko\n" - -#: install_steps_gtk.pm:344 -#, c-format -msgid "Importance: " -msgstr "Importance : " - -#: install_steps_gtk.pm:377 -#, c-format -msgid "You can't select/unselect this package" -msgstr "Vous ne pouvez pas sélectionner/désélectionner ce paquetage" - -#: install_steps_gtk.pm:381 -#, c-format -msgid "due to missing %s" -msgstr "parce que %s manque" - -#: install_steps_gtk.pm:382 -#, c-format -msgid "due to unsatisfied %s" -msgstr "car %s n'est pas résolu" - -#: install_steps_gtk.pm:383 -#, c-format -msgid "trying to promote %s" -msgstr "Tentative de promouvoir %s" - -#: install_steps_gtk.pm:384 -#, c-format -msgid "in order to keep %s" -msgstr "afin de conserver %s" - -#: install_steps_gtk.pm:389 -#, c-format -msgid "" -"You can't 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" - -#: install_steps_gtk.pm:392 -#, c-format -msgid "The following packages are going to be installed" -msgstr "Les paquetages suivants vont être installés" - -#: install_steps_gtk.pm:393 -#, c-format -msgid "The following packages are going to be removed" -msgstr "Les paquetages suivants vont être désinstallés" - -#: install_steps_gtk.pm:417 -#, c-format -msgid "This is a mandatory package, it can't be unselected" -msgstr "Ce paquetage est nécessaire, vous ne pouvez pas le désélectionner" - -#: install_steps_gtk.pm:419 -#, c-format -msgid "You can't unselect this package. It is already installed" -msgstr "Vous ne pouvez pas désélectionner ce paquetage. Il est déjà installé" - -#: install_steps_gtk.pm:422 -#, c-format -msgid "" -"This package must be upgraded.\n" -"Are you sure you want to deselect it?" -msgstr "" -"Ce paquetage doit être mis à jour.\n" -"Êtes-vous certain de vouloir le désélectionner ?" - -#: install_steps_gtk.pm:425 -#, c-format -msgid "You can't unselect this package. It must be upgraded" -msgstr "" -"Vous ne pouvez pas désélectionner ce paquetage, il doit être mis à jour." - -#: install_steps_gtk.pm:430 -#, c-format -msgid "Show automatically selected packages" -msgstr "Montrer les paquetages sélectionnés automatiquement" - -#: install_steps_gtk.pm:435 -#, c-format -msgid "Load/Save on floppy" -msgstr "Charger/Sauver sur disquette" - -#: install_steps_gtk.pm:436 -#, c-format -msgid "Updating package selection" -msgstr "Mise à jour de la sélection des paquetages" - -#: install_steps_gtk.pm:441 -#, c-format -msgid "Minimal install" -msgstr "Installation minimale" - -#: install_steps_gtk.pm:455 install_steps_interactive.pm:427 -#, c-format -msgid "Choose the packages you want to install" -msgstr "Choisissez les paquetages que vous voulez installer" - -#: install_steps_gtk.pm:471 install_steps_interactive.pm:666 -#, c-format -msgid "Installing" -msgstr "Installation" - -#: install_steps_gtk.pm:477 -#, c-format -msgid "No details" -msgstr "Pas de détails" - -#: install_steps_gtk.pm:478 -#, c-format -msgid "Estimating" -msgstr "Estimation en cours" - -#: install_steps_gtk.pm:484 -#, c-format -msgid "Time remaining " -msgstr "Temps restant " - -#: install_steps_gtk.pm:496 -#, c-format -msgid "Please wait, preparing installation..." -msgstr "Veuillez patienter, préparation de l'installation..." - -#: install_steps_gtk.pm:557 -#, c-format -msgid "%d packages" -msgstr "%d paquetages" - -#: install_steps_gtk.pm:562 -#, c-format -msgid "Installing package %s" -msgstr "Installation du paquetage %s" - -#: install_steps_gtk.pm:598 install_steps_interactive.pm:88 -#: install_steps_interactive.pm:690 -#, c-format -msgid "Refuse" -msgstr "Refuser" - -#: install_steps_gtk.pm:599 install_steps_interactive.pm:691 -#, c-format -msgid "" -"Change your Cd-Rom!\n" -"\n" -"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when " -"done.\n" -"If you don't have it, press Cancel to avoid installation from this Cd-Rom." -msgstr "" -"--Changement de CD-Rom--\n" -"\n" -"Veuillez insérer le CD-Rom nommé « %s »,\n" -"puis cliquez sur « OK ».\n" -"\n" -"Si vous ne le possédez pas, cliquez sur « Annuler » afin de ne rien " -"installer à partir de ce Cd-Rom." - -#: install_steps_gtk.pm:614 install_steps_interactive.pm:703 -#, c-format -msgid "There was an error ordering packages:" -msgstr "Erreur lors du tri des paquetages :" - -#: install_steps_gtk.pm:614 install_steps_gtk.pm:618 -#: install_steps_interactive.pm:703 install_steps_interactive.pm:707 -#, c-format -msgid "Go on anyway?" -msgstr "Souhaitez-vous tout de même continuer ?" - -#: install_steps_gtk.pm:618 install_steps_interactive.pm:707 -#, c-format -msgid "There was an error installing packages:" -msgstr "Erreur lors de l'installation des paquetages :" - -#: install_steps_gtk.pm:658 install_steps_interactive.pm:875 -#: install_steps_interactive.pm:1027 -#, c-format -msgid "not configured" -msgstr "non configuré" - -#: install_steps_interactive.pm:81 -#, c-format -msgid "Do you want to recover your system?" -msgstr "Désirez-vous restaurer votre système?" - -#: install_steps_interactive.pm:82 -#, c-format -msgid "License agreement" -msgstr "Licence" - -#: install_steps_interactive.pm:111 -#, c-format -msgid "Please choose your keyboard layout." -msgstr "Veuillez choisir votre type de clavier." - -#: install_steps_interactive.pm:113 -#, c-format -msgid "Here is the full list of keyboards available" -msgstr "Voici la liste complète des claviers disponibles" - -#: install_steps_interactive.pm:143 -#, c-format -msgid "Install/Upgrade" -msgstr "Installation/Mise à jour" - -#: install_steps_interactive.pm:144 -#, c-format -msgid "Is this an install or an upgrade?" -msgstr "Désirez-vous faire une installation ou une mise à jour ?" - -#: install_steps_interactive.pm:150 -#, c-format -msgid "Upgrade %s" -msgstr "Mettre à jour %s" - -#: install_steps_interactive.pm:160 -#, c-format -msgid "Encryption key for %s" -msgstr "Clef de chiffrement pour %s" - -#: install_steps_interactive.pm:177 -#, c-format -msgid "Please choose your type of mouse." -msgstr "Veuillez choisir le type de votre souris." - -#: install_steps_interactive.pm:186 standalone/mousedrake:46 -#, c-format -msgid "Mouse Port" -msgstr "Port souris" - -#: install_steps_interactive.pm:187 standalone/mousedrake:47 -#, c-format -msgid "Please choose which serial port your mouse is connected to." -msgstr "Veuillez choisir le port série sur lequel votre souris est connectée." - -#: install_steps_interactive.pm:197 -#, c-format -msgid "Buttons emulation" -msgstr "Émulation des boutons" - -#: install_steps_interactive.pm:199 -#, c-format -msgid "Button 2 Emulation" -msgstr "Émulation du bouton n° 2" - -#: install_steps_interactive.pm:200 -#, c-format -msgid "Button 3 Emulation" -msgstr "Émulation du bouton n° 3" - -#: install_steps_interactive.pm:221 -#, c-format -msgid "PCMCIA" -msgstr "PCMCIA" - -#: install_steps_interactive.pm:221 -#, c-format -msgid "Configuring PCMCIA cards..." -msgstr "Configuration des cartes PCMCIA..." - -#: install_steps_interactive.pm:228 -#, c-format -msgid "IDE" -msgstr "IDE" - -#: install_steps_interactive.pm:228 -#, c-format -msgid "Configuring IDE" -msgstr "Configuration IDE" - -#: install_steps_interactive.pm:248 network/tools.pm:195 -#, c-format -msgid "No partition available" -msgstr "Aucune partition disponible" - -#: install_steps_interactive.pm:251 -#, c-format -msgid "Scanning partitions to find mount points" -msgstr "Examen des partitions afin d'identifier les points de montage" - -#: install_steps_interactive.pm:258 -#, c-format -msgid "Choose the mount points" -msgstr "Choix des points de montage" - -#: install_steps_interactive.pm:288 -#, 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." - -#: install_steps_interactive.pm:325 -#, c-format -msgid "Choose the partitions you want to format" -msgstr "Sélectionnez les partitions que vous souhaitez formater" - -#: install_steps_interactive.pm:327 -#, c-format -msgid "Check bad blocks?" -msgstr "Vérifier la présence de secteurs endommagés ?" - -#: install_steps_interactive.pm:359 -#, 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)" - -#: install_steps_interactive.pm:362 -#, 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." - -#: install_steps_interactive.pm:369 -#, c-format -msgid "Looking for available packages and rebuilding rpm database..." -msgstr "" -"Recherche des paquetages disponibles et reconstruction de la base de données " -"rpm..." - -#: install_steps_interactive.pm:370 install_steps_interactive.pm:389 -#, c-format -msgid "Looking for available packages..." -msgstr "Recherche des paquetages disponibles..." - -#: install_steps_interactive.pm:373 -#, c-format -msgid "Looking at packages already installed..." -msgstr "Recherche des paquetages déjà installés..." - -#: install_steps_interactive.pm:377 -#, c-format -msgid "Finding packages to upgrade..." -msgstr "Recherche des paquetages à mettre à jour..." - -#: install_steps_interactive.pm:398 -#, c-format -msgid "" -"Your system does not have enough space left for installation or upgrade (%d " -"> %d)" -msgstr "" -"Votre système ne dispose pas d'assez d'espace libre pour l'installation ou " -"la mise à jour (%d > %d)" - -#: install_steps_interactive.pm:439 -#, c-format -msgid "" -"Please choose load or save package selection on floppy.\n" -"The format is the same as auto_install generated floppies." -msgstr "" -"Vous avez le choix entre :\n" -"- Sauver sur disquette la sélection des paquetages.\n" -"- Établir un nouveau choix de sélection à partir d'une sauvegarde sur " -"disquette.\n" -"Le format est le même que celui des disquettes générées pour l'installation " -"automatisée." - -#: install_steps_interactive.pm:441 -#, c-format -msgid "Load from floppy" -msgstr "Charger à partir d'une disquette..." - -#: install_steps_interactive.pm:441 -#, c-format -msgid "Save on floppy" -msgstr "Sauvegarder sur disquette..." - -#: install_steps_interactive.pm:445 -#, c-format -msgid "Package selection" -msgstr "Sélection des paquetages" - -#: install_steps_interactive.pm:445 -#, c-format -msgid "Loading from floppy" -msgstr "Chargement depuis la disquette..." - -#: install_steps_interactive.pm:450 -#, c-format -msgid "Insert a floppy containing package selection" -msgstr "Insérez une disquette contenant une sélection de paquetages." - -#: install_steps_interactive.pm:533 -#, c-format -msgid "Selected size is larger than available space" -msgstr "La taille sélectionnée est plus importante que la place disponible" - -#: install_steps_interactive.pm:548 -#, c-format -msgid "Type of install" -msgstr "Type d'installation" - -#: install_steps_interactive.pm:549 -#, c-format -msgid "" -"You haven't 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 :" - -#: install_steps_interactive.pm:553 -#, c-format -msgid "With basic documentation (recommended!)" -msgstr "Avec la documentation de base (recommandé !)" - -#: install_steps_interactive.pm:554 -#, c-format -msgid "Truly minimal install (especially no urpmi)" -msgstr "Installation vraiment minimale (et en particulier pas d'urpmi)" - -#: install_steps_interactive.pm:597 standalone/drakxtv:50 -#, c-format -msgid "All" -msgstr "Tout" - -#: install_steps_interactive.pm:641 -#, c-format -msgid "" -"If you have all the CDs in the list below, click Ok.\n" -"If you have none of those CDs, click Cancel.\n" -"If only some CDs are missing, unselect them, then click Ok." -msgstr "" -"Si vous possédez tous les CD-Rom ci-dessous, cliquez sur « OK ».\n" -"Si vous n'en possédez aucun, cliquez sur « Annuler ».\n" -"Sinon, désélectionnez ceux que vous n'avez pas, puis cliquez sur « OK »." - -#: install_steps_interactive.pm:646 -#, c-format -msgid "Cd-Rom labeled \"%s\"" -msgstr "CD-Rom « %s »" - -#: install_steps_interactive.pm:666 -#, c-format -msgid "Preparing installation" -msgstr "Préparation de l'installation" - -#: install_steps_interactive.pm:675 -#, c-format -msgid "" -"Installing package %s\n" -"%d%%" -msgstr "" -"Installation du paquetage %s\n" -"%d%%" - -#: install_steps_interactive.pm:721 -#, c-format -msgid "Post-install configuration" -msgstr "Configuration post-installation" - -#: install_steps_interactive.pm:727 -#, c-format -msgid "Please insert the Boot floppy used in drive %s" -msgstr "Insérez la disquette d'amorçage utilisée dans le lecteur %s" - -#: install_steps_interactive.pm:733 -#, c-format -msgid "Please insert the Update Modules floppy in drive %s" -msgstr "Insérez la disquette de mise à jour de modules dans le lecteur %s" - -# I added an example (install on a networked machine, and the server is connected to the Internet). -# / J'ai rajouté un exemple (voir texte) car cela me semble plus clair comme çà . -#: install_steps_interactive.pm:754 -#, 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 de bogues.\n" -"\n" -"Vous devez avoir une connexion internet pour les télécharger,\n" -"\n" -"Souhaitez-vous installer les mises à jour ?" - -#: install_steps_interactive.pm:775 -#, c-format -msgid "" -"Contacting Mandrakelinux web site to get the list of available mirrors..." -msgstr "" -"Connexion au site Web de Mandrakelinux pour obtenir la liste des serveurs " -"miroirs disponibles..." - -#: install_steps_interactive.pm:780 -#, c-format -msgid "Choose a mirror from which to get the packages" -msgstr "Choisissez un serveur miroir d'où télécharger les paquetages" - -#: install_steps_interactive.pm:794 -#, c-format -msgid "Contacting the mirror to get the list of available packages..." -msgstr "Téléchargement de la liste des paquetages disponibles..." - -#: install_steps_interactive.pm:798 -#, c-format -msgid "Unable to contact mirror %s" -msgstr "Impossible d'accéder au mirroir %s" - -#: install_steps_interactive.pm:798 -#, c-format -msgid "Would you like to try again?" -msgstr "Désirez-vous essayer à nouveau ?" - -#: install_steps_interactive.pm:824 standalone/drakclock:45 -#, c-format -msgid "Which is your timezone?" -msgstr "Quelle est votre fuseau horaire ?" - -#: install_steps_interactive.pm:829 -#, c-format -msgid "Automatic time synchronization (using NTP)" -msgstr "Synchronisation automatique de l'horloge (via NTP)" - -#: install_steps_interactive.pm:837 -#, c-format -msgid "NTP Server" -msgstr "Serveur NTP" - -#: install_steps_interactive.pm:879 steps.pm:30 -#, c-format -msgid "Summary" -msgstr "Résumé" - -#: install_steps_interactive.pm:892 install_steps_interactive.pm:900 -#: install_steps_interactive.pm:918 install_steps_interactive.pm:925 -#: install_steps_interactive.pm:1074 services.pm:135 -#: standalone/drakbackup:1663 -#, c-format -msgid "System" -msgstr "Système" - -#: install_steps_interactive.pm:932 install_steps_interactive.pm:959 -#: install_steps_interactive.pm:976 install_steps_interactive.pm:992 -#: install_steps_interactive.pm:1003 -#, c-format -msgid "Hardware" -msgstr "Matériel" - -#: install_steps_interactive.pm:938 install_steps_interactive.pm:947 -#, c-format -msgid "Remote CUPS server" -msgstr "Serveur CUPS distant" - -#: install_steps_interactive.pm:938 -#, c-format -msgid "No printer" -msgstr "Pas d'imprimante" - -#: install_steps_interactive.pm:980 -#, c-format -msgid "Do you have an ISA sound card?" -msgstr "Possédez-vous une carte son ISA ?" - -#: install_steps_interactive.pm:982 -#, c-format -msgid "Run \"sndconfig\" after installation to configure your sound card" -msgstr "Lancez « sndconfig » après l'installation pour configurer la carte son" - -#: install_steps_interactive.pm:984 -#, 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" - -#: install_steps_interactive.pm:1004 -#, c-format -msgid "Graphical interface" -msgstr "Interface graphique" - -#: install_steps_interactive.pm:1010 install_steps_interactive.pm:1025 -#, c-format -msgid "Network & Internet" -msgstr "Réseau et Internet" - -#: install_steps_interactive.pm:1026 -#, c-format -msgid "Proxies" -msgstr "Proxys" - -#: install_steps_interactive.pm:1027 -#, c-format -msgid "configured" -msgstr "configuré" - -#: install_steps_interactive.pm:1036 install_steps_interactive.pm:1050 -#: steps.pm:20 -#, c-format -msgid "Security" -msgstr "Sécurité" - -#: install_steps_interactive.pm:1055 -#, c-format -msgid "activated" -msgstr "activé" - -#: install_steps_interactive.pm:1055 -#, c-format -msgid "disabled" -msgstr "désactivé" - -#: install_steps_interactive.pm:1064 -#, c-format -msgid "Boot" -msgstr "Partition de démarrage" - -#. -PO: example: lilo-graphic on /dev/hda1 -#: install_steps_interactive.pm:1068 -#, c-format -msgid "%s on %s" -msgstr "%s sur %s" - -#: install_steps_interactive.pm:1079 services.pm:177 -#, c-format -msgid "Services: %d activated for %d registered" -msgstr "Services : %d activés sur %d enregistrés" - -#: install_steps_interactive.pm:1089 -#, 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 (XFree86). Êtes-vous sûr de " -"ce que vous faites ?" - -#: install_steps_interactive.pm:1147 -#, c-format -msgid "Set root password and network authentication methods" -msgstr "" -"Paramétréz le mot de passe root et les méthodes authentification réseau" - -#: install_steps_interactive.pm:1148 -#, c-format -msgid "Set root password" -msgstr "Mot de passe root" - -#: install_steps_interactive.pm:1158 -#, 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)" - -#: install_steps_interactive.pm:1163 network/netconnect.pm:576 -#: standalone/drakauth:26 standalone/drakconnect:451 -#, c-format -msgid "Authentication" -msgstr "Authentification" - -#: install_steps_interactive.pm:1194 -#, c-format -msgid "Preparing bootloader..." -msgstr "Préparation du programme d'amorçage..." - -#: install_steps_interactive.pm:1204 -#, c-format -msgid "" -"You appear to have an OldWorld or Unknown\n" -" machine, the yaboot bootloader will not work for you.\n" -"The install will continue, but you'll\n" -" need to use BootX or some other means to boot your machine" -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." - -#: install_steps_interactive.pm:1210 -#, c-format -msgid "Do you want to use aboot?" -msgstr "Désirez-vous utiliser « aboot » ?" - -#: install_steps_interactive.pm:1213 -#, 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 ?" - -#: install_steps_interactive.pm:1224 -#, c-format -msgid "Installing bootloader" -msgstr "Installation du programme d'amorçage..." - -#: install_steps_interactive.pm:1231 -#, c-format -msgid "Installation of bootloader failed. The following error occured:" -msgstr "" -"L'installation du programme d'amorçage a échoué pour la raison suivante :" - -#: install_steps_interactive.pm:1236 -#, c-format -msgid "" -"You may need to change your Open Firmware boot-device to\n" -" enable the bootloader. If you don't 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." - -#: install_steps_interactive.pm:1249 -#, 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." - -#: install_steps_interactive.pm:1281 standalone/drakautoinst:76 -#, c-format -msgid "Insert a blank floppy in drive %s" -msgstr "Insérez une disquette vierge dans le lecteur %s" - -#: install_steps_interactive.pm:1286 -#, c-format -msgid "Please insert another floppy for drivers disk" -msgstr "Insérez une autre disquette, pour la disquette des pilotes" - -#: install_steps_interactive.pm:1288 -#, c-format -msgid "Creating auto install floppy..." -msgstr "Création de la disquette d'auto-installation..." - -#: install_steps_interactive.pm:1300 -#, 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 ?" - -#: install_steps_interactive.pm:1315 -#, c-format -msgid "Generate auto install floppy" -msgstr "Créer une disquette d'auto-installation" - -#: install_steps_interactive.pm:1317 -#, 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" - -#: install_steps_newt.pm:20 -#, c-format -msgid "Mandrakelinux Installation %s" -msgstr "Installation de Mandrakelinux %s" - -#: install_steps_newt.pm:33 -#, c-format -msgid "" -" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen " -msgstr "" -"<Tab> suivant | <Alt-Tab> précédent | <Espace> sélectionner | <F12> Écran " -"suivant " - -#: interactive.pm:170 -#, c-format -msgid "Choose a file" -msgstr "Choisissez un fichier" - -#: interactive.pm:372 -#, c-format -msgid "Basic" -msgstr "Basique" - -#: interactive.pm:403 interactive/newt.pm:308 ugtk2.pm:510 -#, c-format -msgid "Finish" -msgstr "Terminer" - -#: interactive/newt.pm:83 -#, c-format -msgid "Do" -msgstr "Faire" - -#: 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" - -#: keyboard.pm:137 keyboard.pm:169 -#, c-format -msgid "Czech (QWERTZ)" -msgstr "Tchèque (QWERTZ)" - -#: keyboard.pm:138 keyboard.pm:171 -#, c-format -msgid "German" -msgstr "Allemand" - -#: keyboard.pm:139 -#, c-format -msgid "Dvorak" -msgstr "Dvorak standard" - -#: keyboard.pm:140 keyboard.pm:179 -#, c-format -msgid "Spanish" -msgstr "Espagnol" - -#: keyboard.pm:141 keyboard.pm:180 -#, c-format -msgid "Finnish" -msgstr "Finlandais" - -#: keyboard.pm:142 keyboard.pm:181 -#, c-format -msgid "French" -msgstr "Français" - -#: keyboard.pm:143 keyboard.pm:220 -#, c-format -msgid "Norwegian" -msgstr "Norvégien" - -#: keyboard.pm:144 -#, c-format -msgid "Polish" -msgstr "Polonais" - -#: keyboard.pm:145 keyboard.pm:229 -#, c-format -msgid "Russian" -msgstr "Russe" - -#: keyboard.pm:147 keyboard.pm:233 -#, c-format -msgid "Swedish" -msgstr "Suédois" - -#: keyboard.pm:148 keyboard.pm:252 -#, c-format -msgid "UK keyboard" -msgstr "Anglais (Angleterre)" - -#: keyboard.pm:149 keyboard.pm:253 -#, c-format -msgid "US keyboard" -msgstr "Américain (États-Unis)" - -#: keyboard.pm:151 -#, c-format -msgid "Albanian" -msgstr "Albanais" - -#: keyboard.pm:152 -#, c-format -msgid "Armenian (old)" -msgstr "Arménien (ancien)" - -#: keyboard.pm:153 -#, c-format -msgid "Armenian (typewriter)" -msgstr "Arménien (machine à écrire)" - -#: keyboard.pm:154 -#, c-format -msgid "Armenian (phonetic)" -msgstr "Arménien (phonétique)" - -#: keyboard.pm:155 -#, c-format -msgid "Arabic" -msgstr "Arabe" - -#: keyboard.pm:156 -#, c-format -msgid "Azerbaidjani (latin)" -msgstr "Azerbaïdjanais (latin)" - -#: keyboard.pm:158 -#, c-format -msgid "Belgian" -msgstr "Belge" - -#: keyboard.pm:159 -#, c-format -msgid "Bengali" -msgstr "Bengale" - -#: keyboard.pm:160 -#, c-format -msgid "Bulgarian (phonetic)" -msgstr "Bulgare (phonétique)" - -#: keyboard.pm:161 -#, c-format -msgid "Bulgarian (BDS)" -msgstr "Bulgare (BDS)" - -#: keyboard.pm:162 -#, c-format -msgid "Brazilian (ABNT-2)" -msgstr "Brésilien" - -#: keyboard.pm:165 -#, c-format -msgid "Bosnian" -msgstr "Bosniaque" - -#: keyboard.pm:166 -#, c-format -msgid "Belarusian" -msgstr "Blélorusse" - -#: keyboard.pm:167 -#, c-format -msgid "Swiss (German layout)" -msgstr "Suisse (allemand)" - -#: keyboard.pm:168 -#, c-format -msgid "Swiss (French layout)" -msgstr "Suisse (français)" - -#: keyboard.pm:170 -#, c-format -msgid "Czech (QWERTY)" -msgstr "Tchèque (QWERTY)" - -#: keyboard.pm:172 -#, c-format -msgid "German (no dead keys)" -msgstr "Allemand (sans touches mortes)" - -#: keyboard.pm:173 -#, c-format -msgid "Devanagari" -msgstr "Devanagari" - -#: keyboard.pm:174 -#, c-format -msgid "Danish" -msgstr "Danois" - -#: keyboard.pm:175 -#, c-format -msgid "Dvorak (US)" -msgstr "Dvorak américain" - -#: keyboard.pm:176 -#, c-format -msgid "Dvorak (Norwegian)" -msgstr "Dvorak norvégien" - -#: keyboard.pm:177 -#, c-format -msgid "Dvorak (Swedish)" -msgstr "Dvorak suédois" - -#: keyboard.pm:178 -#, c-format -msgid "Estonian" -msgstr "Estonien" - -#: keyboard.pm:182 -#, c-format -msgid "Georgian (\"Russian\" layout)" -msgstr "Géorgien (disposition russe)" - -#: keyboard.pm:183 -#, c-format -msgid "Georgian (\"Latin\" layout)" -msgstr "Géorgien (disposition latine)" - -#: keyboard.pm:184 -#, c-format -msgid "Greek" -msgstr "Grec" - -#: keyboard.pm:185 -#, c-format -msgid "Greek (polytonic)" -msgstr "Grec (polytonic)" - -#: keyboard.pm:186 -#, c-format -msgid "Gujarati" -msgstr "Gujarati" - -#: keyboard.pm:187 -#, c-format -msgid "Gurmukhi" -msgstr "Gurmukhi" - -#: keyboard.pm:188 -#, c-format -msgid "Hungarian" -msgstr "Hongrois" - -#: keyboard.pm:189 -#, c-format -msgid "Croatian" -msgstr "Croate" - -#: keyboard.pm:190 -#, c-format -msgid "Irish" -msgstr "Irlandais" - -#: keyboard.pm:191 -#, c-format -msgid "Israeli" -msgstr "Israélien" - -#: keyboard.pm:192 -#, c-format -msgid "Israeli (Phonetic)" -msgstr "Israélien (phonétique)" - -#: keyboard.pm:193 -#, c-format -msgid "Iranian" -msgstr "Iranien" - -#: keyboard.pm:194 -#, c-format -msgid "Icelandic" -msgstr "Islandais" - -#: keyboard.pm:195 -#, c-format -msgid "Italian" -msgstr "Italien" - -#: keyboard.pm:196 -#, c-format -msgid "Inuktitut" -msgstr "Inuktitut" - -#: keyboard.pm:200 -#, c-format -msgid "Japanese 106 keys" -msgstr "Japonais 106 touches" - -#: keyboard.pm:201 -#, c-format -msgid "Kannada" -msgstr "Kannada" - -#: keyboard.pm:204 -#, c-format -msgid "Korean keyboard" -msgstr "Coréen" - -#: keyboard.pm:205 -#, c-format -msgid "Latin American" -msgstr "Latino-américain" - -#: keyboard.pm:206 -#, c-format -msgid "Laotian" -msgstr "Laotien" - -#: keyboard.pm:207 -#, c-format -msgid "Lithuanian AZERTY (old)" -msgstr "Lituanien (AZERTY, ancien modèle)" - -#: keyboard.pm:209 -#, c-format -msgid "Lithuanian AZERTY (new)" -msgstr "Lituanien (AZERTY, nouveau modèle)" - -#: keyboard.pm:210 -#, c-format -msgid "Lithuanian \"number row\" QWERTY" -msgstr "Lituanien « ligne de nombres » QWERTY" - -#: keyboard.pm:211 -#, c-format -msgid "Lithuanian \"phonetic\" QWERTY" -msgstr "Lituanien « phonétique » QWERTY" - -#: keyboard.pm:212 -#, c-format -msgid "Latvian" -msgstr "Letton" - -#: keyboard.pm:213 -#, c-format -msgid "Malayalam" -msgstr "Malayalam" - -#: keyboard.pm:214 -#, c-format -msgid "Macedonian" -msgstr "Macédonien" - -#: keyboard.pm:215 -#, c-format -msgid "Myanmar (Burmese)" -msgstr "Myanmar (Burmese)" - -#: keyboard.pm:216 -#, c-format -msgid "Mongolian (cyrillic)" -msgstr "Mongolien (cyrillique)" - -#: keyboard.pm:217 -#, c-format -msgid "Maltese (UK)" -msgstr "Maltais (UK)" - -#: keyboard.pm:218 -#, c-format -msgid "Maltese (US)" -msgstr "Maltais (US)" - -#: keyboard.pm:219 -#, c-format -msgid "Dutch" -msgstr "Hollandais" - -#: keyboard.pm:221 -#, c-format -msgid "Oriya" -msgstr "Oriya" - -#: keyboard.pm:222 -#, c-format -msgid "Polish (qwerty layout)" -msgstr "Polonais (QWERTY)" - -#: keyboard.pm:223 -#, c-format -msgid "Polish (qwertz layout)" -msgstr "Polonais (QWERTZ)" - -#: keyboard.pm:224 -#, c-format -msgid "Portuguese" -msgstr "Portugais" - -#: keyboard.pm:225 -#, c-format -msgid "Canadian (Quebec)" -msgstr "Canadien (Québec)" - -#: keyboard.pm:227 -#, c-format -msgid "Romanian (qwertz)" -msgstr "Roumain (QWERTZ)" - -#: keyboard.pm:228 -#, c-format -msgid "Romanian (qwerty)" -msgstr "Roumain (QWERTY)" - -#: keyboard.pm:230 -#, c-format -msgid "Russian (Phonetic)" -msgstr "Russe (phonétique)" - -#: keyboard.pm:231 -#, c-format -msgid "Saami (norwegian)" -msgstr "Saami (norvégien)" - -#: keyboard.pm:232 -#, c-format -msgid "Saami (swedish/finnish)" -msgstr "Saami (Suédois/Finnois)" - -#: keyboard.pm:234 -#, c-format -msgid "Slovenian" -msgstr "Slovénien" - -#: keyboard.pm:235 -#, c-format -msgid "Slovakian (QWERTZ)" -msgstr "Slovaque (QWERTZ)" - -#: keyboard.pm:236 -#, c-format -msgid "Slovakian (QWERTY)" -msgstr "Slovaque (QWERTY)" - -#: keyboard.pm:238 -#, c-format -msgid "Serbian (cyrillic)" -msgstr "Serbe (cyrillique)" - -#: keyboard.pm:239 -#, c-format -msgid "Syriac" -msgstr "Syriaque" - -#: keyboard.pm:240 -#, c-format -msgid "Syriac (phonetic)" -msgstr "Syriaque (phonétique)" - -#: keyboard.pm:241 -#, c-format -msgid "Telugu" -msgstr "Telegu" - -#: keyboard.pm:243 -#, c-format -msgid "Tamil (ISCII-layout)" -msgstr "Tamoul (ISCII)" - -#: keyboard.pm:244 -#, c-format -msgid "Tamil (Typewriter-layout)" -msgstr "Tamoul (façon machine à écrire)" - -#: keyboard.pm:245 -#, c-format -msgid "Thai keyboard" -msgstr "Thaïlandais" - -#: keyboard.pm:247 -#, c-format -msgid "Tajik keyboard" -msgstr "Tadjik" - -#: keyboard.pm:248 -#, c-format -msgid "Turkish (traditional \"F\" model)" -msgstr "Turc (modèle traditionnel « F »)" - -#: keyboard.pm:249 -#, c-format -msgid "Turkish (modern \"Q\" model)" -msgstr "Turc (modèle moderne « Q »)" - -#: keyboard.pm:251 -#, c-format -msgid "Ukrainian" -msgstr "Ukrainien" - -#: keyboard.pm:254 -#, c-format -msgid "US keyboard (international)" -msgstr "Américain (international)" - -#: keyboard.pm:255 -#, c-format -msgid "Uzbek (cyrillic)" -msgstr "Ouzbékistanais (cyrillique)" - -#: keyboard.pm:256 -#, c-format -msgid "Vietnamese \"numeric row\" QWERTY" -msgstr "Vietnamien « colonne numérique » QWERTY" - -#: keyboard.pm:257 -#, c-format -msgid "Yugoslavian (latin)" -msgstr "Yougoslave (latin)" - -#: keyboard.pm:264 -#, c-format -msgid "Right Alt key" -msgstr "Touche Alt droite" - -#: keyboard.pm:265 -#, c-format -msgid "Both Shift keys simultaneously" -msgstr "Deux touches Shift simultanément" - -#: keyboard.pm:266 -#, c-format -msgid "Control and Shift keys simultaneously" -msgstr "Touches <Ctrl> et <Maj> simultanément" - -#: keyboard.pm:267 -#, c-format -msgid "CapsLock key" -msgstr "Touche CapsLock (verrouillage majuscule)" - -#: keyboard.pm:268 -#, c-format -msgid "Ctrl and Alt keys simultaneously" -msgstr "Touches Ctrl et Alt simultanément" - -#: keyboard.pm:269 -#, c-format -msgid "Alt and Shift keys simultaneously" -msgstr "Touches Alt et Shift simultanément" - -#: keyboard.pm:270 -#, c-format -msgid "\"Menu\" key" -msgstr "Touche « Menu »" - -#: keyboard.pm:271 -#, c-format -msgid "Left \"Windows\" key" -msgstr "Touche « Windows » gauche" - -#: keyboard.pm:272 -#, c-format -msgid "Right \"Windows\" key" -msgstr "Touche « Windows » droite" - -#: keyboard.pm:273 -#, c-format -msgid "Both Control keys simultaneously" -msgstr "Les deux touches Contrôle simultanément" - -#: keyboard.pm:274 -#, c-format -msgid "Both Alt keys simultaneously" -msgstr "Les deux touches Alt simultanément" - -#: keyboard.pm:275 -#, c-format -msgid "Left Shift key" -msgstr "Touche Majuscule gauche" - -#: keyboard.pm:276 -#, c-format -msgid "Right Shift key" -msgstr "Touche Majuscule droite" - -#: keyboard.pm:277 -#, c-format -msgid "Left Alt key" -msgstr "Touche Alt gauche" - -#: keyboard.pm:278 -#, c-format -msgid "Left Control key" -msgstr "Touche Contrôle gauche" - -#: keyboard.pm:279 -#, c-format -msgid "Right Control key" -msgstr "Touche Contrôle droite" - -#: keyboard.pm:310 -#, c-format -msgid "" -"Here you can choose the key or key combination that will \n" -"allow switching between the different keyboard layouts\n" -"(eg: latin and non latin)" -msgstr "" -"Vous pouvez choisir ici la touche ou la combinaison de touches qui\n" -"permettra de commuter entre les différents types de claviers\n" -"(ex : latin et non latin)" - -#: keyboard.pm:315 -#, c-format -msgid "" -"This setting will be activated after the installation.\n" -"During installation, you will need to use the Right Control\n" -"key to switch between the different keyboard layouts." -msgstr "" -"Ce paramètre sera activé après l'installation.\n" -"Pendant l'installation, vous devrez utiliser la touche « Ctrl » droite\n" -"pour commuter entre les différentes configurations du clavier." - -#: lang.pm:151 -#, c-format -msgid "default:LTR" -msgstr "default:LTR" - -#: lang.pm:167 -#, c-format -msgid "Afghanistan" -msgstr "Afghanistan" - -#: lang.pm:168 -#, c-format -msgid "Andorra" -msgstr "Andorre" - -#: lang.pm:169 -#, c-format -msgid "United Arab Emirates" -msgstr "Émirats Arabes Unis" - -#: lang.pm:170 -#, c-format -msgid "Antigua and Barbuda" -msgstr "Antigua-et-Barbuda" - -#: lang.pm:171 -#, c-format -msgid "Anguilla" -msgstr "Anguilla" - -#: lang.pm:172 -#, c-format -msgid "Albania" -msgstr "Albanie" - -#: lang.pm:173 -#, c-format -msgid "Armenia" -msgstr "Arménie" - -#: lang.pm:174 -#, c-format -msgid "Netherlands Antilles" -msgstr "Antilles néerlandaises" - -#: lang.pm:175 -#, c-format -msgid "Angola" -msgstr "Angola" - -#: lang.pm:176 -#, c-format -msgid "Antarctica" -msgstr "Antarctique" - -#: lang.pm:177 standalone/drakxtv:48 -#, c-format -msgid "Argentina" -msgstr "Argentine" - -#: lang.pm:178 -#, c-format -msgid "American Samoa" -msgstr "Samoa Américaine" - -#: lang.pm:180 standalone/drakxtv:46 -#, c-format -msgid "Australia" -msgstr "Australie" - -#: lang.pm:181 -#, c-format -msgid "Aruba" -msgstr "Aruba" - -#: lang.pm:182 -#, c-format -msgid "Azerbaijan" -msgstr "Azerbaïdjan" - -#: lang.pm:183 -#, c-format -msgid "Bosnia and Herzegovina" -msgstr "Bosnie Herzégovine" - -#: lang.pm:184 -#, c-format -msgid "Barbados" -msgstr "Barbade" - -#: lang.pm:185 -#, c-format -msgid "Bangladesh" -msgstr "Bangladesh" - -#: lang.pm:187 -#, c-format -msgid "Burkina Faso" -msgstr "Burkina Faso" - -#: lang.pm:188 -#, c-format -msgid "Bulgaria" -msgstr "Bulgarie" - -#: lang.pm:189 -#, c-format -msgid "Bahrain" -msgstr "Bahreïn" - -#: lang.pm:190 -#, c-format -msgid "Burundi" -msgstr "Burundi" - -#: lang.pm:191 -#, c-format -msgid "Benin" -msgstr "Bénin" - -#: lang.pm:192 -#, c-format -msgid "Bermuda" -msgstr "Bermudes" - -#: lang.pm:193 -#, c-format -msgid "Brunei Darussalam" -msgstr "Sultanat de Brunei" - -#: lang.pm:194 -#, c-format -msgid "Bolivia" -msgstr "Bolivie" - -#: lang.pm:195 -#, c-format -msgid "Brazil" -msgstr "Brésil" - -#: lang.pm:196 -#, c-format -msgid "Bahamas" -msgstr "Bahamas" - -#: lang.pm:197 -#, c-format -msgid "Bhutan" -msgstr "Bhoutan" - -#: lang.pm:198 -#, c-format -msgid "Bouvet Island" -msgstr "Île Bouvet" - -#: lang.pm:199 -#, c-format -msgid "Botswana" -msgstr "Botswana" - -#: lang.pm:200 -#, c-format -msgid "Belarus" -msgstr "Bélarus" - -#: lang.pm:201 -#, c-format -msgid "Belize" -msgstr "Belize" - -#: lang.pm:202 -#, c-format -msgid "Canada" -msgstr "Canada" - -#: lang.pm:203 -#, c-format -msgid "Cocos (Keeling) Islands" -msgstr "Îles Cocos" - -#: lang.pm:204 -#, c-format -msgid "Congo (Kinshasa)" -msgstr "Congo (Kinshasa)" - -#: lang.pm:205 -#, c-format -msgid "Central African Republic" -msgstr "République Centrafricaine" - -#: lang.pm:206 -#, c-format -msgid "Congo (Brazzaville)" -msgstr "Congo (Brazzaville)" - -#: lang.pm:207 -#, c-format -msgid "Switzerland" -msgstr "Suisse" - -#: lang.pm:208 -#, c-format -msgid "Cote d'Ivoire" -msgstr "Côte d'Ivoire" - -#: lang.pm:209 -#, c-format -msgid "Cook Islands" -msgstr "Îles Cook" - -#: lang.pm:210 -#, c-format -msgid "Chile" -msgstr "Chili" - -#: lang.pm:211 -#, c-format -msgid "Cameroon" -msgstr "Cameroun" - -#: lang.pm:212 -#, c-format -msgid "China" -msgstr "Chine" - -#: lang.pm:213 -#, c-format -msgid "Colombia" -msgstr "Colombie" - -#: lang.pm:215 -#, c-format -msgid "Cuba" -msgstr "Cuba" - -#: lang.pm:216 -#, c-format -msgid "Cape Verde" -msgstr "Cap-Vert" - -#: lang.pm:217 -#, c-format -msgid "Christmas Island" -msgstr "Île Christmas" - -#: lang.pm:218 -#, c-format -msgid "Cyprus" -msgstr "Chypre" - -#: lang.pm:221 -#, c-format -msgid "Djibouti" -msgstr "Djibouti" - -#: lang.pm:222 -#, c-format -msgid "Denmark" -msgstr "Danemark" - -#: lang.pm:223 -#, c-format -msgid "Dominica" -msgstr "Dominique" - -#: lang.pm:224 -#, c-format -msgid "Dominican Republic" -msgstr "Dominique" - -#: lang.pm:225 -#, c-format -msgid "Algeria" -msgstr "Algérie" - -#: lang.pm:226 -#, c-format -msgid "Ecuador" -msgstr "Équateur" - -#: lang.pm:227 -#, c-format -msgid "Estonia" -msgstr "Estonie" - -#: lang.pm:228 -#, c-format -msgid "Egypt" -msgstr "Égypte" - -#: lang.pm:229 -#, c-format -msgid "Western Sahara" -msgstr "Sahara Occidental" - -#: lang.pm:230 -#, c-format -msgid "Eritrea" -msgstr "Érythrée" - -#: lang.pm:231 network/adsl_consts.pm:202 network/adsl_consts.pm:210 -#: network/adsl_consts.pm:219 network/adsl_consts.pm:230 -#, c-format -msgid "Spain" -msgstr "Espagne" - -#: lang.pm:232 -#, c-format -msgid "Ethiopia" -msgstr "Éthiopie" - -#: lang.pm:233 network/adsl_consts.pm:127 -#, c-format -msgid "Finland" -msgstr "Finlande" - -#: lang.pm:234 -#, c-format -msgid "Fiji" -msgstr "Fidji" - -#: lang.pm:235 -#, c-format -msgid "Falkland Islands (Malvinas)" -msgstr "Îles Malouinnes" - -#: lang.pm:236 -#, c-format -msgid "Micronesia" -msgstr "Micronésie" - -#: lang.pm:237 -#, c-format -msgid "Faroe Islands" -msgstr "Îles Faroe" - -#: lang.pm:239 -#, c-format -msgid "Gabon" -msgstr "Gabon" - -#: lang.pm:240 network/adsl_consts.pm:247 network/adsl_consts.pm:255 -#: network/netconnect.pm:51 -#, c-format -msgid "United Kingdom" -msgstr "Royaume-Uni" - -#: lang.pm:241 -#, c-format -msgid "Grenada" -msgstr "Grenade" - -#: lang.pm:242 -#, c-format -msgid "Georgia" -msgstr "Géorgie" - -#: lang.pm:243 -#, c-format -msgid "French Guiana" -msgstr "Guyane Française" - -#: lang.pm:244 -#, c-format -msgid "Ghana" -msgstr "Ghana" - -#: lang.pm:245 -#, c-format -msgid "Gibraltar" -msgstr "Gibraltar" - -#: lang.pm:246 -#, c-format -msgid "Greenland" -msgstr "Groenland" - -#: lang.pm:247 -#, c-format -msgid "Gambia" -msgstr "Gambie" - -#: lang.pm:248 -#, c-format -msgid "Guinea" -msgstr "Guinée" - -#: lang.pm:249 -#, c-format -msgid "Guadeloupe" -msgstr "Guadeloupe" - -#: lang.pm:250 -#, c-format -msgid "Equatorial Guinea" -msgstr "Guinée Équatoriale" - -#: lang.pm:252 -#, c-format -msgid "South Georgia and the South Sandwich Islands" -msgstr "Géorgie du Sud et Îles Sandwich du Sud" - -#: lang.pm:253 -#, c-format -msgid "Guatemala" -msgstr "Guatemala" - -#: lang.pm:254 -#, c-format -msgid "Guam" -msgstr "Guam" - -#: lang.pm:255 -#, c-format -msgid "Guinea-Bissau" -msgstr "Guinée-Bissau" - -#: lang.pm:256 -#, c-format -msgid "Guyana" -msgstr "Guyana" - -#: lang.pm:257 -#, c-format -msgid "China (Hong Kong)" -msgstr "Chine (Hong-Kong)" - -#: lang.pm:258 -#, c-format -msgid "Heard and McDonald Islands" -msgstr "Îles Heard et McDonald" - -#: lang.pm:259 -#, c-format -msgid "Honduras" -msgstr "Honduras" - -#: lang.pm:260 -#, c-format -msgid "Croatia" -msgstr "Croatie" - -#: lang.pm:261 -#, c-format -msgid "Haiti" -msgstr "Haïti" - -#: lang.pm:262 network/adsl_consts.pm:152 -#, c-format -msgid "Hungary" -msgstr "Hongrie" - -#: lang.pm:263 -#, c-format -msgid "Indonesia" -msgstr "Indonésie" - -#: lang.pm:264 standalone/drakxtv:45 -#, c-format -msgid "Ireland" -msgstr "Irlande" - -#: lang.pm:265 -#, c-format -msgid "Israel" -msgstr "Israël" - -#: lang.pm:266 -#, c-format -msgid "India" -msgstr "Inde" - -#: lang.pm:267 -#, c-format -msgid "British Indian Ocean Territory" -msgstr "Territoire Britannique de l'océan Indien" - -#: lang.pm:268 -#, c-format -msgid "Iraq" -msgstr "Irak" - -#: lang.pm:269 -#, c-format -msgid "Iran" -msgstr "Irak" - -#: lang.pm:270 -#, c-format -msgid "Iceland" -msgstr "Islande" - -#: lang.pm:272 -#, c-format -msgid "Jamaica" -msgstr "Jamaïque" - -#: lang.pm:273 -#, c-format -msgid "Jordan" -msgstr "Jordanie" - -#: lang.pm:274 -#, c-format -msgid "Japan" -msgstr "Japon" - -#: lang.pm:275 -#, c-format -msgid "Kenya" -msgstr "Kenya" - -#: lang.pm:276 -#, c-format -msgid "Kyrgyzstan" -msgstr "Kirghizistan" - -#: lang.pm:277 -#, c-format -msgid "Cambodia" -msgstr "Cambodge" - -#: lang.pm:278 -#, c-format -msgid "Kiribati" -msgstr "Kiribati" - -#: lang.pm:279 -#, c-format -msgid "Comoros" -msgstr "Comores" - -#: lang.pm:280 -#, c-format -msgid "Saint Kitts and Nevis" -msgstr "Saint-Kitts-et-Nevis" - -#: lang.pm:281 -#, c-format -msgid "Korea (North)" -msgstr "Corée du Nord" - -#: lang.pm:282 -#, c-format -msgid "Korea" -msgstr "Corée" - -#: lang.pm:283 -#, c-format -msgid "Kuwait" -msgstr "Koweit" - -#: lang.pm:284 -#, c-format -msgid "Cayman Islands" -msgstr "Îles Caïman" - -#: lang.pm:285 -#, c-format -msgid "Kazakhstan" -msgstr "Kazakhstan" - -#: lang.pm:286 -#, c-format -msgid "Laos" -msgstr "Laos" - -#: lang.pm:287 -#, c-format -msgid "Lebanon" -msgstr "Liban" - -#: lang.pm:288 -#, c-format -msgid "Saint Lucia" -msgstr "Sainte-Lucie" - -#: lang.pm:289 -#, c-format -msgid "Liechtenstein" -msgstr "Liechtenstein" - -#: lang.pm:290 -#, c-format -msgid "Sri Lanka" -msgstr "Sri Lanka" - -#: lang.pm:291 -#, c-format -msgid "Liberia" -msgstr "Libéria" - -#: lang.pm:292 -#, c-format -msgid "Lesotho" -msgstr "Lesotho" - -#: lang.pm:293 -#, c-format -msgid "Lithuania" -msgstr "Lituanie" - -#: lang.pm:294 -#, c-format -msgid "Luxembourg" -msgstr "Luxembourg" - -#: lang.pm:295 -#, c-format -msgid "Latvia" -msgstr "Lettonie" - -#: lang.pm:296 -#, c-format -msgid "Libya" -msgstr "Libye" - -#: lang.pm:297 -#, c-format -msgid "Morocco" -msgstr "Maroc" - -#: lang.pm:298 -#, c-format -msgid "Monaco" -msgstr "Monaco" - -#: lang.pm:299 -#, c-format -msgid "Moldova" -msgstr "République de Moldova" - -#: lang.pm:300 -#, c-format -msgid "Madagascar" -msgstr "Madagascar" - -#: lang.pm:301 -#, c-format -msgid "Marshall Islands" -msgstr "Îles Marshall" - -#: lang.pm:302 -#, c-format -msgid "Macedonia" -msgstr "Macédoine" - -#: lang.pm:303 -#, c-format -msgid "Mali" -msgstr "Mali" - -#: lang.pm:304 -#, c-format -msgid "Myanmar" -msgstr "Birmanie" - -#: lang.pm:305 -#, c-format -msgid "Mongolia" -msgstr "Mongolie" - -#: lang.pm:306 -#, c-format -msgid "Northern Mariana Islands" -msgstr "Îles Mariannes du Nord" - -#: lang.pm:307 -#, c-format -msgid "Martinique" -msgstr "Martinique" - -#: lang.pm:308 -#, c-format -msgid "Mauritania" -msgstr "Mauritanie" - -#: lang.pm:309 -#, c-format -msgid "Montserrat" -msgstr "Montserrat" - -#: lang.pm:310 -#, c-format -msgid "Malta" -msgstr "Malte" - -#: lang.pm:311 -#, c-format -msgid "Mauritius" -msgstr "Maurice" - -#: lang.pm:312 -#, c-format -msgid "Maldives" -msgstr "Maldives" - -#: lang.pm:313 -#, c-format -msgid "Malawi" -msgstr "Malawi" - -#: lang.pm:314 -#, c-format -msgid "Mexico" -msgstr "Mexique" - -#: lang.pm:315 -#, c-format -msgid "Malaysia" -msgstr "Malaisie" - -#: lang.pm:316 -#, c-format -msgid "Mozambique" -msgstr "Mozambique" - -#: lang.pm:317 -#, c-format -msgid "Namibia" -msgstr "Namibie" - -#: lang.pm:318 -#, c-format -msgid "New Caledonia" -msgstr "Nouvelle-Calédonie" - -#: lang.pm:319 -#, c-format -msgid "Niger" -msgstr "Niger" - -#: lang.pm:320 -#, c-format -msgid "Norfolk Island" -msgstr "Île Norfolk" - -#: lang.pm:321 -#, c-format -msgid "Nigeria" -msgstr "Nigeria" - -#: lang.pm:322 -#, c-format -msgid "Nicaragua" -msgstr "Nicaragua" - -#: lang.pm:325 -#, c-format -msgid "Nepal" -msgstr "Népal" - -#: lang.pm:326 -#, c-format -msgid "Nauru" -msgstr "Nauru" - -#: lang.pm:327 -#, c-format -msgid "Niue" -msgstr "Nioue" - -#: lang.pm:328 -#, c-format -msgid "New Zealand" -msgstr "Nouvelle-Zélande" - -#: lang.pm:329 -#, c-format -msgid "Oman" -msgstr "Oman" - -#: lang.pm:330 -#, c-format -msgid "Panama" -msgstr "Panama" - -#: lang.pm:331 -#, c-format -msgid "Peru" -msgstr "Pérou" - -#: lang.pm:332 -#, c-format -msgid "French Polynesia" -msgstr "Polynésie Française" - -#: lang.pm:333 -#, c-format -msgid "Papua New Guinea" -msgstr "Papouasie-Nouvelle-Guinée" - -#: lang.pm:334 -#, c-format -msgid "Philippines" -msgstr "Philippines" - -#: lang.pm:335 -#, c-format -msgid "Pakistan" -msgstr "Pakistan" - -#: lang.pm:336 network/adsl_consts.pm:186 -#, c-format -msgid "Poland" -msgstr "Pologne" - -#: lang.pm:337 -#, c-format -msgid "Saint Pierre and Miquelon" -msgstr "Saint-Pierre-et-Miquelon" - -#: lang.pm:338 -#, c-format -msgid "Pitcairn" -msgstr "Pitcairn" - -#: lang.pm:339 -#, c-format -msgid "Puerto Rico" -msgstr "Puerto Rico" - -#: lang.pm:340 -#, c-format -msgid "Palestine" -msgstr "Palestine" - -#: lang.pm:341 network/adsl_consts.pm:196 -#, c-format -msgid "Portugal" -msgstr "Portugal" - -#: lang.pm:342 -#, c-format -msgid "Paraguay" -msgstr "Paraguay" - -#: lang.pm:343 -#, c-format -msgid "Palau" -msgstr "Palaos (Les)" - -#: lang.pm:344 -#, c-format -msgid "Qatar" -msgstr "Qatar" - -#: lang.pm:345 -#, c-format -msgid "Reunion" -msgstr "Réunion, île de la" - -#: lang.pm:346 -#, c-format -msgid "Romania" -msgstr "Roumanie" - -#: lang.pm:347 -#, c-format -msgid "Russia" -msgstr "Russie" - -#: lang.pm:348 -#, c-format -msgid "Rwanda" -msgstr "Rwanda" - -#: lang.pm:349 -#, c-format -msgid "Saudi Arabia" -msgstr "Arabie Saoudite" - -#: lang.pm:350 -#, c-format -msgid "Solomon Islands" -msgstr "Îles Salomon" - -#: lang.pm:351 -#, c-format -msgid "Seychelles" -msgstr "Seychelles" - -#: lang.pm:352 -#, c-format -msgid "Sudan" -msgstr "Soudan" - -#: lang.pm:354 -#, c-format -msgid "Singapore" -msgstr "Singapour" - -#: lang.pm:355 -#, c-format -msgid "Saint Helena" -msgstr "Sainte-Hélène" - -#: lang.pm:356 -#, c-format -msgid "Slovenia" -msgstr "Slovénie" - -#: lang.pm:357 -#, c-format -msgid "Svalbard and Jan Mayen Islands" -msgstr "Îles Svalbard et Jan Mayen" - -#: lang.pm:358 -#, c-format -msgid "Slovakia" -msgstr "Slovaquie" - -#: lang.pm:359 -#, c-format -msgid "Sierra Leone" -msgstr "Sierra Leone" - -#: lang.pm:360 -#, c-format -msgid "San Marino" -msgstr "San Marin" - -#: lang.pm:361 -#, c-format -msgid "Senegal" -msgstr "Sénégal" - -#: lang.pm:362 -#, c-format -msgid "Somalia" -msgstr "Somalie" - -#: lang.pm:363 -#, c-format -msgid "Suriname" -msgstr "Suriname" - -#: lang.pm:364 -#, c-format -msgid "Sao Tome and Principe" -msgstr "Sao Tomé-et-Principe" - -#: lang.pm:365 -#, c-format -msgid "El Salvador" -msgstr "El Salvador" - -#: lang.pm:366 -#, c-format -msgid "Syria" -msgstr "Syrie" - -#: lang.pm:367 -#, c-format -msgid "Swaziland" -msgstr "Swaziland" - -#: lang.pm:368 -#, c-format -msgid "Turks and Caicos Islands" -msgstr "Îles Turks et Caïcos" - -#: lang.pm:369 -#, c-format -msgid "Chad" -msgstr "Tchad" - -#: lang.pm:370 -#, c-format -msgid "French Southern Territories" -msgstr "Terres Australes Françaises" - -#: lang.pm:371 -#, c-format -msgid "Togo" -msgstr "Togo" - -#: lang.pm:372 -#, c-format -msgid "Thailand" -msgstr "Thaïlande" - -#: lang.pm:373 -#, c-format -msgid "Tajikistan" -msgstr "Tadjikistan" - -#: lang.pm:374 -#, c-format -msgid "Tokelau" -msgstr "Tokelau" - -#: lang.pm:375 -#, c-format -msgid "East Timor" -msgstr "Timor Oriental" - -#: lang.pm:376 -#, c-format -msgid "Turkmenistan" -msgstr "Turkménistan" - -#: lang.pm:377 -#, c-format -msgid "Tunisia" -msgstr "Tunisie" - -#: lang.pm:378 -#, c-format -msgid "Tonga" -msgstr "Tonga" - -#: lang.pm:379 -#, c-format -msgid "Turkey" -msgstr "Turquie" - -#: lang.pm:380 -#, c-format -msgid "Trinidad and Tobago" -msgstr "Trinité-et-Tobago" - -#: lang.pm:381 -#, c-format -msgid "Tuvalu" -msgstr "Tuvalu" - -#: lang.pm:382 -#, c-format -msgid "Taiwan" -msgstr "Taïwan" - -#: lang.pm:383 -#, c-format -msgid "Tanzania" -msgstr "Tanzanie" - -#: lang.pm:384 -#, c-format -msgid "Ukraine" -msgstr "Ukraine" - -#: lang.pm:385 -#, c-format -msgid "Uganda" -msgstr "Ouganda" - -#: lang.pm:386 -#, c-format -msgid "United States Minor Outlying Islands" -msgstr "Îles mineures des États-Unis d'Amérique" - -#: lang.pm:388 -#, c-format -msgid "Uruguay" -msgstr "Uruguay" - -#: lang.pm:389 -#, c-format -msgid "Uzbekistan" -msgstr "Ouzbékistan" - -#: lang.pm:390 -#, c-format -msgid "Vatican" -msgstr "Vatican" - -#: lang.pm:391 -#, c-format -msgid "Saint Vincent and the Grenadines" -msgstr "Saint-Vincent-et-les-Grenadines" - -#: lang.pm:392 -#, c-format -msgid "Venezuela" -msgstr "Venezuela" - -#: lang.pm:393 -#, c-format -msgid "Virgin Islands (British)" -msgstr "Îles Vierges (Britanniques)" - -#: lang.pm:394 -#, c-format -msgid "Virgin Islands (U.S.)" -msgstr "Îles Vierges (US)" - -#: lang.pm:395 -#, c-format -msgid "Vietnam" -msgstr "Vietnam" - -#: lang.pm:396 -#, c-format -msgid "Vanuatu" -msgstr "Vanuatu" - -#: lang.pm:397 -#, c-format -msgid "Wallis and Futuna" -msgstr "Wallis et Futuna, îles" - -#: lang.pm:398 -#, c-format -msgid "Samoa" -msgstr "Samoa" - -#: lang.pm:399 -#, c-format -msgid "Yemen" -msgstr "Yemen" - -#: lang.pm:400 -#, c-format -msgid "Mayotte" -msgstr "Mayotte" - -#: lang.pm:401 -#, c-format -msgid "Serbia & Montenegro" -msgstr "Serbie-Monténégro" - -#: lang.pm:402 standalone/drakxtv:47 -#, c-format -msgid "South Africa" -msgstr "Afrique du Sud" - -#: lang.pm:403 -#, c-format -msgid "Zambia" -msgstr "Zambie" - -#: lang.pm:404 -#, c-format -msgid "Zimbabwe" -msgstr "Zimbabwe" - -#: lang.pm:985 -#, c-format -msgid "Welcome to %s" -msgstr "Bienvenue sur %s" - -#: loopback.pm:32 -#, c-format -msgid "Circular mounts %s\n" -msgstr "Points de montage circulaires %s\n" - -#: lvm.pm:115 -#, c-format -msgid "Remove the logical volumes first\n" -msgstr "Enlevez d'abord les volumes logiques\n" - -#: modules/interactive.pm:21 standalone/drakconnect:969 -#, c-format -msgid "Parameters" -msgstr "Paramètres" - -#: modules/interactive.pm:21 standalone/draksec:44 -#, c-format -msgid "NONE" -msgstr "AUCUN" - -#: 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 %s interfaces" -msgstr "Interface(s) détectée(s) : %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" - -#. -PO: the first %s is the card type (scsi, network, sound,...) -#. -PO: the second is the vendor+model name -#: modules/interactive.pm:87 -#, c-format -msgid "Installing driver for %s card %s" -msgstr "Installation du pilote pour la carte %s %s" - -#: modules/interactive.pm:87 -#, c-format -msgid "(module %s)" -msgstr "(module %s)" - -#: modules/interactive.pm:98 -#, 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:104 -#, 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:106 -#, c-format -msgid "Module options:" -msgstr "Options du module :" - -#. -PO: the %s is the driver type (scsi, network, sound,...) -#: modules/interactive.pm:118 -#, c-format -msgid "Which %s driver should I try?" -msgstr "Quel pilote %s faut-il essayer ?" - -#: modules/interactive.pm:127 -#, 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:131 -#, c-format -msgid "Autoprobe" -msgstr "Détection automatique" - -#: modules/interactive.pm:131 -#, c-format -msgid "Specify options" -msgstr "Spécifier des options" - -#: modules/interactive.pm:143 -#, 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 ?" - -#: modules/parameters.pm:49 -#, c-format -msgid "a number" -msgstr "un nombre" - -#: modules/parameters.pm:51 -#, c-format -msgid "%d comma separated numbers" -msgstr "%d nombres séparés par des virgules" - -#: modules/parameters.pm:51 -#, c-format -msgid "%d comma separated strings" -msgstr "%d chaînes séparées par des virgules" - -#: modules/parameters.pm:53 -#, c-format -msgid "comma separated numbers" -msgstr "nombres séparés par des virgules" - -#: modules/parameters.pm:53 -#, c-format -msgid "comma separated strings" -msgstr "chaînes séparées par des virgules" - -#: mouse.pm:25 -#, c-format -msgid "Sun - Mouse" -msgstr "Souris SUN" - -#: mouse.pm:31 security/level.pm:12 -#, c-format -msgid "Standard" -msgstr "Standard" - -#: mouse.pm:32 -#, c-format -msgid "Logitech MouseMan+" -msgstr "Logitech MouseMan+" - -#: mouse.pm:33 -#, c-format -msgid "Generic PS2 Wheel Mouse" -msgstr "Souris standard PS2 à molette" - -#: mouse.pm:34 -#, c-format -msgid "GlidePoint" -msgstr "GlidePoint" - -#: mouse.pm:36 network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 -#: network/modem.pm:58 network/modem.pm:72 network/modem.pm:77 -#: network/modem.pm:108 network/netconnect.pm:587 network/netconnect.pm:592 -#: network/netconnect.pm:604 network/netconnect.pm:609 -#: network/netconnect.pm:625 network/netconnect.pm:627 -#, c-format -msgid "Automatic" -msgstr "Automatique" - -#: mouse.pm:39 mouse.pm:73 -#, c-format -msgid "Kensington Thinking Mouse" -msgstr "Kensington Thinking Mouse" - -#: mouse.pm:40 mouse.pm:68 -#, c-format -msgid "Genius NetMouse" -msgstr "Genius NetMouse" - -#: mouse.pm:41 -#, c-format -msgid "Genius NetScroll" -msgstr "Genius NetScroll" - -#: mouse.pm:42 mouse.pm:52 -#, c-format -msgid "Microsoft Explorer" -msgstr "Microsoft Explorer" - -#: mouse.pm:47 mouse.pm:79 -#, c-format -msgid "1 button" -msgstr "1 bouton" - -#: mouse.pm:48 mouse.pm:57 -#, c-format -msgid "Generic 2 Button Mouse" -msgstr "Souris standard à 2 boutons" - -#: mouse.pm:50 mouse.pm:59 -#, c-format -msgid "Generic 3 Button Mouse with Wheel emulation" -msgstr "Souris standard à 3 boutons avec émulation de la molette" - -#: mouse.pm:51 -#, c-format -msgid "Wheel" -msgstr "Roulette" - -#: mouse.pm:55 -#, c-format -msgid "serial" -msgstr "série" - -#: mouse.pm:58 -#, c-format -msgid "Generic 3 Button Mouse" -msgstr "Souris standard à 3 boutons" - -#: mouse.pm:60 -#, c-format -msgid "Microsoft IntelliMouse" -msgstr "Microsoft IntelliMouse" - -#: mouse.pm:61 -#, c-format -msgid "Logitech MouseMan" -msgstr "Logitech MouseMan" - -#: mouse.pm:62 -#, c-format -msgid "Logitech MouseMan with Wheel emulation" -msgstr "Logitech MouseMan avec émulation de la molette" - -#: mouse.pm:63 -#, c-format -msgid "Mouse Systems" -msgstr "Mouse Systems" - -#: mouse.pm:65 -#, c-format -msgid "Logitech CC Series" -msgstr "Logitech CC Series" - -#: mouse.pm:66 -#, c-format -msgid "Logitech CC Series with Wheel emulation" -msgstr "Logitech CC Series avec émulation de la molette" - -#: mouse.pm:67 -#, c-format -msgid "Logitech MouseMan+/FirstMouse+" -msgstr "Logitech MouseMan+/FirstMouse+" - -#: mouse.pm:69 -#, c-format -msgid "MM Series" -msgstr "MM Series" - -#: mouse.pm:70 -#, c-format -msgid "MM HitTablet" -msgstr "MM HitTablet" - -#: mouse.pm:71 -#, c-format -msgid "Logitech Mouse (serial, old C7 type)" -msgstr "Souris Logitech (série, ancien modèle C7)" - -#: mouse.pm:72 -#, c-format -msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation" -msgstr "Souris Logitech (série, ancien modèle C7) avec émulation de la molette" - -#: mouse.pm:74 -#, c-format -msgid "Kensington Thinking Mouse with Wheel emulation" -msgstr "Kensington Thinking Mouse avec émulation de la molette" - -#: mouse.pm:77 -#, c-format -msgid "busmouse" -msgstr "souris bus" - -#: mouse.pm:80 -#, c-format -msgid "2 buttons" -msgstr "2 boutons" - -#: mouse.pm:81 -#, c-format -msgid "3 buttons" -msgstr "3 boutons" - -#: mouse.pm:82 -#, c-format -msgid "3 buttons with Wheel emulation" -msgstr "3 bouttons avec émulation de la molette" - -#: mouse.pm:86 -#, c-format -msgid "Universal" -msgstr "Universelle" - -#: mouse.pm:88 -#, c-format -msgid "Any PS/2 & USB mice" -msgstr "N'importe quelle souris PS/2 ou USB" - -#: mouse.pm:92 standalone/drakvpn:1140 -#, c-format -msgid "none" -msgstr "aucun" - -#: mouse.pm:94 -#, c-format -msgid "No mouse" -msgstr "Pas de souris" - -#: mouse.pm:515 -#, c-format -msgid "Please test the mouse" -msgstr "Veuillez tester votre souris" - -#: mouse.pm:517 -#, c-format -msgid "To activate the mouse," -msgstr "Pour activer la souris," - -#: mouse.pm:518 -#, c-format -msgid "MOVE YOUR WHEEL!" -msgstr "VEUILLEZ FAIRE TOURNER LA MOLETTE !" - -#: network/adsl.pm:19 -#, c-format -msgid "use pppoe" -msgstr "utiliser « pppoe »" - -#: network/adsl.pm:20 -#, c-format -msgid "use pptp" -msgstr "utiliser « pptp »" - -#: network/adsl.pm:21 -#, c-format -msgid "use dhcp" -msgstr "utiliser « dhcp »" - -#: network/adsl.pm:22 -#, c-format -msgid "Alcatel speedtouch usb" -msgstr "Alcatel Speedtouch USB" - -#: network/adsl.pm:22 network/adsl.pm:23 network/adsl.pm:24 -#, c-format -msgid " - detected" -msgstr " - détecté" - -#: network/adsl.pm:23 -#, c-format -msgid "Sagem (using pppoa) usb" -msgstr "Sagem USB (avec pppoa)" - -#: network/adsl.pm:24 -#, c-format -msgid "Sagem (using dhcp) usb" -msgstr "Sagem USB (avec dhcp)" - -#: network/adsl.pm:35 network/netconnect.pm:769 -#, c-format -msgid "Connect to the Internet" -msgstr "Connexion à Internet" - -#: network/adsl.pm:36 network/netconnect.pm:770 -#, c-format -msgid "" -"The most common way to connect with adsl is pppoe.\n" -"Some connections use pptp, a few use dhcp.\n" -"If you don't know, choose 'use pppoe'" -msgstr "" -"La façon la plus courante de se connecter à Internet en utilisant une ligne " -"ADSL est d'utiliser « pppoe ».\n" -"Certaines connexions utilisent « pptp », quelques unes se servent de " -"« DHCP ».\n" -"Si vous ne savez pas quoi choisir, utilisez pppoe." - -#: network/adsl.pm:41 network/netconnect.pm:774 -#, c-format -msgid "ADSL connection type :" -msgstr "Type de connexion par ADSL :" - -#: network/drakfirewall.pm:12 -#, c-format -msgid "Web Server" -msgstr "Serveur Web" - -#: network/drakfirewall.pm:17 -#, c-format -msgid "Domain Name Server" -msgstr "Serveur de Noms de domaine" - -#: network/drakfirewall.pm:22 -#, c-format -msgid "SSH server" -msgstr "Serveur SSH" - -#: network/drakfirewall.pm:27 -#, c-format -msgid "FTP server" -msgstr "Serveur FTP" - -#: network/drakfirewall.pm:32 -#, c-format -msgid "Mail Server" -msgstr "Serveur de courrier" - -#: network/drakfirewall.pm:37 -#, c-format -msgid "POP and IMAP Server" -msgstr "Serveur POP et IMAP" - -#: network/drakfirewall.pm:42 -#, c-format -msgid "Telnet server" -msgstr "Serveur telnet" - -#: network/drakfirewall.pm:48 -#, c-format -msgid "Samba server" -msgstr "Serveur Samba" - -#: network/drakfirewall.pm:54 -#, c-format -msgid "CUPS server" -msgstr "Serveur CUPS" - -#: network/drakfirewall.pm:60 -#, c-format -msgid "Echo request (ping)" -msgstr "Requête d'écho (ping)" - -#: network/drakfirewall.pm:125 -#, c-format -msgid "No network card" -msgstr "Aucune carte réseau" - -#: network/drakfirewall.pm:146 -#, c-format -msgid "" -"drakfirewall configurator\n" -"\n" -"This configures a personal firewall for this Mandrakelinux machine.\n" -"For a powerful and dedicated firewall solution, please look to the\n" -"specialized MandrakeSecurity Firewall distribution." -msgstr "" -"Configuration de drakfirewall\n" -"\n" -"Ceci configure un Pare-Feu (firewall) personnel pour votre machine Mandrake " -"Linux.\n" -"Si vous souhaitez un Pare-Feu dédié plus puissant, tournez-vous plutôt vers\n" -"la distribution spécialisée « MandrakeSecurity »." - -#: network/drakfirewall.pm:152 -#, c-format -msgid "" -"drakfirewall configurator\n" -"\n" -"Make sure you have configured your Network/Internet access with\n" -"drakconnect before going any further." -msgstr "" -"configuration drakfirewall\n" -"\n" -"Assurez-vous d'avoir configuré le réseau et Internet grâce à \n" -"drakconnect avant d'aller plus loin." - -#: network/drakfirewall.pm:169 -#, c-format -msgid "Which services would you like to allow the Internet to connect to?" -msgstr "Quels services souhaitez-vous laisser accessible depuis internet ?" - -#: network/drakfirewall.pm:170 -#, c-format -msgid "" -"You can enter miscellaneous ports. \n" -"Valid examples are: 139/tcp 139/udp 600:610/tcp 600:610/udp.\n" -"Have a look at /etc/services for information." -msgstr "" -"Vous pouvez entrer divers ports. \n" -"Exemples valides : 139/tcp 139/udp 600:610/tcp 600:610/udp.\n" -"Jetez un œil à /etc/services pour plus d'infos." - -#: network/drakfirewall.pm:176 -#, c-format -msgid "" -"Invalid port given: %s.\n" -"The proper format is \"port/tcp\" or \"port/udp\", \n" -"where port is between 1 and 65535.\n" -"\n" -"You can also give a range of ports (eg: 24300:24350/udp)" -msgstr "" -"Le port entré est incorrect : %s.\n" -"Le bon format est « port/tcp » ou « port/udp », \n" -"où le port est compris entre 1 et 65535.\n" -"\n" -"Vous pouvez aussi passer un intervalle de ports (par exemple: 24300:24350/" -"udp)" - -#: network/drakfirewall.pm:186 -#, c-format -msgid "Everything (no firewall)" -msgstr "Tout (pas de firewall)" - -#: network/drakfirewall.pm:188 -#, c-format -msgid "Other ports" -msgstr "Autres ports" - -#: network/isdn.pm:115 network/netconnect.pm:437 -#, c-format -msgid "Unlisted - edit manually" -msgstr "Non listé - éditer manuellement" - -#: network/isdn.pm:157 network/netconnect.pm:389 -#, c-format -msgid "ISA / PCMCIA" -msgstr "ISA / PCMCIA" - -#: network/isdn.pm:157 network/netconnect.pm:389 -#, c-format -msgid "I don't know" -msgstr "Je ne sais pas" - -#: network/isdn.pm:158 network/netconnect.pm:389 -#, c-format -msgid "PCI" -msgstr "PCI" - -#: network/isdn.pm:159 network/netconnect.pm:389 -#, c-format -msgid "USB" -msgstr "USB" - -#: network/modem.pm:42 network/modem.pm:43 network/modem.pm:44 -#: network/netconnect.pm:592 network/netconnect.pm:609 -#: network/netconnect.pm:625 -#, c-format -msgid "Manual" -msgstr "Manuelle" - -#: network/netconnect.pm:88 network/netconnect.pm:466 -#: network/netconnect.pm:476 network/netconnect.pm:837 -#: network/netconnect.pm:842 -#, c-format -msgid "Manual choice" -msgstr "Choix manuel" - -#: network/netconnect.pm:88 -#, c-format -msgid "Internal ISDN card" -msgstr "Carte RNIS/ISDN interne" - -#: network/netconnect.pm:97 -#, c-format -msgid "Ad-hoc" -msgstr "Ad-hoc" - -#: network/netconnect.pm:98 -#, c-format -msgid "Managed" -msgstr "Géré" - -#: network/netconnect.pm:99 -#, c-format -msgid "Master" -msgstr "Maïtre" - -#: network/netconnect.pm:100 -#, c-format -msgid "Repeater" -msgstr "Répéteur" - -#: network/netconnect.pm:101 -#, c-format -msgid "Secondary" -msgstr "Secondaire" - -#: network/netconnect.pm:102 -#, c-format -msgid "Auto" -msgstr "Auto" - -#: network/netconnect.pm:105 printer/printerdrake.pm:1133 -#: standalone/drakups:64 -#, c-format -msgid "Manual configuration" -msgstr "Configuration manuelle" - -#: network/netconnect.pm:106 -#, c-format -msgid "Automatic IP (BOOTP/DHCP)" -msgstr "Attribution automatique de l'adresse IP (BOOTP/DHCP)" - -#: network/netconnect.pm:108 -#, c-format -msgid "Automatic IP (BOOTP/DHCP/Zeroconf)" -msgstr "Attribution automatique de l'adresse IP (BOOTP/DHCP/Zeroconf)" - -#: network/netconnect.pm:111 -#, c-format -msgid "Protocol for the rest of the world" -msgstr "Protocole pour le reste du monde" - -#: network/netconnect.pm:113 standalone/drakconnect:528 -#, c-format -msgid "European protocol (EDSS1)" -msgstr "Protocole pour l'Europe (EDSS1)" - -#: network/netconnect.pm:114 standalone/drakconnect:529 -#, c-format -msgid "" -"Protocol for the rest of the world\n" -"No D-Channel (leased lines)" -msgstr "" -"Protocole pour le reste du monde \n" -"Pas de D-Channel (lignes louées)" - -#: network/netconnect.pm:146 -#, c-format -msgid "Alcatel speedtouch USB modem" -msgstr "Modem USB Alcatel Speedtouch" - -#: network/netconnect.pm:147 -#, c-format -msgid "Sagem USB modem" -msgstr "Modem USB Sagem" - -#: network/netconnect.pm:148 -#, c-format -msgid "Bewan modem" -msgstr "Modem Bewan" - -#: network/netconnect.pm:149 -#, c-format -msgid "ECI Hi-Focus modem" -msgstr "Modem ECI Hi-Focus" - -#: network/netconnect.pm:153 -#, c-format -msgid "Dynamic Host Configuration Protocol (DHCP)" -msgstr "Protocole de Configuration Dynamique du Hôte (DHCP)" - -#: network/netconnect.pm:154 -#, c-format -msgid "Manual TCP/IP configuration" -msgstr "Configuration TCP/IP manuelle" - -#: network/netconnect.pm:155 -#, c-format -msgid "Point to Point Tunneling Protocol (PPTP)" -msgstr "Protocole de Tunnel Point à Point (PPTP)" - -#: network/netconnect.pm:156 -#, c-format -msgid "PPP over Ethernet (PPPoE)" -msgstr "PPP sur ethernet (PPPoE)" - -#: network/netconnect.pm:157 -#, c-format -msgid "PPP over ATM (PPPoA)" -msgstr "PPP sur ATM (PPPoA)" - -#: network/netconnect.pm:161 -#, c-format -msgid "Bridged Ethernet LLC" -msgstr "Pont ethernet LLC" - -#: network/netconnect.pm:162 -#, c-format -msgid "Bridged Ethernet VC" -msgstr "Pont ethernet VC" - -#: network/netconnect.pm:163 -#, c-format -msgid "Routed IP LLC" -msgstr "IP LLC routé" - -#: network/netconnect.pm:164 -#, c-format -msgid "Routed IP VC" -msgstr "IP VC routé" - -#: network/netconnect.pm:165 -#, c-format -msgid "PPPOA LLC" -msgstr "PPPOA LLC" - -#: network/netconnect.pm:166 -#, c-format -msgid "PPPOA VC" -msgstr "PPPOA VC" - -#: network/netconnect.pm:170 standalone/drakconnect:466 -#, c-format -msgid "Script-based" -msgstr "Basée sur un script" - -#: network/netconnect.pm:171 standalone/drakconnect:466 -#, c-format -msgid "PAP" -msgstr "PAP" - -#: network/netconnect.pm:172 standalone/drakconnect:466 -#, c-format -msgid "Terminal-based" -msgstr "Manuelle par terminal" - -#: network/netconnect.pm:173 standalone/drakconnect:466 -#, c-format -msgid "CHAP" -msgstr "CHAP" - -#: network/netconnect.pm:174 standalone/drakconnect:466 -#, c-format -msgid "PAP/CHAP" -msgstr "PAP/CHAP" - -#: network/netconnect.pm:228 standalone/drakconnect:55 -#, c-format -msgid "Network & Internet Configuration" -msgstr "Configuration réseau & Internet" - -#: network/netconnect.pm:234 -#, c-format -msgid "(detected on port %s)" -msgstr "(détecté sur le port %s)" - -#. -PO: here, "(detected)" string will be appended to eg "ADSL connection" -#: network/netconnect.pm:236 -#, c-format -msgid "(detected %s)" -msgstr "(détecté %s)" - -#: network/netconnect.pm:236 -#, c-format -msgid "(detected)" -msgstr "(détecté)" - -#: network/netconnect.pm:238 -#, c-format -msgid "Modem connection" -msgstr "Connexion par modem" - -#: network/netconnect.pm:239 -#, c-format -msgid "ISDN connection" -msgstr "Connexion par RNIS/ISDN" - -#: network/netconnect.pm:240 -#, c-format -msgid "ADSL connection" -msgstr "Connexion par ADSL" - -#: network/netconnect.pm:241 -#, c-format -msgid "Cable connection" -msgstr "Connexion par câble" - -#: network/netconnect.pm:242 -#, c-format -msgid "LAN connection" -msgstr "Connexion à travers un réseau local (LAN)" - -#: network/netconnect.pm:243 network/netconnect.pm:257 -#, c-format -msgid "Wireless connection" -msgstr "Connexion sans fil" - -#: network/netconnect.pm:253 -#, c-format -msgid "Choose the connection you want to configure" -msgstr "Choisissez la connexion que vous voulez configurer" - -#: network/netconnect.pm:270 -#, c-format -msgid "" -"We are now going to configure the %s connection.\n" -"\n" -"\n" -"Press \"%s\" to continue." -msgstr "" -"Nous allons maintenant configurer la connexion %s.\n" -"\n" -"\n" -"Cliquez sur « %s » pour continuer." - -#: network/netconnect.pm:278 network/netconnect.pm:796 -#, c-format -msgid "Connection Configuration" -msgstr "Configuration de la connexion" - -#: network/netconnect.pm:279 network/netconnect.pm:797 -#, c-format -msgid "Please fill or check the field below" -msgstr "Veuillez compléter ou vérifier les champs ci-dessous" - -#: network/netconnect.pm:286 standalone/drakconnect:519 -#, c-format -msgid "Card IRQ" -msgstr "n° IRQ de la carte" - -#: network/netconnect.pm:287 standalone/drakconnect:520 -#, c-format -msgid "Card mem (DMA)" -msgstr "Plage mémoire (DMA)" - -#: network/netconnect.pm:288 standalone/drakconnect:521 -#, c-format -msgid "Card IO" -msgstr "E/S de la carte" - -#: network/netconnect.pm:289 standalone/drakconnect:522 -#, c-format -msgid "Card IO_0" -msgstr "E/S_O de la carte" - -#: network/netconnect.pm:290 -#, c-format -msgid "Card IO_1" -msgstr "E/S_1 de la carte" - -#: network/netconnect.pm:291 -#, c-format -msgid "Your personal phone number" -msgstr "Votre numéro de téléphone personnel" - -#: network/netconnect.pm:292 network/netconnect.pm:800 -#, c-format -msgid "Provider name (ex provider.net)" -msgstr "Fournisseur d'accès (ex. : fournisseur.fr)" - -#: network/netconnect.pm:293 standalone/drakconnect:463 -#, c-format -msgid "Provider phone number" -msgstr "Numéro de téléphone pour l'accès" - -#: network/netconnect.pm:294 -#, c-format -msgid "Provider DNS 1 (optional)" -msgstr "1er DNS du fournisseur (optionnel)" - -#: network/netconnect.pm:295 -#, c-format -msgid "Provider DNS 2 (optional)" -msgstr "2ème DNS du fournisseur (optionnel)" - -#: network/netconnect.pm:296 standalone/drakconnect:419 -#, c-format -msgid "Dialing mode" -msgstr "Numérotation" - -#: network/netconnect.pm:297 standalone/drakconnect:424 -#: standalone/drakconnect:484 -#, c-format -msgid "Connection speed" -msgstr "Vitesse de connexion" - -#: network/netconnect.pm:298 standalone/drakconnect:429 -#, c-format -msgid "Connection timeout (in sec)" -msgstr "Temps maxi pour établir la connexion (en sec.)" - -#: network/netconnect.pm:301 network/netconnect.pm:803 -#: standalone/drakconnect:461 -#, c-format -msgid "Account Login (user name)" -msgstr "Nom d'utilisateur du compte" - -#: network/netconnect.pm:302 network/netconnect.pm:804 -#: standalone/drakconnect:462 -#, c-format -msgid "Account Password" -msgstr "Mot de passe du compte" - -#: network/netconnect.pm:332 network/netconnect.pm:650 -#: network/netconnect.pm:835 -#, c-format -msgid "Select the network interface to configure:" -msgstr "Choisissez l'interface réseau à configurer:" - -#: network/netconnect.pm:334 network/netconnect.pm:379 -#: network/netconnect.pm:651 network/netconnect.pm:837 network/shorewall.pm:84 -#: standalone/drakconnect:643 standalone/drakgw:225 standalone/drakvpn:221 -#, c-format -msgid "Net Device" -msgstr "Périphérique réseau" - -#: network/netconnect.pm:335 network/netconnect.pm:347 -#, c-format -msgid "External ISDN modem" -msgstr "Modem RNIS/ISDN externe" - -#: network/netconnect.pm:338 network/netconnect.pm:470 -#: network/netconnect.pm:655 standalone/drakgw:113 standalone/drakvpn:51 -#, c-format -msgid "Sorry, we support only 2.4 and above kernels." -msgstr "Désolé, nous ne prenons en charge que les noyaux 2.4 et ultérieurs." - -#: network/netconnect.pm:378 standalone/harddrake2:115 -#, c-format -msgid "Select a device !" -msgstr "Sélectionnez un périphérique !" - -#: network/netconnect.pm:387 network/netconnect.pm:397 -#: network/netconnect.pm:407 network/netconnect.pm:423 -#: network/netconnect.pm:434 -#, c-format -msgid "ISDN Configuration" -msgstr "Configuration RNIS (ISDN)" - -#: network/netconnect.pm:388 -#, c-format -msgid "What kind of card do you have?" -msgstr "Quel type de carte possédez-vous ?" - -#: network/netconnect.pm:398 -#, c-format -msgid "" -"\n" -"If you have an ISA card, the values on the next screen should be right.\n" -"\n" -"If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your " -"card.\n" -msgstr "" -"\n" -"Si vous possédez une carte ISA, les données du prochain écran devraient\n" -"être correctes.\n" -"\n" -"Si vous possédez une carte PCMCIA, vous avez besoin de connaître\n" -"les réglages « IRQ » et « IO » de votre carte.\n" - -#: network/netconnect.pm:402 -#, c-format -msgid "Continue" -msgstr "Continuer" - -#: network/netconnect.pm:402 -#, c-format -msgid "Abort" -msgstr "Arrêter" - -#: network/netconnect.pm:408 -#, c-format -msgid "Which of the following is your ISDN card?" -msgstr "Parmis les choix suivants, lequel correspond à votre carte RNIS/ISDN ?" - -#: network/netconnect.pm:423 -#, c-format -msgid "Which protocol do you want to use?" -msgstr "Quel protocole désirez-vous utiliser ?" - -#: network/netconnect.pm:425 standalone/drakconnect:116 -#: standalone/drakconnect:527 standalone/drakvpn:1142 -#, c-format -msgid "Protocol" -msgstr "Protocole" - -#: network/netconnect.pm:434 -#, c-format -msgid "" -"Select your provider.\n" -"If it isn't listed, choose Unlisted." -msgstr "" -"Veuillez choisir votre fournisseur d'accès.\n" -"S'il ne figure pas dans la liste, choisissez « Non listé »." - -#: network/netconnect.pm:436 network/netconnect.pm:542 -#: network/netconnect.pm:690 -#, c-format -msgid "Provider:" -msgstr "Fournisseur d'accès :" - -#: network/netconnect.pm:451 -#, c-format -msgid "" -"Your modem isn't supported by the system.\n" -"Take a look at http://www.linmodems.org" -msgstr "" -"Votre modem n'est pas supporté par le système.\n" -"Veuillez consulter http://www.linmodems.org" - -#: network/netconnect.pm:463 -#, c-format -msgid "Select the modem to configure:" -msgstr "Choisissez le modem à configurer:" - -#: network/netconnect.pm:511 -#, c-format -msgid "Please choose which serial port your modem is connected to." -msgstr "Veuillez choisir le port série sur lequel votre modem est connecté." - -#: network/netconnect.pm:540 -#, c-format -msgid "Select your provider:" -msgstr "Choisissez votre fournisseur d'accès :" - -#: network/netconnect.pm:569 -#, c-format -msgid "Dialup: account options" -msgstr "Appel: Options du compte" - -#: network/netconnect.pm:572 -#, c-format -msgid "Connection name" -msgstr "Nom de la connexion" - -#: network/netconnect.pm:573 -#, c-format -msgid "Phone number" -msgstr "Numéro de téléphone" - -#: network/netconnect.pm:574 -#, c-format -msgid "Login ID" -msgstr "Identifiant de connexion" - -#: network/netconnect.pm:589 network/netconnect.pm:622 -#, c-format -msgid "Dialup: IP parameters" -msgstr "Appel: Paramètres IP" - -#: network/netconnect.pm:592 -#, c-format -msgid "IP parameters" -msgstr "Paramètres IP" - -#: network/netconnect.pm:593 network/netconnect.pm:927 -#: printer/printerdrake.pm:431 standalone/drakconnect:116 -#: standalone/drakconnect:325 standalone/drakconnect:816 -#: standalone/drakups:266 -#, c-format -msgid "IP address" -msgstr "Adresse IP" - -#: network/netconnect.pm:594 -#, c-format -msgid "Subnet mask" -msgstr "Masque de sous-réseau" - -#: network/netconnect.pm:606 -#, c-format -msgid "Dialup: DNS parameters" -msgstr "Appel: Paramètres DNS" - -#: network/netconnect.pm:609 -#, c-format -msgid "DNS" -msgstr "DNS" - -#: network/netconnect.pm:610 -#, c-format -msgid "Domain name" -msgstr "Nom de domaine" - -#: network/netconnect.pm:611 network/netconnect.pm:801 -#: standalone/drakconnect:934 -#, c-format -msgid "First DNS Server (optional)" -msgstr "Serveur DNS principal (optionnel)" - -#: network/netconnect.pm:612 network/netconnect.pm:802 -#: standalone/drakconnect:935 -#, c-format -msgid "Second DNS Server (optional)" -msgstr "Serveur DNS secondaire (optionnel)" - -#: network/netconnect.pm:613 -#, c-format -msgid "Set hostname from IP" -msgstr "Modifier le nom d'hôte à partir de l'adresse IP" - -#: network/netconnect.pm:625 standalone/drakconnect:336 -#, c-format -msgid "Gateway" -msgstr "Passerelle" - -#: network/netconnect.pm:626 -#, c-format -msgid "Gateway IP address" -msgstr "Adresse IP de la passerelle" - -#: network/netconnect.pm:650 -#, c-format -msgid "ADSL configuration" -msgstr "Configuration ADSL" - -#: network/netconnect.pm:688 -#, c-format -msgid "Please choose your ADSL provider" -msgstr "Veuillez choisir votre fournisseur d'accès ADSL." - -#: network/netconnect.pm:706 -#, c-format -msgid "" -"You need the Alcatel microcode.\n" -"You can provide it now via a floppy or your windows partition,\n" -"or skip and do it later." -msgstr "" -"Le microcode d'Alcatel est nécessaire.\n" -"Celui-ci peut être fourni maintenant via une disquette ou depuis votre " -"partition Windows, ou plus tard" - -#: network/netconnect.pm:710 network/netconnect.pm:715 -#, c-format -msgid "Use a floppy" -msgstr "Utiliser une disquette" - -#: network/netconnect.pm:710 network/netconnect.pm:719 -#, c-format -msgid "Use my Windows partition" -msgstr "Utiliser ma partition Windows" - -#: network/netconnect.pm:710 network/netconnect.pm:723 -#, c-format -msgid "Do it later" -msgstr "Le faire plus tard" - -#: network/netconnect.pm:730 -#, c-format -msgid "Firmware copy failed, file %s not found" -msgstr "La copie du firmware a échouée, fichier %s non trouvé" - -#: network/netconnect.pm:737 -#, c-format -msgid "Firmware copy succeeded" -msgstr "La copie du firmware a réussi." - -#: network/netconnect.pm:752 -#, c-format -msgid "" -"You need the Alcatel microcode.\n" -"Download it at:\n" -"%s\n" -"and copy the mgmt.o in /usr/share/speedtouch" -msgstr "" -"Vous avez besoin du microcode d'Alcatel.\n" -"Téléchargez-le à \n" -"%s\n" -"et copiez le fichier mgmt.o dans /usr/share/speedtouch" - -#: network/netconnect.pm:805 -#, c-format -msgid "Virtual Path ID (VPI):" -msgstr "Identifiant de Circuit Virtuel (VPI) :" - -#: network/netconnect.pm:806 -#, c-format -msgid "Virtual Circuit ID (VCI):" -msgstr "Identifiant de Chemin Virtuel (VCI) :" - -#: network/netconnect.pm:808 -#, c-format -msgid "Encapsulation :" -msgstr "Encapsulation :" - -#: network/netconnect.pm:825 -#, c-format -msgid "" -"The ECI Hi-Focus modem cannot be supported due to binary driver distribution " -"problem.\n" -"\n" -"You can find a driver on http://eciadsl.flashtux.org/" -msgstr "" -"Le modem ECI Hi-Focus ne peut pas être configuré à cause de problème de " -"redistribution du pilote binaire.\n" -"\n" -"Vous pouvez trouver un pilote sur http://eciadsl.flashtux.org/" - -#: network/netconnect.pm:852 -#, c-format -msgid "" -"WARNING: this device has been previously configured to connect to the " -"Internet.\n" -"Simply accept to keep this device configured.\n" -"Modifying the fields below will override this configuration." -msgstr "" -"ATTENTION : ce périphérique a déjà été configuré pour la connexion " -"internet.\n" -"\n" -"Cliquez simplement sur « OK » pour conserver sa configuration.\n" -"Sinon la configuration actuelle sera écrasée par les modifications que vous " -"ferez." - -#: network/netconnect.pm:865 network/netconnect.pm:1231 -#, c-format -msgid "" -"Congratulations, the network and Internet configuration is finished.\n" -"\n" -msgstr "Félicitations, la configuration internet et réseau est terminée.\n" - -#: network/netconnect.pm:879 -#, fuzzy, c-format -msgid "Zeroconf hostname resolution" -msgstr "Nom d'hôte ZeroConf" - -#: network/netconnect.pm:880 network/netconnect.pm:914 -#, c-format -msgid "Configuring network device %s (driver %s)" -msgstr "Configuration du périphérique réseau %s (pilote %s)" - -#: network/netconnect.pm:881 -#, c-format -msgid "" -"The following protocols can be used to configure an ethernet connection. " -"Please choose the one you want to use" -msgstr "" -"Les protocoles suivants peuvent être utilisés pour configurer une connection " -"ethernet.\n" -"Veuillez sélectionner celui que vous désirez utiliser" - -#: network/netconnect.pm:915 -#, c-format -msgid "" -"Please enter the IP configuration for this machine.\n" -"Each item should be entered as an IP address in dotted-decimal\n" -"notation (for example, 1.2.3.4)." -msgstr "" -"Veuillez indiquer la configuration IP de cette machine.\n" -"Chaque champ doit être rempli avec une adresse IP en notation\n" -"décimale pointée (par exemple, 12.34.56.78)." - -#: network/netconnect.pm:922 -#, c-format -msgid "Assign host name from DHCP address" -msgstr "Affecter le nom d'hôte à partir de l'adresse DHCP" - -#: network/netconnect.pm:923 -#, c-format -msgid "DHCP host name" -msgstr "Nom d'hôte DHCP" - -#: network/netconnect.pm:928 standalone/drakconnect:330 -#: standalone/drakconnect:817 standalone/drakgw:321 -#, c-format -msgid "Netmask" -msgstr "Masque de sous-réseau" - -#: network/netconnect.pm:930 standalone/drakconnect:412 -#, c-format -msgid "Track network card id (useful for laptops)" -msgstr "Suivre l'id. de la carte réseau (utile pour les portables)" - -#: network/netconnect.pm:931 standalone/drakconnect:413 -#, c-format -msgid "Network Hotplugging" -msgstr "Branchement à chaud du réseau" - -#: network/netconnect.pm:932 standalone/drakconnect:407 -#, c-format -msgid "Start at boot" -msgstr "Lancer au démarrage" - -#: network/netconnect.pm:934 standalone/drakconnect:820 -#, c-format -msgid "DHCP client" -msgstr "Client DHCP" - -#: network/netconnect.pm:944 printer/printerdrake.pm:1383 -#: standalone/drakconnect:608 -#, c-format -msgid "IP address should be in format 1.2.3.4" -msgstr "L'adresse IP doit ressembler à quelque chose comme « 192.168.1.20 »" - -#: network/netconnect.pm:947 -#, c-format -msgid "Warning : IP address %s is usually reserved !" -msgstr "Attention : l'adresse IP %s est déja réservée !" - -#: network/netconnect.pm:977 network/netconnect.pm:1006 -#, c-format -msgid "Please enter the wireless parameters for this card:" -msgstr "Veuillez entrer les paramètres wireless de cette carte :" - -#: network/netconnect.pm:980 standalone/drakconnect:378 -#, c-format -msgid "Operating Mode" -msgstr "Mode de fonctionnement" - -#: network/netconnect.pm:982 standalone/drakconnect:379 -#, c-format -msgid "Network name (ESSID)" -msgstr "Nom de réseau (ESSID)" - -#: network/netconnect.pm:983 standalone/drakconnect:380 -#, c-format -msgid "Network ID" -msgstr "Identifiant réseau" - -#: network/netconnect.pm:984 standalone/drakconnect:381 -#, c-format -msgid "Operating frequency" -msgstr "Fréquence de fonctionnement" - -#: network/netconnect.pm:985 standalone/drakconnect:382 -#, c-format -msgid "Sensitivity threshold" -msgstr "Seuil de sensibilité" - -#: network/netconnect.pm:986 standalone/drakconnect:383 -#, c-format -msgid "Bitrate (in b/s)" -msgstr "Taux de transfert (bits par seconde)" - -#: network/netconnect.pm:992 -#, c-format -msgid "" -"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz " -"frequency), or add enough '0' (zeroes)." -msgstr "" -"La fréquence doit avoir un suffixe k, M ou G (par ex. « 2.46G » pour " -"2,46 GHz), ou bien avoir suffisamment de zéros." - -#: network/netconnect.pm:996 -#, c-format -msgid "" -"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add " -"enough '0' (zeroes)." -msgstr "" -"Le débit doit avoir un suffixe k, M ou G (par ex. « 11M » pour 11Mo), ou " -"bien avoir suffisamment de zéros." - -#: network/netconnect.pm:1009 standalone/drakconnect:394 -#, c-format -msgid "RTS/CTS" -msgstr "RTS/CTS" - -#: network/netconnect.pm:1010 -#, c-format -msgid "" -"RTS/CTS adds a handshake before each packet transmission to make sure that " -"the\n" -"channel is clear. This adds overhead, but increase performance in case of " -"hidden\n" -"nodes or large number of active nodes. This parameter sets the size of the\n" -"smallest packet for which the node sends RTS, a value equal to the maximum\n" -"packet size disable the scheme. You may also set this parameter to auto, " -"fixed\n" -"or off." -msgstr "" -"RTS/CTS réserve le canal avant chaque transmission de paquet afin de\n" -"vérifier qu'il est disponible. Ceci réduit la bande passante\n" -"effectivement disponible mais augmente les performances lorsque des\n" -"noeuds cachés sont présents ou lorsqu'un grand nombre de noeuds actifs\n" -"sont présents. Ce paramètres définit la taille du plus petit paquet\n" -"pour laquelle le noeut enverra une trame RTS; une valeur égale à la\n" -"taille maximale de paquet désactivera ce méchanisme. Vous pouvez\n" -"également définir ce paramètre à « auto », « fixed » ou « off »." - -#: network/netconnect.pm:1017 standalone/drakconnect:395 -#, c-format -msgid "Fragmentation" -msgstr "Fragmentation" - -#: network/netconnect.pm:1018 standalone/drakconnect:396 -#, c-format -msgid "Iwconfig command extra arguments" -msgstr "" -"Arguments supplementaires\n" -"pour la commande iwconfig" - -#: network/netconnect.pm:1019 -#, c-format -msgid "" -"Here, one can configure some extra wireless parameters such as:\n" -"ap, channel, commit, enc, power, retry, sens, txpower (nick is already set " -"as the hostname).\n" -"\n" -"See iwpconfig(8) man page for further information." -msgstr "" -"Ici il est possible de configurer des paramètre supplémentaires pour la " -"carte sans-fil, tels que:\n" -"ap, channel, commit, enc, power, retry, sens, txpower (nick est déja " -"configuré via le nom d'hôte).\n" -"\n" -"Cf la man page de iwpconfig(8) pour plus d'informations." - -#. -PO: split the "xyz command extra argument" translated string into two lines if it's bigger than the english one -#: network/netconnect.pm:1026 standalone/drakconnect:397 -#, c-format -msgid "Iwspy command extra arguments" -msgstr "" -"Arguments supplementaires\n" -"pour la commande iwspy" - -#: network/netconnect.pm:1027 -#, c-format -msgid "" -"Iwspy is used to set a list of addresses in a wireless network\n" -"interface and to read back quality of link information for each of those.\n" -"\n" -"This information is the same as the one available in /proc/net/wireless :\n" -"quality of the link, signal strength and noise level.\n" -"\n" -"See iwpspy(8) man page for further information." -msgstr "" -"Iwspy est utilisé pour définir une liste d'adresses au niveau d'une\n" -"interface réseau sans fil afin d'obtenir la qualité du signal pour\n" -"chacune d'entre elles.\n" -"\n" -"Cette information est également disponible dans /proc/net/wireless :\n" -"qualité du lien, puissance du signal et niveau de bruit.\n" -"\n" -"C.f. la page de manuel iwspy(8) pour plus d'informations." - -#: network/netconnect.pm:1035 standalone/drakconnect:398 -#, c-format -msgid "Iwpriv command extra arguments" -msgstr "" -"Arguments supplementaires\n" -"pour la commande iwpriv" - -#: network/netconnect.pm:1036 -#, c-format -msgid "" -"Iwpriv enable to set up optionals (private) parameters of a wireless " -"network\n" -"interface.\n" -"\n" -"Iwpriv deals with parameters and setting specific to each driver (as opposed " -"to\n" -"iwconfig which deals with generic ones).\n" -"\n" -"In theory, the documentation of each device driver should indicate how to " -"use\n" -"those interface specific commands and their effect.\n" -"\n" -"See iwpriv(8) man page for further information." -msgstr "" -"Iwpriv permet de spécifier des paramètres optionels (et privés) d'une " -"interface réseau sans fil.\n" -"\n" -"Impriv permet de manipuler les paramètres et réglages spécifiques à \n" -"chaque pilote (par opposition à iwconfig qui gère les paramètres\n" -"génériques).\n" -"\n" -"En théorie, la documentation de chaque pilote de périphérique devrait\n" -"indiquer comment utiliser ces commandes spécifiques à l'interface\n" -"ainsi que leurs effets.\n" -"\n" -"\"C.f. la page de manuel iwpriv(8) pour plus d'informations." - -#: network/netconnect.pm:1063 -#, c-format -msgid "" -"No ethernet network adapter has been detected on your system.\n" -"I cannot set up this connection type." -msgstr "" -"Aucune carte réseau n'a été détectée sur votre système.\n" -"La connexion ne peut donc pas être configurée." - -#: network/netconnect.pm:1067 standalone/drakgw:261 standalone/drakpxe:142 -#, c-format -msgid "Choose the network interface" -msgstr "Choisissez la carte réseau" - -#: network/netconnect.pm:1068 -#, c-format -msgid "" -"Please choose which network adapter you want to use to connect to Internet." -msgstr "Veuillez choisir la carte réseau qui sera connectée à Internet" - -#: network/netconnect.pm:1089 -#, c-format -msgid "" -"Please enter your host name.\n" -"Your host name should be a fully-qualified host name,\n" -"such as ``mybox.mylab.myco.com''.\n" -"You may also enter the IP address of the gateway if you have one." -msgstr "" -"Veuillez indiquer un nom d'hôte pour la machine.\n" -"Celui-ci doit être un nom de machine pleinement qualifié, par exemple :\n" -"mamachine.monlabo.masociete.com\n" -"Vous pouvez également indiquer l'adresse IP de la passerelle si votre réseau " -"local en possède une." - -#: network/netconnect.pm:1093 -#, c-format -msgid "Last but not least you can also type in your DNS server IP addresses." -msgstr "" -"Enfin, vous pouvez également entrer les adresses IP de vos serveurs DNS." - -#: network/netconnect.pm:1095 standalone/drakconnect:933 -#, c-format -msgid "Host name (optional)" -msgstr "Nom de la machine (optionel)" - -#: network/netconnect.pm:1095 -#, c-format -msgid "Host name" -msgstr "Nom d'hôte :" - -#: network/netconnect.pm:1097 -#, c-format -msgid "DNS server 1" -msgstr "Serveur DNS 1" - -#: network/netconnect.pm:1098 -#, c-format -msgid "DNS server 2" -msgstr "Serveur DNS 2" - -#: network/netconnect.pm:1099 -#, c-format -msgid "DNS server 3" -msgstr "Serveur DNS 3" - -#: network/netconnect.pm:1100 -#, c-format -msgid "Search domain" -msgstr "Domaine recherché" - -#: network/netconnect.pm:1101 -#, c-format -msgid "By default search domain will be set from the fully-qualified host name" -msgstr "" -"Par défaut, le domaine de recherche sera déduit du nom de machine pleinement " -"qualifié" - -#: network/netconnect.pm:1102 -#, c-format -msgid "Gateway (e.g. %s)" -msgstr "Passerelle (p.ex. %s)" - -#: network/netconnect.pm:1104 -#, c-format -msgid "Gateway device" -msgstr "Périphérique passerelle" - -#: network/netconnect.pm:1113 -#, c-format -msgid "DNS server address should be in format 1.2.3.4" -msgstr "" -"L'adresse du DNS doit ressembler à quelque chose comme « 192.168.1.20 »" - -#: network/netconnect.pm:1118 standalone/drakconnect:611 -#, c-format -msgid "Gateway address should be in format 1.2.3.4" -msgstr "" -"L'adresse de la passerelle doit ressembler à quelque chose comme " -"« 192.168.1.20 »" - -#: network/netconnect.pm:1129 -#, c-format -msgid "" -"Enter a Zeroconf host name which will be the one that your machine will get " -"back to other machines on the network:" -msgstr "" -"Entrez un nom de machine zeroconf qui sera celui que votre machine donnera " -"aux autres machines du réseau :" - -#: network/netconnect.pm:1130 -#, c-format -msgid "Zeroconf Host name" -msgstr "Nom d'hôte ZeroConf" - -#: network/netconnect.pm:1133 -#, c-format -msgid "Zeroconf host name must not contain a ." -msgstr "Le nom d'hôte zeroconf ne doit pas contenir de point" - -#: network/netconnect.pm:1143 -#, c-format -msgid "" -"You have configured multiple ways to connect to the Internet.\n" -"Choose the one you want to use.\n" -"\n" -msgstr "" -"Vous avez configuré plusieurs moyens d'accès à Internet.\n" -"Choisissez celui que vous voulez utiliser.\n" -"\n" - -#: network/netconnect.pm:1145 -#, c-format -msgid "Internet connection" -msgstr "Connexion internet" - -#: network/netconnect.pm:1153 -#, c-format -msgid "Configuration is complete, do you want to apply settings ?" -msgstr "La configuration est achevée, voulez-vous appliquer les changements ?" - -#: network/netconnect.pm:1163 -#, c-format -msgid "Do you want to start the connection at boot?" -msgstr "Désirez-vous activer la connexion lors du démarrage ?" - -#: network/netconnect.pm:1175 -#, c-format -msgid "The network needs to be restarted. Do you want to restart it ?" -msgstr "Le réseau doit être redémarré. Souhaitez-vous le redémarrer ?" - -#: network/netconnect.pm:1182 network/netconnect.pm:1247 -#, c-format -msgid "Network Configuration" -msgstr "Configuration du réseau" - -#: network/netconnect.pm:1183 -#, c-format -msgid "" -"A problem occured while restarting the network: \n" -"\n" -"%s" -msgstr "" -"Un problème est survenu pendant le redémarrage du réseau : \n" -"\n" -"%s" - -#: network/netconnect.pm:1191 -#, c-format -msgid "Do you want to try to connect to the Internet now?" -msgstr "Souhaitez-vous vous connecter à Internet maintenant ?" - -#: network/netconnect.pm:1199 standalone/drakconnect:965 -#, c-format -msgid "Testing your connection..." -msgstr "Test de votre connexion..." - -#: network/netconnect.pm:1215 -#, c-format -msgid "The system is now connected to the Internet." -msgstr "Le système est à présent connecté à Internet." - -#: network/netconnect.pm:1216 -#, c-format -msgid "For security reasons, it will be disconnected now." -msgstr "Pour des raisons de sécurité, il va être déconnecté maintenant." - -#: network/netconnect.pm:1217 -#, c-format -msgid "" -"The system doesn't seem to be connected to the Internet.\n" -"Try to reconfigure your connection." -msgstr "" -"Le système ne semble pas connecté à Internet.\n" -"Essayez de reconfigurer votre connexion." - -#: network/netconnect.pm:1234 -#, c-format -msgid "" -"After this is done, we recommend that you restart your X environment to " -"avoid any hostname-related problems." -msgstr "" -"Une fois terminé, il est recommandé de redémarrer votre interface graphique, " -"afin d'éviter les problèmes liés au changement de nom d'hôte de la machine." - -#: network/netconnect.pm:1235 -#, c-format -msgid "" -"Problems occured during configuration.\n" -"Test your connection via net_monitor or mcc. If your connection doesn't " -"work, you might want to relaunch the configuration." -msgstr "" -"Des problèmes sont apparus pendant la configuration.\n" -"Testez votre connexion avec le « Centre de Contrôle Mandrake » (dans la " -"section « réseau ») ou la commande « net_monitor ». Si votre connexion ne " -"fonctionne pas, vous pouvez essayer de relancer la configuration." - -#: network/netconnect.pm:1248 -#, c-format -msgid "" -"Because you are doing a network installation, your network is already " -"configured.\n" -"Click on Ok to keep your configuration, or cancel to reconfigure your " -"Internet & Network connection.\n" -msgstr "" -"Comme vous êtes en train de faire une installation réseau,\n" -" cela veut dire que votre réseau est déjà configuré.\n" -"Cliquez sur <Ok> pour conserver votre configuration,\n" -"ou sur <Annuler> pour reconfigurer votre connexion internet et réseau.\n" - -#: network/netconnect.pm:1336 -#, c-format -msgid "" -"An unexpected error has happened:\n" -"%s" -msgstr "" -"Une erreur s'est produite:\n" -"%s" - -#: network/network.pm:315 -#, c-format -msgid "Proxies configuration" -msgstr "Configuration des serveurs mandataires (proxy)" - -#: network/network.pm:316 -#, c-format -msgid "HTTP proxy" -msgstr "Serveur mandataire HTTP" - -#: network/network.pm:317 -#, c-format -msgid "FTP proxy" -msgstr "Serveur mandataire FTP" - -#: network/network.pm:320 -#, c-format -msgid "Proxy should be http://..." -msgstr "La syntaxe doit être http://..." - -#: network/network.pm:321 -#, c-format -msgid "URL should begin with 'ftp:' or 'http:'" -msgstr "L'URL doit commencer par 'ftp:' ou 'http:'" - -#: network/shorewall.pm:28 -#, c-format -msgid "Firewalling configuration detected!" -msgstr "Configuration du Pare Feu détectée" - -#: network/shorewall.pm:29 -#, c-format -msgid "" -"Warning! An existing firewalling configuration has been detected. You may " -"need some manual fixes after installation." -msgstr "" -"Attention ! Une configuration existante du Pare-Feu a été détectée. Vous " -"devrez peut-être modifier la configuration manuellement après l'installation." - -#: network/shorewall.pm:77 standalone/drakgw:218 standalone/drakvpn:214 -#, c-format -msgid "" -"Please enter the name of the interface connected to the internet.\n" -"\n" -"Examples:\n" -"\t\tppp+ for modem or DSL connections, \n" -"\t\teth0, or eth1 for cable connection, \n" -"\t\tippp+ for a isdn connection.\n" -msgstr "" -"Veuillez entrer le nom de l'interface par laquelle vous etes connecté à " -"Internet.\n" -"\n" -"Exemples:\n" -"\t\tppp+ pour une connection ADSL ou un modem,\n" -"\t\teth0 ou eth1 pour connection par cable,\n" -"\t\tippp+ pour une connection RNIS.\n" - -#: network/tools.pm:205 -#, c-format -msgid "Insert floppy" -msgstr "Insérez une disquette" - -#: network/tools.pm:206 -#, c-format -msgid "" -"Insert a FAT formatted floppy in drive %s with %s in root directory and " -"press %s" -msgstr "" -"Insérez une disquette formatée en FAT dans le lecteur %s avec %s dans\n" -"le répertoire racine, puis appuyez sur %s" - -#: network/tools.pm:207 -#, c-format -msgid "Floppy access error, unable to mount device %s" -msgstr "" -"Erreur lors de l'accès à la disquette, impossible de monter le périphérique %" -"s" - -#: partition_table.pm:644 -#, c-format -msgid "mount failed: " -msgstr "Le montage a échoué : " - -#: partition_table.pm:749 -#, c-format -msgid "Extended partition not supported on this platform" -msgstr "Les partitions étendues ne sont pas supportée par cette plateforme" - -#: partition_table.pm:767 -#, c-format -msgid "" -"You have a hole in your partition table but I can't 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:854 -#, c-format -msgid "Restoring from file %s failed: %s" -msgstr "Restauration impossible depuis le fichier %s : %s" - -#: partition_table.pm:856 -#, c-format -msgid "Bad backup file" -msgstr "Mauvais fichier de sauvegarde" - -#: partition_table.pm:876 -#, c-format -msgid "Error writing to file %s" -msgstr "Erreur d'écriture dans le fichier %s" - -#: partition_table/raw.pm:187 -#, 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." - -#: pkgs.pm:24 -#, c-format -msgid "must have" -msgstr "obligatoire" - -#: pkgs.pm:25 -#, c-format -msgid "important" -msgstr "important" - -#: pkgs.pm:26 -#, c-format -msgid "very nice" -msgstr "très utile" - -#: pkgs.pm:27 -#, c-format -msgid "nice" -msgstr "utile" - -#: pkgs.pm:28 -#, c-format -msgid "maybe" -msgstr "éventuellement" - -#: printer/cups.pm:103 -#, c-format -msgid "(on %s)" -msgstr "(sur %s)" - -#: printer/cups.pm:103 -#, c-format -msgid "(on this machine)" -msgstr "(sur cette machine)" - -#: printer/cups.pm:115 standalone/printerdrake:197 -#, c-format -msgid "Configured on other machines" -msgstr "Configurées sur d'autres machines" - -#: printer/cups.pm:117 -#, c-format -msgid "On CUPS server \"%s\"" -msgstr "Sur serveur CUPS « %s »" - -#: printer/cups.pm:117 printer/printerdrake.pm:3989 -#: printer/printerdrake.pm:3998 printer/printerdrake.pm:4139 -#: printer/printerdrake.pm:4150 printer/printerdrake.pm:4362 -#, c-format -msgid " (Default)" -msgstr " (Défaut)" - -#: printer/data.pm:22 -#, c-format -msgid "PDQ - Print, Don't Queue" -msgstr "PDQ - Print, Don't Queue" - -#: printer/data.pm:23 -#, c-format -msgid "PDQ" -msgstr "PDQ" - -#: printer/data.pm:34 -#, c-format -msgid "LPD - Line Printer Daemon" -msgstr "LPD - Line Printer Daemon" - -#: printer/data.pm:35 -#, c-format -msgid "LPD" -msgstr "LPD" - -#: printer/data.pm:56 -#, c-format -msgid "LPRng - LPR New Generation" -msgstr "LPRng - LPR Nouvelle Génération" - -#: printer/data.pm:57 -#, c-format -msgid "LPRng" -msgstr "LPRng" - -#: printer/data.pm:82 -#, c-format -msgid "CUPS - Common Unix Printing System" -msgstr "CUPS - Common Unix Printing System" - -#: printer/detect.pm:148 printer/detect.pm:226 printer/detect.pm:428 -#: printer/detect.pm:465 printer/printerdrake.pm:686 -#, c-format -msgid "Unknown Model" -msgstr "Modèle inconnu" - -#: printer/main.pm:28 -#, c-format -msgid "Local printer" -msgstr "Imprimante locale" - -#: printer/main.pm:29 -#, c-format -msgid "Remote printer" -msgstr "Imprimante distante" - -#: printer/main.pm:30 -#, c-format -msgid "Printer on remote CUPS server" -msgstr "Imprimante sur serveur CUPS distant" - -#: printer/main.pm:31 printer/printerdrake.pm:1406 -#, c-format -msgid "Printer on remote lpd server" -msgstr "Imprimante sur serveur LPD distant" - -#: printer/main.pm:32 -#, c-format -msgid "Network printer (TCP/Socket)" -msgstr "Imprimante réseau autonome (TCP/Socket)" - -#: printer/main.pm:33 -#, c-format -msgid "Printer on SMB/Windows 95/98/NT server" -msgstr "Imprimante sur serveur SMB (Windows 95/98/NT)" - -#: printer/main.pm:34 -#, c-format -msgid "Printer on NetWare server" -msgstr "Imprimante sur serveur NetWare" - -#: printer/main.pm:35 printer/printerdrake.pm:1410 -#, c-format -msgid "Enter a printer device URI" -msgstr "Indiquer l'adresse du périphérique d'impression" - -#: printer/main.pm:36 -#, c-format -msgid "Pipe job into a command" -msgstr "Impression vers une commande shell" - -#: printer/main.pm:306 printer/main.pm:574 printer/main.pm:1544 -#: printer/main.pm:2228 printer/main.pm:2239 printer/printerdrake.pm:1866 -#: printer/printerdrake.pm:4396 -#, c-format -msgid "Unknown model" -msgstr "Modèle inconnu" - -#: printer/main.pm:331 standalone/printerdrake:196 -#, c-format -msgid "Configured on this machine" -msgstr "Configurées(s) sur cette machine" - -#: printer/main.pm:337 printer/printerdrake.pm:963 -#, c-format -msgid " on parallel port #%s" -msgstr " sur port parallèle %s" - -#: printer/main.pm:340 printer/printerdrake.pm:965 -#, c-format -msgid ", USB printer #%s" -msgstr ", imprimante USB %s" - -#: printer/main.pm:342 -#, c-format -msgid ", USB printer" -msgstr ", imprimante USB" - -#: printer/main.pm:347 -#, c-format -msgid ", multi-function device on parallel port #%s" -msgstr ", périphérique multifonction sur le port parallèle %s" - -#: printer/main.pm:350 -#, c-format -msgid ", multi-function device on a parallel port" -msgstr ", périphérique multifonction sur port parallèle" - -#: printer/main.pm:352 -#, c-format -msgid ", multi-function device on USB" -msgstr ", périphérique USB multifonction" - -#: printer/main.pm:354 -#, c-format -msgid ", multi-function device on HP JetDirect" -msgstr ", périphérique HP JetDirect multifonction" - -#: printer/main.pm:356 -#, c-format -msgid ", multi-function device" -msgstr ", périphérique multifonction" - -#: printer/main.pm:359 -#, c-format -msgid ", printing to %s" -msgstr ", impression sur %s" - -#: printer/main.pm:361 -#, c-format -msgid " on LPD server \"%s\", printer \"%s\"" -msgstr " sur serveur d'impression LPD « %s », imprimante « %s »" - -#: printer/main.pm:363 -#, c-format -msgid ", TCP/IP host \"%s\", port %s" -msgstr ", hôte TCP/IP « %s », port « %s »" - -#: printer/main.pm:367 -#, c-format -msgid " on SMB/Windows server \"%s\", share \"%s\"" -msgstr " sur serveur Windows « %s », partage « %s »" - -#: printer/main.pm:371 -#, c-format -msgid " on Novell server \"%s\", printer \"%s\"" -msgstr " sur serveur Novell « %s », imprimante « %s »" - -#: printer/main.pm:373 -#, c-format -msgid ", using command %s" -msgstr ", en utilisant la commande %s" - -#: printer/main.pm:388 -#, c-format -msgid "Parallel port #%s" -msgstr "Port parallèle %s" - -#: printer/main.pm:391 printer/printerdrake.pm:979 -#: printer/printerdrake.pm:1002 printer/printerdrake.pm:1020 -#, c-format -msgid "USB printer #%s" -msgstr "Imprimante USB %s" - -#: printer/main.pm:393 -#, c-format -msgid "USB printer" -msgstr "Imprimante USB" - -#: printer/main.pm:398 -#, c-format -msgid "Multi-function device on parallel port #%s" -msgstr "Périphérique multifonction sur le port parallèle %s" - -#: printer/main.pm:401 -#, c-format -msgid "Multi-function device on a parallel port" -msgstr "Périphérique multifonction sur port parallèle" - -#: printer/main.pm:403 -#, c-format -msgid "Multi-function device on USB" -msgstr "Périphérique USB multifonction" - -#: printer/main.pm:405 -#, c-format -msgid "Multi-function device on HP JetDirect" -msgstr "Périphérique HP JetDirect multifonction" - -#: printer/main.pm:407 -#, c-format -msgid "Multi-function device" -msgstr "Périphérique multifonction" - -#: printer/main.pm:410 -#, c-format -msgid "Prints into %s" -msgstr "Impression sur %s" - -#: printer/main.pm:412 -#, c-format -msgid "LPD server \"%s\", printer \"%s\"" -msgstr "Serveur d'impression LPD « %s », imprimante « %s »" - -#: printer/main.pm:414 -#, c-format -msgid "TCP/IP host \"%s\", port %s" -msgstr "Hôte TCP/IP « %s », port « %s »" - -#: printer/main.pm:418 -#, c-format -msgid "SMB/Windows server \"%s\", share \"%s\"" -msgstr "Serveur SMB/Windows « %s », partage « %s »" - -#: printer/main.pm:422 -#, c-format -msgid "Novell server \"%s\", printer \"%s\"" -msgstr "Serveur Novell « %s », imprimante « %s »" - -#: printer/main.pm:424 -#, c-format -msgid "Uses command %s" -msgstr "En utilisant la commande %s" - -#: printer/main.pm:426 -#, c-format -msgid "URI: %s" -msgstr "URI: %s" - -#: printer/main.pm:571 printer/printerdrake.pm:732 -#: printer/printerdrake.pm:2463 -#, c-format -msgid "Raw printer (No driver)" -msgstr "Imprimante à accès direct (pas de pilote)" - -#: printer/main.pm:1085 printer/printerdrake.pm:179 -#: printer/printerdrake.pm:191 -#, c-format -msgid "Local network(s)" -msgstr "Réseaux locaux" - -#: printer/main.pm:1087 printer/printerdrake.pm:195 -#, c-format -msgid "Interface \"%s\"" -msgstr "Interface « %s »" - -#: printer/main.pm:1089 -#, c-format -msgid "Network %s" -msgstr "Réseau %s" - -#: printer/main.pm:1091 -#, c-format -msgid "Host %s" -msgstr "Hôte %s" - -#: printer/main.pm:1120 -#, c-format -msgid "%s (Port %s)" -msgstr "%s (Port %s)" - -#: printer/printerdrake.pm:22 -#, c-format -msgid "" -"The HP LaserJet 1000 needs its firmware to be uploaded after being turned " -"on. Download the Windows driver package from the HP web site (the firmware " -"on the printer's CD does not work) and extract the firmware file from it by " -"uncompresing the self-extracting '.exe' file with the 'unzip' utility and " -"searching for the 'sihp1000.img' file. Copy this file into the '/etc/" -"printer' directory. There it will be found by the automatic uploader script " -"and uploaded whenever the printer is connected and turned on.\n" -msgstr "" -"La HP LaserJet 1000 a besoin de récupérer son firmware après la mise sous " -"tension. Téléchargez le pilote pour Windows sur le site de HP (le pilote " -"fourni avec l'imprimante ne fonctionne pas) et récupérez le fichier de " -"firmware « sihp1000.img » en décompressant l'archive autoextractible (.exe) " -"avec l'outil « unzip ». Copiez le fichier firmware dans le dossier /etc/" -"printer. Il sera récupéré par le script de chargement et envoyé vers " -"l'imprimante à chaque mise sous tension.\n" - -#: printer/printerdrake.pm:62 -#, c-format -msgid "CUPS printer configuration" -msgstr "Configuration de l'imprimante CUPS" - -#: printer/printerdrake.pm:63 -#, c-format -msgid "" -"Here you can choose whether the printers connected to this machine should be " -"accessible by remote machines and by which remote machines." -msgstr "" -"Vous pouvez ici choisir si les imprimantes connectées à cette machine " -"doivent être accessibles depuis des machines distantes, et quelles machines " -"pourront y accéder." - -#: printer/printerdrake.pm:64 -#, c-format -msgid "" -"You can also decide here whether printers on remote machines should be " -"automatically made available on this machine." -msgstr "" -"Vous pouvez aussi décider ici si les imprimantes des machines distantes " -"seront rendues automatiquement disponibles sur cette machine." - -#: printer/printerdrake.pm:67 -#, c-format -msgid "The printers on this machine are available to other computers" -msgstr "" -"Les imprimantes de cette machine sont disponibles aux autres ordinateurs" - -#: printer/printerdrake.pm:69 -#, c-format -msgid "Automatically find available printers on remote machines" -msgstr "" -"Trouver automatiquement des imprimantes disponibles sur des machines " -"distantes." - -#: printer/printerdrake.pm:71 -#, c-format -msgid "Printer sharing on hosts/networks: " -msgstr "Partage d'imprimante sur les hôtes/réseaux :" - -#: printer/printerdrake.pm:73 -#, c-format -msgid "Custom configuration" -msgstr "configuration personnalisée" - -#: printer/printerdrake.pm:78 standalone/scannerdrake:561 -#: standalone/scannerdrake:578 -#, c-format -msgid "No remote machines" -msgstr "Pas de machine distante" - -#: printer/printerdrake.pm:88 -#, c-format -msgid "Additional CUPS servers: " -msgstr "Serveurs CUPS additionnels :" - -#: printer/printerdrake.pm:93 -#, c-format -msgid "None" -msgstr "Aucun" - -#: printer/printerdrake.pm:95 -#, c-format -msgid "" -"To get access to printers on remote CUPS servers in your local network you " -"only need to turn on the \"Automatically find available printers on remote " -"machines\" option; the CUPS servers inform your machine automatically about " -"their printers. All printers currently known to your machine are listed in " -"the \"Remote printers\" section in the main window of Printerdrake. If your " -"CUPS server(s) is/are not in your local network, you have to enter the IP " -"address(es) and optionally the port number(s) here to get the printer " -"information from the server(s)." -msgstr "" -"Pour obtenir l'accès aux imprimantes situées sur des serveurs CUPS distants " -"de votre réseau local, vous avez seulement besoin d'activer l'option " -"« Trouver automatiquement des imprimantes disponibles sur des machines " -"distantes ». Les serveurs CUPS informent votre machine automatiquement sur " -"leurs imprimantes. Toutes les imprimantes actuellement connues par votre " -"machine sont listées dans la section « Imprimantes distantes » dans la " -"fenêtre principale de Printerdrake. Si les serveurs CUPS ne sont pas dans " -"votre réseau local, vous devez entrer leur adresse IP et optionnellement " -"leur numéro de port, afin d'obtenir des informations sur les imprimantes qui " -"y sont connectées." - -#: printer/printerdrake.pm:100 -#, c-format -msgid "Japanese text printing mode" -msgstr "Mode d'impression du texte japonais" - -#: printer/printerdrake.pm:101 -#, c-format -msgid "" -"Turning on this allows to print plain text files in japanese language. Only " -"use this function if you really want to print text in japanese, if it is " -"activated you cannot print accentuated characters in latin fonts any more " -"and you will not be able to adjust the margins, the character size, etc. " -"This setting only affects printers defined on this machine. If you want to " -"print japanese text on a printer set up on a remote machine, you have to " -"activate this function on that remote machine." -msgstr "" -"Activer ceci permet d'imprimer des fichiers textes purs en japonais. " -"N'utilisez cette fonction que si vous voulez réellement imprimer des textes " -"en japonais, car vous ne pourrez alors plus imprimer des caractères latins " -"accentués, ni ajuster les marges ou la taille de caractères. Ce paramètre " -"affecte seulement les imprimantes définies sur cette machine. Si vous voulez " -"imprimer en japonais à partir d'une machine distante, vous devrez activer " -"cette option sur la machine distante." - -#: printer/printerdrake.pm:105 -#, c-format -msgid "Automatic correction of CUPS configuration" -msgstr "Correction automatique de la configuration du serveur CUPS" - -#: printer/printerdrake.pm:107 -#, c-format -msgid "" -"When this option is turned on, on every startup of CUPS it is automatically " -"made sure that\n" -"\n" -"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n" -"\n" -"- if /etc/cups/cupsd.conf is missing, it will be created\n" -"\n" -"- when printer information is broadcasted, it does not contain \"localhost\" " -"as the server name.\n" -"\n" -"If some of these measures lead to problems for you, turn this option off, " -"but then you have to take care of these points." -msgstr "" -"Quand cette option est activée, chaque démarrage de CUPS vérifiera que :\n" -"\n" -"- si LPD/LPRng est installé, /etc/printcap ne sera pas écrasé par CUPS\n" -"\n" -"- si /etc/cups/cupsd.conf est absent, il sera créé\n" -"\n" -"- quand l'information d'imprimante est diffusée, elle ne contient pas " -"« localhost » comme nom de serveur.\n" -"\n" -"Si cette option vous conduit à des problèmes, désactivez-la, mais faites " -"alors attention aux points ci-dessus." - -#: printer/printerdrake.pm:129 printer/printerdrake.pm:205 -#, c-format -msgid "Sharing of local printers" -msgstr "Partage d'imprimantes locales" - -#: printer/printerdrake.pm:130 -#, c-format -msgid "" -"These are the machines and networks on which the locally connected printer" -"(s) should be available:" -msgstr "" -"Voici les machines et les réseaux à partir desquels les imprimantes locales " -"seront disponibles :" - -#: printer/printerdrake.pm:141 -#, c-format -msgid "Add host/network" -msgstr "Ajouter un hôte/réseau" - -#: printer/printerdrake.pm:147 -#, c-format -msgid "Edit selected host/network" -msgstr "Modifier l'hôte/réseau sélectionné" - -#: printer/printerdrake.pm:156 -#, c-format -msgid "Remove selected host/network" -msgstr "Supprimer l'hôte/réseau sélectionné" - -#: printer/printerdrake.pm:187 printer/printerdrake.pm:197 -#: printer/printerdrake.pm:210 printer/printerdrake.pm:217 -#: printer/printerdrake.pm:248 printer/printerdrake.pm:266 -#, c-format -msgid "IP address of host/network:" -msgstr "Adresse IP de l'hôte/réseau :" - -#: printer/printerdrake.pm:206 -#, c-format -msgid "" -"Choose the network or host on which the local printers should be made " -"available:" -msgstr "" -"Choisissez l'hôte ou le réseau à partir duquel les imprimantes locales " -"seront disponibles :" - -#: printer/printerdrake.pm:213 -#, c-format -msgid "Host/network IP address missing." -msgstr "Adresse IP de l'hôte/réseau manquante." - -#: printer/printerdrake.pm:221 -#, c-format -msgid "The entered host/network IP is not correct.\n" -msgstr "L'adresse IP de l'hôte/réseau n'est pas correcte.\n" - -#: printer/printerdrake.pm:222 printer/printerdrake.pm:400 -#, c-format -msgid "Examples for correct IPs:\n" -msgstr "Exemples d'adresses IP correctes :\n" - -#: printer/printerdrake.pm:246 -#, c-format -msgid "This host/network is already in the list, it cannot be added again.\n" -msgstr "Cet hôte/réseau est déjà dans la liste, il ne peut pas être rajouté.\n" - -#: printer/printerdrake.pm:316 printer/printerdrake.pm:387 -#, c-format -msgid "Accessing printers on remote CUPS servers" -msgstr "Accès aux imprimantes sur serveurs CUPS distant..." - -#: printer/printerdrake.pm:317 -#, c-format -msgid "" -"Add here the CUPS servers whose printers you want to use. You only need to " -"do this if the servers do not broadcast their printer information into the " -"local network." -msgstr "" -"Ajoutez ici les serveurs CUPS dont vous voulez utiliser les imprimantes. " -"Vous n'avez besoin de faire cela que si les serveurs ne diffusent pas les " -"informations de leurs imprimantes sur le réseau local." - -#: printer/printerdrake.pm:328 -#, c-format -msgid "Add server" -msgstr "Ajouter un serveur" - -#: printer/printerdrake.pm:334 -#, c-format -msgid "Edit selected server" -msgstr "Modifier le serveur sélectionné" - -#: printer/printerdrake.pm:343 -#, c-format -msgid "Remove selected server" -msgstr "Supprimer le serveur sélectionné" - -#: printer/printerdrake.pm:388 -#, c-format -msgid "Enter IP address and port of the host whose printers you want to use." -msgstr "" -"Entrez l'adresse IP et le numéro de port de la machine dont vous voulez " -"utiliser les imprimantes." - -#: printer/printerdrake.pm:389 -#, c-format -msgid "If no port is given, 631 will be taken as default." -msgstr "631 sera le port utilisé par défaut" - -#: printer/printerdrake.pm:393 -#, c-format -msgid "Server IP missing!" -msgstr "Adresse IP du serveur manquante !" - -#: printer/printerdrake.pm:399 -#, c-format -msgid "The entered IP is not correct.\n" -msgstr "L'adresse IP n'est pas correcte.\n" - -#: printer/printerdrake.pm:411 printer/printerdrake.pm:1629 -#, c-format -msgid "The port number should be an integer!" -msgstr "Le numéro de port doit être un nombre entier !" - -#: printer/printerdrake.pm:422 -#, c-format -msgid "This server is already in the list, it cannot be added again.\n" -msgstr "Ce serveur est déjà dans la liste, il ne peut pas être rajouté.\n" - -#: printer/printerdrake.pm:433 printer/printerdrake.pm:1650 -#: standalone/drakups:233 standalone/harddrake2:64 -#, c-format -msgid "Port" -msgstr "Port" - -#: printer/printerdrake.pm:478 printer/printerdrake.pm:545 -#: printer/printerdrake.pm:610 printer/printerdrake.pm:628 -#: printer/printerdrake.pm:711 printer/printerdrake.pm:768 -#: printer/printerdrake.pm:794 printer/printerdrake.pm:1703 -#: printer/printerdrake.pm:1886 printer/printerdrake.pm:1902 -#: printer/printerdrake.pm:1945 printer/printerdrake.pm:1982 -#: printer/printerdrake.pm:2024 printer/printerdrake.pm:2061 -#: printer/printerdrake.pm:2071 printer/printerdrake.pm:2314 -#: printer/printerdrake.pm:2319 printer/printerdrake.pm:2458 -#: printer/printerdrake.pm:2568 printer/printerdrake.pm:3069 -#: printer/printerdrake.pm:3134 printer/printerdrake.pm:3177 -#: printer/printerdrake.pm:3180 printer/printerdrake.pm:3299 -#: printer/printerdrake.pm:3364 printer/printerdrake.pm:3436 -#: printer/printerdrake.pm:3457 printer/printerdrake.pm:3466 -#: printer/printerdrake.pm:3557 printer/printerdrake.pm:3655 -#: printer/printerdrake.pm:3661 printer/printerdrake.pm:3674 -#: printer/printerdrake.pm:3726 printer/printerdrake.pm:3766 -#: printer/printerdrake.pm:3778 printer/printerdrake.pm:3789 -#: printer/printerdrake.pm:3798 printer/printerdrake.pm:3811 -#: printer/printerdrake.pm:3888 printer/printerdrake.pm:3945 -#: printer/printerdrake.pm:4010 printer/printerdrake.pm:4270 -#: printer/printerdrake.pm:4313 printer/printerdrake.pm:4459 -#: printer/printerdrake.pm:4517 printer/printerdrake.pm:4546 -#: standalone/printerdrake:65 standalone/printerdrake:85 -#: standalone/printerdrake:515 -#, c-format -msgid "Printerdrake" -msgstr "Printerdrake" - -#: printer/printerdrake.pm:479 -#, c-format -msgid "Restarting CUPS..." -msgstr "Redémarrage de CUPS..." - -#: printer/printerdrake.pm:502 -#, c-format -msgid "Select Printer Connection" -msgstr "Type de connexion de l'imprimante" - -#: printer/printerdrake.pm:503 -#, c-format -msgid "How is the printer connected?" -msgstr "Quel est le type de connexion de l'imprimante ?" - -#: printer/printerdrake.pm:505 -#, c-format -msgid "" -"\n" -"Printers on remote CUPS servers do not need to be configured here; these " -"printers will be automatically detected." -msgstr "" -"\n" -"Les imprimantes connectées à un serveur CUPS distant n'ont pas besoin d'être " -"configurées ici; elles seront automatiquement détectées." - -#: printer/printerdrake.pm:508 printer/printerdrake.pm:4012 -#, c-format -msgid "" -"\n" -"WARNING: No local network connection active, remote printers can neither be " -"detected nor tested!" -msgstr "" -"\n" -"ATTENTION: Aucune connection au réseau local n'est active, les imprimantes " -"distantes ne peuvent donc être ni détectées ni testées !" - -#: printer/printerdrake.pm:515 -#, c-format -msgid "" -"Printer auto-detection (Local, TCP/Socket, SMB printers, and device URI)" -msgstr "" -"Autodétection d'imprimante (locale, TCP/Socket, imprimantes SMB et URI de " -"périphériques)" - -#: printer/printerdrake.pm:545 -#, c-format -msgid "Checking your system..." -msgstr "Vérification de votre système..." - -#: printer/printerdrake.pm:561 -#, c-format -msgid "and one unknown printer" -msgstr "et une imprimante inconnue" - -#: printer/printerdrake.pm:563 -#, c-format -msgid "and %d unknown printers" -msgstr "et %d imprimantes inconnues" - -#: printer/printerdrake.pm:567 -#, c-format -msgid "" -"The following printers\n" -"\n" -"%s%s\n" -"are directly connected to your system" -msgstr "" -"Les imprimantes suivantes :\n" -"\n" -"%s%s\n" -"sont connectées directement à votre système." - -#: printer/printerdrake.pm:569 -#, c-format -msgid "" -"The following printer\n" -"\n" -"%s%s\n" -"are directly connected to your system" -msgstr "" -"Les imprimantes suivantes :\n" -"\n" -"%s%s\n" -"sont connectées directement à votre système." - -#: printer/printerdrake.pm:570 -#, c-format -msgid "" -"The following printer\n" -"\n" -"%s%s\n" -"is directly connected to your system" -msgstr "" -"L'imprimante suivante :\n" -"\n" -"%s%s\n" -"est connectée directement à votre système." - -#: printer/printerdrake.pm:574 -#, c-format -msgid "" -"\n" -"There is one unknown printer directly connected to your system" -msgstr "" -"\n" -"Il y a une imprimante inconnue connectée à votre machine" - -#: printer/printerdrake.pm:575 -#, c-format -msgid "" -"\n" -"There are %d unknown printers directly connected to your system" -msgstr "" -"\n" -"Il y a %d imprimantes inconnues reliées à votre machine" - -#: printer/printerdrake.pm:578 -#, c-format -msgid "" -"There are no printers found which are directly connected to your machine" -msgstr "" -"Aucune des imprimantes trouvées n'est directement reliée à votre machine" - -#: printer/printerdrake.pm:581 -#, c-format -msgid " (Make sure that all your printers are connected and turned on).\n" -msgstr "(Vérifiez que toutes les imprimantes sont connectées et allumées).\n" - -#: printer/printerdrake.pm:594 -#, c-format -msgid "" -"Do you want to enable printing on the printers mentioned above or on " -"printers in the local network?\n" -msgstr "" -"Souhaitez-vous permettre l'impression sur les imprimantes ci-dessus ou sur " -"celles du réseau local ?\n" - -#: printer/printerdrake.pm:595 -#, c-format -msgid "Do you want to enable printing on printers in the local network?\n" -msgstr "" -"Souhaitez-vous activer l'impression sur les imprimantes de votre réseau ?\n" - -#: printer/printerdrake.pm:597 -#, c-format -msgid "Do you want to enable printing on the printers mentioned above?\n" -msgstr "Souhaitez-vous activer l'impression sur les imprimantes ci-dessus ?\n" - -#: printer/printerdrake.pm:598 -#, c-format -msgid "Are you sure that you want to set up printing on this machine?\n" -msgstr "Êtes-vous sûr de vouloir définir l'impression sur cette machine ?\n" - -#: printer/printerdrake.pm:599 -#, c-format -msgid "" -"NOTE: Depending on the printer model and the printing system up to %d MB of " -"additional software will be installed." -msgstr "" -"NOTE : En fonction du modèle et du système d'impression, jusqu'à %d Mo de " -"logiciels additionnels seront installés." - -#: printer/printerdrake.pm:629 -#, c-format -msgid "Searching for new printers..." -msgstr "Recherche de nouvelles imprimantes..." - -#: printer/printerdrake.pm:713 -#, c-format -msgid "Configuring printer ..." -msgstr "Configuration de l'imprimante en cours..." - -#: printer/printerdrake.pm:714 printer/printerdrake.pm:769 -#: printer/printerdrake.pm:3790 -#, c-format -msgid "Configuring printer \"%s\"..." -msgstr "Configuration en cours de l'imprimante « %s »..." - -#: printer/printerdrake.pm:734 -#, c-format -msgid "(" -msgstr "(" - -#: printer/printerdrake.pm:735 -#, c-format -msgid " on " -msgstr " sur" - -#: printer/printerdrake.pm:736 standalone/scannerdrake:136 -#, c-format -msgid ")" -msgstr ")" - -#: printer/printerdrake.pm:741 printer/printerdrake.pm:2470 -#, c-format -msgid "Printer model selection" -msgstr "Sélection du modèle de l'imprimante" - -#: printer/printerdrake.pm:742 printer/printerdrake.pm:2471 -#, c-format -msgid "Which printer model do you have?" -msgstr "Quel modèle d'imprimante possédez-vous ?" - -#: printer/printerdrake.pm:743 -#, c-format -msgid "" -"\n" -"\n" -"Printerdrake could not determine which model your printer %s is. Please " -"choose the correct model from the list." -msgstr "" -"\n" -"\n" -"Le modèle de votre imprimante %s n'a pas pu être déterminé. Veuillez choisir " -"le modèle correct dans la liste." - -#: printer/printerdrake.pm:746 printer/printerdrake.pm:2476 -#, c-format -msgid "" -"If your printer is not listed, choose a compatible (see printer manual) or a " -"similar one." -msgstr "" -"Si votre imprimante n'est pas listée, choisissez-en une compatible (voir le " -"manuel de l'imprimante) ou similaire." - -#: printer/printerdrake.pm:795 printer/printerdrake.pm:3779 -#: printer/printerdrake.pm:3946 printer/printerdrake.pm:4271 -#: printer/printerdrake.pm:4314 printer/printerdrake.pm:4518 -#, c-format -msgid "Configuring applications..." -msgstr "Configuration des programmes..." - -#: printer/printerdrake.pm:831 printer/printerdrake.pm:843 -#: printer/printerdrake.pm:901 printer/printerdrake.pm:1872 -#: printer/printerdrake.pm:4028 printer/printerdrake.pm:4211 -#, c-format -msgid "Add a new printer" -msgstr "Ajouter une nouvelle imprimante" - -#: printer/printerdrake.pm:832 -#, c-format -msgid "" -"\n" -"Welcome to the Printer Setup Wizard\n" -"\n" -"This wizard allows you to install local or remote printers to be used from " -"this machine and also from other machines in the network.\n" -"\n" -"It asks you for all necessary information to set up the printer and gives " -"you access to all available printer drivers, driver options, and printer " -"connection types." -msgstr "" -"\n" -"Bienvenue dans l'Assistant de Configuration d'Imprimante\n" -"\n" -"Cet assistant permet de configurer des imprimantes locales ou réseau afin " -"d'être utilisées à partir de cette machine ainsi que des autres machines du " -"réseau.\n" -"\n" -"Toutes les informations nécessaires pour configurer l'imprimante vous seront " -"demandées; vous aurez également accès à tous les pilotes d'imprimantes " -"disponibles ainsi qu'à toutes leurs options et à tous les types de connexion." - -#: printer/printerdrake.pm:845 -#, c-format -msgid "" -"\n" -"Welcome to the Printer Setup Wizard\n" -"\n" -"This wizard will help you to install your printer(s) connected to this " -"computer, connected directly to the network or to a remote Windows machine.\n" -"\n" -"Please plug in and turn on all printers connected to this machine so that it/" -"they can be auto-detected. Also your network printer(s) and your Windows " -"machines must be connected and turned on.\n" -"\n" -"Note that auto-detecting printers on the network takes longer than the auto-" -"detection of only the printers connected to this machine. So turn off the " -"auto-detection of network and/or Windows-hosted printers when you don't need " -"it.\n" -"\n" -" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want " -"to set up your printer(s) now." -msgstr "" -"\n" -"Bienvenue dans l'assistant de configuration d'imprimante\n" -"\n" -"Cet assistant vous aidera à installer les imprimantes connectées soit à cet " -"ordinateur, soit directement au réseau, soit sur un ordinateur distant sous " -"Windows.\n" -"\n" -"Si vous avez des imprimantes branchées sur cet ordinateur, veuillez les " -"allumer afin qu'elles soient détectées automatiquement. Les imprimantes " -"réseau et les imprimantes sous Windows doivent aussi être allumées et " -"reliées.\n" -"\n" -"Notez que l'autodétection des imprimantes réseau ou Windows est plus longue " -"que celle des imprimantes locales, donc vous pouvez la désactiver si vous " -"n'en avez pas besoin.\n" -"\n" -"Cliquez sur « Suivant » quand vous êtes prêt, ou sur « Annuler » si vous ne " -"voulez pas configurer d'imprimante(s) maintenant." - -#: printer/printerdrake.pm:854 -#, c-format -msgid "" -"\n" -"Welcome to the Printer Setup Wizard\n" -"\n" -"This wizard will help you to install your printer(s) connected to this " -"computer.\n" -"\n" -"Please plug in and turn on all printers connected to this machine so that it/" -"they can be auto-detected.\n" -"\n" -" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want " -"to set up your printer(s) now." -msgstr "" -"\n" -"Bienvenue dans l'assistant de configuration d'imprimante\n" -"\n" -"Cet assistant vous aidera à installer les imprimantes connectées à cet " -"ordinateur.\n" -"\n" -"Si vous avez des imprimantes branchées sur cet ordinateur, veuillez les " -"allumer afin qu'elles soient détectées automatiquement.\n" -"\n" -"Cliquez sur « suivant » quand vous êtes prêt, ou sur « annuler » si vous ne " -"voulez pas configurer d'imprimante maintenant." - -#: printer/printerdrake.pm:862 -#, c-format -msgid "" -"\n" -"Welcome to the Printer Setup Wizard\n" -"\n" -"This wizard will help you to install your printer(s) connected to this " -"computer or connected directly to the network.\n" -"\n" -"If you have printer(s) connected to this machine, Please plug it/them in on " -"this computer and turn it/them on so that it/they can be auto-detected. Also " -"your network printer(s) must be connected and turned on.\n" -"\n" -"Note that auto-detecting printers on the network takes longer than the auto-" -"detection of only the printers connected to this machine. So turn off the " -"auto-detection of network printers when you don't need it.\n" -"\n" -" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want " -"to set up your printer(s) now." -msgstr "" -"\n" -"Bienvenue dans l'assistant de configuration d'imprimante\n" -"\n" -"Cet assistant vous aidera à installer les imprimantes connectées soit à cet " -"ordinateur, soit directement au réseau.\n" -"\n" -"Si vous avez des imprimantes branchées sur cet ordinateur, veuillez les " -"allumer afin qu'elles soient détectées automatiquement. Les imprimantes " -"réseau doivent aussi être allumées.\n" -"\n" -"Notez que l'autodétection des imprimantes réseau est plus longue que celle " -"des imprimantes locales, donc vous pouvez la désactiver si vous n'en avez " -"pas besoin.\n" -"\n" -"Cliquez sur « suivant » quand vous êtes prêt, ou sur « annuler » si vous ne " -"voulez pas configurer d'imprimante maintenant." - -#: printer/printerdrake.pm:871 -#, c-format -msgid "" -"\n" -"Welcome to the Printer Setup Wizard\n" -"\n" -"This wizard will help you to install your printer(s) connected to this " -"computer.\n" -"\n" -"If you have printer(s) connected to this machine, Please plug it/them in on " -"this computer and turn it/them on so that it/they can be auto-detected.\n" -"\n" -" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want " -"to set up your printer(s) now." -msgstr "" -"\n" -"Bienvenue dans l'assistant de configuration d'imprimante\n" -"\n" -"Cet assistant vous aidera à installer les imprimantes connectées à cet " -"ordinateur.\n" -"\n" -"Si vous avez des imprimantes branchées sur cet ordinateur, veuillez les " -"allumer afin qu'elles soient détectées automatiquement.\n" -"\n" -"Cliquez sur « suivant » quand vous êtes prêt, ou sur « annuler » si vous ne " -"voulez pas configurer d'imprimante maintenant." - -#: printer/printerdrake.pm:880 -#, c-format -msgid "Auto-detect printers connected to this machine" -msgstr "Détecter automatiquement les imprimantes connectées sur cette machine" - -#: printer/printerdrake.pm:883 -#, c-format -msgid "Auto-detect printers connected directly to the local network" -msgstr "Détecter automatiquement les imprimantes reliées directement au réseau" - -#: printer/printerdrake.pm:886 -#, c-format -msgid "Auto-detect printers connected to machines running Microsoft Windows" -msgstr "" -"Détecter automatiquement les imprimantes reliées à des machines sous windows" - -#: printer/printerdrake.pm:902 -#, c-format -msgid "" -"\n" -"Congratulations, your printer is now installed and configured!\n" -"\n" -"You can print using the \"Print\" command of your application (usually in " -"the \"File\" menu).\n" -"\n" -"If you want to add, remove, or rename a printer, or if you want to change " -"the default option settings (paper input tray, printout quality, ...), " -"select \"Printer\" in the \"Hardware\" section of the %s Control Center." -msgstr "" -"\n" -"Félicitation, votre imprimante est maintenant installée et configurée.\n" -"\n" -"Vous pouvez imprimer en utilisant la commande « imprimer » de vos\n" -"programmes (souvent dans le menu « Fichier »).\n" -"\n" -"Si vous voulez ajouter, enlever ou renommer une imprimante, ou si vous " -"voulez changer les options par défaut (alimentation papier,qualité " -"d'impression, etc.), rendez-vous dans la partie « imprimante »de la section " -"« matériel » du Centre de Contrôle %s." - -#: printer/printerdrake.pm:937 printer/printerdrake.pm:1152 -#: printer/printerdrake.pm:1214 printer/printerdrake.pm:1304 -#: printer/printerdrake.pm:1441 printer/printerdrake.pm:1516 -#: printer/printerdrake.pm:1667 printer/printerdrake.pm:1750 -#: printer/printerdrake.pm:1759 printer/printerdrake.pm:1768 -#: printer/printerdrake.pm:1779 printer/printerdrake.pm:1892 -#: printer/printerdrake.pm:1954 printer/printerdrake.pm:1988 -#, c-format -msgid "Could not install the %s packages!" -msgstr "Impossible d'installer les paquetages %s !" - -#: printer/printerdrake.pm:939 -#, c-format -msgid "Skipping Windows/SMB server auto-detection" -msgstr "Passer l'autodetection des serveurs Windows/SMB" - -#: printer/printerdrake.pm:945 printer/printerdrake.pm:1075 -#: printer/printerdrake.pm:1310 printer/printerdrake.pm:1563 -#, c-format -msgid "Printer auto-detection" -msgstr "détection automatique d'imprimantes" - -#: printer/printerdrake.pm:945 -#, c-format -msgid "Detecting devices..." -msgstr "Détection des périphériques..." - -#: printer/printerdrake.pm:967 -#, c-format -msgid ", network printer \"%s\", port %s" -msgstr ", imprimante réseau « %s », port « %s »" - -#: printer/printerdrake.pm:969 -#, c-format -msgid ", printer \"%s\" on SMB/Windows server \"%s\"" -msgstr ", imprimante « %s » sur serveur SMB/Windows « %s »" - -#: printer/printerdrake.pm:973 -#, c-format -msgid "Detected %s" -msgstr "Détecté %s" - -#: printer/printerdrake.pm:977 printer/printerdrake.pm:1000 -#: printer/printerdrake.pm:1017 -#, c-format -msgid "Printer on parallel port #%s" -msgstr "Imprimante sur le port parallèle %s" - -#: printer/printerdrake.pm:981 -#, c-format -msgid "Network printer \"%s\", port %s" -msgstr "Imprimante réseau autonome « %s », port %s" - -#: printer/printerdrake.pm:983 -#, c-format -msgid "Printer \"%s\" on SMB/Windows server \"%s\"" -msgstr "Imprimante « %s » sur serveur Windows/SMB « %s »" - -#: printer/printerdrake.pm:1062 -#, c-format -msgid "Local Printer" -msgstr "Imprimante locale" - -#: printer/printerdrake.pm:1063 -#, c-format -msgid "" -"No local printer found! To manually install a printer enter a device name/" -"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., " -"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB " -"printer: /dev/usb/lp1, ...)." -msgstr "" -"Aucune imprimante locale n'a pu être trouvée !\n" -"Pour en installer une manuellement entrez un nom de périphérique ou de " -"fichier sur la ligne d'entrée (Ports parallèles : /dev/lp0, /dev/lp1, ..., " -"équivalents à LPT1:, LPT2:, ..., première imprimante USB : /dev/usb/lp0, " -"deuxième imprimante USB : /dev/usb/lp1, ...) " - -#: printer/printerdrake.pm:1067 -#, c-format -msgid "You must enter a device or file name!" -msgstr "Vous devez enter un nom de fichier ou de périphérique !" - -#: printer/printerdrake.pm:1076 -#, c-format -msgid "No printer found!" -msgstr "Aucune imprimante trouvée !" - -#: printer/printerdrake.pm:1084 -#, c-format -msgid "Local Printers" -msgstr "Imprimantes locales" - -#: printer/printerdrake.pm:1085 -#, c-format -msgid "Available printers" -msgstr "Imprimantes disponibles" - -#: printer/printerdrake.pm:1089 printer/printerdrake.pm:1098 -#, c-format -msgid "The following printer was auto-detected. " -msgstr "L'imprimante suivante a été détectée." - -#: printer/printerdrake.pm:1091 -#, c-format -msgid "" -"If it is not the one you want to configure, enter a device name/file name in " -"the input line" -msgstr "" -"si ce n'est pas celle que vous voulez configurer, tapez un nom de fichier ou " -"de périphérique dans le champ d'entrée" - -#: printer/printerdrake.pm:1092 -#, c-format -msgid "" -"Alternatively, you can specify a device name/file name in the input line" -msgstr "" -"Sinon vous pouvez spécifier un nom de périphérique ou de fichier dans le " -"champ d'entrée" - -#: printer/printerdrake.pm:1093 printer/printerdrake.pm:1102 -#, c-format -msgid "Here is a list of all auto-detected printers. " -msgstr "Voici la liste de toutes les imprimantes auto-détectées. " - -#: printer/printerdrake.pm:1095 -#, c-format -msgid "" -"Please choose the printer you want to set up or enter a device name/file " -"name in the input line" -msgstr "" -"Veuillez choisir l'imprimante que vous voulez configurer ou tapez un nom de " -"périphérique ou de fichier dans le champ d'entrée" - -#: printer/printerdrake.pm:1096 -#, c-format -msgid "" -"Please choose the printer to which the print jobs should go or enter a " -"device name/file name in the input line" -msgstr "" -"Veuillez choisir l'imprimante sur laquelle les travaux d'impression seront " -"envoyés ou tapez un nom de périphérique ou de fichier dans le champ d'entrée" - -#: printer/printerdrake.pm:1100 -#, c-format -msgid "" -"The configuration of the printer will work fully automatically. If your " -"printer was not correctly detected or if you prefer a customized printer " -"configuration, turn on \"Manual configuration\"." -msgstr "" -"La configuration de cette imprimante sera effectuée automatiquement. Si " -"votre imprimante n'a pas été correctement détectée ou si vous préférez " -"effectuer une configuration personnalisée, activez « Configuration Manuelle " -"»." - -#: printer/printerdrake.pm:1101 -#, c-format -msgid "Currently, no alternative possibility is available" -msgstr "Il n'y a pour l'instant pas de solution alternative" - -#: printer/printerdrake.pm:1104 -#, c-format -msgid "" -"Please choose the printer you want to set up. The configuration of the " -"printer will work fully automatically. If your printer was not correctly " -"detected or if you prefer a customized printer configuration, turn on " -"\"Manual configuration\"." -msgstr "" -"Veuillez choisir l'imprimante que vous voulez configurer. La configuration " -"de cette imprimante sera effectuée automatiquement. Si votre imprimante n'a " -"pas été correctement détectée ou si vous préférez effectuer une " -"configuration personnalisée, activez « Configuration Manuelle  »." - -#: printer/printerdrake.pm:1105 -#, c-format -msgid "Please choose the printer to which the print jobs should go." -msgstr "" -"Veuillez choisir l'imprimante sur laquelle seront envoyé les travaux " -"d'impression." - -#: printer/printerdrake.pm:1107 -#, c-format -msgid "" -"Please choose the port that your printer is connected to or enter a device " -"name/file name in the input line" -msgstr "" -"Veuillez choisir le port sur laquelle votre imprimante est connectée ou " -"tapez le nom du périphérique ou de fichier dans le champs d'entrée" - -#: printer/printerdrake.pm:1108 -#, c-format -msgid "Please choose the port that your printer is connected to." -msgstr "Veuillez choisir le port sur lequel votre imprimante est connectée." - -#: printer/printerdrake.pm:1110 -#, c-format -msgid "" -" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., " -"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)." -msgstr "" -"(Ports parallèles : /dev/lp0, /dev/lp1, ..., équivalents à LPT1:, " -"LPT2:, ..., première imprimante USB : /dev/usb/lp0, deuxième imprimante " -"USB : /dev/usb/lp1, ...)." - -#: printer/printerdrake.pm:1114 -#, c-format -msgid "You must choose/enter a printer/device!" -msgstr "Vous devez choisir ou entrer une imprimante ou un périphérique !" - -#: printer/printerdrake.pm:1154 printer/printerdrake.pm:1216 -#: printer/printerdrake.pm:1306 printer/printerdrake.pm:1443 -#: printer/printerdrake.pm:1518 printer/printerdrake.pm:1669 -#: printer/printerdrake.pm:1752 printer/printerdrake.pm:1761 -#: printer/printerdrake.pm:1770 printer/printerdrake.pm:1781 -#, c-format -msgid "Aborting" -msgstr "Annulation en cours" - -#: printer/printerdrake.pm:1189 -#, c-format -msgid "Remote lpd Printer Options" -msgstr "Configuration d'une imprimante Unix (lpd) distante" - -#: printer/printerdrake.pm:1190 -#, c-format -msgid "" -"To use a remote lpd printer, you need to supply the hostname of the printer " -"server and the printer name on that server." -msgstr "" -"Pour utiliser une imprimante Unix distante, vous devez indiquer le nom " -"d'hôte du serveur LPD et le nom attribué à l'imprimante par ce serveur." - -#: printer/printerdrake.pm:1191 -#, c-format -msgid "Remote host name" -msgstr "Nom d'hôte du serveur" - -#: printer/printerdrake.pm:1192 -#, c-format -msgid "Remote printer name" -msgstr "Nom de l'imprimante" - -#: printer/printerdrake.pm:1195 -#, c-format -msgid "Remote host name missing!" -msgstr "Nom du serveur distant manquant !" - -#: printer/printerdrake.pm:1199 -#, c-format -msgid "Remote printer name missing!" -msgstr "Le nom de l'imprimante est manquant !" - -#: printer/printerdrake.pm:1228 printer/printerdrake.pm:1799 -#: standalone/drakTermServ:466 standalone/drakTermServ:764 -#: standalone/drakTermServ:780 standalone/drakTermServ:1418 -#: standalone/drakTermServ:1426 standalone/drakTermServ:1437 -#: standalone/drakbackup:582 standalone/drakbackup:687 -#: standalone/drakbackup:722 standalone/drakbackup:840 -#: standalone/drakconnect:263 standalone/drakconnect:298 -#: standalone/drakconnect:542 standalone/drakconnect:552 -#: standalone/drakconnect:576 standalone/harddrake2:160 -#, c-format -msgid "Information" -msgstr "Informations" - -#: printer/printerdrake.pm:1228 printer/printerdrake.pm:1799 -#, c-format -msgid "Detected model: %s %s" -msgstr "Modèle détecté : %s %s" - -#: printer/printerdrake.pm:1310 printer/printerdrake.pm:1563 -#, c-format -msgid "Scanning network..." -msgstr "Parcours du réseau..." - -#: printer/printerdrake.pm:1321 printer/printerdrake.pm:1342 -#, c-format -msgid ", printer \"%s\" on server \"%s\"" -msgstr ", imprimante « %s » sur serveur « %s »" - -#: printer/printerdrake.pm:1324 printer/printerdrake.pm:1345 -#, c-format -msgid "Printer \"%s\" on server \"%s\"" -msgstr "Imprimante « %s » sur serveur « %s »" - -#: printer/printerdrake.pm:1366 -#, c-format -msgid "SMB (Windows 9x/NT) Printer Options" -msgstr "Configuration d'une imprimante SMB (Windows 9x/NT)" - -#: printer/printerdrake.pm:1367 -#, c-format -msgid "" -"To print to a SMB printer, you need to provide the SMB host name (Note! It " -"may be different from its TCP/IP hostname!) and possibly the IP address of " -"the print server, as well as the share name for the printer you wish to " -"access and any applicable user name, password, and workgroup information." -msgstr "" -"Afin de pouvoir accéder à une imprimante connectée à un serveur SMB, vous " -"devez indiquer le nom SMB du serveur (attention, ce dernier peut être " -"différent de son nom TCP/IP) et, éventuellement, son adresse IP ainsi que le " -"nom de l'imprimante et toute information applicable quant au nom " -"d'utilisateur, mot de passe et groupe de travail nécessaires pour accéder à " -"l'imprimante." - -#: printer/printerdrake.pm:1368 -#, c-format -msgid "" -" If the desired printer was auto-detected, simply choose it from the list " -"and then add user name, password, and/or workgroup if needed." -msgstr "" -"Si l'imprimante voulue a été autodétectée, choisissez la dans la liste et " -"ajoutez un nom d'utilisateur, un mot de passe et un groupe de travail si " -"nécessaire." - -#: printer/printerdrake.pm:1370 -#, c-format -msgid "SMB server host" -msgstr "Nom du serveur" - -#: printer/printerdrake.pm:1371 -#, c-format -msgid "SMB server IP" -msgstr "Adresse IP du serveur" - -#: printer/printerdrake.pm:1372 -#, c-format -msgid "Share name" -msgstr "Nom de partage de l'imprimante" - -#: printer/printerdrake.pm:1375 -#, c-format -msgid "Workgroup" -msgstr "Groupe de travail" - -#: printer/printerdrake.pm:1377 -#, c-format -msgid "Auto-detected" -msgstr "Auto-détecté" - -#: printer/printerdrake.pm:1387 -#, c-format -msgid "Either the server name or the server's IP must be given!" -msgstr "Il faut au moins préciser le nom du serveur ou son adresse IP." - -#: printer/printerdrake.pm:1391 -#, c-format -msgid "Samba share name missing!" -msgstr "Il faut préciser le nom de partage de l'imprimante." - -#: printer/printerdrake.pm:1397 -#, c-format -msgid "SECURITY WARNING!" -msgstr "ALERTE DE SÉCURITÉ !" - -#: printer/printerdrake.pm:1398 -#, c-format -msgid "" -"You are about to set up printing to a Windows account with password. Due to " -"a fault in the architecture of the Samba client software the password is put " -"in clear text into the command line of the Samba client used to transmit the " -"print job to the Windows server. So it is possible for every user on this " -"machine to display the password on the screen by issuing commands as \"ps " -"auxwww\".\n" -"\n" -"We recommend to make use of one of the following alternatives (in all cases " -"you have to make sure that only machines from your local network have access " -"to your Windows server, for example by means of a firewall):\n" -"\n" -"Use a password-less account on your Windows server, as the \"GUEST\" account " -"or a special account dedicated for printing. Do not remove the password " -"protection from a personal account or the administrator account.\n" -"\n" -"Set up your Windows server to make the printer available under the LPD " -"protocol. Then set up printing from this machine with the \"%s\" connection " -"type in Printerdrake.\n" -"\n" -msgstr "" -"Vous êtes sur le point de paramétrer l'impression vers un compte Windows " -"avec mot de passe. A cause d'une erreur dans la conception du logiciel " -"client Samba, le mot de passe est inscrit en clair dans la ligne de commande " -"qu'il envoie pour transmettre le travail d'impression au serveur Windows. Il " -"est donc possible pour n'importe quel utilisateur de cette machine " -"d'afficher à l'écran ce mot de passe, simplement en tapant une commande " -"comme « ps auxwww ».\n" -"\n" -"Nous vous conseillons d'utiliser les solutions alternatives suivantes (dans " -"tous les cas, vous devez vous assurer que seules les machines de votre " -"réseau local peuvent accéder à votre serveur Windows, à l'aide d'un pare-feu " -"logiciel (firewall) par exemple) :\n" -"\n" -"Utilisez un compte sans mot de passe sur votre serveur Windows, tel que le " -"compte « Invité » ou alors un compte dédié spécialement à l'impression. " -"N'enlevez pas la protection d'un compte Utilisateur ou Administrateur.\n" -"\n" -"Paramétrez votre serveur Windows afin que les imprimantes soient disponibles " -"sous le protocole LPD. Réglez ensuite l'impression de cette machine-ci avec " -"le type de connexion « %s » dans Printerdrake.\n" -"\n" - -#: printer/printerdrake.pm:1408 -#, c-format -msgid "" -"Set up your Windows server to make the printer available under the IPP " -"protocol and set up printing from this machine with the \"%s\" connection " -"type in Printerdrake.\n" -"\n" -msgstr "" -"Paramétrez votre serveur Windows afin que l'imprimante soit disponible sous " -"le protocole IPP et réglez l'impression à partir de cette machine-ci avec le " -"type de connexion « %s » dans Printerdrake.\n" -"\n" - -#: printer/printerdrake.pm:1411 -#, c-format -msgid "" -"Connect your printer to a Linux server and let your Windows machine(s) " -"connect to it as a client.\n" -"\n" -"Do you really want to continue setting up this printer as you are doing now?" -msgstr "" -"Branchez votre imprimante sur un serveur Linux et laissez votre(vos) machine" -"(s) Windows se connecter en tant que client.\n" -"\n" -"Souhaitez-vous vraiment poursuivre le parmétrage de cette imprimante de " -"cette façon ?" - -#: printer/printerdrake.pm:1489 -#, c-format -msgid "NetWare Printer Options" -msgstr "Options de l'imprimante NetWare" - -#: printer/printerdrake.pm:1490 -#, c-format -msgid "" -"To print on a NetWare printer, you need to provide the NetWare print server " -"name (Note! it may be different from its TCP/IP hostname!) as well as the " -"print queue name for the printer you wish to access and any applicable user " -"name and password." -msgstr "" -"Pour pouvoir utiliser une imprimante connectée à un serveur Netware, vous " -"devez au moins indiquer le nom Netware du serveur (qui peut être différent " -"du nom d'hôte TCP/IP) et le nom de la file d'impression à laquelle vous " -"voulez accéder ainsi qu'un nom d'utilisateur et un mot de passe si " -"nécessaire." - -#: printer/printerdrake.pm:1491 -#, c-format -msgid "Printer Server" -msgstr "Nom du serveur d'impression" - -#: printer/printerdrake.pm:1492 -#, c-format -msgid "Print Queue Name" -msgstr "Nom de la file d'impression" - -#: printer/printerdrake.pm:1497 -#, c-format -msgid "NCP server name missing!" -msgstr "Nom du serveur NCP manquant !" - -#: printer/printerdrake.pm:1501 -#, c-format -msgid "NCP queue name missing!" -msgstr "Nom de la file d'attente NCP manquant !" - -#: printer/printerdrake.pm:1574 printer/printerdrake.pm:1594 -#, c-format -msgid ", host \"%s\", port %s" -msgstr ", hôte « %s », port « %s »" - -#: printer/printerdrake.pm:1577 printer/printerdrake.pm:1597 -#, c-format -msgid "Host \"%s\", port %s" -msgstr "Hôte « %s », port « %s »" - -#: printer/printerdrake.pm:1618 -#, c-format -msgid "TCP/Socket Printer Options" -msgstr "Options de l'imprimante réseau (TCP/socket)" - -#: printer/printerdrake.pm:1620 -#, c-format -msgid "" -"Choose one of the auto-detected printers from the list or enter the hostname " -"or IP and the optional port number (default is 9100) in the input fields." -msgstr "" -"Choisissez une imprimante parmi celles qui ont été détectées, ou entrez un " -"nom de machine ou une adresse IP et le numéro port optionnel (9100 par " -"défaut)." - -#: printer/printerdrake.pm:1621 -#, c-format -msgid "" -"To print to a TCP or socket printer, you need to provide the host name or IP " -"of the printer and optionally the port number (default is 9100). On HP " -"JetDirect servers the port number is usually 9100, on other servers it can " -"vary. See the manual of your hardware." -msgstr "" -"Pour imprimer sur une imprimante TCP ou socket, vous devez indiquer le nom " -"d'hôte de l'imprimante et, optionellement, le numéro du port. Pour les " -"serveurs d'impression « HP JetDirect », le numéro du port est habituellement " -"9100, mais cela peut être différent pour d'autres serveurs. Veuillez " -"consulter le manuel de votre imprimante." - -#: printer/printerdrake.pm:1625 -#, c-format -msgid "Printer host name or IP missing!" -msgstr "Nom d'hôte de l'imprimante ou adresse IP manquant(e) !" - -#: printer/printerdrake.pm:1648 -#, c-format -msgid "Printer host name or IP" -msgstr "Nom d'hôte ou adresse IP de l'imprimante " - -#: printer/printerdrake.pm:1704 -#, c-format -msgid "Refreshing Device URI list..." -msgstr "Mise à jour de la liste des URI des Périphériques ..." - -#: printer/printerdrake.pm:1707 printer/printerdrake.pm:1709 -#, c-format -msgid "Printer Device URI" -msgstr "Adresse réseau du périphérique d'impression" - -#: printer/printerdrake.pm:1708 -#, c-format -msgid "" -"You can specify directly the URI to access the printer. The URI must fulfill " -"either the CUPS or the Foomatic specifications. Note that not all URI types " -"are supported by all the spoolers." -msgstr "" -"Si vous la connaissez, vous pouvez spécifier directement l'adresse réseau " -"(URL) qui permet d'accéder à l'imprimante. Choisissez un en-tête puis " -"complétez l'adresse en respectant les spécifications CUPS ou Foomatic. Notez " -"que tous les types d'URL ne sont pas supportés par tous les gestionnaires " -"d'impression." - -#: printer/printerdrake.pm:1731 -#, c-format -msgid "A valid URI must be entered!" -msgstr "Une adresse valide doit être entrée !" - -#: printer/printerdrake.pm:1834 -#, c-format -msgid "Pipe into command" -msgstr "Impression vers une commande shell" - -#: printer/printerdrake.pm:1835 -#, c-format -msgid "" -"Here you can specify any arbitrary command line into which the job should be " -"piped instead of being sent directly to a printer." -msgstr "" -"Vous pouvez spécifier ici une ligne de commande dans laquelle sera " -"redirigée l'impression, au lieu d'être envoyée à l'imprimante." - -#: printer/printerdrake.pm:1836 -#, c-format -msgid "Command line" -msgstr "Ligne de commande" - -#: printer/printerdrake.pm:1840 -#, c-format -msgid "A command line must be entered!" -msgstr "Une ligne de commande doit être tapée !" - -#: printer/printerdrake.pm:1873 -#, c-format -msgid "" -"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, " -"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), " -"an HP PhotoSmart or an HP LaserJet 2200?" -msgstr "" -"Votre imprimante est-elle un périphérique multifonction de HP ou Sony " -"(OfficeJet, PSC, LaserJet 1100/1200/1220/3200/3300 avec scanner, DeskJet " -"450, Sony IJP-V100), un HP PhotoSmart ou un HP LaserJet 2200 ?" - -#: printer/printerdrake.pm:1887 -#, c-format -msgid "Installing HPOJ package..." -msgstr "Installation du paquetage HPOJ..." - -#: printer/printerdrake.pm:1894 -#, c-format -msgid "Only printing will be possible on the %s." -msgstr "Seul l'impression sera possible sur %s." - -#: printer/printerdrake.pm:1903 printer/printerdrake.pm:2025 -#, c-format -msgid "Checking device and configuring HPOJ..." -msgstr "Vérification du périphérique et configuration de HPOJ..." - -#: printer/printerdrake.pm:1946 -#, c-format -msgid "Installing SANE packages..." -msgstr "Installation des paquetages SANE..." - -#: printer/printerdrake.pm:1956 -#, c-format -msgid "Scanning on the %s will not be possible." -msgstr "Scanner ne sera pas possible sur %s." - -#: printer/printerdrake.pm:1983 -#, c-format -msgid "Installing mtools packages..." -msgstr "Installation des paquetages mtools..." - -#: printer/printerdrake.pm:1990 -#, c-format -msgid "Photo memory card access on the %s will not be possible." -msgstr "L'accès à la carte mémoire photo du %s ne sera pas possible." - -#: printer/printerdrake.pm:2005 -#, c-format -msgid "Scanning on your HP multi-function device" -msgstr "Numérisation avec votre périphérique multifonction HP" - -#: printer/printerdrake.pm:2013 -#, c-format -msgid "Photo memory card access on your HP multi-function device" -msgstr "Accès à la carte mémoire photo de votre périphérique multifonction" - -#: printer/printerdrake.pm:2062 -#, c-format -msgid "Making printer port available for CUPS..." -msgstr "Mise à disposition du port d'imprimante à CUPS..." - -#: printer/printerdrake.pm:2071 printer/printerdrake.pm:2315 -#: printer/printerdrake.pm:2459 -#, c-format -msgid "Reading printer database..." -msgstr "Lecture de la base de données des imprimantes..." - -#: printer/printerdrake.pm:2281 -#, c-format -msgid "Enter Printer Name and Comments" -msgstr "Entrez un nom d'imprimante et un commentaire." - -#: printer/printerdrake.pm:2285 printer/printerdrake.pm:3421 -#, c-format -msgid "Name of printer should contain only letters, numbers and the underscore" -msgstr "" -"Le nom de l'imprimante ne devrait contenir que des lettres, des nombres et " -"des tirets bas (_)" - -#: printer/printerdrake.pm:2291 printer/printerdrake.pm:3426 -#, c-format -msgid "" -"The printer \"%s\" already exists,\n" -"do you really want to overwrite its configuration?" -msgstr "" -"L'imprimante « %s » existe déjà ,\n" -"souhaitez-vous vraiment écraser sa configuration ?" - -#: printer/printerdrake.pm:2300 -#, c-format -msgid "" -"Every printer needs a name (for example \"printer\"). The Description and " -"Location fields do not need to be filled in. They are comments for the users." -msgstr "" -"Toute imprimante a besoin d'un nom (par exemple « lpr ») auquel on se réfère " -"pour pouvoir imprimer.\n" -"Les champs « Description » et « Emplacement » n'ont pas besoin d'être " -"remplis. Ce sont de simples commentaires pour les utilisateurs." - -#: printer/printerdrake.pm:2301 -#, c-format -msgid "Name of printer" -msgstr "Nom de l'imprimante" - -#: printer/printerdrake.pm:2302 standalone/drakconnect:557 -#: standalone/harddrake2:40 standalone/printerdrake:212 -#: standalone/printerdrake:219 -#, c-format -msgid "Description" -msgstr "Description" - -#: printer/printerdrake.pm:2303 standalone/printerdrake:212 -#: standalone/printerdrake:219 -#, c-format -msgid "Location" -msgstr "Emplacement" - -#: printer/printerdrake.pm:2320 -#, c-format -msgid "Preparing printer database..." -msgstr "Préparation de la base de données des imprimantes..." - -#: printer/printerdrake.pm:2438 -#, c-format -msgid "Your printer model" -msgstr "Le modèle de votre imprimante" - -#: printer/printerdrake.pm:2439 -#, c-format -msgid "" -"Printerdrake has compared the model name resulting from the printer auto-" -"detection with the models listed in its printer database to find the best " -"match. This choice can be wrong, especially when your printer is not listed " -"at all in the database. So check whether the choice is correct and click " -"\"The model is correct\" if so and if not, click \"Select model manually\" " -"so that you can choose your printer model manually on the next screen.\n" -"\n" -"For your printer Printerdrake has found:\n" -"\n" -"%s" -msgstr "" -"Le nom de modèle résultant de l'autodétection a été comparée à la base de " -"données d'imprimantes pour trouver la meilleure correspondance. Ce choix " -"peut être mauvais, particulièrement si votre modèle d'imprimanten'apparaît " -"pas dans la base de données. Vérifiez ce choix, puis cliquez sur« Le modèle " -"est correct », ou le cas échéant sur « Sélectionner manuellement le " -"modèle ».\n" -"\n" -"Votre imprimante a été détectée comme étant :\n" -"\n" -"%s" - -#: printer/printerdrake.pm:2444 printer/printerdrake.pm:2447 -#, c-format -msgid "The model is correct" -msgstr "Le modèle est correct" - -#: printer/printerdrake.pm:2445 printer/printerdrake.pm:2446 -#: printer/printerdrake.pm:2449 -#, c-format -msgid "Select model manually" -msgstr "Sélectionner manuellement le modèle" - -#: printer/printerdrake.pm:2472 -#, c-format -msgid "" -"\n" -"\n" -"Please check whether Printerdrake did the auto-detection of your printer " -"model correctly. Find the correct model in the list when a wrong model or " -"\"Raw printer\" is highlighted." -msgstr "" -"\n" -"\n" -"Veuillez vérifier si l'imprimante a été correctement détectée. Cherchez le " -"modèle correct dans la liste si le curseur se situe sur un modèle erroné ou " -"sur « Imprimante à accès direct »." - -#: printer/printerdrake.pm:2491 -#, c-format -msgid "Install a manufacturer-supplied PPD file" -msgstr "Installer un fichier PPD fourni par le constructeur" - -#: printer/printerdrake.pm:2522 -#, c-format -msgid "" -"Every PostScript printer is delivered with a PPD file which describes the " -"printer's options and features." -msgstr "" -"Chaque imprimante PostScript est fournie avec un fichier PPD qui décrit les " -"options et les fonctionnalités de l'imprimante." - -# un nom de machine pleinement qualifié -#: printer/printerdrake.pm:2523 -#, c-format -msgid "" -"This file is usually somewhere on the CD with the Windows and Mac drivers " -"delivered with the printer." -msgstr "" -"Ce ficher est le plus souvent situé sur un CD avec les pilotes Windows et " -"Mac fournis avec l'imprimante." - -#: printer/printerdrake.pm:2524 -#, c-format -msgid "You can find the PPD files also on the manufacturer's web sites." -msgstr "" -"Il est également possible de trouver les fichiers PPD sur les sites webs des " -"constructeurs." - -#: printer/printerdrake.pm:2525 -#, c-format -msgid "" -"If you have Windows installed on your machine, you can find the PPD file on " -"your Windows partition, too." -msgstr "" -"Si Windows est installé sur votre disque, il est possible de trouver le " -"fichier PPD sur la partition Windows." - -#: printer/printerdrake.pm:2526 -#, c-format -msgid "" -"Installing the printer's PPD file and using it when setting up the printer " -"makes all options of the printer available which are provided by the " -"printer's hardware" -msgstr "" -"Installer le fichier PPD de votre imprimante et l'utiliser pour configurer " -"votre imprimante permet d'avoir accès à toutes les options de votre " -"imprimante (qui sont fournies par le matériel)" - -#: printer/printerdrake.pm:2527 -#, c-format -msgid "" -"Here you can choose the PPD file to be installed on your machine, it will " -"then be used for the setup of your printer." -msgstr "" -"Ici, vous pouvez choisir le fichier PPD à installer sur votre machine; il " -"sera utilise pour configurer votre imprimante." - -#: printer/printerdrake.pm:2529 -#, c-format -msgid "Install PPD file from" -msgstr "Installer le fichier PPD depuis" - -#: printer/printerdrake.pm:2531 printer/printerdrake.pm:2538 -#: standalone/scannerdrake:180 standalone/scannerdrake:188 -#: standalone/scannerdrake:239 standalone/scannerdrake:246 -#, c-format -msgid "CD-ROM" -msgstr "CD-ROM" - -#: printer/printerdrake.pm:2532 printer/printerdrake.pm:2540 -#: standalone/scannerdrake:181 standalone/scannerdrake:190 -#: standalone/scannerdrake:240 standalone/scannerdrake:248 -#, c-format -msgid "Floppy Disk" -msgstr "Lecteur de disquette" - -#: printer/printerdrake.pm:2533 printer/printerdrake.pm:2542 -#: standalone/scannerdrake:182 standalone/scannerdrake:192 -#: standalone/scannerdrake:241 standalone/scannerdrake:250 -#, c-format -msgid "Other place" -msgstr "Autres emplacements" - -#: printer/printerdrake.pm:2548 -#, c-format -msgid "Select PPD file" -msgstr "Sélectionnez un fichier PPD" - -#: printer/printerdrake.pm:2552 -#, c-format -msgid "The PPD file %s does not exist or is unreadable!" -msgstr "Le fichier PPD %s n'existe pas ou n'est pas accéssible en lecture !" - -#: printer/printerdrake.pm:2558 -#, c-format -msgid "The PPD file %s does not conform with the PPD specifications!" -msgstr "Le fichier PPD %s n'est pas conforme aux spécifications PPD !" - -#: printer/printerdrake.pm:2569 -#, c-format -msgid "Installing PPD file..." -msgstr "Installation du fichier PPD ..." - -#: printer/printerdrake.pm:2682 -#, c-format -msgid "OKI winprinter configuration" -msgstr "Configuration de l'imprimante OKI winprinter" - -#: printer/printerdrake.pm:2683 -#, c-format -msgid "" -"You are configuring an OKI laser winprinter. These printers\n" -"use a very special communication protocol and therefore they work only when " -"connected to the first parallel port. When your printer is connected to " -"another port or to a print server box please connect the printer to the " -"first parallel port before you print a test page. Otherwise the printer will " -"not work. Your connection type setting will be ignored by the driver." -msgstr "" -"Vous êtes en train de configurer une imprimante laser OKI winprinter.\n" -"Ces imprimantes utilisent un protocole de communication très spécial, et " -"elles ne fonctionnent que si elles sont connectées au premier port " -"parallèle. Si votre imprimante est connectée à un autre port ou à un serveur " -"d'impression, veuillez la connecter au premier port parallèle avant " -"l'impression de la page de test. Sans cela, l'imprimante ne fonctionnera pas " -"Vos paramètres de type de connexion seront ignorés par le pilote." - -#: printer/printerdrake.pm:2707 printer/printerdrake.pm:2736 -#, c-format -msgid "Lexmark inkjet configuration" -msgstr "Configuration de l'imprimante Lexmark inkjet" - -#: printer/printerdrake.pm:2708 -#, c-format -msgid "" -"The inkjet printer drivers provided by Lexmark only support local printers, " -"no printers on remote machines or print server boxes. Please connect your " -"printer to a local port or configure it on the machine where it is connected " -"to." -msgstr "" -"Les pilotes d'impression inkjet fournis par Lexmark ne permettent que " -"l'utilisation des imprimantes locales, et pas des imprimantes distantes ou " -"des serveurs d'impression. Veuillez connecter votre imprimante sur un port " -"local ou configurez-la sur la machine à laquelle elle est connectée." - -#: printer/printerdrake.pm:2737 -#, c-format -msgid "" -"To be able to print with your Lexmark inkjet and this configuration, you " -"need the inkjet printer drivers provided by Lexmark (http://www.lexmark." -"com/). Click on the \"Drivers\" link. Then choose your model and afterwards " -"\"Linux\" as operating system. The drivers come as RPM packages or shell " -"scripts with interactive graphical installation. You do not need to do this " -"configuration by the graphical frontends. Cancel directly after the license " -"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and " -"adjust the head alignment settings with this program." -msgstr "" -"Afin de pouvoir imprimer avec votre imprimante Lexmark inkjet et la " -"configuration actuelle, vous avez besoin des pilotes d'impression inkjet " -"fournis par Lexmark (http://www.lexmark.com/). Allez sur la section " -"« Drivers » du site américain de Lexmark, puis choisissez votre modèle et " -"enfin « Linux » comme système d'exploitation. Les pilotes sont des " -"paquetages RPM ou des scripts shell avec une installation graphique " -"interactive. Vous n'avez pas besoin de faire cette configuration avec " -"l'interface graphique. Annulez directement après l'acceptation de la " -"licence. Ensuite, imprimez les pages pour l'alignement des têtes " -"d'impression avec « lexmarkmaintain » et ajustez les paramètres de ces têtes " -"avec ce programme." - -#: printer/printerdrake.pm:2746 -#, c-format -msgid "Lexmark X125 configuration" -msgstr "Configuration de l'imprimante Lexmark X125" - -#: printer/printerdrake.pm:2747 -#, c-format -msgid "" -"The driver for this printer only supports printers locally connected via " -"USB, no printers on remote machines or print server boxes. Please connect " -"your printer to a local USB port or configure it on the machine where it is " -"connected to." -msgstr "" -"Le pilote pour cette imprimante ne permet que l'utilisation des imprimantes " -"locales connectées par USB, et pas des imprimantes distantes ou des serveurs " -"d'impression. Veuillez connecter votre imprimante sur un port local USB ou " -"configurez-la sur la machine à laquelle elle est connectée." - -#: printer/printerdrake.pm:2765 -#, c-format -msgid "Firmware-Upload for HP LaserJet 1000" -msgstr "Téléchargement du firmware pour la HP LaserJet 1000" - -#: printer/printerdrake.pm:2878 -#, c-format -msgid "" -"Printer default settings\n" -"\n" -"You should make sure that the page size and the ink type/printing mode (if " -"available) and also the hardware configuration of laser printers (memory, " -"duplex unit, extra trays) are set correctly. Note that with a very high " -"printout quality/resolution printing can get substantially slower." -msgstr "" -"Paramétrage de l'imprimante par défaut.\n" -"\n" -"Assurez-vous que la taille de la page et le type d'encre (si disponible) " -"sont correctement indiqués. Notez que la vitesse d'impression peut diminuer " -"si vous augmentez la qualité d'impression." - -#: printer/printerdrake.pm:3003 -#, c-format -msgid "Printer default settings" -msgstr "Paramètres par défaut de l'imprimante" - -#: printer/printerdrake.pm:3010 -#, c-format -msgid "Option %s must be an integer number!" -msgstr "L'option %s doit être un nombre entier !" - -#: printer/printerdrake.pm:3014 -#, c-format -msgid "Option %s must be a number!" -msgstr "L'option %s être un nombre !" - -#: printer/printerdrake.pm:3018 -#, c-format -msgid "Option %s out of range!" -msgstr "L'option %s est en dehors des limites !" - -#: printer/printerdrake.pm:3069 -#, c-format -msgid "" -"Do you want to set this printer (\"%s\")\n" -"as the default printer?" -msgstr "" -"Désirez-vous que l'imprimante « %s » soit l'imprimante\n" -"par défaut ?" - -#: printer/printerdrake.pm:3084 -#, c-format -msgid "Test pages" -msgstr "Pages de test" - -#: printer/printerdrake.pm:3085 -#, c-format -msgid "" -"Please select the test pages you want to print.\n" -"Note: the photo test page can take a rather long time to get printed and on " -"laser printers with too low memory it can even not come out. In most cases " -"it is enough to print the standard test page." -msgstr "" -"Merci de sélectionner les pages de test que vous voulez imprimer.\n" -"Note : la page de test photo peut prendre un temps assez long pour " -"s'imprimer, et sur les imprimantes laser avec trop peu de mémoire, elle peut " -"même ne pas sortir.\n" -"Dans la plupart des cas, l'impression de la page de test standard suffit." - -#: printer/printerdrake.pm:3089 -#, c-format -msgid "No test pages" -msgstr "Pas de page de test" - -#: printer/printerdrake.pm:3090 -#, c-format -msgid "Print" -msgstr "Imprimer" - -#: printer/printerdrake.pm:3115 -#, c-format -msgid "Standard test page" -msgstr "Page de test standard" - -#: printer/printerdrake.pm:3118 -#, c-format -msgid "Alternative test page (Letter)" -msgstr "Page de test alternative (Letter)" - -#: printer/printerdrake.pm:3121 -#, c-format -msgid "Alternative test page (A4)" -msgstr "Page de test alternative (A4)" - -#: printer/printerdrake.pm:3123 -#, c-format -msgid "Photo test page" -msgstr "Page de test photo" - -#: printer/printerdrake.pm:3127 -#, c-format -msgid "Do not print any test page" -msgstr "Ne pas imprimer de page de test" - -#: printer/printerdrake.pm:3135 printer/printerdrake.pm:3300 -#, c-format -msgid "Printing test page(s)..." -msgstr "Impression des pages de test..." - -#: printer/printerdrake.pm:3150 -#, c-format -msgid "Could not install the %s package!" -msgstr "Impossible d'installer le paquetage %s !" - -#: printer/printerdrake.pm:3152 -#, c-format -msgid "Skipping photo test page." -msgstr "Passer la page de test photo." - -#: printer/printerdrake.pm:3169 -#, c-format -msgid "" -"Test page(s) have been sent to the printer.\n" -"It may take some time before the printer starts.\n" -"Printing status:\n" -"%s\n" -"\n" -msgstr "" -"Les pages de test ont été envoyées à l'imprimante.\n" -"Il peut se passer un certain temps avant le début effectif de l'impression.\n" -"Statut de l'impression :\n" -"%s\n" -"\n" - -#: printer/printerdrake.pm:3173 -#, c-format -msgid "" -"Test page(s) have been sent to the printer.\n" -"It may take some time before the printer starts.\n" -msgstr "" -"Les pages de test ont été envoyées à l'imprimante.\n" -"Il peut se passer un certain temps avant le début effectif de l'impression.\n" - -#: printer/printerdrake.pm:3180 -#, c-format -msgid "Did it work properly?" -msgstr "Êtes-vous satisfait du résultat ?" - -#: printer/printerdrake.pm:3201 printer/printerdrake.pm:4397 -#, c-format -msgid "Raw printer" -msgstr "Imprimante à accès direct" - -#: printer/printerdrake.pm:3231 -#, c-format -msgid "" -"To print a file from the command line (terminal window) you can either use " -"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or " -"\"kprinter <file>\". The graphical tools allow you to choose the printer and " -"to modify the option settings easily.\n" -msgstr "" -"Pour imprimer un fichier depuis la ligne de commande (une fenêtre de " -"terminal), vous pouvez soit utiliser la commande « %s <fichier> » ou un " -"utilitaire d'impression graphique : « xpp <fichier> » ou « kprinter " -"<fichier> ». Les utilitaires graphiques vous permettent de choisir " -"l'imprimante et de modifier les paramètres d'impression facilement.\n" - -#: printer/printerdrake.pm:3233 -#, c-format -msgid "" -"These commands you can also use in the \"Printing command\" field of the " -"printing dialogs of many applications, but here do not supply the file name " -"because the file to print is provided by the application.\n" -msgstr "" -"Vous pouvez également utiliser ces commandes dans le champ « commande " -"d'impression » des boîtes de dialogue d'impression dans de nombreux " -"programmes. Dans ce cas n'indiquez pas le nom du fichier puisqu'il sera " -"fourni par le programme lui-même.\n" - -#: printer/printerdrake.pm:3236 printer/printerdrake.pm:3253 -#: printer/printerdrake.pm:3263 -#, c-format -msgid "" -"\n" -"The \"%s\" command also allows to modify the option settings for a " -"particular printing job. Simply add the desired settings to the command " -"line, e. g. \"%s <file>\". " -msgstr "" -"\n" -"La commande « %s » permet également de modifier les paramètres d'impression " -"pour une impression particulière. Il suffit pour cela d'ajouter les " -"paramètres voulus sur la ligne de commande. Par exemple, « %s <fichier> ». " - -#: printer/printerdrake.pm:3239 printer/printerdrake.pm:3279 -#, c-format -msgid "" -"To know about the options available for the current printer read either the " -"list shown below or click on the \"Print option list\" button.%s%s%s\n" -"\n" -msgstr "" -"Pour obtenir la liste des paramètres disponibles pour l'imprimante courante, " -"lisez la liste ci-dessous ou cliquez sur le bouton « imprimer la liste des " -"options ».%s%s%s\n" - -#: printer/printerdrake.pm:3243 -#, c-format -msgid "" -"Here is a list of the available printing options for the current printer:\n" -"\n" -msgstr "" -"Voici la listes des options d'impression disponibles pour l'imprimante " -"courante :\n" -"\n" - -#: printer/printerdrake.pm:3248 printer/printerdrake.pm:3258 -#, c-format -msgid "" -"To print a file from the command line (terminal window) use the command \"%s " -"<file>\".\n" -msgstr "" -"Pour imprimer un fichier depuis la ligne de commande (une fenêtre de " -"terminal), utilisez la commande « %s <fichier>».\n" - -#: printer/printerdrake.pm:3250 printer/printerdrake.pm:3260 -#: printer/printerdrake.pm:3270 -#, c-format -msgid "" -"This command you can also use in the \"Printing command\" field of the " -"printing dialogs of many applications. But here do not supply the file name " -"because the file to print is provided by the application.\n" -msgstr "" -"Cette commande peut également être utilisée dans le champ « commande " -"d'impression » des boîtes de dialogue d'impression dans de nombreux " -"programmes. Dans ce cas, n'indiquez pas le nom du fichier à imprimer puisque " -"celui-ci sera fourni par le programme lui-même.\n" - -#: printer/printerdrake.pm:3255 printer/printerdrake.pm:3265 -#, c-format -msgid "" -"To get a list of the options available for the current printer click on the " -"\"Print option list\" button." -msgstr "" -"Pour obtenir la liste des paramètres disponibles pour l'imprimante courante, " -"cliquez sur le bouton « liste des options d'impression »." - -#: printer/printerdrake.pm:3268 -#, c-format -msgid "" -"To print a file from the command line (terminal window) use the command \"%s " -"<file>\" or \"%s <file>\".\n" -msgstr "" -"Pour imprimer un fichier depuis la ligne de commande (une fenêtre de " -"terminal), utilisez la commande « %s <fichier> » ou « %s <fichier> ».\n" - -#: printer/printerdrake.pm:3272 -#, c-format -msgid "" -"You can also use the graphical interface \"xpdq\" for setting options and " -"handling printing jobs.\n" -"If you are using KDE as desktop environment you have a \"panic button\", an " -"icon on the desktop, labeled with \"STOP Printer!\", which stops all print " -"jobs immediately when you click it. This is for example useful for paper " -"jams.\n" -msgstr "" -"Vous pouvez également utiliser l'interface graphique « xpdq » pour " -"positionner des options d'impression et administrer les travaux " -"d'impression.\n" -"Si vous utiliser le bureau KDE, vous disposez d'un « bouton panique », une " -"icône sur le bureau, nommé « STOP Imprimante ! », qui peut suspendre tous " -"les travaux d'impression. Ceci peut être utile en cas de bourrage papier, " -"par exemple.\n" - -#: printer/printerdrake.pm:3276 -#, c-format -msgid "" -"\n" -"The \"%s\" and \"%s\" commands also allow to modify the option settings for " -"a particular printing job. Simply add the desired settings to the command " -"line, e. g. \"%s <file>\".\n" -msgstr "" -"\n" -"Les commandes « %s » et « %s » permettent également de modifier les " -"paramètres d'impression pour une impression particulière. Il suffit pour " -"cela d'ajouter les paramètres voulus sur la ligne de commande, par exemple " -"« %s <fichier> ».\n" - -#: printer/printerdrake.pm:3286 -#, c-format -msgid "Printing/Scanning/Photo Cards on \"%s\"" -msgstr "Impression/Acquisition/Cartes photo sur « %s »" - -#: printer/printerdrake.pm:3287 -#, c-format -msgid "Printing/Scanning on \"%s\"" -msgstr "Impression/Acquisition sur l'imprimante « %s »" - -#: printer/printerdrake.pm:3289 -#, c-format -msgid "Printing/Photo Card Access on \"%s\"" -msgstr "Impression/Accès aux cartes photos sur « %s »" - -#: printer/printerdrake.pm:3290 -#, c-format -msgid "Printing on the printer \"%s\"" -msgstr "Impression sur l'imprimante « %s »" - -#: printer/printerdrake.pm:3293 printer/printerdrake.pm:3296 -#: printer/printerdrake.pm:3297 printer/printerdrake.pm:3298 -#: printer/printerdrake.pm:4384 standalone/drakTermServ:325 -#: standalone/drakbackup:4265 standalone/drakbug:177 standalone/drakfont:500 -#: standalone/drakfont:591 standalone/net_monitor:106 -#: standalone/printerdrake:508 -#, c-format -msgid "Close" -msgstr "Fermer" - -#: printer/printerdrake.pm:3296 -#, c-format -msgid "Print option list" -msgstr "Liste des options d'impression" - -#: printer/printerdrake.pm:3317 -#, c-format -msgid "" -"Your multi-function device was configured automatically to be able to scan. " -"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the " -"scanner when you have more than one) from the command line or with the " -"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, " -"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire" -"\" menu. Call also \"man scanimage\" on the command line to get more " -"information.\n" -"\n" -"Do not use \"scannerdrake\" for this device!" -msgstr "" -"Votre périphérique multifonction HP a été configuré automatiquement pour " -"être capable de scanner. Maintenant vous pouvez scanner avec " -"« scanimage » ( « scanimage -d hp:%s » pour spécifier le scanner si vous en " -"avez plus d'un) à partir de la ligne de commande, ou avec des interfaces " -"graphiques comme « xscanimage » ou « xsane ». Si vous utilisez « Le Gimp », " -"vous pouvez aussi scanner grâce au menu « Fichier / Acquisition ». Pour " -"avoir plus d'information, vous pouvez taper « man scanimage » dans une " -"fenêtre de commandes.\n" -"\n" -"N'utilisez pas « scannerdrake » pour cet appareil ! " - -#: printer/printerdrake.pm:3343 -#, c-format -msgid "" -"Your printer was configured automatically to give you access to the photo " -"card drives from your PC. Now you can access your photo cards using the " -"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> " -"\"MTools File Manager\") or the command line utilities \"mtools\" (enter " -"\"man mtools\" on the command line for more info). You find the card's file " -"system under the drive letter \"p:\", or subsequent drive letters when you " -"have more than one HP printer with photo card drives. In \"MtoolsFM\" you " -"can switch between drive letters with the field at the upper-right corners " -"of the file lists." -msgstr "" -"Votre imprimante HP a été configurée automatiquement pour vous donner accès " -"aux lecteurs de carte mémoire à partir de votre PC. Maintenant vous pouvez " -"accéder à vos cartes en utilisant le programme graphique " -"« MtoolsFM » (Menu : « Applications » -> « Outils fichiers » -> " -"« gestionnaire de fichiers MTools ») ou le programme en ligne de commande " -"mtools (tapez « man mtools » pour plus d'infos). Vous accéderez à la carte " -"par le lecteur ayant la lettre « p: », ou une autre lettre si vous avez plus " -"d'un appareil de ce type. Dans « MtoolsFM » vous pouvez commuter entre " -"plusieurs lecteurs grâce au champ situé dans le coin supérieur droit de la " -"liste de fichiers." - -#: printer/printerdrake.pm:3365 printer/printerdrake.pm:3767 -#, c-format -msgid "Reading printer data..." -msgstr "Lecture des données de l'imprimante..." - -#: printer/printerdrake.pm:3385 printer/printerdrake.pm:3412 -#: printer/printerdrake.pm:3447 -#, c-format -msgid "Transfer printer configuration" -msgstr "Transfert de la configuration de l'imprimante" - -#: printer/printerdrake.pm:3386 -#, c-format -msgid "" -"You can copy the printer configuration which you have done for the spooler %" -"s to %s, your current spooler. All the configuration data (printer name, " -"description, location, connection type, and default option settings) is " -"overtaken, but jobs will not be transferred.\n" -"Not all queues can be transferred due to the following reasons:\n" -msgstr "" -"Vous pouvez copier la configuration de l'imprimante faite pour le " -"gestionnaire %s vers votre gestionnaire actuel %s. Toutes les données de " -"configuration (nom de l'imprimante, description, emplacement, type de " -"connexion, et paramètres par défaut) sont récupérées, mais les travaux ne " -"seront pas transférés.\n" -"Toutes les files d'attente n'ont pas pu être transférées à cause des raisons " -"suivantes :\n" - -#: printer/printerdrake.pm:3389 -#, c-format -msgid "" -"CUPS does not support printers on Novell servers or printers sending the " -"data into a free-formed command.\n" -msgstr "" -"CUPS ne supporte pas les imprimantes sur les serveurs Novell ni les " -"impressions vers des commandes shell.\n" - -#: printer/printerdrake.pm:3391 -#, c-format -msgid "" -"PDQ only supports local printers, remote LPD printers, and Socket/TCP " -"printers.\n" -msgstr "" -"PDQ ne supporte que les imprimantes locales, les imprimantes LPD distantes, " -"et les imprimantes réseau autonomes.\n" - -#: printer/printerdrake.pm:3393 -#, c-format -msgid "LPD and LPRng do not support IPP printers.\n" -msgstr "LPD et LPRng ne supportent pas les imprimantes IPP.\n" - -#: printer/printerdrake.pm:3395 -#, c-format -msgid "" -"In addition, queues not created with this program or \"foomatic-configure\" " -"cannot be transferred." -msgstr "" -"De plus, les files d'attente qui n'ont pas été créées avec ce programme ou " -"avec «foomatic-configure» ne peuvent pas être transférées." - -#: printer/printerdrake.pm:3396 -#, c-format -msgid "" -"\n" -"Also printers configured with the PPD files provided by their manufacturers " -"or with native CUPS drivers cannot be transferred." -msgstr "" -"\n" -"Aussi, les imprimantes configurées avec les fichiers PPD fournis par leur " -"fabriquant ou avec des pilotes CUPS natifs ne peuvent pas être transférées." - -#: printer/printerdrake.pm:3397 -#, c-format -msgid "" -"\n" -"Mark the printers which you want to transfer and click \n" -"\"Transfer\"." -msgstr "" -"\n" -"Cochez les imprimantes que vous voulez transférer, et\n" -"cliquez sur « Transfert »." - -#: printer/printerdrake.pm:3400 -#, c-format -msgid "Do not transfer printers" -msgstr "Ne pas transférer les imprimantes" - -#: printer/printerdrake.pm:3401 printer/printerdrake.pm:3417 -#, c-format -msgid "Transfer" -msgstr "Transfert" - -#: printer/printerdrake.pm:3413 -#, c-format -msgid "" -"A printer named \"%s\" already exists under %s. \n" -"Click \"Transfer\" to overwrite it.\n" -"You can also type a new name or skip this printer." -msgstr "" -"Une imprimante nommée « %s » existe déjà sous %s.\n" -"Cliquez sur « Transfert » pour la remplacer.\n" -"Vous pouvez également taper un nouveau nom ou\n" -"simplement ignorer cette imprimante." - -#: printer/printerdrake.pm:3434 -#, c-format -msgid "New printer name" -msgstr "Nouveau nom de l'imprimante" - -#: printer/printerdrake.pm:3437 -#, c-format -msgid "Transferring %s..." -msgstr "Transfert de %s..." - -#: printer/printerdrake.pm:3448 -#, c-format -msgid "" -"You have transferred your former default printer (\"%s\"), Should it be also " -"the default printer under the new printing system %s?" -msgstr "" -"Vous avez transféré votre précédente imprimante par défaut (« %s »). Doit-" -"elle être également l'imprimante par défaut de votre nouveau système " -"d'impression %s ?" - -#: printer/printerdrake.pm:3458 -#, c-format -msgid "Refreshing printer data..." -msgstr "Mise à jour des données de l'imprimante..." - -#: printer/printerdrake.pm:3467 -#, c-format -msgid "Starting network..." -msgstr "Démarrage du réseau..." - -#: printer/printerdrake.pm:3508 printer/printerdrake.pm:3512 -#: printer/printerdrake.pm:3514 -#, c-format -msgid "Configure the network now" -msgstr "Configurez le réseau maintenant" - -#: printer/printerdrake.pm:3509 -#, c-format -msgid "Network functionality not configured" -msgstr "Les fonctions du réseau ne sont pas configurées" - -#: printer/printerdrake.pm:3510 -#, c-format -msgid "" -"You are going to configure a remote printer. This needs working network " -"access, but your network is not configured yet. If you go on without network " -"configuration, you will not be able to use the printer which you are " -"configuring now. How do you want to proceed?" -msgstr "" -"Vous êtes sur le point de configurer une imprimante distante. Cela nécessite " -"un accès au réseau, mais votre réseau n'est pas encore configuré. Si vous " -"voulez continuer sans configurer le réseau, vous ne pourrez pas utiliser " -"l'imprimante que vous êtes en train de configurer. Que souhaitez-vous faire ?" - -#: printer/printerdrake.pm:3513 -#, c-format -msgid "Go on without configuring the network" -msgstr "Continuer sans configurer le réseau" - -#: printer/printerdrake.pm:3547 -#, c-format -msgid "" -"The network configuration done during the installation cannot be started " -"now. Please check whether the network is accessible after booting your " -"system and correct the configuration using the %s Control Center, section " -"\"Network & Internet\"/\"Connection\", and afterwards set up the printer, " -"also using the %s Control Center, section \"Hardware\"/\"Printer\"" -msgstr "" -"L'interface réseau qui a été configurée pendant l'installation ne peut pas " -"être démarrée maintenant. Veuillez vérifier si votre réseau est activé après " -"démarrage. Démarrez le « Centre de Contrôle %s », vérifiez la configuration " -"dans la section « réseau et internet / connexion ». Puis essayez à nouveau " -"de configurer l'imprimante dans la section « Matériel / Imprimante » du " -"« Centre de Contrôle %s »." - -#: printer/printerdrake.pm:3548 -#, c-format -msgid "" -"The network access was not running and could not be started. Please check " -"your configuration and your hardware. Then try to configure your remote " -"printer again." -msgstr "" -"L'accès réseau n'a pas pu être démarré. Veuillez vérifier la configuration " -"de votre matériel et de votre accès réseau grâce au « Centre de Contrôle " -"Mandrake » puis essayez à nouveau de configurer l'imprimante distante." - -#: printer/printerdrake.pm:3558 -#, c-format -msgid "Restarting printing system..." -msgstr "Redémarrage du système d'impression..." - -#: printer/printerdrake.pm:3597 -#, c-format -msgid "high" -msgstr "élevé" - -#: printer/printerdrake.pm:3597 -#, c-format -msgid "paranoid" -msgstr "paranoïaque" - -#: printer/printerdrake.pm:3598 -#, c-format -msgid "Installing a printing system in the %s security level" -msgstr "Installation du système d'impression sous le niveau de sécurité « %s »" - -#: printer/printerdrake.pm:3599 -#, c-format -msgid "" -"You are about to install the printing system %s on a system running in the %" -"s security level.\n" -"\n" -"This printing system runs a daemon (background process) which waits for " -"print jobs and handles them. This daemon is also accessible by remote " -"machines through the network and so it is a possible point for attacks. " -"Therefore only a few selected daemons are started by default in this " -"security level.\n" -"\n" -"Do you really want to configure printing on this machine?" -msgstr "" -"Vous êtes sur le point d'installer le système d'impression %s sur un système " -"dont le niveau de sécurité est réglé sur « %s ».\n" -"\n" -"Ce système d'impression écoute en permanence le réseau afin de répondre aux " -"requêtes d'impression. Ceci se fait grâce à un service qui tourne en tâche " -"de fond (daemon) et qui est accessible par les autres machines du réseau. " -"C'est donc une cible possible pour des attaques réseau éventuelles. C'est " -"pourquoi le minimum possible de « daemons » doivent être démarrés dans ce " -"niveau de sécurité.\n" -"\n" -"Souhaitez-vous réellement installer un système d'impression ?" - -#: printer/printerdrake.pm:3633 -#, c-format -msgid "Starting the printing system at boot time" -msgstr "Activation du système d'impression au démarrage" - -#: printer/printerdrake.pm:3634 -#, c-format -msgid "" -"The printing system (%s) will not be started automatically when the machine " -"is booted.\n" -"\n" -"It is possible that the automatic starting was turned off by changing to a " -"higher security level, because the printing system is a potential point for " -"attacks.\n" -"\n" -"Do you want to have the automatic starting of the printing system turned on " -"again?" -msgstr "" -"Le système d'impression (%s) ne sera pas activé automatiquement lors du " -"démarrage de la machine.\n" -"\n" -"Il est possible que l'activation automatique ait été supprimée par " -"l'utilisation d'un plus grand niveau de sécurité, car les systèmes " -"d'impression sont des cibles potentielles d'attaque.\n" -"\n" -"Souhaitez-vous rétablir l'activation automatique du système d'impression ?" - -#: printer/printerdrake.pm:3655 printer/printerdrake.pm:3889 -#, c-format -msgid "Checking installed software..." -msgstr "Vérification du logiciel installé..." - -#: printer/printerdrake.pm:3661 -#, c-format -msgid "Removing %s ..." -msgstr "Suppression de %s ..." - -#: printer/printerdrake.pm:3665 -#, c-format -msgid "Could not remove the %s printing system!" -msgstr "Impossible de désinstaller le système d'impression %s !" - -#: printer/printerdrake.pm:3674 -#, c-format -msgid "Installing %s ..." -msgstr "Installation de %s ..." - -#: printer/printerdrake.pm:3678 -#, c-format -msgid "Could not install the %s printing system!" -msgstr "Impossible d'installer le système d'impression %s !" - -#: printer/printerdrake.pm:3727 -#, c-format -msgid "Setting Default Printer..." -msgstr "Configuration de l'imprimante par défaut..." - -#: printer/printerdrake.pm:3747 -#, c-format -msgid "Select Printer Spooler" -msgstr "Choisissez le gestionnaire d'impression" - -#: printer/printerdrake.pm:3748 -#, c-format -msgid "Which printing system (spooler) do you want to use?" -msgstr "Quel système d'impression désirez-vous utiliser ?" - -#: printer/printerdrake.pm:3799 -#, c-format -msgid "Failed to configure printer \"%s\"!" -msgstr "Échec de configuration de l'imprimante « %s » !" - -#: printer/printerdrake.pm:3812 -#, c-format -msgid "Installing Foomatic..." -msgstr "Installation de Foomatic..." - -#: printer/printerdrake.pm:3818 -#, c-format -msgid "Could not install %s packages, %s cannot be started!" -msgstr "" -"Impossible d'installer les paquetages %s, %s ne peut pas être démarré !" - -#: printer/printerdrake.pm:3910 -#, c-format -msgid "Could not install necessary packages, %s cannot be started!" -msgstr "" -"Impossible d'installer les paquetages nécessaires, %s ne peut pas être " -"démarré !" - -#: printer/printerdrake.pm:4011 -#, c-format -msgid "" -"The following printers are configured. Double-click on a printer to change " -"its settings; to make it the default printer; or to view information about " -"it. " -msgstr "" -"Les imprimantes suivantes sont configurées. Double-cliquez sur l'une d'entre " -"elles pour modifier ses paramètres, en faire l'imprimante par défaut ou " -"consulter les informations à son propos." - -#: printer/printerdrake.pm:4039 -#, c-format -msgid "Display all available remote CUPS printers" -msgstr "Afficher toutes les imprimantes CUPS distantes" - -#: printer/printerdrake.pm:4040 -#, c-format -msgid "Refresh printer list (to display all available remote CUPS printers)" -msgstr "" -"Rafraîchir la liste des imprimantes (pour afficher toutes les imprimantes " -"CUPS distantes)" - -#: printer/printerdrake.pm:4050 -#, c-format -msgid "CUPS configuration" -msgstr "Configuration de CUPS" - -#: printer/printerdrake.pm:4062 -#, c-format -msgid "Change the printing system" -msgstr "Changer le système d'impression" - -#: printer/printerdrake.pm:4071 -#, c-format -msgid "Normal Mode" -msgstr "Mode normal" - -#: printer/printerdrake.pm:4072 -#, c-format -msgid "Expert Mode" -msgstr "Mode Expert" - -#: printer/printerdrake.pm:4343 printer/printerdrake.pm:4398 -#: printer/printerdrake.pm:4479 printer/printerdrake.pm:4489 -#, c-format -msgid "Printer options" -msgstr "Options de l'imprimante" - -#: printer/printerdrake.pm:4379 -#, c-format -msgid "Modify printer configuration" -msgstr "Modifier la configuration de l'imprimante" - -#: printer/printerdrake.pm:4381 -#, c-format -msgid "" -"Printer %s\n" -"What do you want to modify on this printer?" -msgstr "" -"Imprimante %s\n" -"Que souhaitez-vous modifier sur cette imprimante ?" - -#: printer/printerdrake.pm:4385 -#, c-format -msgid "Do it!" -msgstr "Faire" - -#: printer/printerdrake.pm:4390 printer/printerdrake.pm:4448 -#, c-format -msgid "Printer connection type" -msgstr "Type de connexion" - -#: printer/printerdrake.pm:4391 printer/printerdrake.pm:4452 -#, c-format -msgid "Printer name, description, location" -msgstr "Nom, description, emplacement" - -#: printer/printerdrake.pm:4393 printer/printerdrake.pm:4471 -#, c-format -msgid "Printer manufacturer, model, driver" -msgstr "Marque, modèle, pilote" - -#: printer/printerdrake.pm:4394 printer/printerdrake.pm:4472 -#, c-format -msgid "Printer manufacturer, model" -msgstr "Marque, modèle" - -#: printer/printerdrake.pm:4400 printer/printerdrake.pm:4483 -#, c-format -msgid "Set this printer as the default" -msgstr "Choisir comme imprimante par défaut" - -#: printer/printerdrake.pm:4402 printer/printerdrake.pm:4490 -#, c-format -msgid "Add this printer to Star Office/OpenOffice.org/GIMP" -msgstr "Ajouter cette imprimante à StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4403 printer/printerdrake.pm:4495 -#, c-format -msgid "Remove this printer from Star Office/OpenOffice.org/GIMP" -msgstr "Retirer cette imprimante de StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4404 printer/printerdrake.pm:4500 -#, c-format -msgid "Print test pages" -msgstr "Imprimer des pages de test" - -#: printer/printerdrake.pm:4405 printer/printerdrake.pm:4502 -#, c-format -msgid "Learn how to use this printer" -msgstr "Savoir comment utiliser cette imprimante" - -#: printer/printerdrake.pm:4406 printer/printerdrake.pm:4504 -#, c-format -msgid "Remove printer" -msgstr "Désinstaller l'imprimante" - -#: printer/printerdrake.pm:4460 -#, c-format -msgid "Removing old printer \"%s\"..." -msgstr "Désinstallation de l'ancienne imprimante « %s »..." - -#: printer/printerdrake.pm:4491 -#, c-format -msgid "Adding printer to Star Office/OpenOffice.org/GIMP" -msgstr "Ajout de l'imprimante à StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4493 -#, c-format -msgid "" -"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP." -msgstr "L'imprimante « %s » a été ajoutée avec succès à StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4494 -#, c-format -msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP." -msgstr "Impossible d'ajouter l'imprimante « %s » à StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4496 -#, c-format -msgid "Removing printer from Star Office/OpenOffice.org/GIMP" -msgstr "Retrait de l'imprimante de StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4498 -#, c-format -msgid "" -"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/" -"GIMP." -msgstr "L'imprimante « %s » a été retirée avec succès de StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4499 -#, c-format -msgid "" -"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP." -msgstr "Impossible de retirer l'imprimante « %s » de StarOffice/OpenOffice" - -#: printer/printerdrake.pm:4543 -#, c-format -msgid "Do you really want to remove the printer \"%s\"?" -msgstr "Désirez-vous vraiment désinstaller l'imprimante « %s » ?" - -#: printer/printerdrake.pm:4547 -#, c-format -msgid "Removing printer \"%s\"..." -msgstr "Suppression de l'imprimante « %s »..." - -#: printer/printerdrake.pm:4571 -#, c-format -msgid "Default printer" -msgstr "Imprimante par défaut" - -#: printer/printerdrake.pm:4572 -#, c-format -msgid "The printer \"%s\" is set as the default printer now." -msgstr "L'imprimante « %s » est maintenant celle par défaut." - -#: raid.pm:37 -#, c-format -msgid "Can't add a partition to _formatted_ RAID md%d" -msgstr "" -"Impossible d'ajouter une partition au RAID md%d car\n" -"celui-ci est déjà formaté" - -#: raid.pm:139 -#, c-format -msgid "mkraid failed (maybe raidtools are missing?)" -msgstr "« mkraid » a échoué (les « raidtools » sont-ils installés ?)" - -#: raid.pm:139 -#, c-format -msgid "mkraid failed" -msgstr "« mkraid » a échoué" - -#: raid.pm:155 -#, 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:96 -#, 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:107 -#, 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:114 -#, 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:121 -#, c-format -msgid "Could not set permissions of firmware file %s!" -msgstr "Impossible d'initialiser les permissions du fichier firmware %s !" - -#: scanner.pm:200 standalone/scannerdrake:65 standalone/scannerdrake:69 -#: standalone/scannerdrake:77 standalone/scannerdrake:339 -#: standalone/scannerdrake:414 standalone/scannerdrake:458 -#: standalone/scannerdrake:462 standalone/scannerdrake:484 -#: standalone/scannerdrake:549 -#, c-format -msgid "Scannerdrake" -msgstr "Scannerdrake" - -#: scanner.pm:201 standalone/scannerdrake:915 -#, 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:202 -#, 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)." - -#: security/help.pm:19 -#, 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:25 -#, 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:27 -#, c-format -msgid "Allow/Forbid remote root login." -msgstr "Permettre la connexion distante en tant que root" - -#: security/help.pm:29 -#, c-format -msgid "Allow/Forbid direct root login." -msgstr "Permet/interdit la connexion directe en tant que root." - -#: security/help.pm:31 -#, c-format -msgid "" -"Allow/Forbid the list of users on the system on display managers (kdm and " -"gdm)." -msgstr "" -"Permet/interdit la liste des utilisateurs du système sur les gestionnaires " -"de connexion (kdm et gdm)." - -#: security/help.pm:33 -#, 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/interdit les connexions à XFree :\n" -"\n" -"- TOUS (toutes connexions permises),\n" -"\n" -"- LOCAL (seulement les connexions locales),\n" -"\n" -"- AUCUN (aucune connexion)." - -#: security/help.pm:41 -#, 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 (Xfree) sur le port tcp 6000." - -#: security/help.pm:44 -#, 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:54 -#, 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:63 -#, 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 "" -"Active/Désactive 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:68 -#, 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:70 -#, c-format -msgid "" -"Enable/Disable name resolution spoofing protection. If\n" -"\"alert\" 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 « alert » est à 1, effectue aussi\n" -"des rapports à syslog." - -#: security/help.pm:73 -#, c-format -msgid "Enable/Disable IP spoofing protection." -msgstr "Activer/désactiver la protection contre l'usurpation d'adresse IP" - -#: security/help.pm:75 -#, 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:77 -#, 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:79 -#, c-format -msgid "Enable/Disable msec hourly security check." -msgstr "Activer/Désactiver les vérifications de msec toutes les heures" - -#: security/help.pm:81 -#, c-format -msgid "" -" Enabling su only from members of the wheel group or allow su from any user." -msgstr "" -" Autorise « su » seulement pour les membres du groupe « wheel » ou bien pour " -"tout le monde." - -#: security/help.pm:83 -#, c-format -msgid "Use password to authenticate users." -msgstr "Utiliser des mots de passe pour authentifier les utilisateurs" - -#: security/help.pm:85 -#, c-format -msgid "Activate/Disable ethernet cards promiscuity check." -msgstr "Active/Désactive la vérification du mode espion des cartes réseau." - -#: security/help.pm:87 -#, c-format -msgid " Activate/Disable daily security check." -msgstr " Activer/Désactiver les vérifications quotidiennes de sécurité." - -#: security/help.pm:89 -#, 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:91 -#, c-format -msgid "Add the name as an exception to the handling of password aging by msec." -msgstr "Exclue « nom » de la gestion des mots de passe par msec." - -#: security/help.pm:93 -#, c-format -msgid "Set password aging to \"max\" days and delay to change to \"inactive\"." -msgstr "" -"Règle la durée de vie des mots de passe à « max » et le délai de changement " -"de mot de passe à « inactive »." - -#: security/help.pm:95 -#, c-format -msgid "Set the password history length to prevent password reuse." -msgstr "" -"Règle la profondeur de l'historique des mots de passe pour éviter la " -"réutilisation de mots de passe." - -#: security/help.pm:97 -#, c-format -msgid "" -"Set the password minimum length and minimum number of digit and minimum " -"number of capitalized letters." -msgstr "" -"Règle la longueur minimum, le nombre minimum de chiffres et le nombre " -"minimum de lettres en majuscule d'un mot de passe." - -#: security/help.pm:99 -#, c-format -msgid "Set the root umask." -msgstr "Règle le « umask » de root" - -#: security/help.pm:100 -#, c-format -msgid "if set to yes, check open ports." -msgstr "Si oui, vérifie les ports ouverts du réseau." - -#: security/help.pm:101 -#, 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:108 -#, 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:109 -#, 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éseaux sont dans un mode espion" - -#: security/help.pm:110 -#, 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:111 -#, 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:112 -#, 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:113 -#, 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:114 -#, 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 »." - -#: security/help.pm:115 -#, c-format -msgid "if set to yes, report unowned files." -msgstr "Si oui, cherche des fichiers sans propriétaire." - -#: security/help.pm:116 -#, 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:117 -#, c-format -msgid "if set to yes, run chkrootkit checks." -msgstr "Si oui, vérifie l'absence de rootkit via chkrootkits." - -#: security/help.pm:118 -#, 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:119 -#, 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:120 -#, c-format -msgid "Do not send mails if there's nothing to warn about" -msgstr "Ne pas envoyer d'emails s'il n'y a rien à signaler" - -#: security/help.pm:121 -#, 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:122 -#, 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:123 -#, 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:125 -#, c-format -msgid "Set shell commands history size. A value of -1 means unlimited." -msgstr "" -"Réglez la profondeur de l'historique du shell. Une valeur de -1 signifie " -"historique illimité." - -#: security/help.pm:127 -#, c-format -msgid "Set the shell timeout. A value of zero means no timeout." -msgstr "Réglez le délai d'expiration du shell. Zéro signifie pas d'expiration." - -#: security/help.pm:127 -#, c-format -msgid "Timeout unit is second" -msgstr "L'unité du délai d'expiration est la seconde" - -#: security/help.pm:129 -#, c-format -msgid "Set the user umask." -msgstr "Réglez 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 "Allow X Window connections" -msgstr "Autoriser les connexions à X Window" - -#: security/l10n.pm:21 -#, c-format -msgid "Authorize TCP connections to X Window" -msgstr "Autoriser les connections X Window via TCP" - -#: security/l10n.pm:22 -#, c-format -msgid "Authorize all services controlled by tcp_wrappers" -msgstr "Autoriser tous les services contrôlés par tcp_wrappers" - -#: security/l10n.pm:23 -#, c-format -msgid "Chkconfig obey msec rules" -msgstr "Chkconfig obéit les rèbles de msec" - -#: security/l10n.pm:24 -#, c-format -msgid "Enable \"crontab\" and \"at\" for users" -msgstr "Autoriser « crontab » et « at » pour les utilisateurs" - -#: security/l10n.pm:25 -#, c-format -msgid "Syslog reports to console 12" -msgstr "Afficher les messages systèmes sur la console 12" - -#: security/l10n.pm:26 -#, c-format -msgid "Name resolution spoofing protection" -msgstr "Protection contre l'usurpation de résolution de nom" - -#: security/l10n.pm:27 -#, c-format -msgid "Enable IP spoofing protection" -msgstr "Activer la protection contre l'usurpation d'adresse IP" - -#: security/l10n.pm:28 -#, 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:29 -#, c-format -msgid "Enable the logging of IPv4 strange packets" -msgstr "Activer le traçage de tous les paquets IPv4 étranges" - -#: security/l10n.pm:30 -#, c-format -msgid "Enable msec hourly security check" -msgstr "Activer les vérifications de msec toutes les heures" - -#: security/l10n.pm:31 -#, c-format -msgid "Enable su only from the wheel group members or for any user" -msgstr "" -"Autoriser « su » seulement aux membres du groupe « wheel » ou à tout le monde" - -#: security/l10n.pm:32 -#, c-format -msgid "Use password to authenticate users" -msgstr "Utilise un mot de passe pour authentifier les utilisateurs" - -#: security/l10n.pm:33 -#, c-format -msgid "Ethernet cards promiscuity check" -msgstr "Activer la vérification du mode espion des cartes réseau" - -#: security/l10n.pm:34 -#, c-format -msgid "Daily security check" -msgstr "Vérfications journalières de sécurité" - -#: security/l10n.pm:35 -#, c-format -msgid "Sulogin(8) in single user level" -msgstr "Activer la demande de mot de passe en mode mono-utilisateur" - -#: security/l10n.pm:36 -#, c-format -msgid "No password aging for" -msgstr "Pas de délai d'expiration des mots de passe pour" - -#: security/l10n.pm:37 -#, c-format -msgid "Set password expiration and account inactivation delays" -msgstr "" -"Règle la durée de vie des mots de passe et le délai d'inactivation du compte" - -#: security/l10n.pm:38 -#, c-format -msgid "Password history length" -msgstr "Taille de l'historique des mots de passe" - -#: security/l10n.pm:39 -#, 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:40 -#, c-format -msgid "Root umask" -msgstr "Masque des permissions pour la création de fichier par root" - -#: security/l10n.pm:41 -#, c-format -msgid "Shell history size" -msgstr "Taille (en lignes) de l'historique du shell" - -#: security/l10n.pm:42 -#, c-format -msgid "Shell timeout" -msgstr "Délai d'expiration de l'interpréteur de commande" - -#: security/l10n.pm:43 -#, c-format -msgid "User umask" -msgstr "" -"Masque des permissions pour la création de fichier par les utilisateurs" - -#: security/l10n.pm:44 -#, c-format -msgid "Check open ports" -msgstr "Vérifier la liste des ports ouverts" - -#: security/l10n.pm:45 -#, c-format -msgid "Check for unsecured accounts" -msgstr "Rechercher les comptés non sécurisés" - -#: security/l10n.pm:46 -#, 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:47 -#, 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:48 -#, c-format -msgid "Run the daily security checks" -msgstr "Effectue les vérifications quotidiennes de sécurité" - -#: security/l10n.pm:49 -#, c-format -msgid "Check additions/removals of sgid files" -msgstr "Vérifier les ajouts/retraits des fichiers sgid" - -#: security/l10n.pm:50 -#, c-format -msgid "Check empty password in /etc/shadow" -msgstr "Vérifier les mots de passe vides dans /etc/shadow." - -#: security/l10n.pm:51 -#, 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:52 -#, c-format -msgid "Check additions/removals of suid root files" -msgstr "" -"Vérifier les ajouts/retraits des fichiers qui ont la permission « suid »" - -#: security/l10n.pm:53 -#, c-format -msgid "Report unowned files" -msgstr "Rechercher les fichiers n'appartenant à aucun utilisateur" - -#: security/l10n.pm:54 -#, c-format -msgid "Check files/directories writable by everybody" -msgstr "Vérifie les fichiers et/ou dossiers modifiables par tout un chacun" - -#: security/l10n.pm:55 -#, c-format -msgid "Run chkrootkit checks" -msgstr "Effectue les vérifications de chkrootkit" - -#: security/l10n.pm:56 -#, c-format -msgid "Do not send mails when unneeded" -msgstr "Ne pas envoyer de mail quand cela n'est pas nécessaire" - -#: security/l10n.pm:57 -#, 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:58 -#, c-format -msgid "Report check result by mail" -msgstr "Envoyer le rapport de vérification par courriel" - -#: security/l10n.pm:59 -#, 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:60 -#, c-format -msgid "Report check result to syslog" -msgstr "Enregistrer le rapport de vérification via syslog" - -#: security/l10n.pm:61 -#, 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: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, aux dépens 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 "DrakSec Basic Options" -msgstr "Options de base de DrakSec" - -#: security/level.pm:56 -#, c-format -msgid "Please choose the desired security level" -msgstr "Choisissez le niveau de sécurité désiré" - -#: security/level.pm:60 -#, c-format -msgid "Security level" -msgstr "Niveau de sécurité" - -#: security/level.pm:62 -#, c-format -msgid "Use libsafe for servers" -msgstr "Utilisation de « libsafe » pour les serveurs" - -#: security/level.pm:63 -#, 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:64 -#, 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és leur délai. Quelques tâches de maintenance quotidiennes et " -"hebdomadaires sont préconfigurées pour le système Mandrake.(Plus d'infos " -"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, a 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 commande, " -"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 serveurs " -"réseau lorsqu'une requête est détectée. Il est notamment responsable du " -"démarrage des serveurs 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émarre 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êtes 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 serveur 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 fournisseur 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 Mandrake » " -"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 vérouiller des fichiers sur NFS." - -#: services.pm:64 -#, c-format -msgid "" -"Automatically switch on numlock key locker under console\n" -"and XFree 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 won't get started unless configured so it is safe to " -"have\n" -"it installed on machines that don't 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 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 clefs 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 (similiar 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 XFree to run)." -msgstr "" -"Démarre le serveur de polices de caractères, obligatoire pour le " -"fonctionnement de l'interface graphique (XFree)" - -#: services.pm:117 services.pm:159 -#, 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:129 -#, c-format -msgid "Printing" -msgstr "Impression" - -#: services.pm:130 -#, c-format -msgid "Internet" -msgstr "internet" - -#: services.pm:133 -#, c-format -msgid "File sharing" -msgstr "Partage de fichiers" - -#: services.pm:140 -#, c-format -msgid "Remote Administration" -msgstr "Administration à distance" - -#: services.pm:148 -#, c-format -msgid "Database Server" -msgstr "Serveur de base de données" - -#: services.pm:211 -#, c-format -msgid "running" -msgstr "actif" - -#: services.pm:211 -#, c-format -msgid "stopped" -msgstr "arrêté" - -#: services.pm:215 -#, c-format -msgid "Services and deamons" -msgstr "Serveurs et services" - -#: services.pm:221 -#, 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:226 ugtk2.pm:1167 -#, c-format -msgid "Info" -msgstr "Information" - -#: services.pm:229 -#, c-format -msgid "Start when requested" -msgstr "Démarré si nécessaire" - -#: services.pm:229 -#, c-format -msgid "On boot" -msgstr "Au démarrage" - -#: services.pm:244 -#, c-format -msgid "Start" -msgstr "Démarrer" - -#: services.pm:244 -#, c-format -msgid "Stop" -msgstr "Arrêter" - -#: share/advertising/dis-01.pl:13 share/advertising/dwd-01.pl:13 -#: share/advertising/ppp-01.pl:13 share/advertising/pwp-01.pl:13 -#, c-format -msgid "<b>Congratulations for choosing Mandrakelinux!</b>" -msgstr "<b>Merci d'avoir choisi Mandrakelinux !</b>" - -#: share/advertising/dis-01.pl:15 share/advertising/dwd-01.pl:15 -#: share/advertising/ppp-01.pl:15 share/advertising/pwp-01.pl:15 -#, c-format -msgid "Welcome to the Open Source world!" -msgstr "Bienvenue dans le monde de l'Open Source !" - -#: share/advertising/dis-01.pl:17 -#, c-format -msgid "" -"Your new Mandrakelinux operating system and its many applications is the " -"result of collaborative efforts between MandrakeSoft developers and " -"Mandrakelinux contributors throughout the world." -msgstr "" -"Votre nouveau système Mandrakelinux et ses nombreux programmes sont le " -"résultat d'une collaboration entre les développeurs Mandrakesoft et les " -"contributeurs de Mandrakelinux de par le monde." - -#: share/advertising/dis-01.pl:19 share/advertising/dwd-01.pl:19 -#: share/advertising/ppp-01.pl:19 -#, c-format -msgid "" -"We would like to thank everyone who participated in the development of this " -"latest release." -msgstr "" -"Nous tenons à remercier tous ceux qui ont participé au développement de " -"cette nouvelle version." - -#: share/advertising/dis-02.pl:13 -#, c-format -msgid "<b>Discovery</b>" -msgstr "<b>Discovery</b>" - -#: share/advertising/dis-02.pl:15 -#, c-format -msgid "" -"Discovery is the easiest and most user-friendly Linux distribution. It " -"includes a hand-picked selection of premium software for Office, Multimedia " -"and Internet activities." -msgstr "" -"Discovery est la distribution Linux la plus facile et la plus conviviale. " -"Elle est basée sur une sélection des meilleurs logiciels disponibles pour la " -"bureautique, le multimédia et les activités liées à Internet." - -#: share/advertising/dis-02.pl:17 -#, c-format -msgid "The menu is task-oriented, with a single selected application per task." -msgstr "Le menu est orienté tache, avec un seul programme par tache." - -#: share/advertising/dis-03.pl:13 -#, c-format -msgid "<b>The KDE Choice</b>" -msgstr "<b>Le choix de KDE</b>" - -#: share/advertising/dis-03.pl:15 -#, c-format -msgid "" -"The powerful Open Source graphical desktop environment KDE is the desktop of " -"choice for the Discovery Pack." -msgstr "" -"Le puissant environnement graphique KDE est le bureau choisi pour Discovery." - -#: share/advertising/dis-04.pl:13 -#, c-format -msgid "<b>OpenOffice.org</b>: The complete Linux office suite." -msgstr "<b>OpenOffice.org</b> : La suite bureautique complète pour Linux" - -#: share/advertising/dis-04.pl:15 -#, c-format -msgid "" -"<b>WRITER</b> is a powerful word processor for creating all types of text " -"documents. Documents may include images, diagrams and tables." -msgstr "" -"<b>WRITER</b> est un puissant traitement de texte permettant de créer tout " -"type de documents texte. Ces derniers peuvent contenir des images, des " -"diagrammes et des tableaux." - -#: share/advertising/dis-04.pl:16 -#, c-format -msgid "" -"<b>CALC</b> is a feature-packed spreadsheet which enables you to compute, " -"analyze and manage all of your data." -msgstr "" -"<b>CALC</b> est un tableur doté de nombreuses fonctions vous permettant de " -"calculer, analyser et gérer toutes vos données." - -#: share/advertising/dis-04.pl:17 -#, c-format -msgid "" -"<b>IMPRESS</b> is the fastest, most powerful way to create effective " -"multimedia presentations." -msgstr "" -"<b>IMPRESS</b> est le moyen le plus rapide et le plus puissant de créer des " -"présentations multimédia percutantes." - -#: share/advertising/dis-04.pl:18 -#, c-format -msgid "" -"<b>DRAW</b> will produce everything from simple diagrams to dynamic 3D " -"illustrations." -msgstr "" -"<b>DRAW</b> est capable de tout créer, du simple diagramme aux illustrations " -"3D dynamiques." - -#: share/advertising/dis-05.pl:13 share/advertising/dis-06.pl:13 -#, c-format -msgid "<b>Surf The Internet</b>" -msgstr "<b>Naviguez sur Internet</b>" - -#: share/advertising/dis-05.pl:15 -#, c-format -msgid "Discover the new integrated personal information suite KDE Kontact." -msgstr "" -"Découvrez la nouvelle suite de gestion d'informations personnelles KDE " -"Kontact." - -#: share/advertising/dis-05.pl:17 -#, c-format -msgid "" -"More than just a full-featured email client, <b>Kontact</b> also includes an " -"address book, a calendar and scheduling program, plus a tool for taking " -"notes!" -msgstr "" -"Plus qu'un simple client de courrier électronique doté de toutes les " -"fonctionnalités, <b>Kontact</b> comprend également un carnet d'adresses, un " -"calendrier, un programme de gestions de taches ainsi qu'un outil de prise de " -"notes !" - -#: share/advertising/dis-06.pl:15 -#, c-format -msgid "You can also:" -msgstr "Vous pouvez également :" - -#: share/advertising/dis-06.pl:16 -#, c-format -msgid "\t- browse the Web" -msgstr "\t- consulter des sites Web" - -#: share/advertising/dis-06.pl:17 -#, c-format -msgid "\t- chat" -msgstr "\t- discuter en ligne" - -#: share/advertising/dis-06.pl:18 -#, c-format -msgid "\t- organize a video-conference" -msgstr "\t- organiser une vidéo-conférence" - -#: share/advertising/dis-06.pl:19 -#, c-format -msgid "\t- create your own Web site" -msgstr "\t- créer votre propre site Web" - -#: share/advertising/dis-06.pl:20 -#, c-format -msgid "\t- ..." -msgstr "\t- ..." - -#: share/advertising/dis-07.pl:13 -#, c-format -msgid "<b>Multimedia</b>: Software for every need!" -msgstr "<b>Multimedia</b> : Des logiciels pour répondre à tous les besoins !" - -#: share/advertising/dis-07.pl:15 -#, c-format -msgid "Listen to audio CDs with <b>KsCD</b>." -msgstr "Écoutez des CDs audio avec <b>KsCD</b>" - -#: share/advertising/dis-07.pl:17 -#, c-format -msgid "Listen to music files and watch videos with <b>Totem</b>." -msgstr "Écoutez des fichiers musicaux avec <b>Totem</b>" - -#: share/advertising/dis-07.pl:19 -#, c-format -msgid "View and edit images and photos with <b>GQview</b> and <b>The Gimp!</b>" -msgstr "" -"Affichez et modifiez images et photos avec <b>GQview</b> et <b>The Gimp !</b>" - -#: share/advertising/dis-08.pl:13 share/advertising/ppp-08.pl:13 -#: share/advertising/pwp-07.pl:13 -#, c-format -msgid "<b>Mandrake Control Center</b>" -msgstr "<b>Centre de Contrôle Mandrakelinux</b>" - -#: share/advertising/dis-08.pl:15 share/advertising/ppp-08.pl:15 -#: share/advertising/pwp-07.pl:15 -#, c-format -msgid "" -"The Mandrake Control Center is an essential collection of Mandrake-specific " -"utilities for simplifying the configuration of your computer." -msgstr "" -"Le Centre de Contrôle Mandrakelinux est une collection d'outils spécifiques " -"à Mandrakelinux et permettant de configurer facilement votre ordinateur." - -#: share/advertising/dis-08.pl:17 share/advertising/ppp-08.pl:17 -#: share/advertising/pwp-07.pl:17 -#, c-format -msgid "" -"You will immediately appreciate this collection of handy utilities for " -"easily configuring hardware devices, defining mount points, setting up " -"Network and Internet, adjusting the security level of your computer, and " -"just about everything related to the system." -msgstr "" -"Vous apprécierez immédiatement cette collection d'outils vous permettant de " -"configurer facilement les périphériques, de définir les points de montage, " -"de configurer le réseau et Internet, d'ajuster le niveau de sécurité de " -"votre ordinateur et de presque tout ce qui est relatif au système." - -#: share/advertising/dis-09.pl:13 share/advertising/dwd-06.pl:13 -#: share/advertising/ppp-09.pl:13 share/advertising/pwp-08.pl:13 -#, c-format -msgid "<b>MandrakeStore</b>" -msgstr "<b>Mandrakestore</b>" - -#: share/advertising/dis-09.pl:15 share/advertising/ppp-09.pl:15 -#: share/advertising/pwp-08.pl:15 -#, c-format -msgid "" -"Find all MandrakeSoft products and services at <b>MandrakeStore</b> -- our " -"full service e-commerce platform." -msgstr "" -"Vous trouverez tous les produits et services de Mandrakesoft sur " -"<b>Mandrakestore</b> -- notre plateforme complète de commerce en ligne." - -#: share/advertising/dis-09.pl:17 share/advertising/dwd-06.pl:19 -#: share/advertising/ppp-09.pl:17 share/advertising/pwp-08.pl:17 -#, c-format -msgid "Stop by today at <b>www.mandrakestore.com</b>" -msgstr "Arrêtez-vous aujourd'hui même sur <b>www.mandrakestore.com</b>" - -#: share/advertising/dis-10.pl:13 share/advertising/ppp-10.pl:13 -#: share/advertising/pwp-09.pl:13 -#, c-format -msgid "Become a <b>MandrakeClub</b> member!" -msgstr "Devenez membre de <b>Mandrakeclub</b> !" - -#: share/advertising/dis-10.pl:15 share/advertising/ppp-10.pl:15 -#: share/advertising/pwp-09.pl:15 -#, c-format -msgid "" -"Take advantage of valuable benefits, products and services by joining " -"MandrakeClub, such as:" -msgstr "" -"Profitez de nombreux avantages, produits et services en rejoignant " -"Mandrakeclub !" - -#: share/advertising/dis-10.pl:16 share/advertising/dwd-07.pl:16 -#: share/advertising/ppp-10.pl:17 share/advertising/pwp-09.pl:16 -#, c-format -msgid "\t- Full access to commercial applications" -msgstr "\t- Accès illimité à des programmes commerciaux" - -#: share/advertising/dis-10.pl:17 share/advertising/dwd-07.pl:17 -#: share/advertising/ppp-10.pl:18 share/advertising/pwp-09.pl:17 -#, c-format -msgid "\t- Special download mirror list exclusively for MandrakeClub Members" -msgstr "" -"\t- Liste de miroirs de téléchargement réservée uniquement aux membres du " -"Club" - -#: share/advertising/dis-10.pl:18 share/advertising/dwd-07.pl:18 -#: share/advertising/ppp-10.pl:19 share/advertising/pwp-09.pl:18 -#, c-format -msgid "\t- Voting for software to put in Mandrakelinux" -msgstr "" -"\t- Votez pour les logiciels à intégrer dans la prochaine distribution " -"Mandrakelinux" - -#: share/advertising/dis-10.pl:19 share/advertising/dwd-07.pl:19 -#: share/advertising/ppp-10.pl:20 share/advertising/pwp-09.pl:19 -#, c-format -msgid "\t- Special discounts for products and services at MandrakeStore" -msgstr "" -"\t- Des réductions spéciales sur des produits et services de MandrakeStore" - -#: share/advertising/dis-10.pl:20 share/advertising/dwd-07.pl:20 -#: share/advertising/ppp-04.pl:21 share/advertising/ppp-06.pl:19 -#: share/advertising/ppp-10.pl:21 share/advertising/pwp-04.pl:21 -#: share/advertising/pwp-09.pl:20 -#, c-format -msgid "\t- Plus much more" -msgstr "\t- Et plus encore !" - -#: share/advertising/dis-10.pl:22 share/advertising/dwd-07.pl:22 -#: share/advertising/ppp-10.pl:23 share/advertising/pwp-09.pl:22 -#, c-format -msgid "For more information, please visit <b>www.mandrakeclub.com</b>" -msgstr "Pour plus d'informations, visitez <b>www.mandrakeclub.com</b>" - -#: share/advertising/dis-11.pl:13 -#, c-format -msgid "Do you require assistance?" -msgstr "Besoin d'aide ?" - -#: share/advertising/dis-11.pl:15 share/advertising/dwd-08.pl:16 -#: share/advertising/ppp-11.pl:15 share/advertising/pwp-10.pl:15 -#, c-format -msgid "<b>MandrakeExpert</b> is the primary source for technical support." -msgstr "<b>Mandrakeexpert</b> est la principale source de support technique." - -#: share/advertising/dis-11.pl:17 share/advertising/dwd-08.pl:18 -#: share/advertising/ppp-11.pl:17 share/advertising/pwp-10.pl:17 -#, c-format -msgid "" -"If you have Linux questions, subscribe to MandrakeExpert at <b>www." -"mandrakeexpert.com</b>" -msgstr "" -"Si vous vous posez des questions à propos de Linux, inscrivez-vous à " -"MandrakeExpert sur <b>www.mandrakeexpert.com</b>" - -#: share/advertising/dwd-01.pl:17 -#, c-format -msgid "" -"Mandrakelinux is committed to the Open Source Model and fully respects the " -"General Public License. This new release is the result of collaboration " -"between MandrakeSoft's team of developers and the worldwide community of " -"Mandrakelinux contributors." -msgstr "" -"Mandrakelinux adhère au modèle Open Source et respecte la licence GPL dans " -"sa totalité. Cette distribution est le résultat d'une collaboration entre " -"les développeurs MandrakeSoft et les contributeurs Mandrakelinux de part le " -"monde." - -#: share/advertising/dwd-02.pl:13 -#, c-format -msgid "<b>Join the Mandrakelinux community!</b>" -msgstr "<b>Rejoignez la communauté Mandrakelinux !</b>" - -#: share/advertising/dwd-02.pl:15 -#, c-format -msgid "" -"If you would like to get involved, please subscribe to the \"Cooker\" " -"mailing list by visiting <b>mandrake-linux.com/cooker</b>" -msgstr "" -"Si vous souhaitez participer, veuillez vous inscrire à la liste de " -"discussion « cooker » en visitant <b>mandrakelinux.com/cooker</b>" - -#: share/advertising/dwd-02.pl:17 -#, c-format -msgid "" -"To learn more about our dynamic community, please visit <b>www.mandrake-" -"linux.com</b>!" -msgstr "" -"Pour plus d'informations au sujet de notre communauté et de son dynamisme, " -"veuillez visiter <b>www.mandrakelinux.com</b> !" - -#: share/advertising/dwd-03.pl:13 -#, c-format -msgid "<b>What is Mandrakelinux?</b>" -msgstr "<b>Qu'est-ce que Mandrakelinux ?</b>" - -#: share/advertising/dwd-03.pl:15 -#, c-format -msgid "" -"Mandrakelinux is an Open Source distribution created with thousands of the " -"choicest applications from the Free Software world. Mandrakelinux is one of " -"the most widely used Linux distributions worldwide!" -msgstr "" -"Mandrakelinux est une distribution Open Source basée sur des milliers de " -"programmes sélectionnés dans le monde du Logiciel Libre. Mandrakelinux est " -"une des distributions Linux les plus utilisées au monde." - -#: share/advertising/dwd-03.pl:17 -#, c-format -msgid "" -"Mandrakelinux includes the famous graphical desktops KDE and GNOME, plus the " -"latest versions of the most popular Open Source applications." -msgstr "" -"Mandrakelinux comprend les environnements graphiques KDE et GNOME ainsi que " -"les dernières versions des programmes Open Source les plus appréciés." - -#: share/advertising/dwd-04.pl:13 -#, c-format -msgid "" -"Mandrakelinux is widely known as the most user-friendly and the easiest to " -"install and easy to use Linux distribution." -msgstr "" -"Mandrakelinux est reconnue pour être la distribution Linux la plus " -"conviviale, la plus facile d'installation et d'utilisation." - -#: share/advertising/dwd-04.pl:15 -#, c-format -msgid "Find out about our <b>Personal Solutions</b>:" -msgstr "Découvrez nos <b>Solutions Personnelles</b> :" - -#: share/advertising/dwd-04.pl:16 -#, c-format -msgid "\t- Find out Mandrakelinux on a bootable CD with <b>MandrakeMove</b>" -msgstr "" -"\t- Découvrez Mandrakelinux sur un CD amorçable grâce à <b>Mandrakemove</b>" - -#: share/advertising/dwd-04.pl:17 -#, c-format -msgid "" -"\t- If you use Linux mostly for Office, Internet and Multimedia tasks, " -"<b>Discovery</b> perfectly meets your needs" -msgstr "" -"\t- Si vous utilisez Linux principalement pour la Bureautique, Internet et " -"le Multimédia, <b>Discovery</b> répond parfaitement à vos besoins" - -#: share/advertising/dwd-04.pl:18 -#, c-format -msgid "" -"\t- If you appreciate the largest selection of software including powerful " -"development tools, <b>PowerPack</b> is for you" -msgstr "" -"\t- Si vous souhaitez avoir le choix parmi un très grand nombre de " -"programmes incluant des outils de développement puissants, <b>PowerPack</b> " -"est pour vous !" - -#: share/advertising/dwd-04.pl:19 -#, c-format -msgid "" -"\t- If you require a full-featured Linux solution customized for small to " -"medium-sized networks, choose <b>PowerPack+</b>" -msgstr "" -"\t- Si vous avez besoin d'une solution Linux complète et personnalisable " -"pour les réseaux locaux, choisissez <b>PowerPack+</b> !" - -#: share/advertising/dwd-05.pl:13 -#, c-format -msgid "Find out also our <b>Business Solutions</b>!" -msgstr "Découvrez nos <b>Solutions Professionnelles</b>!" - -#: share/advertising/dwd-05.pl:15 -#, c-format -msgid "" -"<b>Corporate Server</b>: the ideal solution for entreprises. It is a " -"complete \"all-in-one\" solution that includes everything needed to rapidly " -"deploy world-class Linux server applications." -msgstr "" -"<b>Corporate Server</b> : la solution idéale pour les entreprises. Il s'agit " -"d'une solution complète « tout-en-un » qui comprend tout ce qui nécessaire " -"pour déployer rapidement des programmes serveurs Linux de classe mondiale." - -#: share/advertising/dwd-05.pl:17 -#, c-format -msgid "" -"<b>Multi Network Firewall</b>: based on Linux 2.4 \"kernel secure\" to " -"provide multi-VPN as well as multi-DMZ functionalities. It is the perfect " -"high performance security solution." -msgstr "" -"<b>Multi Network Firewall</b> : basé sur un noyau Linux 2.4 sécurisé, le " -"pare-feu multi-réseau gère réseaux privés virtuels (VPN) et zones DMZ " -"multiples. La MNF est la solution de sécurité hautes performances de " -"prédilection." - -#: share/advertising/dwd-05.pl:19 -#, c-format -msgid "" -"<b>MandrakeClustering</b>: the power and speed of a Linux cluster combined " -"with the stability and easy-of-use of the world-famous Mandrakelinux " -"distribution. A unique blend for incomparable HPC performance." -msgstr "" -"<b>Mandrakeclustering</b> : la puissance et la rapidité d'un cluster Linux " -"alliées à la stabilité et la simplicité d'utilisation de la distribution " -"Mandrakelinux pour des performances HPC hors du commun." - -#: share/advertising/dwd-06.pl:15 -#, c-format -msgid "" -"Find all MandrakeSoft products at <b>MandrakeStore</b> -- our full service e-" -"commerce platform." -msgstr "" -"Vous trouverez tous les produits de Mandrakesoft sur <b>Mandrakestore</b> -- " -"notre plateforme complète de commerce en ligne." - -#: share/advertising/dwd-06.pl:17 -#, c-format -msgid "" -"Find out also support incidents if you have any problems, from standard to " -"professional support, from 1 to 50 incidents, take the one which meets " -"perfectly your needs!" -msgstr "" -"Découvrez aussi nos offres d'aide technique. Si vous avez le moindre " -"problème, du support standard au support professionnel, de 1 à 50 incidents, " -"choisissez celui qui répond parfaitement à vos besoins !" - -#: share/advertising/dwd-07.pl:13 -#, c-format -msgid "<b>Become a MandrakeClub member!</b>" -msgstr "<b>Devenez membre de MandrakeClub !</b>" - -#: share/advertising/dwd-07.pl:15 -#, c-format -msgid "" -"Take advantage of valuable benefits, products and services by joining " -"Mandrake Club, such as:" -msgstr "" -"Profitez de nombreux avantages, produits et services en rejoignant le " -"MandrakeClub !" - -#: share/advertising/dwd-08.pl:14 share/advertising/ppp-11.pl:13 -#: share/advertising/pwp-10.pl:13 -#, c-format -msgid "<b>Do you require assistance?</b>" -msgstr "<b>Besoin d'aide ?</b>" - -#: share/advertising/dwd-09.pl:16 -#, c-format -msgid "<b>Note</b>" -msgstr "<b>Note</b>" - -#: share/advertising/dwd-09.pl:18 -#, c-format -msgid "This is the Mandrakelinux <b>Download version</b>." -msgstr "Ceci est la <b>version téléchargée</b> de Mandrakelinux." - -#: share/advertising/dwd-09.pl:20 -#, c-format -msgid "" -"The free download version does not include commercial software, and " -"therefore may not work with certain modems (such as some ADSL and RTC) and " -"video cards (such as ATI® and NVIDIA®)." -msgstr "" -"Cette version gratuite et téléchargeable n'intègre pas de logiciels " -"commerciaux. Il se peut donc que certains modems (tels certains modems ADSL " -"et RTC) et certaines cartes vidéo (telles que les ATI® et NVIDIA® nForce) ne " -"fonctionnent pas. Pour éviter des problèmes de compatibilité avec ces " -"périphériques, nous vous recommendons l'achat d'un de nos produits " -"commerciaux qui inclut les pilotes et tout autre logiciel propiétaire." - -#: share/advertising/ppp-01.pl:17 -#, c-format -msgid "" -"Your new Mandrakelinux distribution and its many applications are the result " -"of collaborative efforts between MandrakeSoft developers and Mandrakelinux " -"contributors throughout the world." -msgstr "" -"Votre nouvelle distribution Mandrakelinux est le résultat d'une " -"collaboration entre les développeurs Mandrakesoft et les contributeurs " -"Mandrakelinux de par le monde." - -#: share/advertising/ppp-02.pl:13 -#, c-format -msgid "<b>PowerPack+</b>" -msgstr "<b>PowerPack+</b>" - -#: share/advertising/ppp-02.pl:15 -#, c-format -msgid "" -"PowerPack+ is a full-featured Linux solution for small to medium-sized " -"networks. PowerPack+ increases the value of the standard PowerPack by adding " -"a comprehensive selection of world-class server applications." -msgstr "" -"PowerPack+ est une solution complète pour les petits et moyens réseaux. " -"PowerPack+ enrichie l'édition standard PowerPack en y ajoutant une sélection " -"complète de programmes serveurs de classe mondiale." - -#: share/advertising/ppp-02.pl:17 -#, c-format -msgid "" -"It is the only Mandrakelinux product that includes the groupware solution." -msgstr "" -"Il s'agit du seul produit Mandrakelinux comprenant une solution de travail " -"collaboratif." - -#: share/advertising/ppp-03.pl:13 share/advertising/pwp-03.pl:13 -#, c-format -msgid "<b>Choose your graphical Desktop environment!</b>" -msgstr "<b>Choisissez votre environnement graphique !</b>" - -#: share/advertising/ppp-03.pl:15 share/advertising/pwp-03.pl:15 -#, c-format -msgid "" -"When you log into your Mandrakelinux system for the first time, you can " -"choose between several popular graphical desktops environments, including: " -"KDE, GNOME, WindowMaker, IceWM, and others." -msgstr "" -"La première fois que vous vous connectez à votre système Mandrakelinux, vous " -"avez le choix parmi les environnements graphiques les plus populaires : KDE, " -"GNOME, WindowMaker, IceWM, et bien d'autres encore." - -#: share/advertising/ppp-04.pl:13 -#, c-format -msgid "" -"In the Mandrakelinux menu you will find easy-to-use applications for all " -"tasks:" -msgstr "" -"Dans le menu Mandrakelinux, vous trouverez des programmes faciles à utiliser " -"pour toutes les tâches :" - -#: share/advertising/ppp-04.pl:15 share/advertising/pwp-04.pl:15 -#, c-format -msgid "\t- Create, edit and share office documents with <b>OpenOffice.org</b>" -msgstr "" -"\t- Créez, modifiez et partagez des documents bureautique avec <b>OpenOffice." -"org</b>" - -#: share/advertising/ppp-04.pl:16 -#, c-format -msgid "" -"\t- Take charge of your personal data with the integrated personal " -"information suites: <b>Kontact</b> and <b>Evolution</b>" -msgstr "" -"\t- Gérez vos données personnelles avec les suites d'informations " -"personnelles : <b>Kontact</b> et <b>Evolution</b>." - -#: share/advertising/ppp-04.pl:17 -#, c-format -msgid "\t- Browse the Web with <b>Mozilla and Konqueror</b>" -msgstr "\t- Consultez des sites Web avec <b>Mozilla</b> et <b>Konqueror</b>" - -#: share/advertising/ppp-04.pl:18 share/advertising/pwp-04.pl:18 -#, c-format -msgid "\t- Participate in online chat with <b>Kopete</b>" -msgstr "\t- Participez à des discussions en ligne avec <b>Kopete</b>" - -#: share/advertising/ppp-04.pl:19 -#, c-format -msgid "" -"\t- Listen to audio CDs and music files with <b>KsCD</b> and <b>Totem</b>" -msgstr "" -"\t- Écouter des CDs audio et des fichiers musicaux avec <b>KsCD</b> et " -"<b>Totem</b>" - -#: share/advertising/ppp-04.pl:20 share/advertising/pwp-04.pl:20 -#, c-format -msgid "\t- Edit images and photos with <b>The Gimp</b>" -msgstr "\t- Modifiez images et photos avec <b>The Gimp</b>" - -#: share/advertising/ppp-05.pl:13 -#, c-format -msgid "" -"PowerPack+ includes everything needed for developing and creating your own " -"software, including:" -msgstr "" -"PowerPack+ comprend tout ce qui est nécessaire à la conception et à la " -"création de vos propres logiciels, y compris :" - -#: share/advertising/ppp-05.pl:15 share/advertising/pwp-05.pl:16 -#, c-format -msgid "" -"\t- <b>Kdevelop</b>: a full featured, easy to use Integrated Development " -"Environment for C++ programming" -msgstr "" -"\t- <b>Kdevelop</b> : un environnement de développement intégré, doté de " -"toutes les fonctions et facile à utiliser pour la programmation en C++" - -#: share/advertising/ppp-05.pl:16 share/advertising/pwp-05.pl:17 -#, c-format -msgid "\t- <b>GCC</b>: the GNU Compiler Collection" -msgstr "\t- <b>GCC</b> : la suite de compilateurs GNU" - -#: share/advertising/ppp-05.pl:17 share/advertising/pwp-05.pl:18 -#, c-format -msgid "\t- <b>GDB</b>: the GNU Project debugger" -msgstr "\t- <b>GDB</b> : le debogueur du projet GNU" - -#: share/advertising/ppp-05.pl:18 share/advertising/pwp-06.pl:16 -#, c-format -msgid "\t- <b>Emacs</b>: a customizable and real time display editor" -msgstr "" -"\t- <b>Emacs</b> : un editeur à affichage instantané et personalisable à " -"souhait" - -#: share/advertising/ppp-05.pl:19 -#, c-format -msgid "" -"\t- <b>Xemacs</b>: open source text editor and application development system" -msgstr "" -"\t- <b>Xemacs</b> : un éditeur libre et un système de développement de " -"programmes" - -#: share/advertising/ppp-05.pl:20 -#, c-format -msgid "" -"\t- <b>Vim</b>: advanced text editor with more features than standard Vi" -msgstr "" -"\t- <b>Vim</b> : un éditeur de texte avancé comprenant bien plus de " -"fonctions que le Vi standard" - -#: share/advertising/ppp-06.pl:13 -#, c-format -msgid "<b>Discover the full-featured groupware solution!</b>" -msgstr "" -"<b>Découvrez la solution de travail collaboratif dotée de toutes les " -"fonctionnalités !</b>" - -#: share/advertising/ppp-06.pl:15 -#, c-format -msgid "It includes both server and client features for:" -msgstr "Elle comprend des fonctionnalités client et serveur pour :" - -#: share/advertising/ppp-06.pl:16 -#, c-format -msgid "\t- Sending and receiving emails" -msgstr "\t- Envoyer et receoir des courriers électroniques" - -#: share/advertising/ppp-06.pl:17 -#, c-format -msgid "" -"\t- Calendar, Task List, Memos, Contacts, Meeting Request (sending and " -"receiving), Task Requests (sending and receiving)" -msgstr "" -"\t- Gérer votre calendrier, vos listes de choses à faire, vos mémos, vos " -"contacts, les demandes de réunions (envoi et réception), les demandes de " -"travaux (envoi et réception)" - -#: share/advertising/ppp-06.pl:18 -#, c-format -msgid "\t- Address Book (server and client)" -msgstr "\t- Carnet d'adresses (serveur et client)" - -#: share/advertising/ppp-07.pl:13 -#, c-format -msgid "" -"Empower your business network with <b>premier server solutions</b> including:" -msgstr "" -"Musclez votre réseau professionnel avec <b>des solutions serveurs de tout " -"premier plan</b>" - -#: share/advertising/ppp-07.pl:15 -#, c-format -msgid "\t- <b>Samba</b>: File and print services for MS-Windows clients" -msgstr "" -"\t- <b>Samba</b> : le serveur de fichiers et d'impression pour les clients " -"MS-Windows" - -#: share/advertising/ppp-07.pl:16 -#, c-format -msgid "\t- <b>Apache</b>: The most widely used Web server" -msgstr "\t- <b>Apache</b> : Le serveur Web le plus utilisé au monde" - -#: share/advertising/ppp-07.pl:17 -#, c-format -msgid "\t- <b>MySQL</b>: The world's most popular Open Source database" -msgstr "\t- <b>MySQL</b> : La base de données libre la plus populaire" - -#: share/advertising/ppp-07.pl:18 -#, c-format -msgid "" -"\t- <b>CVS</b>: Concurrent Versions System, the dominant open-source network-" -"transparent version control system" -msgstr "" -"\t- <b>CVS</b>: le système de contrôle de versions libre le plus utilisé" - -#: share/advertising/ppp-07.pl:19 -#, c-format -msgid "" -"\t- <b>ProFTPD</b>: the highly configurable GPL-licensed FTP server software" -msgstr "\t- <b>ProFTPD</b> : le serveur FTP libre hautement configurable" - -#: share/advertising/ppp-07.pl:20 -#, c-format -msgid "\t- And others" -msgstr "\t- Et bien d'autres" - -#: share/advertising/pwp-01.pl:17 -#, c-format -msgid "" -"Your new Mandrakelinux distribution is the result of collaborative efforts " -"between MandrakeSoft developers and Mandrakelinux contributors throughout " -"the world." -msgstr "" -"Votre nouvelle distribution Mandrakelinux est le résultat d'une " -"collaboration entre les développeurs Mandrakesoft et les contributeurs " -"Mandrakelinux à travers le monde." - -#: share/advertising/pwp-01.pl:19 -#, c-format -msgid "" -"We would like to thank everyone who participated in the development of our " -"latest release." -msgstr "" -"Nous tenons à remercier tous ceux qui ont participé au développement de " -"notre dernière version." - -#: share/advertising/pwp-02.pl:13 -#, c-format -msgid "<b>PowerPack</b>" -msgstr "<b>PowerPack</b>" - -#: share/advertising/pwp-02.pl:15 -#, c-format -msgid "" -"PowerPack is MandrakeSoft's premier Linux desktop product. In addition to " -"being the easiest and the most user-friendly Linux distribution, PowerPack " -"includes thousands of applications - everything from the most popular to the " -"most technical." -msgstr "" -"PowerPack est le principal produit Linux pour le bureau de Mandrakesoft. " -"PowerPack est non seulement la distribution la plus facile et la plus " -"conviviale, mais en plus, PowerPack comprend des milliers de programmes (de " -"tout, des plus populaires aux plus techniques)." - -#: share/advertising/pwp-04.pl:13 -#, c-format -msgid "" -"In the Mandrakelinux menu you will find easy-to-use applications for all of " -"your tasks:" -msgstr "" -"Dans le menu Mandrakelinux, vous trouverez des programmes faciles à utiliser " -"pour toutes vos tâches :" - -#: share/advertising/pwp-04.pl:16 -#, c-format -msgid "" -"\t- Take charge of your personal data with the integrated personal " -"information suites <b>Kontact</b> and <b>Evolution</b>" -msgstr "" -"\t- Gérez vos données personnelles avec les suites d'informations " -"personnelles : <b>Kontact</b> et <b>Evolution</b>." - -#: share/advertising/pwp-04.pl:17 -#, c-format -msgid "\t- Browse the Web with <b>Mozilla</b> and <b>Konqueror</b>" -msgstr "\t- Consultez des sites Web avec <b>Mozilla</b> et <b>Konqueror</b>" - -#: share/advertising/pwp-04.pl:19 -#, c-format -msgid "\t- Listen to audio CDs and music files with KsCD and <b>Totem</b>" -msgstr "" -"\t- Écouter des CDs audio et des fichiers musicaux avec KsCD et <b>Totem</b>" - -#: share/advertising/pwp-05.pl:13 share/advertising/pwp-06.pl:13 -#, c-format -msgid "<b>Development tools</b>" -msgstr "<b>Outils de développement</b>" - -#: share/advertising/pwp-05.pl:15 -#, c-format -msgid "" -"PowerPack includes everything needed for developing and creating your own " -"software, including:" -msgstr "" -"PowerPack comprend tout ce qui est nécessaire à la conception et à la " -"création de vos propres logiciels, y compris :" - -#: share/advertising/pwp-06.pl:15 -#, c-format -msgid "And of course the editors!" -msgstr "Et bien sur, les éditeurs !" - -#: share/advertising/pwp-06.pl:17 -#, c-format -msgid "" -"\t- <b>Xemacs</b>: another open source text editor and application " -"development system" -msgstr "" -"\t- <b>Xemacs</b> : un éditeur libre et un système de développement de " -"programmes" - -#: share/advertising/pwp-06.pl:18 -#, c-format -msgid "" -"\t- <b>Vim</b>: an advanced text editor with more features than standard Vi" -msgstr "" -"\t- <b>Vim</b> : un éditeur de texte avancé comprenant bien plus de " -"fonctionnalites par rapport au Vi standard" - -#: standalone.pm:21 -#, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, " -"USA.\n" - -#: standalone.pm:40 -#, 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:52 -#, 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 theme du démarrage\n" -"mode par défaut : configurer la connexion automatique" - -#: standalone.pm:57 -#, c-format -msgid "" -"[OPTIONS] [PROGRAM_NAME]\n" -"\n" -"OPTIONS:\n" -" --help - print this help message.\n" -" --report - program should be one of mandrake tools\n" -" --incident - program should be one of mandrake tools" -msgstr "" -"[OPTIONS] [NOM_PROGRAMME]\n" -"\n" -"OPTIONS:\n" -" --help - affiche ce message.\n" -" --report - le programme doit être un outil mandrake\n" -" --incident - le programme doit être un outil mandrake" - -#: standalone.pm:63 -#, 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 « destruction d'une interface réseau » \n" -" --skip-wizard - gestion des connections\n" -" --internet - configurer internet\n" -" --wizard - comme --add" - -#: standalone.pm:69 -#, 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 directry.\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 " -"caratè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 appli)." - -#: standalone.pm:84 -#, c-format -msgid "" -"[OPTIONS]...\n" -"Mandrake 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 Mandrake 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:96 -#, c-format -msgid "[keyboard]" -msgstr "[clavier]" - -#: standalone.pm:97 -#, c-format -msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]" -msgstr "[--file=monfichier] [--word=monmot] [--explain=regexp] [--alert]" - -#: standalone.pm:98 -#, 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 : don't 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:107 -#, c-format -msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]" -msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]" - -#: standalone.pm:108 -#, c-format -msgid "" -"[OPTION]...\n" -" --no-confirmation don't ask first confirmation question in " -"MandrakeUpdate mode\n" -" --no-verify-rpm don't 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 " -"MandrakeUpdate\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" - -#: standalone.pm:113 -#, 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]" - -#: standalone.pm:114 -#, c-format -msgid "" -" [everything]\n" -" XFdrake [--noauto] monitor\n" -" XFdrake resolution" -msgstr "" -" [everything]\n" -" XFdrake [--noauto] monitor\n" -" XFdrake resolution" - -#: standalone.pm:128 -#, 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] " - -#: standalone/XFdrake:87 -#, 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" - -#: standalone/XFdrake:91 -#, 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" - -#: standalone/drakTermServ:77 -#, c-format -msgid "Useless without Terminal Server" -msgstr "Inutilisable sans Serveur de Terminal" - -#: standalone/drakTermServ:114 standalone/drakTermServ:121 -#, c-format -msgid "%s: %s requires a username...\n" -msgstr "%s: %s nécessite un nom d'utilisateur...\n" - -#: standalone/drakTermServ:134 -#, c-format -msgid "" -"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, " -"0/1 for Local Config...\n" -msgstr "" -"%s: %s a besoin du nom de domaine, de l'adresse MAC, de l'IP, de la nbi-" -"image, 0/1 pour Client Léger, 0/1 pour Config Locale...\n" - -#: standalone/drakTermServ:141 -#, c-format -msgid "%s: %s requires hostname...\n" -msgstr "%s: %s nécessite un nom d'hôte...\n" - -#: standalone/drakTermServ:153 -#, c-format -msgid "You must be root to read configuration file. \n" -msgstr "" -"Vous devez être root afin de pouvoir consulter le fichier de " -"configuration. \n" - -#: standalone/drakTermServ:238 standalone/drakTermServ:512 -#: standalone/drakfont:575 -#, c-format -msgid "OK" -msgstr "OK" - -#: standalone/drakTermServ:249 standalone/drakTermServ:252 -#, c-format -msgid "Terminal Server Configuration" -msgstr "Configuration du Serveur de Terminaux" - -#: standalone/drakTermServ:267 -#, c-format -msgid "Enable Server" -msgstr "Activer le serveur" - -#: standalone/drakTermServ:273 -#, c-format -msgid "Disable Server" -msgstr "Désactiver le serveur" - -#: standalone/drakTermServ:281 -#, c-format -msgid "Start Server" -msgstr "Lancer le serveur" - -#: standalone/drakTermServ:287 -#, c-format -msgid "Stop Server" -msgstr "Arrêter le serveur" - -#: standalone/drakTermServ:295 -#, c-format -msgid "Etherboot Floppy/ISO" -msgstr "disquette/ISO etherboot" - -#: standalone/drakTermServ:299 -#, c-format -msgid "Net Boot Images" -msgstr "Images d'amorçage réseau" - -#: standalone/drakTermServ:305 -#, c-format -msgid "Add/Del Users" -msgstr "Ajouter/Effacer un utilisateur" - -#: standalone/drakTermServ:309 -#, c-format -msgid "Add/Del Clients" -msgstr "Ajouter/Effacer un client" - -#: standalone/drakTermServ:320 standalone/drakbug:54 -#, c-format -msgid "First Time Wizard" -msgstr "Assistant de première connexion" - -#: standalone/drakTermServ:352 standalone/drakTermServ:353 -#, c-format -msgid "%s defined as dm, adding gdm user to /etc/passwd$$CLIENT$$" -msgstr "" -"%s est défini comme étant le dm, ajout de l'utilisateur gdm a /etc/passwd$" -"$CLIENT$$" - -#: standalone/drakTermServ:359 -#, c-format -msgid "" -"\n" -" This wizard routine will:\n" -" \t1) Ask you to select either 'thin' or 'fat' clients.\n" -"\t2) Setup dhcp.\n" -"\t\n" -"After doing these steps, the wizard will:\n" -"\t\n" -" a) Make all " -"nbis. \n" -" b) Activate the " -"server. \n" -" c) Start the " -"server. \n" -" d) Synchronize the shadow files so that all users, including root, \n" -" are added to the shadow$$CLIENT$$ " -"file. \n" -" e) Ask you to make a boot floppy.\n" -" f) If it's thin clients, ask if you want to restart KDM.\n" -msgstr "" -"\n" -"Cet assistant va :\n" -"\t1) vous demander de sélectionner ou bien le type de client : « léger » ou " -"« lourd ».\n" -"\t2) configurer dhcp\n" -"\t\n" -"Une fois ces étapes franchies, l'assistant va : \n" -" a) générer tous les nbis\n" -" b) activer le serveur\n" -" c) lancer le serveur\n" -" d) synchroniser les fichiers shadow afin que tous les\n" -" utilisateurs, y compris root, soient ajoutés au shadow$$CLIENT$$.\n" -" e) vous proposer de créer une disquette de démarrage\n" -" f) vous proposera de redémarrer KDM s'il s'agit d'un client léger.\n" - -#: standalone/drakTermServ:404 -#, c-format -msgid "Cancel Wizard" -msgstr "Annuler l'assistant" - -#: standalone/drakTermServ:416 -#, c-format -msgid "Please save dhcpd config!" -msgstr "Veuillez sauvegarder la configuration de dhcpd !" - -#: standalone/drakTermServ:444 -#, c-format -msgid "Use thin clients." -msgstr "Utiliser les client légers." - -#: standalone/drakTermServ:446 -#, c-format -msgid "" -"Please select default client type.\n" -" 'Thin' clients run everything off the server's CPU/RAM, using the client " -"display.\n" -" 'Fat' clients use their own CPU/RAM but the server's filesystem." -msgstr "" - -#: standalone/drakTermServ:458 standalone/drakTermServ:1072 -#, c-format -msgid "Sync client X keyboard settings with server." -msgstr "" - -#: standalone/drakTermServ:465 -#, c-format -msgid "Creating net boot images for all kernels" -msgstr "Création des images de démarrage réseau pour tous les noyaux" - -#: standalone/drakTermServ:466 standalone/drakTermServ:764 -#: standalone/drakTermServ:780 -#, c-format -msgid "This will take a few minutes." -msgstr "Cela va prendre quelques minutes." - -#: standalone/drakTermServ:470 standalone/drakTermServ:490 -#, c-format -msgid "Done!" -msgstr "Terminé!" - -#: standalone/drakTermServ:476 -#, c-format -msgid "Syncing server user list with client list, including root." -msgstr "" - -#: standalone/drakTermServ:496 -#, c-format -msgid "" -"In order to enable changes made for thin clients, the display manager must " -"be restarted. Restart now?" -msgstr "" - -#: standalone/drakTermServ:531 -#, c-format -msgid "Terminal Server Overview" -msgstr "Survol du Serveur de Terminaux" - -#: standalone/drakTermServ:532 -#, c-format -msgid "" -" - Create Etherboot Enabled Boot Images:\n" -" \tTo boot a kernel via etherboot, a special kernel/initrd image must " -"be created.\n" -" \tmkinitrd-net does much of this work and drakTermServ is just a " -"graphical \n" -" \tinterface to help manage/customize these images. To create the " -"file \n" -" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an " -"include in \n" -" \tdhcpd.conf, you should create the etherboot images for at least " -"one full kernel." -msgstr "" -" - Créer des images d'amorçage Etherboot :\n" -" \tPour amorcer un noyau par etherboot, un noyau et un initrd " -"spéciaux doivent être créés.\n" -" \t\tmkinitrd-net fait une grande partie de ce travail et " -"drakTermServ est simplement une interface graphique\n" -" \t\tpour aider à gérer et personnaliser ces images.\n" -" \t\tPour créer le fichier /etc/dhcpd.conf.etherboot-pcimap.include\n" -" \t\tqui est inclus dans dhcpd.conf, vous devriez créer les images\n" -" \t\tEtherboot pour au moins un noyau complet." - -#: standalone/drakTermServ:538 -#, c-format -msgid "" -" - Maintain /etc/dhcpd.conf:\n" -" \tTo net boot clients, each client needs a dhcpd.conf entry, " -"assigning an IP \n" -" \taddress and net boot images to the machine. drakTermServ helps " -"create/remove \n" -" \tthese entries.\n" -"\t\t\t\n" -" \t(PCI cards may omit the image - etherboot will request the correct " -"image. \n" -"\t\t\tYou should also consider that when etherboot looks for the images, it " -"expects \n" -"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n" -"\t\t\t \n" -" \tA typical dhcpd.conf stanza to support a diskless client looks " -"like:" -msgstr "" -" - Maintenir /etc/dhcpd.conf :\n" -" \t\tPour pouvoir être amorcé par le réseau, chaque client a besoin " -"d'une entrée dans le fichier dhcpd.conf, pour lui assigner une adresse IP\n" -" \t\tet des images d'amorçage. drakTermServ permet de créer ou " -"retirer ces entrées.\n" -"\t\t\t\n" -" \t\t(Les cartes PCI peuvent omettre l'image, etherboot demandera " -"l'image correcte. Il faut aussi\n" -" \t\ttenir compte du fait que quand etherboot cherche des images, il " -"s'attend à trouver des noms comme\n" -" \t\tboot-3c59x.nbi, plutôt que boot-3c59x.2.4.19-16mdk.nbi).\n" -"\t\t\t \n" -" \t\tUne strophe habituelle de dhcpd.conf pour le support d'un client " -"léger ressemble à  :" - -#: standalone/drakTermServ:556 -#, c-format -msgid "" -" While you can use a pool of IP addresses, rather than setup a " -"specific entry for\n" -" a client machine, using a fixed address scheme facilitates using the " -"functionality\n" -" of client-specific configuration files that ClusterNFS provides.\n" -"\t\t\t\n" -" Note: The '#type' entry is only used by drakTermServ. Clients can " -"either be 'thin'\n" -" or 'fat'. Thin clients run most software on the server via xdmcp, " -"while fat clients run \n" -" most software on the client machine. A special inittab, %s is\n" -" written for thin clients. System config files xdm-config, kdmrc, and " -"gdm.conf are \n" -" modified if thin clients are used, to enable xdmcp. Since there are " -"security issues in \n" -" using xdmcp, hosts.deny and hosts.allow are modified to limit access " -"to the local\n" -" subnet.\n" -"\t\t\t\n" -" Note: The '#hdw_config' entry is also only used by drakTermServ. " -"Clients can either \n" -" be 'true' or 'false'. 'true' enables root login at the client " -"machine and allows local \n" -" hardware configuration of sound, mouse, and X, using the 'drak' " -"tools. This is enabled \n" -" by creating separate config files associated with the client's IP " -"address and creating \n" -" read/write mount points to allow the client to alter the file. Once " -"you are satisfied \n" -" with the configuration, you can remove root login privileges from " -"the client.\n" -"\t\t\t\n" -" Note: You must stop/start the server after adding or changing " -"clients." -msgstr "" -"\t\t\tBien que vous pouvez utiliser une plage d'adresses IP plutôt qu'une " -"entrée\n" -"\t\t\tspécifique pour chaque machine client, l'utilisation d'adresses fixes " -"permet de profiter\n" -"\t\t\tde configurations séparées par client pour les fonctions que fournit " -"ClusterNFS.\n" -"\t\t\t\t\t\tRemarque : L'entrée « #type » est utilisée seulement par " -"drakTermServ. Les clients peuvent être soit\n" -"\t\t\t« légers », soit « lourd ». Les clients légers font tourner la plupart " -"des logiciels sur le serveur via xdmcp, \n" -"\t\t\ttandis que les clients lourds font tourner eux-mêmes leurs logiciels. " -"Un fichier inittab spécial, %s est\n" -"\t\t\técrit pour les clients légers. Les fichiers de configuration système " -"xdm-config, kdmrc, et gdm.conf sont modifiés\n" -"\t\t\tsi des clients légers sont utilisés, pour pouvoir activer xdmcp. Étant " -"donné que xdmcp pose des problèmes de sécurité,\n" -"\t\t\tles fichiers hosts.deny et hosts.allow sont modifiés pour limiter " -"l'accès au sous-réseau local.\n" -"\t\t\t\n" -"\t\t\tRemarque : vous devez redémarrer le serveur après avoir ajouté ou " -"modifié des clients." - -#: standalone/drakTermServ:576 -#, c-format -msgid "" -" - Maintain /etc/exports:\n" -" \tClusternfs allows export of the root filesystem to diskless " -"clients. drakTermServ\n" -" \tsets up the correct entry to allow anonymous access to the root " -"filesystem from\n" -" \tdiskless clients.\n" -"\n" -" \tA typical exports entry for clusternfs is:\n" -" \t\t\n" -" \t/\t\t\t\t\t(ro,all_squash)\n" -" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n" -"\t\t\t\n" -" \tWith SUBNET/MASK being defined for your network." -msgstr "" -" - Maintenir /etc/exports :\n" -" \t\tClusternfs permet d'exporter la partition racine (/) vers les " -"clients légers. drakTermServ fait les\n" -" \t\tmodifications nécessaires pour autoriser les clients légers à y " -"accéder de façon anonyme.\n" -"\n" -" \t\tUne entrée typique dans ce fichier est :\n" -" \t\t\n" -" \t/\t\t\t\t\t(ro,all_squash)\n" -" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n" -"\t\t\t\n" -"\t\t\tAvec SUBNET/MASK défini pour votre réseau." - -#: standalone/drakTermServ:588 -#, c-format -msgid "" -" - Maintain %s:\n" -" \tFor users to be able to log into the system from a diskless " -"client, their entry in\n" -" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n" -" \thelps in this respect by adding or removing system users from this " -"file." -msgstr "" -" - Maintenir %s :\n" -" \t\tPour que les utilisateurs puissent se connecter au système à " -"partir d'un client léger, l'entrée leur correspondant\n" -" \t\tdans /etc/shadow doit être dupliquée dans %s.\n" -" \t\tDrakTermServ permet à cet effet d'ajouter ou de retirer des " -"utilisateurs de ce fichier." - -#: standalone/drakTermServ:592 -#, c-format -msgid "" -" - Per client %s:\n" -" \tThrough clusternfs, each diskless client can have its own unique " -"configuration files\n" -" \ton the root filesystem of the server. By allowing local client " -"hardware configuration, \n" -" \tdrakTermServ will help create these files." -msgstr "" -" - Fichier par client %s :\n" -" \t\tAvec clusternfs, chaque client léger peut avoir son propre " -"fichier de configuration unique\n" -" \t\tsur la partition racine du serveur. DrakTermServ permettra plus " -"tard de créer ces fichiers." - -#: standalone/drakTermServ:597 -#, c-format -msgid "" -" - Per client system configuration files:\n" -" \tThrough clusternfs, each diskless client can have its own unique " -"configuration files\n" -" \ton the root filesystem of the server. By allowing local client " -"hardware configuration, \n" -" \tclients can customize files such as /etc/modules.conf, /etc/" -"sysconfig/mouse, \n" -" \t/etc/sysconfig/keyboard on a per-client basis.\n" -"\n" -" Note: Enabling local client hardware configuration does enable root " -"login to the terminal \n" -" server on each client machine that has this feature enabled. Local " -"configuration can be\n" -" turned back off, retaining the configuration files, once the client " -"machine is configured." -msgstr "" -" - Fichiers de configuration système par client :\n" -" \tAvec clusternfs, chaque client léger peut avoir ses propres " -"fichiers de configuration\n" -" \tsur la partition racine du serveur. En permettant la configuration " -"matérielle locale,\n" -"\tles clients peuvent personnaliser des fichiers comme /etc/modules.conf,\n" -" \t/etc/sysconfig/mouse, /etc/sysconfig/keyboard, de façon séparée " -"pour chaque client.\n" -"\n" -" Note : activer la configuration matérielle locale ne permet pas la " -"connexion en root sur\n" -" le serveur terminal de chaque machine cliente sur laquelle ce " -"paramètre est activé.\n" -" La configuration locale peut être à nouveau désactivée, en " -"conservant les fichers de\n" -" configuration, une fois que la machine cliente est configurée." - -#: standalone/drakTermServ:606 -#, c-format -msgid "" -" - /etc/xinetd.d/tftp:\n" -" \tdrakTermServ will configure this file to work in conjunction with " -"the images created\n" -" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up " -"the boot image to \n" -" \teach diskless client.\n" -"\n" -" \tA typical tftp configuration file looks like:\n" -" \t\t\n" -" \tservice tftp\n" -"\t\t\t{\n" -" disable = no\n" -" socket_type = dgram\n" -" protocol = udp\n" -" wait = yes\n" -" user = root\n" -" server = /usr/sbin/in.tftpd\n" -" server_args = -s /var/lib/tftpboot\n" -" \t}\n" -" \t\t\n" -" \tThe changes here from the default installation are changing the " -"disable flag to\n" -" \t'no' and changing the directory path to /var/lib/tftpboot, where " -"mkinitrd-net\n" -" \tputs its images." -msgstr "" -" - /etc/xinetd.d/tftp :\n" -" \t\tDrakTermServ peut configurer ces fichiers pour fonctionner en " -"conjonction avec les images crées par mkinitrd-net,\n" -" \t\tet les entrées dans /etc/dhcpd.conf pour mettre les images " -"d'amorçage à disposition des clients légers.\n" -"\n" -" \t\tUn fichier de configuration typique ressemble à ceci :\n" -" \t\t\n" -" \tservice tftp\n" -"\t\t\t{\n" -" disable = no\n" -" socket_type = dgram\n" -" protocol = udp\n" -" wait = yes\n" -" user = root\n" -" server = /usr/sbin/in.tftpd\n" -" server_args = -s /var/lib/tftpboot\n" -" \t}\n" -" \t\t\n" -" \t\tIci les différences par rapport à l'installation par défaut sont " -"le drapeau 'disable' mis à 'no'\n" -" \t\tet le chemin d'accès à tftpboot mis à « /var/lib/tftpboot », où " -"mkinitrd-net place ses images." - -#: standalone/drakTermServ:627 -#, c-format -msgid "" -" - Create etherboot floppies/CDs:\n" -" \tThe diskless client machines need either ROM images on the NIC, or " -"a boot floppy\n" -" \tor CD to initate the boot sequence. drakTermServ will help " -"generate these\n" -" \timages, based on the NIC in the client machine.\n" -" \t\t\n" -" \tA basic example of creating a boot floppy for a 3Com 3c509 " -"manually:\n" -" \t\t\n" -" \tcat /usr/lib/etherboot/floppyload.bin \\\n" -" \t\t/usr/share/etherboot/start16.bin \\\t\t\t\n" -" \t\t/usr/lib/etherboot/zimg/3c509.zimg > /dev/fd0" -msgstr "" -" - Créer des disquettes ou CD etherboot :\n" -" \t\tLes clients légers ont besoin d'une image d'amorçage placée sur " -"la mémoire morte (ROM) de la carte réseau,\n" -" \t\tou bien d'un CD ou d'une disquette pour initier la séquence " -"d'amorçage. drakTermServ permet de générer ces images,\n" -" \t\tbasées sur les cartes réseau des machines clientes.\n" -" \t\t\n" -" \t\tUn exemple simple de création manuelle de disquette d'amorçage " -"pour une carte 3Com 3c509 consiste à taper :\n" -" \t\t\n" -" \tcat /usr/lib/etherboot/boot1a.bin \\\n" -" \t\t/usr/share/etherboot/start16.bin \\\n" -" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0" - -#: standalone/drakTermServ:662 -#, c-format -msgid "Boot Floppy" -msgstr "Disquette de démarrage" - -#: standalone/drakTermServ:664 -#, c-format -msgid "Boot ISO" -msgstr "Image ISO de démarrage" - -#: standalone/drakTermServ:666 -#, c-format -msgid "PXE Image" -msgstr "Image PXE" - -#: standalone/drakTermServ:735 -#, c-format -msgid "Default kernel version" -msgstr "Version du noyau par défaut" - -#: standalone/drakTermServ:762 -#, c-format -msgid "Build Whole Kernel -->" -msgstr "Construire le noyau entier -->" - -#: standalone/drakTermServ:769 -#, c-format -msgid "No kernel selected!" -msgstr "Aucun noyau sélectionné !" - -#: standalone/drakTermServ:772 -#, c-format -msgid "Build Single NIC -->" -msgstr "Construire un NIC unique -->" - -#: standalone/drakTermServ:776 -#, c-format -msgid "No NIC selected!" -msgstr "Aucune interface réseau sélectionnée !" - -#: standalone/drakTermServ:779 -#, c-format -msgid "Build All Kernels -->" -msgstr "Construire tous les noyaux -->" - -#: standalone/drakTermServ:787 -#, c-format -msgid "<-- Delete" -msgstr "<-- Effacer" - -#: standalone/drakTermServ:794 -#, c-format -msgid "Delete All NBIs" -msgstr "Effacer toutes les NBI" - -#: standalone/drakTermServ:881 -#, c-format -msgid "" -"!!! Indicates the password in the system database is different than\n" -" the one in the Terminal Server database.\n" -"Delete/re-add the user to the Terminal Server to enable login." -msgstr "" -"!!! Ceci indique que le mot de passe connu par le système est différent de " -"celui\n" -"connu par le Terminal Server. Effacez et ajoutez à nouveau l'utilisateur\n" -"au Terminal Server pour permettre la connexion." - -#: standalone/drakTermServ:886 -#, c-format -msgid "Add User -->" -msgstr "Ajouter un utilisateur -->" - -#: standalone/drakTermServ:892 -#, c-format -msgid "<-- Del User" -msgstr "<-- Effacer un utilisateur" - -#: standalone/drakTermServ:928 -#, c-format -msgid "type: %s" -msgstr "type : %s" - -#: standalone/drakTermServ:932 -#, c-format -msgid "local config: %s" -msgstr "configuration locale: %s" - -#: standalone/drakTermServ:962 -#, c-format -msgid "" -"Allow local hardware\n" -"configuration." -msgstr "" -"Permettre une configuration\n" -"matérielle locale." - -#: standalone/drakTermServ:971 -#, c-format -msgid "No net boot images created!" -msgstr "Aucune image d'amorçage réseau créée" - -#: standalone/drakTermServ:989 -#, c-format -msgid "Thin Client" -msgstr "Client léger" - -#: standalone/drakTermServ:993 -#, c-format -msgid "Allow Thin Clients" -msgstr "Autoriser les client légers" - -#: standalone/drakTermServ:994 -#, c-format -msgid "Add Client -->" -msgstr "Ajouter un client -->" - -#: standalone/drakTermServ:1008 -#, c-format -msgid "type: fat" -msgstr "type : lourd" - -#: standalone/drakTermServ:1009 -#, c-format -msgid "type: thin" -msgstr "type : léger" - -#: standalone/drakTermServ:1016 -#, c-format -msgid "local config: false" -msgstr "fichiers locaux: non" - -#: standalone/drakTermServ:1017 -#, c-format -msgid "local config: true" -msgstr "configuration locale: oui" - -#: standalone/drakTermServ:1025 -#, c-format -msgid "<-- Edit Client" -msgstr "<-- Modifier un client" - -#: standalone/drakTermServ:1051 -#, c-format -msgid "Disable Local Config" -msgstr "Désactive la Configuration Locale" - -#: standalone/drakTermServ:1058 -#, c-format -msgid "Delete Client" -msgstr "Effacer un client" - -#: standalone/drakTermServ:1067 -#, c-format -msgid "dhcpd Config..." -msgstr "Configuration de dhcpd..." - -#: standalone/drakTermServ:1083 -#, c-format -msgid "" -"Need to restart the Display Manager for full changes to take effect. \n" -"(service dm restart - at the console)" -msgstr "" -"Le gestionnaire de connexion doit être redémarré pour que les changements\n" -"prennent tous effet. (« service dm restart » dans une console)" - -#: standalone/drakTermServ:1123 -#, c-format -msgid "Thin clients won't work with autologin. Disable autologin?" -msgstr "" -"Les clients légers ne fonctionnent pas avec autologin. Désactiver autologin ?" - -#: standalone/drakTermServ:1139 -#, c-format -msgid "All clients will use %s" -msgstr "Tous les clients utiliseront %s" - -#: standalone/drakTermServ:1169 -#, c-format -msgid "Subnet:" -msgstr "Sous-réseau :" - -#: standalone/drakTermServ:1176 -#, c-format -msgid "Netmask:" -msgstr "Masque de réseau :" - -#: standalone/drakTermServ:1183 -#, c-format -msgid "Routers:" -msgstr "Routeurs :" - -#: standalone/drakTermServ:1190 -#, c-format -msgid "Subnet Mask:" -msgstr "Masque de sous-réseau :" - -#: standalone/drakTermServ:1197 -#, c-format -msgid "Broadcast Address:" -msgstr "Adresse de diffusion (broadcast) :" - -#: standalone/drakTermServ:1204 -#, c-format -msgid "Domain Name:" -msgstr "Nom de domaine :" - -#: standalone/drakTermServ:1212 -#, c-format -msgid "Name Servers:" -msgstr "Serveurs de nom :" - -#: standalone/drakTermServ:1223 -#, c-format -msgid "IP Range Start:" -msgstr "Début de la plage d'adresses IP :" - -#: standalone/drakTermServ:1224 -#, c-format -msgid "IP Range End:" -msgstr "Fin de la plage d'adresses IP :" - -#: standalone/drakTermServ:1276 -#, c-format -msgid "dhcpd Server Configuration" -msgstr "Configuration du serveur dhcpd" - -#: standalone/drakTermServ:1277 -#, c-format -msgid "" -"Most of these values were extracted\n" -"from your running system.\n" -"You can modify as needed." -msgstr "" -"La plupart de ces valeurs ont été extraites\n" -"de votre système. Vous pouvez les modifier\n" -"comme vous le souhaitez." - -#: standalone/drakTermServ:1280 -#, c-format -msgid "Dynamic IP Address Pool:" -msgstr "Plages d'adresses IP dynamiques" - -#: standalone/drakTermServ:1293 -#, c-format -msgid "Write Config" -msgstr "Écrire la configuration" - -#: standalone/drakTermServ:1412 -#, c-format -msgid "Please insert floppy disk:" -msgstr "Veuillez insérer une disquette dans le lecteur" - -#: standalone/drakTermServ:1416 -#, c-format -msgid "Couldn't access the floppy!" -msgstr "Impossible d'accéder à la disquette !" - -#: standalone/drakTermServ:1418 -#, c-format -msgid "Floppy can be removed now" -msgstr "La disquette peut maintenant être retirée du lecteur" - -#: standalone/drakTermServ:1421 -#, c-format -msgid "No floppy drive available!" -msgstr "Aucun lecteur de disquette disponible !" - -#: standalone/drakTermServ:1426 -#, c-format -msgid "PXE image is %s/%s" -msgstr "L'image PXE est %s/%s" - -#: standalone/drakTermServ:1428 -#, c-format -msgid "Error writing %s/%s" -msgstr "Erreur d'écriture %s/%s" - -#: standalone/drakTermServ:1437 -#, c-format -msgid "Etherboot ISO image is %s" -msgstr "L'image ISO etherboot est %s" - -#: standalone/drakTermServ:1439 -#, c-format -msgid "Something went wrong! - Is mkisofs installed?" -msgstr "Quelque chose s'est mal passé ! mkisofs est-il bien installé ?" - -#: standalone/drakTermServ:1459 -#, c-format -msgid "Need to create /etc/dhcpd.conf first!" -msgstr "Il faut d'abord créer /etc/dhcpd.conf !" - -#: standalone/drakTermServ:1620 -#, c-format -msgid "%s passwd bad in Terminal Server - rewriting...\n" -msgstr "mauvais mot de passe %s dans Terminal Server - réécriture...\n" - -#: standalone/drakTermServ:1638 -#, c-format -msgid "%s is not a user..\n" -msgstr "%s n'est pas un utilisateur ...\n" - -#: standalone/drakTermServ:1639 -#, c-format -msgid "%s is already a Terminal Server user\n" -msgstr "%s est déja un utilisateur du Serveur de Terminal\n" - -#: standalone/drakTermServ:1641 -#, c-format -msgid "Addition of %s to Terminal Server failed!\n" -msgstr "L'ajout de %s au Serveur de Terminaux a échoué !\n" - -#: standalone/drakTermServ:1643 -#, c-format -msgid "%s added to Terminal Server\n" -msgstr "%s a été ajouté au Serveur de Terminal\n" - -#: standalone/drakTermServ:1695 -#, c-format -msgid "Deleted %s...\n" -msgstr "%s effacé...\n" - -#: standalone/drakTermServ:1697 standalone/drakTermServ:1774 -#, c-format -msgid "%s not found...\n" -msgstr "%s introuvable...\n" - -#: standalone/drakTermServ:1719 standalone/drakTermServ:1720 -#: standalone/drakTermServ:1721 -#, c-format -msgid "%s already in use\n" -msgstr "%s est déja utilisé\n" - -#: standalone/drakTermServ:1745 -#, c-format -msgid "Can't open %s!" -msgstr "Ne peut ouvrir %s !" - -#: standalone/drakTermServ:1802 -#, c-format -msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed" -msgstr "" -"/etc/hosts.allow et /etc/hosts.deny déjà configurés. Aucune modification" - -#: standalone/drakTermServ:1959 -#, c-format -msgid "Configuration changed - restart clusternfs/dhcpd?" -msgstr "La configuration a été modifiée. Relancer clusternfs/dhcpd ?" - -#: standalone/drakautoinst:38 -#, c-format -msgid "Error!" -msgstr "Erreur !" - -#: standalone/drakautoinst:39 -#, c-format -msgid "I can't find needed image file `%s'." -msgstr "Impossible de trouver le fichier image « %s »." - -#: standalone/drakautoinst:41 -#, c-format -msgid "Auto Install Configurator" -msgstr "Configurateur d'installation automatisée" - -#: standalone/drakautoinst:42 -#, c-format -msgid "" -"You are about to configure an Auto Install floppy. This feature is somewhat " -"dangerous and must be used circumspectly.\n" -"\n" -"With that feature, you will be able to replay the installation you've " -"performed on this computer, being interactively prompted for some steps, in " -"order to change their values.\n" -"\n" -"For maximum safety, the partitioning and formatting will never be performed " -"automatically, whatever you chose during the install of this computer.\n" -"\n" -"Press ok to continue." -msgstr "" -"Vous êtes sur le point de configurer une disquette d'auto-installation. " -"Cette fonction est relativement dangereuse, et doit donc être utilisée avec " -"précaution.\n" -"\n" -"La disquette d'auto-installation vous permettra d'installer un autre " -"ordinateur avec exactement la même configuration que le vôtre. Mais parmi " -"l'ensemble des étapes d'installation, vous pouvez choisir lesquelles seront " -"complètement automatisées et lesquelles seront manuelles.\n" -"Pour une sûreté maximale, les étapes de partitionnement et de formatage ne " -"seront jamais faites automatiquement, quels que soient les choix que vous " -"aviez fait lors de la première installation de cet ordinateur.\n" -"\n" -"Pressez Ok pour continuer." - -#: standalone/drakautoinst:60 -#, c-format -msgid "replay" -msgstr "rejouer" - -#: standalone/drakautoinst:60 standalone/drakautoinst:69 -#, c-format -msgid "manual" -msgstr "manuel" - -#: standalone/drakautoinst:64 -#, c-format -msgid "Automatic Steps Configuration" -msgstr "Configuration des étapes automatiques" - -#: standalone/drakautoinst:65 -#, c-format -msgid "" -"Please choose for each step whether it will replay like your install, or it " -"will be manual" -msgstr "" -"Veuillez choisir, pour chaque étape, si celle-ci doit être rejouée comme " -"pendant votre installation, ou si elle doit s'effectuer manuellement." - -#: standalone/drakautoinst:77 standalone/drakautoinst:78 -#: standalone/drakautoinst:92 -#, c-format -msgid "Creating auto install floppy" -msgstr "Création de la disquette d'auto-installation" - -#: standalone/drakautoinst:90 -#, c-format -msgid "Insert another blank floppy in drive %s (for drivers disk)" -msgstr "" -"Insérez une autre disquette vierge dans le lecteur %s (pour la disquette des " -"pilotes)" - -#: standalone/drakautoinst:91 -#, c-format -msgid "Creating auto install floppy (drivers disk)" -msgstr "Création de la disquette d'auto-installation (disquette des pilotes)" - -#: standalone/drakautoinst:158 -#, c-format -msgid "" -"\n" -"Welcome.\n" -"\n" -"The parameters of the auto-install are available in the sections on the left" -msgstr "" -"\n" -"Bienvenue.\n" -"\n" -"Les paramètres de l'installation automatique sont disponibles dans les " -"sections sur la gauche." - -#: standalone/drakautoinst:252 standalone/drakgw:598 standalone/drakvpn:902 -#: standalone/scannerdrake:374 -#, c-format -msgid "Congratulations!" -msgstr "Félicitations !" - -#: standalone/drakautoinst:253 -#, c-format -msgid "" -"The floppy has been successfully generated.\n" -"You may now replay your installation." -msgstr "" -"La disquette a été générée avec succès.\n" -"Vous pouvez maintenant rejouer votre installation." - -#: standalone/drakautoinst:289 -#, c-format -msgid "Auto Install" -msgstr "Installation automatique" - -#: standalone/drakautoinst:358 -#, c-format -msgid "Add an item" -msgstr "Ajouter un élément" - -#: standalone/drakautoinst:365 -#, c-format -msgid "Remove the last item" -msgstr "Supprimer le dernier élément" - -#: standalone/drakbackup:88 -#, c-format -msgid "hd" -msgstr "hd" - -#: standalone/drakbackup:88 -#, c-format -msgid "tape" -msgstr "Cartouche" - -#: standalone/drakbackup:112 -#, c-format -msgid "No devices found" -msgstr "Aucun périphérique trouvé" - -#: standalone/drakbackup:154 -#, c-format -msgid "" -"Expect is an extension to the Tcl scripting language that allows interactive " -"sessions without user intervention." -msgstr "" -"Expect est une extension du langage Tcl qui permet d'établir des sessions " -"interactives (FTP, SSH, etc.) sans intervention manuelle." - -#: standalone/drakbackup:155 -#, c-format -msgid "Store the password for this system in drakbackup configuration." -msgstr "" -"Stocke le mot de passe pour ce système dans la configuration DrakBackup" - -#: standalone/drakbackup:156 -#, c-format -msgid "" -"For a multisession CD, only the first session will erase the cdrw. Otherwise " -"the cdrw is erased before each backup." -msgstr "" -"Pour un CD multisession, seulement la première session va effacer le CD/RW. " -"Sinon, le CD/RW est effacé avant chaque sauvegarde." - -#: standalone/drakbackup:157 -#, c-format -msgid "" -"This option will save files that have changed. Exact behavior depends on " -"whether incremental or differential mode is used." -msgstr "" -"Cette option permet de sauver les fichiers qui ont changé. Le comportement " -"exact dépend du mode (différentiel ou incrémental)." - -#: standalone/drakbackup:158 -#, c-format -msgid "" -"Incremental backups only save files that have changed or are new since the " -"last backup." -msgstr "" -"Les sauvegardes incrémentales ne sauvent que les fichiers modifiés ou " -"nouveaux depuis la sauvegarde précédente." - -#: standalone/drakbackup:159 -#, c-format -msgid "" -"Differential backups only save files that have changed or are new since the " -"original 'base' backup." -msgstr "" -"Les sauvegardes différentielles sauvent seulement les fichiers qui ont été " -"modifiés ou ceux qui sont nouveaux depuis la sauvegarde de base." - -#: standalone/drakbackup:160 -#, c-format -msgid "" -"This should be a local user or email addresse that you want the backup " -"results sent to. You will need to define a functioning mail server." -msgstr "" -"Ceci devrait être un nom d'utilisateur local ou une adresses e-mail auxquel " -"vous voulez que soient envoyés les résultats de la sauvegarde. Vous devrez " -"avoir installé sur votre système un logiciel de transfert de mail (MTA)." - -#: standalone/drakbackup:161 -#, c-format -msgid "" -"Files or wildcards listed in a .backupignore file at the top of a directory " -"tree will not be backed up." -msgstr "" -"Les fichiers listés dans le fichier .backupignore, placé au sommet d'une " -"hiérarchie de dossiers, ne seront pas sauvegardés." - -#: standalone/drakbackup:162 -#, c-format -msgid "" -"For backups to other media, files are still created on the hard drive, then " -"moved to the other media. Enabling this option will remove the hard drive " -"tar files after the backup." -msgstr "" -"Pour les sauvegardes vers d'autres supports, les fichiers sont toujours " -"créés sur le disque dur local, puis sont transférés vers le support de " -"sauvegarde. Activer cette option permet d'effacer les fichiers temporaires " -"locaux après la sauvegarde." - -#: standalone/drakbackup:163 -#, c-format -msgid "" -"Some protocols, like rsync, may be configured at the server end. Rather " -"than using a directory path, you would use the 'module' name for the service " -"path." -msgstr "" -"Certains protocoles, comm rsync, peuvent être configurés du côté serveur. Au " -"lieu d'utiliser un chemin de dossier, vous utiliseriez un nom de module pour " -"le chemin du service." - -#: standalone/drakbackup:164 -#, c-format -msgid "" -"Custom allows you to specify your own day and time. The other options use " -"run-parts in /etc/crontab." -msgstr "" -"« Personnalisé » vous permet de spécifier votre propre date et heure. Les " -"autres options utilisent « run-parts » dans /etc/crontab." - -#: standalone/drakbackup:396 -#, c-format -msgid "No media selected for cron operation." -msgstr "Aucun média n'a été sélectionné pour l'opération sur cron." - -#: standalone/drakbackup:400 -#, c-format -msgid "No interval selected for cron operation." -msgstr "Aucun interval n'a été sélectionné pour l'opération sur cron." - -#: standalone/drakbackup:447 -#, fuzzy, c-format -msgid "Interval cron not available as non-root" -msgstr "Cron n'est pas encore disponible en dehors de root." - -#: standalone/drakbackup:532 standalone/logdrake:467 -#, c-format -msgid "\"%s\" neither is a valid email nor is an existing local user!" -msgstr "" -"« %s » n'est ni une adresse de courier valide ni un utilisateur local !" - -#: standalone/drakbackup:536 standalone/logdrake:472 -#, c-format -msgid "" -"\"%s\" is a local user, but you did not select a local smtp, so you must use " -"a complete email address!" -msgstr "" -"« %s » est un utilisateur local mais vous n'avez pas spécifier de serveur " -"SMTP local.\n" -"Vous devez donc utiliser une adresse de courier complète !" - -#: standalone/drakbackup:545 -#, c-format -msgid "Valid user list changed, rewriting config file." -msgstr "Liste d'utilisateurs modifiée. Réécriture du fichier de configuration." - -#: standalone/drakbackup:547 -#, c-format -msgid "Old user list:\n" -msgstr "Ancienne liste d'utilisateurs :\n" - -#: standalone/drakbackup:549 -#, c-format -msgid "New user list:\n" -msgstr "Nouvelle liste d'utilisateurs :\n" - -#: standalone/drakbackup:594 -#, c-format -msgid "" -"\n" -" DrakBackup Report \n" -msgstr "" -"\n" -" Rapport de sauvegarde (DrakBackup) \n" - -#: standalone/drakbackup:595 -#, c-format -msgid "" -"\n" -" DrakBackup Daemon Report\n" -msgstr "" -"\n" -" Rapport du service DrakBackup\n" - -#: standalone/drakbackup:601 -#, c-format -msgid "" -"\n" -" DrakBackup Report Details\n" -"\n" -"\n" -msgstr "" -"\n" -" Détails du rapport de sauvegarde\n" -"\n" -"\n" - -#: standalone/drakbackup:625 standalone/drakbackup:696 -#: standalone/drakbackup:752 -#, c-format -msgid "Total progress" -msgstr "Avancement total :" - -#: standalone/drakbackup:678 -#, c-format -msgid "" -"%s exists, delete?\n" -"\n" -"If you've already done this process you'll probably\n" -" need to purge the entry from authorized_keys on the server." -msgstr "" -"%s existe, l'effacer ? \n" -"\n" -"Si vous avez déjà effectué ce processus, vous devrez probablement\n" -"purger l'entrée des clés autorisées sur le serveur." - -#: standalone/drakbackup:687 -#, c-format -msgid "This may take a moment to generate the keys." -msgstr "Générer les clefs peut prendre un moment." - -#: standalone/drakbackup:694 -#, c-format -msgid "Cannot spawn %s." -msgstr "Impossible de lancer %s." - -#: standalone/drakbackup:711 -#, c-format -msgid "No password prompt on %s at port %s" -msgstr "Pas de demande de mot de passe sur %s à l'entrée %s" - -#: standalone/drakbackup:712 -#, c-format -msgid "Bad password on %s" -msgstr "Mauvais mot de passe sur %s" - -#: standalone/drakbackup:713 -#, c-format -msgid "Permission denied transferring %s to %s" -msgstr "Vous n'avez pas le droit de transférer %s vers %s" - -#: standalone/drakbackup:714 -#, c-format -msgid "Can't find %s on %s" -msgstr "Ne peut trouver %s sur %s" - -#: standalone/drakbackup:718 -#, c-format -msgid "%s not responding" -msgstr "%s ne répond pas" - -#: standalone/drakbackup:722 -#, c-format -msgid "" -"Transfer successful\n" -"You may want to verify you can login to the server with:\n" -"\n" -"ssh -i %s %s@%s\n" -"\n" -"without being prompted for a password." -msgstr "" -"Transfert réussi.\n" -"Vous pouvez vérifier votre mot de passe sur le serveur avec :\n" -"\n" -"ssh -i %s %s@%s\n" -"\n" -"sans qu'il ne soit affiché de demande." - -#: standalone/drakbackup:766 -#, c-format -msgid "WebDAV remote site already in sync!" -msgstr "Le site distant WebDAV est déjà synchronisé !" - -#: standalone/drakbackup:770 -#, c-format -msgid "WebDAV transfer failed!" -msgstr "Échec du transfert WebDAV !" - -#: standalone/drakbackup:791 -#, c-format -msgid "No CD-R/DVD-R in drive!" -msgstr "Il n'y a pas de CDR/DVDR dans le lecteur !" - -#: standalone/drakbackup:795 -#, c-format -msgid "Does not appear to be recordable media!" -msgstr "Cela ne semble pas être un support enregistrable !" - -#: standalone/drakbackup:799 -#, c-format -msgid "Not erasable media!" -msgstr "Ce n'est pas un support effaçable !" - -#: standalone/drakbackup:840 -#, c-format -msgid "This may take a moment to erase the media." -msgstr "Effacer le support peut prendre un moment." - -#: standalone/drakbackup:898 -#, c-format -msgid "Permission problem accessing CD." -msgstr "Vous n'avez pas les droits d'accès au CD." - -#: standalone/drakbackup:925 -#, c-format -msgid "No tape in %s!" -msgstr "Pas de bande dans %s !" - -#: standalone/drakbackup:1025 -#, c-format -msgid "" -"Backup quota exceeded!\n" -"%d MB used vs %d MB allocated." -msgstr "" -"Quota de sauvegarde dépassé !\n" -"%d Mo utilisés contre %d Mo alloués." - -#: standalone/drakbackup:1044 standalone/drakbackup:1077 -#, c-format -msgid "Backup system files..." -msgstr "Sauvegarde des fichiers systèmes..." - -#: standalone/drakbackup:1078 standalone/drakbackup:1119 -#, c-format -msgid "Hard Disk Backup files..." -msgstr "Sauvegarde sur disque dur..." - -#: standalone/drakbackup:1118 -#, c-format -msgid "Backup User files..." -msgstr "Sauvegarde des comptes utilisateurs..." - -#: standalone/drakbackup:1153 -#, c-format -msgid "Backup Other files..." -msgstr "Sauvegarde des autres fichiers..." - -#: standalone/drakbackup:1154 -#, c-format -msgid "Hard Disk Backup Progress..." -msgstr "Sauvegarde sur disque dur..." - -#: standalone/drakbackup:1159 -#, c-format -msgid "No changes to backup!" -msgstr "Pas de changement à sauvegarder !" - -#: standalone/drakbackup:1177 standalone/drakbackup:1201 -#, c-format -msgid "" -"\n" -"Drakbackup activities via %s:\n" -"\n" -msgstr "" -"\n" -"activités de Drakbackup par %s :\n" -"\n" - -#: standalone/drakbackup:1186 -#, c-format -msgid "" -"\n" -" FTP connection problem: It was not possible to send your backup files by " -"FTP.\n" -msgstr "" -"\n" -"Problème de connexion FTP : impossible d'envoyer vos fichiers de sauvegarde " -"par FTP.\n" - -#: standalone/drakbackup:1187 -#, c-format -msgid "" -"Error during sending file via FTP. Please correct your FTP configuration." -msgstr "" -"Erreur pendant l'envoi du fichier par FTP. Veuillez corriger votre " -"configuration FTP" - -#: standalone/drakbackup:1189 -#, c-format -msgid "file list sent by FTP: %s\n" -msgstr "liste des fichiers envoyée par FTP : %s\n" - -#: standalone/drakbackup:1206 -#, c-format -msgid "" -"\n" -"Drakbackup activities via CD:\n" -"\n" -msgstr "" -"\n" -"activités de Drakbackup par CD :\n" -"\n" - -#: standalone/drakbackup:1211 -#, c-format -msgid "" -"\n" -"Drakbackup activities via tape:\n" -"\n" -msgstr "" -"\n" -"activités de Drakbackup par cartouche :\n" -"\n" - -#: standalone/drakbackup:1220 -#, c-format -msgid "Error sending mail. Your report mail was not sent." -msgstr "" -"Impossible d'envoyer un courrier. Votre rapport n'a pas été envoyé par mail." - -#: standalone/drakbackup:1221 -#, c-format -msgid " Error while sending mail. \n" -msgstr "Erreur lors de l'envoi du courrier.\n" - -#: standalone/drakbackup:1249 -#, c-format -msgid "Can't create catalog!" -msgstr "Ne peut créer le catalogue !" - -#: standalone/drakbackup:1455 -#, c-format -msgid "Select the files or directories and click on 'OK'" -msgstr "Sélectionnez les fichiers ou dossiers puis cliquez sur « OK »" - -#: standalone/drakbackup:1484 -#, c-format -msgid "" -"\n" -"Please check all options that you need.\n" -msgstr "" -"\n" -"Veuillez cocher toutes les options dont vous avez besoin.\n" - -#: standalone/drakbackup:1485 -#, c-format -msgid "" -"These options can backup and restore all files in your /etc directory.\n" -msgstr "" -"Ces options peuvent sauvegarder et restaurer\n" -"tous les fichiers du dossier de configuration système « /etc »\n" - -#: standalone/drakbackup:1486 -#, c-format -msgid "Backup your System files. (/etc directory)" -msgstr "Sauvegarder vos fichiers système (dossier /etc)" - -#: standalone/drakbackup:1487 standalone/drakbackup:1551 -#: standalone/drakbackup:1617 -#, c-format -msgid "Use Incremental/Differential Backups (do not replace old backups)" -msgstr "" -"Utiliser des sauvegardes différentielles/incrémentales (ne remplace pas les " -"anciennes sauvegardes)" - -#: standalone/drakbackup:1489 standalone/drakbackup:1553 -#: standalone/drakbackup:1619 -#, c-format -msgid "Use Incremental Backups" -msgstr "Utiliser des sauvegardes incrémentales" - -#: standalone/drakbackup:1489 standalone/drakbackup:1553 -#: standalone/drakbackup:1619 -#, c-format -msgid "Use Differential Backups" -msgstr "Utiliser des sauvegardes différentielles" - -#: standalone/drakbackup:1491 -#, c-format -msgid "Do not include critical files (passwd, group, fstab)" -msgstr "Ne pas inclure les fichiers critiques (passwd, group, fstab)" - -#: standalone/drakbackup:1492 -#, c-format -msgid "" -"With this option you will be able to restore any version\n" -" of your /etc directory." -msgstr "" -"Note : la sauvegarde incrémentale n'écrase pas les anciennes sauvegardes." - -#: standalone/drakbackup:1523 -#, c-format -msgid "Please check all users that you want to include in your backup." -msgstr "Veuillez cocher tous les comptes utilisateurs à sauvegarder" - -#: standalone/drakbackup:1550 -#, c-format -msgid "Do not include the browser cache" -msgstr "Ne pas inclure le cache du navigateur internet (fichiers tampon)" - -#: standalone/drakbackup:1605 standalone/drakfont:656 -#, c-format -msgid "Remove Selected" -msgstr "Supprimer sélection" - -#: standalone/drakbackup:1668 -#, c-format -msgid "Users" -msgstr "Utilisateurs..." - -#: standalone/drakbackup:1688 -#, c-format -msgid "Use network connection to backup" -msgstr "Sauvegarder via le réseau" - -#: standalone/drakbackup:1690 -#, c-format -msgid "Net Method:" -msgstr "Méthode NET :" - -#: standalone/drakbackup:1694 -#, c-format -msgid "Use Expect for SSH" -msgstr "Utiliser Expect pour SSH" - -#: standalone/drakbackup:1695 -#, c-format -msgid "Create/Transfer backup keys for SSH" -msgstr "Créer/Transférer les clés de sauvegardes pour SSH." - -#: standalone/drakbackup:1697 -#, c-format -msgid "Transfer Now" -msgstr "Transfert Maintenant" - -#: standalone/drakbackup:1699 -#, c-format -msgid "Other (not drakbackup) keys in place already" -msgstr "D'autres clefs (pas celles de drakbackup) sont déjà en place" - -#: standalone/drakbackup:1702 -#, c-format -msgid "Host name or IP." -msgstr "Nom d'hôte ou IP." - -#: standalone/drakbackup:1707 -#, c-format -msgid "Directory (or module) to put the backup on this host." -msgstr "Dossier (ou module) où poser la sauvegarde sur cette machine" - -#: standalone/drakbackup:1712 -#, c-format -msgid "Login name" -msgstr "Identifiant de connexion" - -#: standalone/drakbackup:1719 -#, c-format -msgid "Remember this password" -msgstr "Se souvenir du mot de passe" - -#: standalone/drakbackup:1735 -#, c-format -msgid "Need hostname, username and password!" -msgstr "" -"Le nom d'hôte, le nom d'utilisateur et le mot de passe dont nécessaires !" - -#: standalone/drakbackup:1833 -#, c-format -msgid "Use CD-R/DVD-R to backup" -msgstr "Sauvegarder sur CDR (ou DVDR)" - -#: standalone/drakbackup:1836 -#, c-format -msgid "Choose your CD/DVD device" -msgstr "Choisissez votre lecteur CD/DVD" - -#: standalone/drakbackup:1841 -#, c-format -msgid "Choose your CD/DVD media size" -msgstr "Veuillez choisir la taille de votre média CD/DVD" - -#: standalone/drakbackup:1848 -#, c-format -msgid "Multisession CD" -msgstr "CD multisessions" - -#: standalone/drakbackup:1850 -#, c-format -msgid "CDRW media" -msgstr "Média CDRW" - -#: standalone/drakbackup:1856 -#, c-format -msgid "Erase your RW media (1st Session)" -msgstr "Effacer votre support réinscriptible (1ere session)" - -#: standalone/drakbackup:1857 -#, c-format -msgid " Erase Now " -msgstr "Effacer maintenant" - -#: standalone/drakbackup:1863 -#, c-format -msgid "DVD+RW media" -msgstr "Média DVD+RW" - -#: standalone/drakbackup:1865 -#, c-format -msgid "DVD-R media" -msgstr "Média DVD-R" - -#: standalone/drakbackup:1867 -#, c-format -msgid "DVDRAM device" -msgstr "périphérique DVDRAM" - -#: standalone/drakbackup:1898 -#, c-format -msgid "No CD device defined!" -msgstr "Pas de périphérique CD défini !" - -#: standalone/drakbackup:1945 -#, c-format -msgid "Use tape to backup" -msgstr "Sauvegarde sur cartouche" - -#: standalone/drakbackup:1948 -#, c-format -msgid "Device name to use for backup" -msgstr "Nom de périphérique du matériel de sauvegarde" - -#: standalone/drakbackup:1954 -#, c-format -msgid "Don't rewind tape after backup" -msgstr "Ne pas rembobiner la bande après la sauvegarde" - -#: standalone/drakbackup:1960 -#, c-format -msgid "Erase tape before backup" -msgstr "Effacer la cartouche avant la sauvegarde" - -#: standalone/drakbackup:1966 -#, c-format -msgid "Eject tape after the backup" -msgstr "Éjectez la bande une fois la sauvegarde effectuée" - -#: standalone/drakbackup:2033 -#, c-format -msgid "Enter the directory to save to:" -msgstr "Veuillez indiquer le dossier où sauvegarder :" - -#: standalone/drakbackup:2037 -#, c-format -msgid "Directory to save to" -msgstr "Dossier où sauvegarder" - -#: standalone/drakbackup:2042 -#, c-format -msgid "" -"Maximum size\n" -" allowed for Drakbackup (MB)" -msgstr "" -"Taille maximale\n" -" permise à Drakbackup (Mo)" - -#: standalone/drakbackup:2106 -#, c-format -msgid "CD-R / DVD-R" -msgstr "CD-Rom / DVD" - -#: standalone/drakbackup:2111 -#, c-format -msgid "HardDrive / NFS" -msgstr "Dans un dossier (local ou partagé)..." - -#: standalone/drakbackup:2127 standalone/drakbackup:2132 -#: standalone/drakbackup:2137 -#, c-format -msgid "hourly" -msgstr "toutes les heures" - -#: standalone/drakbackup:2128 standalone/drakbackup:2133 -#: standalone/drakbackup:2137 -#, c-format -msgid "daily" -msgstr "tous les jours" - -#: standalone/drakbackup:2129 standalone/drakbackup:2134 -#: standalone/drakbackup:2137 -#, c-format -msgid "weekly" -msgstr "toutes les semaines" - -#: standalone/drakbackup:2130 standalone/drakbackup:2135 -#: standalone/drakbackup:2137 -#, c-format -msgid "monthly" -msgstr "tous les mois" - -#: standalone/drakbackup:2131 standalone/drakbackup:2136 -#: standalone/drakbackup:2137 -#, c-format -msgid "custom" -msgstr "personnalisé" - -#: standalone/drakbackup:2142 -#, c-format -msgid "January" -msgstr "Janvier" - -#: standalone/drakbackup:2142 -#, c-format -msgid "February" -msgstr "Février" - -#: standalone/drakbackup:2142 -#, c-format -msgid "March" -msgstr "Mars" - -#: standalone/drakbackup:2143 -#, c-format -msgid "April" -msgstr "Avril" - -#: standalone/drakbackup:2143 -#, c-format -msgid "May" -msgstr "Mai" - -#: standalone/drakbackup:2143 -#, c-format -msgid "June" -msgstr "Juin" - -#: standalone/drakbackup:2143 -#, c-format -msgid "July" -msgstr "Juillet" - -#: standalone/drakbackup:2143 -#, c-format -msgid "August" -msgstr "Août" - -#: standalone/drakbackup:2143 -#, c-format -msgid "September" -msgstr "Septembre" - -#: standalone/drakbackup:2144 -#, c-format -msgid "October" -msgstr "Octobre" - -#: standalone/drakbackup:2144 -#, c-format -msgid "November" -msgstr "Novembre" - -#: standalone/drakbackup:2144 -#, c-format -msgid "December" -msgstr "Décembre" - -#: standalone/drakbackup:2149 -#, c-format -msgid "Sunday" -msgstr "Dimanche" - -#: standalone/drakbackup:2149 -#, c-format -msgid "Monday" -msgstr "Lundi" - -#: standalone/drakbackup:2149 -#, c-format -msgid "Tuesday" -msgstr "Mardi" - -#: standalone/drakbackup:2150 -#, c-format -msgid "Wednesday" -msgstr "Mercredi" - -#: standalone/drakbackup:2150 -#, c-format -msgid "Thursday" -msgstr "Jeudi" - -#: standalone/drakbackup:2150 -#, c-format -msgid "Friday" -msgstr "Vendredi" - -#: standalone/drakbackup:2150 -#, c-format -msgid "Saturday" -msgstr "Samedi" - -#: standalone/drakbackup:2185 -#, c-format -msgid "Use daemon" -msgstr "Sauvegarde périodique" - -#: standalone/drakbackup:2190 -#, c-format -msgid "Please choose the time interval between each backup" -msgstr "Veuillez choisir l'intervalle de temps entre les sauvegardes" - -#: standalone/drakbackup:2196 -#, c-format -msgid "Custom setup/crontab entry:" -msgstr "Entrée setup/crontab personnalisée :" - -#: standalone/drakbackup:2201 -#, c-format -msgid "Minute" -msgstr "Minute" - -#: standalone/drakbackup:2205 -#, c-format -msgid "Hour" -msgstr "Heure" - -#: standalone/drakbackup:2209 -#, c-format -msgid "Day" -msgstr "Jour" - -#: standalone/drakbackup:2213 -#, c-format -msgid "Month" -msgstr "Mois" - -#: standalone/drakbackup:2217 -#, c-format -msgid "Weekday" -msgstr "Jour de la semaine" - -#: standalone/drakbackup:2223 -#, c-format -msgid "Please choose the media for backup." -msgstr "Veuillez choisir le média de sauvegarde." - -#: standalone/drakbackup:2230 -#, c-format -msgid "Please be sure that the cron daemon is included in your services." -msgstr "Veuillez vérifier que le démon « cron » fait partie de vos services." - -#: standalone/drakbackup:2231 -#, c-format -msgid "Note that currently all 'net' media also use the hard drive." -msgstr "" -"Tenez compte du fait qu'actuellement tous les médias réseaux utilisent " -"également le disque dur." - -#: standalone/drakbackup:2281 -#, c-format -msgid "Please choose the compression type" -msgstr "Veuillez choisir le type de compression" - -#: standalone/drakbackup:2285 -#, c-format -msgid "Use .backupignore files" -msgstr "Utiliser les fichiers .backupignore" - -#: standalone/drakbackup:2287 -#, c-format -msgid "Send mail report after each backup to:" -msgstr "Envoyer un rapport par courriel après chaque sauvegarde à  :" - -#: standalone/drakbackup:2293 -#, c-format -msgid "SMTP server for mail:" -msgstr "Serveur SMTP pour le courrier :" - -#: standalone/drakbackup:2298 -#, c-format -msgid "Delete Hard Drive tar files after backup to other media." -msgstr "Effacer les fichiers tar après sauvegarde vers un autre support." - -#: standalone/drakbackup:2338 -#, c-format -msgid "What" -msgstr "Quoi..." - -#: standalone/drakbackup:2343 -#, c-format -msgid "Where" -msgstr "Où..." - -#: standalone/drakbackup:2348 -#, c-format -msgid "When" -msgstr "Quand..." - -#: standalone/drakbackup:2353 -#, c-format -msgid "More Options" -msgstr "Plus d'options..." - -#: standalone/drakbackup:2366 -#, c-format -msgid "Backup destination not configured..." -msgstr "La destination de la sauvegarde n'est pas configurée..." - -#: standalone/drakbackup:2385 standalone/drakbackup:4413 -#, c-format -msgid "Drakbackup Configuration" -msgstr "Configuration de sauvegarde Drakbackup" - -#: standalone/drakbackup:2402 -#, c-format -msgid "Please choose where you want to backup" -msgstr "Veuillez choisir où stocker la sauvegarde" - -#: standalone/drakbackup:2404 -#, c-format -msgid "Hard Drive used to prepare backups for all media" -msgstr "Disque dur utilisé pour préparer les sauvegardes pour tous les médias" - -#: standalone/drakbackup:2412 -#, c-format -msgid "Across Network" -msgstr "Par réseau" - -#: standalone/drakbackup:2420 -#, c-format -msgid "On CD-R" -msgstr "Sur CD-R" - -#: standalone/drakbackup:2428 -#, c-format -msgid "On Tape Device" -msgstr "Sur Lecteur de Bande " - -#: standalone/drakbackup:2468 -#, c-format -msgid "Backup Users" -msgstr "Sauvegarder les comptes utilisateurs" - -#: standalone/drakbackup:2469 -#, c-format -msgid " (Default is all users)" -msgstr "(par défaut, tous les utilisateurs)" - -#: standalone/drakbackup:2481 -#, c-format -msgid "Please choose what you want to backup" -msgstr "Veuillez choisir ce que vous voulez sauvegarder" - -#: standalone/drakbackup:2482 -#, c-format -msgid "Backup System" -msgstr "Sauvegarder le système" - -#: standalone/drakbackup:2484 -#, c-format -msgid "Select user manually" -msgstr "Sélectionner individuellement les utilisateurs" - -#: standalone/drakbackup:2513 -#, c-format -msgid "Please select data to backup..." -msgstr "Veuillez choisir les données à sauvegarder..." - -#: standalone/drakbackup:2585 -#, c-format -msgid "" -"\n" -"Backup Sources: \n" -msgstr "" -"\n" -"Sources de sauvegarde : \n" - -#: standalone/drakbackup:2586 -#, c-format -msgid "" -"\n" -"- System Files:\n" -msgstr "" -"\n" -"- Fichiers système :\n" - -#: standalone/drakbackup:2588 -#, c-format -msgid "" -"\n" -"- User Files:\n" -msgstr "" -"\n" -"- Données des utilisateurs :\n" - -#: standalone/drakbackup:2590 -#, c-format -msgid "" -"\n" -"- Other Files:\n" -msgstr "" -"\n" -"- Autres fichiers ou dossiers :\n" - -#: standalone/drakbackup:2592 -#, c-format -msgid "" -"\n" -"- Save on Hard drive on path: %s\n" -msgstr "" -"\n" -"- Sauvegarde sur le disque dur dans le dossier : %s\n" - -#: standalone/drakbackup:2593 -#, c-format -msgid "\tLimit disk usage to %s MB\n" -msgstr "\tLimiter l'usage disque à %s Mo\n" - -#: standalone/drakbackup:2596 -#, c-format -msgid "" -"\n" -"- Delete hard drive tar files after backup.\n" -msgstr "" -"\n" -"- Efface les fichiers du disque dur après sauvegarde.\n" - -#: standalone/drakbackup:2600 -#, c-format -msgid "NO" -msgstr "NON" - -#: standalone/drakbackup:2601 -#, c-format -msgid "YES" -msgstr "OUI" - -#: standalone/drakbackup:2602 -#, c-format -msgid "" -"\n" -"- Burn to CD" -msgstr "" -"\n" -"- Graver le CD" - -#: standalone/drakbackup:2603 -#, c-format -msgid "RW" -msgstr "RW" - -#: standalone/drakbackup:2604 -#, c-format -msgid " on device: %s" -msgstr "sur le périphérique : %s" - -#: standalone/drakbackup:2605 -#, c-format -msgid " (multi-session)" -msgstr " (multisession)" - -#: standalone/drakbackup:2606 -#, c-format -msgid "" -"\n" -"- Save to Tape on device: %s" -msgstr "" -"\n" -"- Sauvegarde sur bande via le périphérique : %s" - -#: standalone/drakbackup:2607 -#, c-format -msgid "\t\tErase=%s" -msgstr "\t\tEfface=%s" - -#: standalone/drakbackup:2610 -#, c-format -msgid "" -"\n" -"- Save via %s on host: %s\n" -msgstr "" -"\n" -"- Sauvegarde via %s sur la machine : %s\n" - -#: standalone/drakbackup:2611 -#, c-format -msgid "" -"\t\t user name: %s\n" -"\t\t on path: %s \n" -msgstr "" -"\t\t nom de connexion : %s\n" -"\t\t dans le dossier : %s \n" - -#: standalone/drakbackup:2612 -#, c-format -msgid "" -"\n" -"- Options:\n" -msgstr "" -"\n" -"- Options :\n" - -#: standalone/drakbackup:2613 -#, c-format -msgid "\tDo not include System Files\n" -msgstr "\tFichiers systèmes non inclus\n" - -#: standalone/drakbackup:2615 -#, c-format -msgid "\tBackups use tar and bzip2\n" -msgstr "\tLe sauvegarde utilise « tar » et « bzip2 »\n" - -#: standalone/drakbackup:2616 -#, c-format -msgid "\tBackups use tar and gzip\n" -msgstr "\tLa sauvegarde utilise « tar » et « gzip »\n" - -#: standalone/drakbackup:2617 -#, c-format -msgid "\tBackups use tar only\n" -msgstr "\tLa sauvegarde utilise seulement « tar »\n" - -#: standalone/drakbackup:2619 -#, c-format -msgid "\tUse .backupignore files\n" -msgstr "\tUtiliser les fichiers .backupignore\n" - -#: standalone/drakbackup:2620 -#, c-format -msgid "\tSend mail to %s\n" -msgstr "\tEnvoyez un mail à %s\n" - -#: standalone/drakbackup:2621 -#, c-format -msgid "\tUsing SMTP server %s\n" -msgstr "\tUtilisation du serveur SMTP %s\n" - -#: standalone/drakbackup:2623 -#, c-format -msgid "" -"\n" -"- Daemon, %s via:\n" -msgstr "" -"\n" -"- Démon, %s via:\n" - -#: standalone/drakbackup:2624 -#, c-format -msgid "\t-Hard drive.\n" -msgstr "\t-celle sur Disque dur.\n" - -#: standalone/drakbackup:2625 -#, c-format -msgid "\t-CD-R.\n" -msgstr "\t-celle sur CDR.\n" - -#: standalone/drakbackup:2626 -#, c-format -msgid "\t-Tape \n" -msgstr "\t-Bande\n" - -#: standalone/drakbackup:2627 -#, c-format -msgid "\t-Network by FTP.\n" -msgstr "\t-celle par transfert FTP.\n" - -#: standalone/drakbackup:2628 -#, c-format -msgid "\t-Network by SSH.\n" -msgstr "\t-celle par transfert SSH.\n" - -#: standalone/drakbackup:2629 -#, c-format -msgid "\t-Network by rsync.\n" -msgstr "\t-celle par rsync.\n" - -#: standalone/drakbackup:2630 -#, c-format -msgid "\t-Network by webdav.\n" -msgstr "\t-celle par webdav.\n" - -#: standalone/drakbackup:2632 -#, c-format -msgid "No configuration, please click Wizard or Advanced.\n" -msgstr "" -"La configuration de sauvegarde n'est pas encore définie. \n" -"Veuillez cliquer sur « Configuration par assistant », ou « Configuration " -"manuelle »\n" - -#: standalone/drakbackup:2637 -#, c-format -msgid "" -"List of data to restore:\n" -"\n" -msgstr "" -"Liste de données à restaurer :\n" -"\n" - -#: standalone/drakbackup:2639 -#, c-format -msgid "- Restore System Files.\n" -msgstr "- Restaure les Fichiers Système.\n" - -#: standalone/drakbackup:2641 standalone/drakbackup:2651 -#, c-format -msgid " - from date: %s %s\n" -msgstr " - depuis la date : %s %s\n" - -#: standalone/drakbackup:2644 -#, c-format -msgid "- Restore User Files: \n" -msgstr "- Restaure les Données des utilisateurs :\n" - -#: standalone/drakbackup:2649 -#, c-format -msgid "- Restore Other Files: \n" -msgstr "- Restaure les Autres fichiers ou dossiers :\n" - -#: standalone/drakbackup:2830 -#, c-format -msgid "" -"List of data corrupted:\n" -"\n" -msgstr "" -"Liste des données corrompues :\n" -"\n" - -#: standalone/drakbackup:2832 -#, c-format -msgid "Please uncheck or remove it on next time." -msgstr "Veuillez le décocher ou le retirer la prochaine fois" - -#: standalone/drakbackup:2842 -#, c-format -msgid "Backup files are corrupted" -msgstr "Les fichiers de sauvegarde sont corrompus" - -#: standalone/drakbackup:2863 -#, c-format -msgid " All of your selected data have been " -msgstr " Toutes vos données sélectionnées ont été " - -#: standalone/drakbackup:2864 -#, c-format -msgid " Successfuly Restored on %s " -msgstr "" -" correctement restaurées en prenant « %s » comme dossier racine " - -#: standalone/drakbackup:2987 -#, c-format -msgid " Restore Configuration " -msgstr " Restauration de la configuration " - -#: standalone/drakbackup:3015 -#, c-format -msgid "OK to restore the other files." -msgstr "OK pour restaurer les autres fichiers." - -#: standalone/drakbackup:3031 -#, c-format -msgid "User list to restore (only the most recent date per user is important)" -msgstr "Fichiers de sauvegarde à restaurer (seul le plus récent compte)" - -#: standalone/drakbackup:3098 -#, c-format -msgid "Please choose the date to restore:" -msgstr "Veuillez choisir la date à restaurer :" - -#: standalone/drakbackup:3135 -#, c-format -msgid "Restore from Hard Disk." -msgstr "Restaurer à partir d'un dossier" - -#: standalone/drakbackup:3137 -#, c-format -msgid "Enter the directory where backups are stored" -msgstr "Veuillez entrer le dossier où résident les sauvegardes" - -#: standalone/drakbackup:3141 -#, c-format -msgid "Directory with backups" -msgstr "Dossier des sauvegardes" - -#: standalone/drakbackup:3194 -#, c-format -msgid "Select another media to restore from" -msgstr "Choisir un autre support de sauvegarde" - -#: standalone/drakbackup:3196 -#, c-format -msgid "Other Media" -msgstr "Autre support" - -#: standalone/drakbackup:3201 -#, c-format -msgid "Restore system" -msgstr "Restaurer le système" - -#: standalone/drakbackup:3202 -#, c-format -msgid "Restore Users" -msgstr "Restaurer les comptes utilisateurs" - -#: standalone/drakbackup:3203 -#, c-format -msgid "Restore Other" -msgstr "Restaurer les autres fichiers ou dossiers" - -#: standalone/drakbackup:3205 -#, c-format -msgid "Select path to restore (instead of /)" -msgstr "Choisir un chemin de restauration ( au lieu de / )" - -#: standalone/drakbackup:3209 standalone/drakbackup:3490 -#, c-format -msgid "Path To Restore To" -msgstr "Chemin où restaurer" - -#: standalone/drakbackup:3212 -#, c-format -msgid "Do new backup before restore (only for incremental backups.)" -msgstr "Nouvelle sauvegarde avant restauration (seulement pour l'incrémental)" - -#: standalone/drakbackup:3214 -#, c-format -msgid "Remove user directories before restore." -msgstr "Retirer les dossiers personnels des utilisateurs avant restauration" - -#: standalone/drakbackup:3298 -#, fuzzy, c-format -msgid "Filename text substring to search for (empty string matches all):" -msgstr "Nom de fichier à chercher :" - -#: standalone/drakbackup:3301 -#, c-format -msgid "Search Backups" -msgstr "Recherche de sauvegardes" - -#: standalone/drakbackup:3320 -#, c-format -msgid "No matches found..." -msgstr "Aucune image trouvée..." - -#: standalone/drakbackup:3324 -#, c-format -msgid "Restore Selected" -msgstr "Restaurer les fichiers choisis" - -#: standalone/drakbackup:3458 -#, c-format -msgid "" -"Click date/time to see backup files.\n" -"Ctrl-Click files to select multiple files." -msgstr "" -"Cliquez sur un date/temps pour voir les fichiers de sauvegarde.\n" -"Control-cliquez pour sélectionner plusieurs fichiers." - -# whom is selected, the entry or the catalog? -#: standalone/drakbackup:3464 -#, c-format -msgid "" -"Restore Selected\n" -"Catalog Entry" -msgstr "" -"Rétablir l'entrée\n" -"du catalogue choisi." - -#: standalone/drakbackup:3473 -#, c-format -msgid "" -"Restore Selected\n" -"Files" -msgstr "" -"Restaurer les\n" -"fichiers choisis" - -#: standalone/drakbackup:3550 -#, c-format -msgid "Backup files not found at %s." -msgstr "Fichiers de sauvegardes non trouvés sur %s." - -#: standalone/drakbackup:3563 -#, c-format -msgid "Restore From CD" -msgstr "Restaurer à partir d'un CD" - -#: standalone/drakbackup:3563 -#, c-format -msgid "" -"Insert the CD with volume label %s\n" -" in the CD drive under mount point /mnt/cdrom" -msgstr "" -"Insérez le CD %s dans le lecteur correspondant\n" -"au point de montage /mnt/cdrom" - -#: standalone/drakbackup:3565 -#, c-format -msgid "Not the correct CD label. Disk is labelled %s." -msgstr "Ce n'est pas le bon CD. Celui-ci est intitulé %s." - -#: standalone/drakbackup:3575 -#, c-format -msgid "Restore From Tape" -msgstr "Restaurer à partir d'une bande" - -#: standalone/drakbackup:3575 -#, c-format -msgid "" -"Insert the tape with volume label %s\n" -" in the tape drive device %s" -msgstr "" -"Insérez la bande ayant pour nom %s\n" -"dans le lecteur de bande %s." - -#: standalone/drakbackup:3577 -#, c-format -msgid "Not the correct tape label. Tape is labelled %s." -msgstr "Ce n'est pas la bonne bande. Celle-ci s'appelle %s." - -#: standalone/drakbackup:3588 -#, c-format -msgid "Restore Via Network" -msgstr "Restaurer à partir du réseau" - -#: standalone/drakbackup:3588 -#, c-format -msgid "Restore Via Network Protocol: %s" -msgstr "Restaurer via le Protocole Réseau : %s" - -#: standalone/drakbackup:3589 -#, c-format -msgid "Host Name" -msgstr "Nom d'hôte" - -#: standalone/drakbackup:3590 -#, c-format -msgid "Host Path or Module" -msgstr "Chemin de l'hôte ou du module" - -#: standalone/drakbackup:3597 -#, c-format -msgid "Password required" -msgstr "Mot de passe nécessaire" - -#: standalone/drakbackup:3603 -#, c-format -msgid "Username required" -msgstr "Nom d'utilisateur nécessaire" - -#: standalone/drakbackup:3606 -#, c-format -msgid "Hostname required" -msgstr "Nom de machine nécessaire" - -#: standalone/drakbackup:3611 -#, c-format -msgid "Path or Module required" -msgstr "Le chemin ou le module est nécessaire" - -#: standalone/drakbackup:3624 -#, c-format -msgid "Files Restored..." -msgstr "Fichiers restaurés..." - -#: standalone/drakbackup:3627 -#, c-format -msgid "Restore Failed..." -msgstr "Échec de la restauration..." - -#: standalone/drakbackup:3737 standalone/drakbackup:3754 -#, c-format -msgid "%s not retrieved..." -msgstr "%s non téléchargé ..." - -#: standalone/drakbackup:3880 standalone/drakbackup:3953 -#, c-format -msgid "Search for files to restore" -msgstr "Chercher les fichiers à restaurer" - -#: standalone/drakbackup:3885 -#, c-format -msgid "Restore all backups" -msgstr "Restaurer toutes les sauvegardes..." - -#: standalone/drakbackup:3894 -#, c-format -msgid "Custom Restore" -msgstr "Restauration personnalisée..." - -#: standalone/drakbackup:3899 standalone/drakbackup:3949 -#, c-format -msgid "Restore From Catalog" -msgstr "Restaurer à partir d'un catalogue" - -#: standalone/drakbackup:3921 -#, c-format -msgid "Unable to find backups to restore...\n" -msgstr "Impossible de trouver les sauvegardes à restaurer...\n" - -#: standalone/drakbackup:3922 -#, c-format -msgid "Verify that %s is the correct path" -msgstr "Vérifiez que %s est le bon chemin" - -#: standalone/drakbackup:3923 -#, c-format -msgid " and the CD is in the drive" -msgstr " et le CD est dans le lecteur." - -#: standalone/drakbackup:3925 -#, c-format -msgid "Backups on unmountable media - Use Catalog to restore" -msgstr "" -"Sauvegardes sur supports non montables - Utilisez le Catalogue pour " -"restaurer." - -#: standalone/drakbackup:3941 -#, c-format -msgid "CD in place - continue." -msgstr "Le CD et en place - continuer." - -#: standalone/drakbackup:3946 -#, c-format -msgid "Browse to new restore repository." -msgstr "Naviguer dans le nouvel emplacement de sauvegarde." - -#: standalone/drakbackup:3947 -#, c-format -msgid "Directory To Restore From" -msgstr "Restaurer à partir du chemin" - -#: standalone/drakbackup:3986 -#, c-format -msgid "Restore Progress" -msgstr "Avancement de la restauration" - -#: standalone/drakbackup:4016 standalone/drakbackup:4123 -#: standalone/logdrake:174 -#, c-format -msgid "Save" -msgstr "Valider" - -#: standalone/drakbackup:4099 -#, c-format -msgid "Build Backup" -msgstr "Sauvegarder !" - -#: standalone/drakbackup:4147 standalone/drakbackup:4512 -#, c-format -msgid "Restore" -msgstr "Restaurer !" - -#: standalone/drakbackup:4277 -#, c-format -msgid "The following packages need to be installed:\n" -msgstr "Les paquetages suivants doivent être installés :\n" - -#: standalone/drakbackup:4304 -#, c-format -msgid "Please select data to restore..." -msgstr "Veuillez choisir les données à restaurer..." - -#: standalone/drakbackup:4344 -#, c-format -msgid "Backup system files" -msgstr "Sauvegarde des fichiers systèmes..." - -#: standalone/drakbackup:4347 -#, c-format -msgid "Backup user files" -msgstr "Sauvegarde des comptes utilisateurs..." - -#: standalone/drakbackup:4350 -#, c-format -msgid "Backup other files" -msgstr "Sauvegarde des autres fichiers ou dossiers..." - -#: standalone/drakbackup:4353 standalone/drakbackup:4389 -#, c-format -msgid "Total Progress" -msgstr "TOTAL :" - -#: standalone/drakbackup:4381 -#, c-format -msgid "Sending files by FTP" -msgstr "Envoi des fichiers par FTP" - -#: standalone/drakbackup:4384 -#, c-format -msgid "Sending files..." -msgstr "Envoi des fichiers..." - -#: standalone/drakbackup:4455 -#, c-format -msgid "Backup Now from configuration file" -msgstr "Sauvegarder à partir de la configuration définie" - -#: standalone/drakbackup:4460 -#, c-format -msgid "View Backup Configuration." -msgstr "Voir la configuration de sauvegarde" - -#: standalone/drakbackup:4486 -#, c-format -msgid "Wizard Configuration" -msgstr "Configuration par assistant" - -#: standalone/drakbackup:4491 -#, c-format -msgid "Advanced Configuration" -msgstr "Configuration manuelle" - -#: standalone/drakbackup:4496 -#, c-format -msgid "View Configuration" -msgstr "Afficher la Configuration" - -#: standalone/drakbackup:4500 -#, c-format -msgid "View Last Log" -msgstr "Consulter le dernier journal" - -#: standalone/drakbackup:4505 -#, c-format -msgid "Backup Now" -msgstr "Sauvegarder !" - -#: standalone/drakbackup:4509 -#, c-format -msgid "" -"No configuration file found \n" -"please click Wizard or Advanced." -msgstr "" -"La configuration de sauvegarde n'est pas encore définie. \n" -"Veuillez cliquer sur « Configuration par assistant », ou « Configuration " -"manuelle »" - -#: standalone/drakbackup:4530 standalone/drakbackup:4533 -#, c-format -msgid "Drakbackup" -msgstr "Drakbackup" - -#: standalone/drakboot:58 -#, c-format -msgid "Graphical boot theme selection" -msgstr "Sélection du thème graphique de démarrage" - -#: standalone/drakboot:58 -#, c-format -msgid "System mode" -msgstr "Choix pour l'interface utilisateur" - -#: standalone/drakboot:68 standalone/drakfloppy:46 standalone/harddrake2:97 -#: standalone/harddrake2:98 standalone/logdrake:71 standalone/printerdrake:150 -#: standalone/printerdrake:151 standalone/printerdrake:152 -#, c-format -msgid "/_File" -msgstr "/_Fichier" - -#: standalone/drakboot:69 standalone/drakfloppy:47 standalone/logdrake:77 -#, c-format -msgid "/File/_Quit" -msgstr "/Fichier/_Quitter" - -#: standalone/drakboot:69 standalone/drakfloppy:47 standalone/harddrake2:98 -#: standalone/logdrake:77 standalone/printerdrake:152 -#, c-format -msgid "<control>Q" -msgstr "<control>Q" - -#: standalone/drakboot:139 -#, c-format -msgid "Install themes" -msgstr "Installation de thèmes" - -#: standalone/drakboot:140 -#, c-format -msgid "Create new theme" -msgstr "Créer un nouveau thème" - -#: standalone/drakboot:152 -#, c-format -msgid "Use graphical boot" -msgstr "Utiliser le démarrage graphique" - -#: standalone/drakboot:157 -#, c-format -msgid "" -"Your system bootloader is not in framebuffer mode. To activate graphical " -"boot, select a graphic video mode from the bootloader configuration tool." -msgstr "" -"Votre programme d'amorçage n'est pas en mode « frame buffer ». Pour activer " -"le démarrage graphique, sélectionnez un mode graphique dans l'outil de " -"configuration du programme d'amorçage." - -#: standalone/drakboot:164 -#, c-format -msgid "Theme" -msgstr "Thème" - -#: standalone/drakboot:167 -#, c-format -msgid "" -"Display theme\n" -"under console" -msgstr "" -"Affiche le thème\n" -"dans la console" - -#: standalone/drakboot:176 -#, c-format -msgid "Launch the graphical environment when your system starts" -msgstr "Lancer l'interface graphique au démarrage" - -#: standalone/drakboot:184 -#, c-format -msgid "No, I don't want autologin" -msgstr "Ne pas connecter automatiquement un utilisateur" - -#: standalone/drakboot:185 -#, c-format -msgid "Yes, I want autologin with this (user, desktop)" -msgstr "Connexion automatique (choisir utilisateur et environnement)" - -#: standalone/drakboot:191 -#, c-format -msgid "Default user" -msgstr "Utilisateur par défaut" - -#: standalone/drakboot:192 -#, c-format -msgid "Default desktop" -msgstr "Environnement par défaut" - -#: standalone/drakboot:256 -#, c-format -msgid "Installation of %s failed. The following error occured:" -msgstr "L'installation de %s a échoué pour la raison suivante :" - -#: standalone/drakbug:40 -#, c-format -msgid "" -"To submit a bug report, click on the button report.\n" -"This will open a web browser window on %s\n" -" where you'll find a form to fill in. The information displayed above will " -"be \n" -"transferred to that server." -msgstr "" -"Pour soumettre un rapport de bogue, cliquez sur le bouton Signaler.\n" -"Cela ouvrira une fenêtre de navigateur sur %s\n" -"où vous trouverez un formulaire à remplir.\n" -" L'information affichée ci-dessus sera transférée vers ce serveur." - -#: standalone/drakbug:48 -#, c-format -msgid "Mandrake Bug Report Tool" -msgstr "Outil de signalement de bogue Mandrake" - -#: standalone/drakbug:53 -#, c-format -msgid "Mandrake Control Center" -msgstr "Centre de Contrôle Mandrake" - -#: standalone/drakbug:55 -#, c-format -msgid "Synchronization tool" -msgstr "Outil de synchronisation" - -#: standalone/drakbug:56 standalone/drakbug:70 standalone/drakbug:204 -#: standalone/drakbug:206 standalone/drakbug:210 -#, c-format -msgid "Standalone Tools" -msgstr "Outils autonomes" - -#: standalone/drakbug:57 -#, c-format -msgid "HardDrake" -msgstr "HardDrake" - -#: standalone/drakbug:58 -#, c-format -msgid "Mandrake Online" -msgstr "Mandrake Online" - -#: standalone/drakbug:59 -#, c-format -msgid "Menudrake" -msgstr "Menudrake" - -#: standalone/drakbug:60 -#, c-format -msgid "Msec" -msgstr "Msec" - -#: standalone/drakbug:61 -#, c-format -msgid "Remote Control" -msgstr "Contrôle à distance" - -#: standalone/drakbug:62 -#, c-format -msgid "Software Manager" -msgstr "Gestionnaire de programmes" - -#: standalone/drakbug:63 -#, c-format -msgid "Urpmi" -msgstr "Urpmi" - -#: standalone/drakbug:64 -#, c-format -msgid "Windows Migration tool" -msgstr "Outil de migration windows" - -#: standalone/drakbug:65 -#, c-format -msgid "Userdrake" -msgstr "Userdrake" - -#: standalone/drakbug:66 -#, c-format -msgid "Configuration Wizards" -msgstr "Assistants de configuration" - -#: standalone/drakbug:84 -#, c-format -msgid "" -"To submit a bug report, click the report button, which will open your " -"default browser\n" -"to Anthill where you will be able to upload the above information as a bug " -"report." -msgstr "" -"Pour soumettre un rapport de bogue, cliquez sur le bouton Signaler.\n" -"Cela ouvrira votre navigateur par défaut\n" -"sur une page qui vous permettra d'envoyer l'information affichée ci-dessus " -"en tant que rapport de bogue." - -#: standalone/drakbug:102 -#, c-format -msgid "Application:" -msgstr "Application :" - -#: standalone/drakbug:103 standalone/drakbug:115 -#, c-format -msgid "Package: " -msgstr "Paquetage : " - -#: standalone/drakbug:104 -#, c-format -msgid "Kernel:" -msgstr "Noyau :" - -#: standalone/drakbug:105 standalone/drakbug:116 -#, c-format -msgid "Release: " -msgstr "Version : " - -#: standalone/drakbug:110 -#, c-format -msgid "" -"Application Name\n" -"or Full Path:" -msgstr "" -"Nom de l'Application\n" -"ou Chemin Complet:" - -#: standalone/drakbug:113 -#, c-format -msgid "Find Package" -msgstr "Rechercher des Paquetages" - -#: standalone/drakbug:117 -#, c-format -msgid "Summary: " -msgstr "Résumé: " - -#: standalone/drakbug:129 -#, c-format -msgid "YOUR TEXT HERE" -msgstr "VOTRE TEXTE ICI" - -#: standalone/drakbug:132 -#, c-format -msgid "Bug Description/System Information" -msgstr "Description de l'erreur/Informations Système" - -#: standalone/drakbug:136 -#, c-format -msgid "Submit kernel version" -msgstr "Version du noyau" - -#: standalone/drakbug:137 -#, c-format -msgid "Submit cpuinfo" -msgstr "Envoyer les informations sur le processeur" - -#: standalone/drakbug:138 -#, c-format -msgid "Submit lspci" -msgstr "Envoyer la liste des périphériques PCI" - -#: standalone/drakbug:159 -#, c-format -msgid "Report" -msgstr "Signaler" - -#: standalone/drakbug:219 -#, c-format -msgid "Not installed" -msgstr "Non installé" - -#: standalone/drakbug:231 -#, c-format -msgid "Package not installed" -msgstr "Paquetage non installé" - -#: standalone/drakbug:248 -#, c-format -msgid "NOT FOUND" -msgstr "NON TROUVÉ" - -#: standalone/drakbug:259 -#, c-format -msgid "connecting to %s ..." -msgstr "Connexion à %s ..." - -#: standalone/drakbug:267 -#, c-format -msgid "No browser available! Please install one" -msgstr "Pas de navigateur disponible ! Veuillez en installer un." - -#: standalone/drakbug:286 -#, c-format -msgid "Please enter a package name." -msgstr "Veuillez taper un nom de paquetage." - -#: standalone/drakbug:292 -#, c-format -msgid "Please enter summary text." -msgstr "Veuillez entrer votre texte de résumé." - -#: standalone/drakclock:29 -#, c-format -msgid "DrakClock" -msgstr "DrakClock" - -#: standalone/drakclock:39 -#, c-format -msgid "not defined" -msgstr "non défini" - -#: standalone/drakclock:41 -#, c-format -msgid "Change Time Zone" -msgstr "Changer le fuseau horaire" - -#: standalone/drakclock:45 -#, c-format -msgid "Timezone - DrakClock" -msgstr "Fuseau horaire - DrakClock" - -#: standalone/drakclock:47 -#, c-format -msgid "GMT - DrakClock" -msgstr "DrakClock: GMT" - -#: standalone/drakclock:47 -#, c-format -msgid "Is your hardware clock set to GMT?" -msgstr "Votre horloge système est-elle réglée sur Greenwich (GMT) ?" - -#: standalone/drakclock:79 -#, c-format -msgid "Network Time Protocol" -msgstr "Protocole du Temps Réseau (NTP)" - -#: standalone/drakclock:81 -#, c-format -msgid "" -"Your computer can synchronize its clock\n" -" with a remote time server using NTP" -msgstr "" -"Votre ordinateur peut synchroniser son horloge\n" -"avec un un serveur distant via NTP" - -#: standalone/drakclock:82 -#, c-format -msgid "Enable Network Time Protocol" -msgstr "Activer NTP" - -#: standalone/drakclock:90 -#, c-format -msgid "Server:" -msgstr "Serveur :" - -#: standalone/drakclock:137 standalone/drakclock:149 -#, c-format -msgid "Reset" -msgstr "Réinitialiser" - -#: standalone/drakclock:212 -#, c-format -msgid "" -"We need to install ntp package\n" -" to enable Network Time Protocol\n" -"\n" -"Do you want to install ntp ?" -msgstr "" -"Le package ntp doit être installé\n" -"afin de pouvoir activer NTP\n" -"\n" -"Voulez-vous l'installer ?" - -#: standalone/drakconnect:81 -#, c-format -msgid "Network configuration (%d adapters)" -msgstr "Configuration du réseau (%d cartes réseau)" - -#: standalone/drakconnect:92 standalone/drakconnect:738 -#, c-format -msgid "Gateway:" -msgstr "Passerelle :" - -#: standalone/drakconnect:92 standalone/drakconnect:738 -#, c-format -msgid "Interface:" -msgstr "Interface :" - -#: standalone/drakconnect:96 standalone/net_monitor:105 -#, c-format -msgid "Wait please" -msgstr "Veuillez patienter" - -#: standalone/drakconnect:116 -#, c-format -msgid "Interface" -msgstr "Interface" - -#: standalone/drakconnect:116 standalone/drakups:233 -#, c-format -msgid "Driver" -msgstr "Pilote" - -#: standalone/drakconnect:116 -#, c-format -msgid "State" -msgstr "État" - -#: standalone/drakconnect:133 -#, c-format -msgid "Hostname: " -msgstr "Nom de machine : " - -#: standalone/drakconnect:135 -#, c-format -msgid "Configure hostname..." -msgstr "Configuration du nom de machine..." - -#: standalone/drakconnect:149 standalone/drakconnect:779 -#, c-format -msgid "LAN configuration" -msgstr "Configuration LAN (réseau local)" - -#: standalone/drakconnect:154 -#, c-format -msgid "Configure Local Area Network..." -msgstr "Configurer le réseau local..." - -#: standalone/drakconnect:162 standalone/drakconnect:237 -#: standalone/drakconnect:241 -#, c-format -msgid "Apply" -msgstr "Appliquer" - -#: standalone/drakconnect:197 -#, c-format -msgid "Manage connections" -msgstr "Gérer les connections" - -#: standalone/drakconnect:263 standalone/drakconnect:272 -#: standalone/drakconnect:292 standalone/drakconnect:298 -#: standalone/drakconnect:308 standalone/drakconnect:309 -#: standalone/drakconnect:576 -#, c-format -msgid "TCP/IP" -msgstr "TCP/IP" - -#: standalone/drakconnect:263 standalone/drakconnect:272 -#: standalone/drakconnect:292 standalone/drakconnect:444 -#: standalone/drakconnect:448 standalone/drakconnect:576 -#, c-format -msgid "Account" -msgstr "Compte" - -#: standalone/drakconnect:298 standalone/drakconnect:370 -#: standalone/drakconnect:371 standalone/drakconnect:576 -#, c-format -msgid "Wireless" -msgstr "Sans fil" - -#: standalone/drakconnect:344 -#, c-format -msgid "DNS servers" -msgstr "Serveurs DNS" - -#: standalone/drakconnect:351 -#, c-format -msgid "Search Domain" -msgstr "Domaine recherchés" - -#: standalone/drakconnect:359 -#, c-format -msgid "static" -msgstr "Statique" - -#: standalone/drakconnect:359 -#, c-format -msgid "DHCP" -msgstr "DHCP" - -#: standalone/drakconnect:482 -#, c-format -msgid "Flow control" -msgstr "Contrôle du flux" - -#: standalone/drakconnect:483 -#, c-format -msgid "Line termination" -msgstr "Terminaison de la ligne" - -#: standalone/drakconnect:493 -#, c-format -msgid "Use lock file" -msgstr "Utiliser un fichier de verrouillage" - -#: standalone/drakconnect:496 -#, c-format -msgid "Modem timeout" -msgstr "Délai d'expiration du modem" - -#: standalone/drakconnect:500 -#, c-format -msgid "Wait for dialup tone before dialing" -msgstr "Attendre la tonalité avant de numéroter" - -#: standalone/drakconnect:503 -#, c-format -msgid "Busy wait" -msgstr "Attente active" - -#: standalone/drakconnect:507 -#, c-format -msgid "Modem sound" -msgstr "Volume du modem" - -#: standalone/drakconnect:508 -#, c-format -msgid "Enable" -msgstr "Activer" - -#: standalone/drakconnect:508 -#, c-format -msgid "Disable" -msgstr "Désactiver" - -#: standalone/drakconnect:558 standalone/harddrake2:58 -#, c-format -msgid "Media class" -msgstr "Classe de matériel" - -#: standalone/drakconnect:559 standalone/drakfloppy:140 -#, c-format -msgid "Module name" -msgstr "Nom du module" - -#: standalone/drakconnect:560 -#, c-format -msgid "Mac Address" -msgstr "Adresse matérielle" - -#: standalone/drakconnect:561 standalone/harddrake2:21 -#, c-format -msgid "Bus" -msgstr "Bus" - -#: standalone/drakconnect:562 standalone/harddrake2:29 -#, c-format -msgid "Location on the bus" -msgstr "Position sur le bus" - -#: standalone/drakconnect:632 standalone/drakgw:248 standalone/drakpxe:138 -#, c-format -msgid "" -"No ethernet network adapter has been detected on your system. Please run the " -"hardware configuration tool." -msgstr "" -"Aucune carte réseau n'a été détectée sur votre système. Veuillez utiliser " -"l'outil de configuration du matériel." - -#: standalone/drakconnect:638 -#, c-format -msgid "Remove a network interface" -msgstr "Détruire une interface réseau" - -#: standalone/drakconnect:642 -#, c-format -msgid "Select the network interface to remove:" -msgstr "Choisissez l'interface réseau à détruirer:" - -#: standalone/drakconnect:666 -#, c-format -msgid "" -"An error occured while deleting the \"%s\" network interface:\n" -"\n" -"%s" -msgstr "" -"Un problème est survenu lors de la destruction de l'interface réseau « %" -"s » :\n" -"\n" -"%s" - -#: standalone/drakconnect:668 -#, c-format -msgid "" -"Congratulations, the \"%s\" network interface has been succesfully deleted" -msgstr "Félicitations, l'interface réseau « %s » a été détruite avec succès" - -#: standalone/drakconnect:685 -#, c-format -msgid "No Ip" -msgstr "Pas d'IP" - -#: standalone/drakconnect:686 -#, c-format -msgid "No Mask" -msgstr "Pas de masque" - -#: standalone/drakconnect:687 standalone/drakconnect:850 -#, c-format -msgid "up" -msgstr "activé" - -#: standalone/drakconnect:687 standalone/drakconnect:850 -#, c-format -msgid "down" -msgstr "arrêté" - -#: standalone/drakconnect:728 standalone/net_monitor:415 -#, c-format -msgid "Connected" -msgstr "Connecté" - -#: standalone/drakconnect:728 standalone/net_monitor:415 -#, c-format -msgid "Not connected" -msgstr "Non connecté" - -#: standalone/drakconnect:730 -#, c-format -msgid "Disconnect..." -msgstr "Se déconnecter..." - -#: standalone/drakconnect:730 -#, c-format -msgid "Connect..." -msgstr "Se connecter..." - -#: standalone/drakconnect:759 -#, c-format -msgid "" -"Warning, another Internet connection has been detected, maybe using your " -"network" -msgstr "" -"Attention, une autre connexion internet a été détectée, peut-être utilisant " -"votre réseau" - -#: standalone/drakconnect:775 -#, c-format -msgid "Deactivate now" -msgstr "Désactiver maintenant" - -#: standalone/drakconnect:775 -#, c-format -msgid "Activate now" -msgstr "Activer maintenant" - -#: standalone/drakconnect:783 -#, c-format -msgid "" -"You don't have any configured interface.\n" -"Configure them first by clicking on 'Configure'" -msgstr "" -"Vous n'avez aucune interface réseau configurée.\n" -"Vous pouvez en configurer une en cliquant sur « Configurer »" - -#: standalone/drakconnect:797 -#, c-format -msgid "LAN Configuration" -msgstr "Configuration du LAN (réseau local)" - -#: standalone/drakconnect:809 -#, c-format -msgid "Adapter %s: %s" -msgstr "Carte réseau %s : %s" - -#: standalone/drakconnect:818 -#, c-format -msgid "Boot Protocol" -msgstr "Protocole d'amorçage" - -#: standalone/drakconnect:819 -#, c-format -msgid "Started on boot" -msgstr "Lancer au démarrage" - -#: standalone/drakconnect:855 -#, c-format -msgid "" -"This interface has not been configured yet.\n" -"Run the \"Add an interface\" assistant from the Mandrake Control Center" -msgstr "" -"Cette interface n'a pas encore été configurée.\n" -"Lancez l'assistant « Ajouter une interface » depuis le Centre de Contrôle " -"Mandrake" - -#: standalone/drakconnect:910 -#, c-format -msgid "" -"You don't have any configured Internet connection.\n" -"Please run \"Internet access\" in control center." -msgstr "" -"Vous n'avez aucune connexion internet configurée.\n" -"Vous pouvez en créer une en cliquant sur « Accès à Internet »" - -#: standalone/drakconnect:918 -#, c-format -msgid "Internet connection configuration" -msgstr "Configuration de la connexion internet" - -#: standalone/drakconnect:936 -#, c-format -msgid "Third DNS server (optional)" -msgstr "Serveur DNS tertiare (optionnel)" - -#: standalone/drakconnect:958 -#, c-format -msgid "Internet Connection Configuration" -msgstr "Configuration de la connexion internet" - -#: standalone/drakconnect:959 -#, c-format -msgid "Internet access" -msgstr "Accès internet" - -#: standalone/drakconnect:961 standalone/net_monitor:87 -#, c-format -msgid "Connection type: " -msgstr "Type de connexion : " - -#: standalone/drakconnect:964 -#, c-format -msgid "Status:" -msgstr "État :" - -#: standalone/drakedm:53 -#, c-format -msgid "Choosing a display manager" -msgstr "Choix d'un gestionnaire de connexion" - -#: standalone/drakedm:54 -#, c-format -msgid "" -"X11 Display Manager allows you to graphically log\n" -"into your system with the X Window System running and supports running\n" -"several different X sessions on your local machine at the same time." -msgstr "" -"Le gestionnaire de connexion vous permet d'ouvrir une session graphique\n" -"sur votre système grâce au serveur d'affichage XFree, et permet le " -"fonctionnement\n" -"de plusieurs sessions XFree en même temps sur la même machine." - -#: standalone/drakedm:77 -#, c-format -msgid "The change is done, do you want to restart the dm service ?" -msgstr "" -"Les modifications ont été appliquées à la configuration, souhaitez-vous " -"redémarrer le service dm ?" - -#: standalone/drakfloppy:40 -#, c-format -msgid "drakfloppy" -msgstr "drakfloppy" - -#: standalone/drakfloppy:82 -#, c-format -msgid "Boot disk creation" -msgstr "Création d'une disquette d'amorçage" - -#: standalone/drakfloppy:83 -#, c-format -msgid "General" -msgstr "Général" - -#: standalone/drakfloppy:86 -#, c-format -msgid "Device" -msgstr "Périphérique" - -#: standalone/drakfloppy:92 -#, c-format -msgid "Kernel version" -msgstr "Version du noyau" - -#: standalone/drakfloppy:107 -#, c-format -msgid "Preferences" -msgstr "Préférences" - -#: standalone/drakfloppy:121 -#, c-format -msgid "Advanced preferences" -msgstr "Options avancées" - -#: standalone/drakfloppy:140 -#, c-format -msgid "Size" -msgstr "Taille" - -#: standalone/drakfloppy:143 -#, c-format -msgid "Mkinitrd optional arguments" -msgstr "Arguments optionnels pour mkinitrd" - -#: standalone/drakfloppy:145 -#, c-format -msgid "force" -msgstr "forcer" - -#: standalone/drakfloppy:146 -#, c-format -msgid "omit raid modules" -msgstr "ne pas tenir compte des modules RAID" - -#: standalone/drakfloppy:147 -#, c-format -msgid "if needed" -msgstr "si besoin est" - -#: standalone/drakfloppy:148 -#, c-format -msgid "omit scsi modules" -msgstr "ne pas tenir compte des modules SCSI" - -#: standalone/drakfloppy:151 -#, c-format -msgid "Add a module" -msgstr "Ajouter un module" - -#: standalone/drakfloppy:160 -#, c-format -msgid "Remove a module" -msgstr "Retirer un module" - -#: standalone/drakfloppy:295 -#, c-format -msgid "Be sure a media is present for the device %s" -msgstr "Assurez-vous qu'un médium est présent dans le périphérique %s" - -#: standalone/drakfloppy:301 -#, c-format -msgid "" -"There is no medium or it is write-protected for device %s.\n" -"Please insert one." -msgstr "" -"Il n'y a aucune disquette dans le lecteur %s ou alors elle est \n" -"protégée contre l'écriture. Veuillez vérifier ou en insérer une." - -#: standalone/drakfloppy:305 -#, c-format -msgid "Unable to fork: %s" -msgstr "Ne peut dédoubler (fork) : %s" - -#: standalone/drakfloppy:308 -#, c-format -msgid "Floppy creation completed" -msgstr "La création de la disquette est maintenant terminée" - -#: standalone/drakfloppy:308 -#, c-format -msgid "The creation of the boot floppy has been successfully completed \n" -msgstr "La création de la disquette de démarrage a été menée avec succès\n" - -#: standalone/drakfloppy:311 -#, c-format -msgid "" -"Unable to properly close mkbootdisk:\n" -"\n" -"<span foreground=\"Red\"><tt>%s</tt></span>" -msgstr "" -"Ne peut terminer correctement mkbootdisk : \n" -"\n" -"<span foreground=\"Red\"><tt>%s</tt></span>" - -#: standalone/drakfont:183 -#, c-format -msgid "Search installed fonts" -msgstr "Chercher les polices installées" - -#: standalone/drakfont:185 -#, c-format -msgid "Unselect fonts installed" -msgstr "Désélectionner les polices installées" - -#: standalone/drakfont:208 -#, c-format -msgid "parse all fonts" -msgstr "Parcourir toutes les polices" - -#: standalone/drakfont:210 -#, c-format -msgid "No fonts found" -msgstr "Aucune fonte trouvée" - -#: standalone/drakfont:218 standalone/drakfont:258 standalone/drakfont:325 -#: standalone/drakfont:358 standalone/drakfont:366 standalone/drakfont:392 -#: standalone/drakfont:410 standalone/drakfont:424 -#, c-format -msgid "done" -msgstr "terminé" - -#: standalone/drakfont:223 -#, c-format -msgid "Could not find any font in your mounted partitions" -msgstr "Impossible de trouver des polices dans vos disques" - -#: standalone/drakfont:256 -#, c-format -msgid "Reselect correct fonts" -msgstr "Resélectionnez des polices correctes" - -#: standalone/drakfont:259 -#, c-format -msgid "Could not find any font.\n" -msgstr "Impossible de trouver des polices.\n" - -#: standalone/drakfont:269 -#, c-format -msgid "Search for fonts in installed list" -msgstr "Chercher des polices dans la liste des installées" - -#: standalone/drakfont:294 -#, c-format -msgid "%s fonts conversion" -msgstr "Conversion des polices « %s »" - -#: standalone/drakfont:323 -#, c-format -msgid "Fonts copy" -msgstr "Copie des fontes" - -#: standalone/drakfont:326 -#, c-format -msgid "True Type fonts installation" -msgstr "Installation de polices « True Type »" - -#: standalone/drakfont:333 -#, c-format -msgid "please wait during ttmkfdir..." -msgstr "Veuillez patienter pendant « ttmkfdir »" - -#: standalone/drakfont:334 -#, c-format -msgid "True Type install done" -msgstr "Installation « True Type » terminée" - -#: standalone/drakfont:340 standalone/drakfont:355 -#, c-format -msgid "type1inst building" -msgstr "construction par type1inst" - -#: standalone/drakfont:349 -#, c-format -msgid "Ghostscript referencing" -msgstr "Inscription dans ghostscript" - -#: standalone/drakfont:359 -#, c-format -msgid "Suppress Temporary Files" -msgstr "Supprimer les fichiers temporaires" - -#: standalone/drakfont:362 -#, c-format -msgid "Restart XFS" -msgstr "Relancer le serveur de polices" - -#: standalone/drakfont:408 standalone/drakfont:418 -#, c-format -msgid "Suppress Fonts Files" -msgstr "Supprimer les fichiers de polices" - -#: standalone/drakfont:420 -#, c-format -msgid "xfs restart" -msgstr "redémarrage du serveur de fonte" - -#: standalone/drakfont:428 -#, c-format -msgid "" -"Before installing any fonts, be sure that you have the right to use and " -"install them on your system.\n" -"\n" -"-You can install the fonts the normal way. In rare cases, bogus fonts may " -"hang up your X Server." -msgstr "" -"Avant d'installer des polices de caractères, assurez-vous que vous avez\n" -"les permissions de les utiliser et de les installer sur votre système. \n" -"\n" -"- Vous pouvez installer les polices par la voie habituelle. Dans de rares " -"cas,\n" -"des polices boguées peuvent bloquer votre serveur d'affichage XFree." - -#: standalone/drakfont:477 standalone/drakfont:486 -#, c-format -msgid "DrakFont" -msgstr "DrakFont" - -#: standalone/drakfont:487 -#, c-format -msgid "Font List" -msgstr "Liste des polices" - -#: standalone/drakfont:493 -#, c-format -msgid "About" -msgstr "À propos" - -#: standalone/drakfont:495 standalone/drakfont:687 standalone/drakfont:725 -#, c-format -msgid "Uninstall" -msgstr "Désinstaller" - -#: standalone/drakfont:496 -#, c-format -msgid "Import" -msgstr "Importer" - -#: standalone/drakfont:512 -#, c-format -msgid "" -"Copyright (C) 2001-2002 by MandrakeSoft \n" -"\n" -"\n" -" DUPONT Sebastien (original version)\n" -"\n" -" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n" -"\n" -" VIGNAUD Thierry <tvignaud@mandrakesoft.com>" -msgstr "" -"Copyright (C) 2001-2002 par MandrakeSoft\n" -"\n" -" DUPONT Sebastien (original version)\n" -"\n" -" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n" -"\n" -" VIGNAUD Thierry <tvignaud@mandrakesoft.com>" - -#: standalone/drakfont:521 -#, 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" -"\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" -"\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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." -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" -"\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" -"\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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." - -#: standalone/drakfont:537 -#, c-format -msgid "" -"Thanks:\n" -"\n" -" - pfm2afm: \n" -"\t by Ken Borgendale:\n" -"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n" -"\n" -" - type1inst:\n" -"\t by James Macnicol: \n" -"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n" -"\n" -" - ttf2pt1: \n" -"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n" -" Convert ttf font files to afm and pfb fonts\n" -msgstr "" -" Remerciements :\n" -"\n" -" - pfm2afm : \n" -"\t par Ken Borgendale :\n" -"\t Conversion d'un fichier .pfm Windows vers un .afm (Adobe Font " -"Metrics)\n" -"\n" -" - type1inst :\n" -"\t par James Macnicol : \n" -"\t type1inst génère les fichiers fonts.dir, fonts.scale et Fontmap.\n" -"\n" -" - ttf2pt1 : \n" -"\t par Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n" -" Conversion des fichiers ttf vers afm et pfb\n" - -#: standalone/drakfont:556 -#, c-format -msgid "Choose the applications that will support the fonts:" -msgstr "Choisissez les programmes qui utiliseront ces polices" - -#: standalone/drakfont:557 -#, c-format -msgid "" -"Before installing any fonts, be sure that you have the right to use and " -"install them on your system.\n" -"\n" -"You can install the fonts the normal way. In rare cases, bogus fonts may " -"hang up your X Server." -msgstr "" -"Avant d'installer des polices de caractères, assurez-vous que vous avez\n" -"les permissions de les utiliser et de les installer sur votre système. \n" -"\n" -"Vous pouvez installer les polices par la voie habituelle. Dans de rares " -"cas,\n" -"des polices boguées peuvent bloquer votre serveur d'affichage XFree." - -#: standalone/drakfont:567 -#, c-format -msgid "Ghostscript" -msgstr "Ghostscript" - -#: standalone/drakfont:568 -#, c-format -msgid "StarOffice" -msgstr "StarOffice" - -#: standalone/drakfont:569 -#, c-format -msgid "Abiword" -msgstr "Abiword" - -#: standalone/drakfont:570 -#, c-format -msgid "Generic Printers" -msgstr "Imprimantes génériques" - -#: standalone/drakfont:586 -#, c-format -msgid "Select the font file or directory and click on 'Add'" -msgstr "Sélectionnez les polices ou dossiers et cliquez sur « Ajouter »" - -#: standalone/drakfont:587 -#, c-format -msgid "File Selection" -msgstr "Sélection de fichiers ou dossiers" - -#: standalone/drakfont:600 -#, c-format -msgid "You've not selected any font" -msgstr "Vous n'avez sélectionné aucune police" - -#: standalone/drakfont:652 -#, c-format -msgid "Import fonts" -msgstr "Importer les polices" - -#: standalone/drakfont:657 -#, c-format -msgid "Install fonts" -msgstr "Installer les polices" - -#: standalone/drakfont:692 -#, c-format -msgid "click here if you are sure." -msgstr "cliquez ici si vous êtes sûr" - -#: standalone/drakfont:694 -#, c-format -msgid "here if no." -msgstr "ici sinon" - -#: standalone/drakfont:733 -#, c-format -msgid "Unselected All" -msgstr "Désélectionne tout" - -#: standalone/drakfont:736 -#, c-format -msgid "Selected All" -msgstr "Sélectionne tout" - -#: standalone/drakfont:739 -#, c-format -msgid "Remove List" -msgstr "Désinstalle la liste" - -#: standalone/drakfont:750 standalone/drakfont:769 -#, c-format -msgid "Importing fonts" -msgstr "Importation des polices en cours" - -#: standalone/drakfont:754 standalone/drakfont:774 -#, c-format -msgid "Initial tests" -msgstr "Tests initiaux" - -#: standalone/drakfont:755 -#, c-format -msgid "Copy fonts on your system" -msgstr "Copier les polices sur votre système" - -#: standalone/drakfont:756 -#, c-format -msgid "Install & convert Fonts" -msgstr "Installe et convertit des polices" - -#: standalone/drakfont:757 -#, c-format -msgid "Post Install" -msgstr "Post-installation" - -#: standalone/drakfont:775 -#, c-format -msgid "Remove fonts on your system" -msgstr "Retirer des polices de votre système" - -#: standalone/drakfont:776 -#, c-format -msgid "Post Uninstall" -msgstr "Post-désinstallation" - -#: standalone/drakgw:58 standalone/drakgw:193 -#, c-format -msgid "Internet Connection Sharing" -msgstr "Partage de la connexion internet" - -#: standalone/drakgw:124 -#, c-format -msgid "Internet Connection Sharing currently disabled" -msgstr "Le partage de la connexion à Internet est désactivé" - -#: standalone/drakgw:125 -#, c-format -msgid "" -"The setup of Internet connection sharing has already been done.\n" -"It's currently disabled.\n" -"\n" -"What would you like to do?" -msgstr "" -"La configuration du partage de la connexion à Internet a déjà été\n" -"effectuée. Elle est actuellement désactivée.\n" -"\n" -"Que souhaitez-vous faire ?" - -#: standalone/drakgw:129 standalone/drakvpn:127 -#, c-format -msgid "enable" -msgstr "activer" - -#: standalone/drakgw:129 standalone/drakgw:156 standalone/drakvpn:101 -#: standalone/drakvpn:127 -#, c-format -msgid "reconfigure" -msgstr "reconfigurer" - -#: standalone/drakgw:129 standalone/drakgw:156 standalone/drakvpn:101 -#: standalone/drakvpn:127 standalone/drakvpn:376 standalone/drakvpn:735 -#, c-format -msgid "dismiss" -msgstr "ne rien faire" - -#: standalone/drakgw:136 -#, c-format -msgid "Enabling servers..." -msgstr "Activation des serveurs..." - -#: standalone/drakgw:148 -#, c-format -msgid "Internet Connection Sharing is now enabled." -msgstr "Le partage de la connexion internet est maintenant activé." - -#: standalone/drakgw:151 -#, c-format -msgid "Internet Connection Sharing currently enabled" -msgstr "Le partage de la connexion internet est activé" - -#: standalone/drakgw:152 -#, c-format -msgid "" -"The setup of Internet Connection Sharing has already been done.\n" -"It's currently enabled.\n" -"\n" -"What would you like to do?" -msgstr "" -"La configuration du partage de la connexion à Internet a déjà été\n" -"effectuée. Elle est actuellement activée.\n" -"\n" -"Que souhaitez-vous faire ?" - -#: standalone/drakgw:156 standalone/drakvpn:101 -#, c-format -msgid "disable" -msgstr "désactiver" - -#: standalone/drakgw:159 -#, c-format -msgid "Disabling servers..." -msgstr "Désactivation des serveurs..." - -#: standalone/drakgw:174 -#, c-format -msgid "Internet Connection Sharing is now disabled." -msgstr "Le partage de la connexion à Internet est maintenant désactivé." - -#: standalone/drakgw:194 -#, c-format -msgid "" -"You are about to configure your computer to share its Internet connection.\n" -"With that feature, other computers on your local network will be able to use " -"this computer's Internet connection.\n" -"\n" -"Make sure you have configured your Network/Internet access using drakconnect " -"before going any further.\n" -"\n" -"Note: you need a dedicated Network Adapter to set up a Local Area Network " -"(LAN)." -msgstr "" -"Vous êtes sur le point de configurer votre ordinateur pour partager sa " -"connexion internet.\n" -"Avec cette fonction, d'autres ordinateurs sur votre réseau local pourront " -"utiliser la connexion internet de cet ordinateur.\n" -"\n" -"Assurez-vous d'avoir configuré votre accès Réseau/Internet grâce à " -"DrakConnect avant d'aller plus loin.\n" -"\n" -"Veuillez noter que vous avez besoin d'une carte réseau dédiée à votre réseau " -"local." - -#: standalone/drakgw:237 -#, c-format -msgid "Interface %s (using module %s)" -msgstr "Interface %s (utilisant le module %s)" - -#: standalone/drakgw:238 -#, c-format -msgid "Interface %s" -msgstr "Interface %s" - -#: standalone/drakgw:247 standalone/drakpxe:137 -#, c-format -msgid "No network adapter on your system!" -msgstr "Aucune carte réseau n'est présente dans votre système !" - -#: standalone/drakgw:254 -#, c-format -msgid "Network interface" -msgstr "Carte réseau" - -#: standalone/drakgw:255 -#, c-format -msgid "" -"There is only one configured network adapter on your system:\n" -"\n" -"%s\n" -"\n" -"I am about to setup your Local Area Network with that adapter." -msgstr "" -"Une seule carte réseau est configurée sur votre système :\n" -"\n" -"%s\n" -"\n" -"Je vais configurer votre réseau local avec cette carte réseau." - -#: standalone/drakgw:262 -#, c-format -msgid "" -"Please choose what network adapter will be connected to your Local Area " -"Network." -msgstr "" -"Veuillez choisir quelle carte réseau sera connectée à votre réseau local" - -#: standalone/drakgw:291 -#, c-format -msgid "Network interface already configured" -msgstr "Interface réseau déjà configurée" - -#: standalone/drakgw:292 -#, c-format -msgid "" -"Warning, the network adapter (%s) is already configured.\n" -"\n" -"Do you want an automatic re-configuration?\n" -"\n" -"You can do it manually but you need to know what you're doing." -msgstr "" -"Attention, la carte réseau (%s) est déjà configurée.\n" -"\n" -"Désirez-vous une reconfiguration automatique ?\n" -"\n" -"Vous pouvez le faire manuellement, mais vous devez savoir ce que vous faites." - -#: standalone/drakgw:297 -#, c-format -msgid "Automatic reconfiguration" -msgstr "Reconfiguration automatique" - -#: standalone/drakgw:297 -#, c-format -msgid "No (experts only)" -msgstr "Non (pour les experts)" - -#: standalone/drakgw:298 -#, c-format -msgid "Show current interface configuration" -msgstr "Montrer la configuration actuelle" - -#: standalone/drakgw:299 -#, c-format -msgid "Current interface configuration" -msgstr "Configuration actuelle de l'interface" - -#: standalone/drakgw:300 -#, c-format -msgid "" -"Current configuration of `%s':\n" -"\n" -"Network: %s\n" -"IP address: %s\n" -"IP attribution: %s\n" -"Driver: %s" -msgstr "" -"Configuration actuelle de « %s » :\n" -"\n" -"Réseau : %s\n" -"Adresse IP : %s\n" -"Attribution de l'adresse : %s\n" -"Pilote : %s" - -#: standalone/drakgw:313 -#, c-format -msgid "" -"I can keep your current configuration and assume you already set up a DHCP " -"server; in that case please verify I correctly read the Network that you use " -"for your local network; I will not reconfigure it and I will not touch your " -"DHCP server configuration.\n" -"\n" -"The default DNS entry is the Caching Nameserver configured on the firewall. " -"You can replace that with your ISP DNS IP, for example.\n" -"\t\t \n" -"Otherwise, I can reconfigure your interface and (re)configure a DHCP server " -"for you.\n" -"\n" -msgstr "" -"Je peux conserver votre configuration actuelle, et supposer que vous avez " -"déjà configuré un serveur DHCP ; dans ce cas veuillez vérifier que j'ai " -"correctement lu l'adresse du réseau de Classe C que vous utilisez pour votre " -"réseau local ; je ne le reconfigurerai pas et je ne toucherai pas à la " -"configuration de votre serveur DHCP.\n" -"\n" -"L'entrée DNS par défaut est le serveur cache de nom configuré pour le pare-" -"feu. Vous pouvez par exemple la remplacer par l'adresse IP du serveur DNS de " -"votre fournisseur d'accès.\n" -"\t\t \n" -"Sinon, je peux reconfigurer votre interface et (re)configurer un serveur " -"DHCP à votre place.\n" -"\n" - -#: standalone/drakgw:320 -#, c-format -msgid "Local Network adress" -msgstr "Adresse de Réseau Local" - -#: standalone/drakgw:324 -#, c-format -msgid "" -"DHCP Server Configuration.\n" -"\n" -"Here you can select different options for the DHCP server configuration.\n" -"If you don't know the meaning of an option, simply leave it as it is." -msgstr "" -"Configuration du serveur DHCP.\n" -"\n" -"Vous pouvez ici sélectionner différentes options pour le serveur DHCP.\n" -"Si vous ne connaissez pas leur signification, laissez-les telles quelles." - -#: standalone/drakgw:328 -#, c-format -msgid "(This) DHCP Server IP" -msgstr "Adresse IP du serveur DHCP" - -#: standalone/drakgw:329 -#, c-format -msgid "The DNS Server IP" -msgstr "L'adresse IP du serveur DNS" - -#: standalone/drakgw:330 -#, c-format -msgid "The internal domain name" -msgstr "Le nom de domaine international" - -#: standalone/drakgw:331 -#, c-format -msgid "The DHCP start range" -msgstr "La plage DHCP de début" - -#: standalone/drakgw:332 -#, c-format -msgid "The DHCP end range" -msgstr "La plage DHCP de fin" - -#: standalone/drakgw:333 -#, c-format -msgid "The default lease (in seconds)" -msgstr "Délai standard (en secondes)" - -#: standalone/drakgw:334 -#, c-format -msgid "The maximum lease (in seconds)" -msgstr "Délai maxi (en secondes)" - -#: standalone/drakgw:335 -#, c-format -msgid "Re-configure interface and DHCP server" -msgstr "Reconfigurer l'interface et le serveur DHCP" - -#: standalone/drakgw:342 -#, c-format -msgid "The Local Network did not finish with `.0', bailing out." -msgstr "Le réseau local ne finissait pas par `.0', j'abandonne." - -#: standalone/drakgw:352 -#, c-format -msgid "Potential LAN address conflict found in current config of %s!\n" -msgstr "" -"Conflit potentiel d'adresses du réseau local trouvé dans la configuration de " -"%s !\n" - -#: standalone/drakgw:362 -#, c-format -msgid "Configuring..." -msgstr "Configuration en cours..." - -#: standalone/drakgw:363 -#, c-format -msgid "Configuring scripts, installing software, starting servers..." -msgstr "" -"Configuration des scripts, installation des logiciels, démarrage des " -"serveurs..." - -#: standalone/drakgw:403 standalone/drakpxe:231 standalone/drakvpn:278 -#, c-format -msgid "Problems installing package %s" -msgstr "Des problèmes sont apparus en installant le paquetage %s" - -#: standalone/drakgw:599 -#, c-format -msgid "" -"Everything has been configured.\n" -"You may now share Internet connection with other computers on your Local " -"Area Network, using automatic network configuration (DHCP) and\n" -" a Transparent Proxy Cache server (SQUID)." -msgstr "" -"Tout a été configuré.\n" -"Vous pouvez maintenant partager votre connexion internet avec d'autres " -"ordinateurs sur votre réseau local, en utilisant la configuration réseau " -"automatique (DHCP) et un serveur de cache (proxy) transparent (SQUID)." - -#: standalone/drakhelp:17 -#, c-format -msgid "" -" drakhelp 0.1\n" -"Copyright (C) 2003-2004 MandrakeSoft.\n" -"This is free software and may be redistributed under the terms of the GNU " -"GPL.\n" -"\n" -"Usage: \n" -msgstr "" -" drakhelp 0.1\n" -"Copyright (C) 2003-2004 MandrakeSoft.\n" -"Ce programme est un logiciel libre et peut être redistribué selon les\n" -"termes de la license GNU GPL.\n" -"\n" -"Usage : \n" - -#: standalone/drakhelp:22 -#, c-format -msgid " --help - display this help \n" -msgstr "--help - affiche ce message\n" - -#: standalone/drakhelp:23 -#, c-format -msgid "" -" --id <id_label> - load the html help page which refers to id_label\n" -msgstr "" -" --id <label_id> - charge la page d'aide html identifiéd par label_id\n" - -#: standalone/drakhelp:24 -#, c-format -msgid "" -" --doc <link> - link to another web page ( for WM welcome " -"frontend)\n" -msgstr "" -" --doc <lien> - lien vers une autre page web (pour l'interface de " -"bienvenue de WM)\n" - -#: standalone/drakhelp:35 -#, c-format -msgid "" -"%s cannot be displayed \n" -". No Help entry of this type\n" -msgstr "" -"%s ne peut être affiché\n" -". Aucune entrée d'aide pour ce type\n" - -#: standalone/drakhelp:41 -#, c-format -msgid "" -"No browser is installed on your system, Please install one if you want to " -"browse the help system" -msgstr "" -"Aucun navigateur n'est installé sur votre système. Veuillez en installer un " -"si vous voulez consulter le système d'aide." - -#: standalone/drakperm:21 -#, c-format -msgid "System settings" -msgstr "Réglages système" - -#: standalone/drakperm:22 -#, c-format -msgid "Custom settings" -msgstr "Réglages personnalisés" - -#: standalone/drakperm:23 -#, c-format -msgid "Custom & system settings" -msgstr "Réglages personnalisés et système" - -#: standalone/drakperm:43 -#, c-format -msgid "Editable" -msgstr "Éditable" - -#: standalone/drakperm:48 standalone/drakperm:314 -#, c-format -msgid "Path" -msgstr "Chemin" - -#: standalone/drakperm:48 standalone/drakperm:250 -#, c-format -msgid "User" -msgstr "Utilisateur" - -#: standalone/drakperm:48 standalone/drakperm:250 -#, c-format -msgid "Group" -msgstr "Groupe" - -#: standalone/drakperm:48 standalone/drakperm:326 -#, c-format -msgid "Permissions" -msgstr "Permissions" - -#: standalone/drakperm:107 -#, c-format -msgid "" -"Here you can see files to use in order to fix permissions, owners, and " -"groups via msec.\n" -"You can also edit your own rules which will owerwrite the default rules." -msgstr "" -"Ici il est possible de voir les fichiers à utiliser pour corriger des " -"permissions, propriétaire et groupe grâce à msec.\n" -"Vous pouvez aussi éditer vos propres règles, prioritaires devant celles par " -"défaut." - -#: standalone/drakperm:110 -#, c-format -msgid "" -"The current security level is %s.\n" -"Select permissions to see/edit" -msgstr "" -"Le niveau de sécurité courant est %s.\n" -"Sélectionnez les permissions à consulter et/ou éditer" - -#: standalone/drakperm:121 -#, c-format -msgid "Up" -msgstr "Monter" - -#: standalone/drakperm:121 -#, c-format -msgid "Move selected rule up one level" -msgstr "Augmenter la priorité de la règle d'un niveau" - -#: standalone/drakperm:122 -#, c-format -msgid "Down" -msgstr "Descendre" - -#: standalone/drakperm:122 -#, c-format -msgid "Move selected rule down one level" -msgstr "Abaisser la prioriété de la règle d'un niveau" - -#: standalone/drakperm:123 -#, c-format -msgid "Add a rule" -msgstr "Ajouter une règle" - -#: standalone/drakperm:123 -#, c-format -msgid "Add a new rule at the end" -msgstr "Ajouter une nouvelle règle à la fin" - -#: standalone/drakperm:124 -#, c-format -msgid "Delete selected rule" -msgstr "Supprimer la règle" - -#: standalone/drakperm:125 standalone/drakups:281 standalone/drakups:330 -#: standalone/drakups:350 standalone/drakvpn:333 standalone/drakvpn:694 -#: standalone/printerdrake:229 -#, c-format -msgid "Edit" -msgstr "Éditer" - -#: standalone/drakperm:125 -#, c-format -msgid "Edit current rule" -msgstr "Modifier la règle" - -#: standalone/drakperm:242 -#, c-format -msgid "browse" -msgstr "naviguer" - -#: standalone/drakperm:252 -#, c-format -msgid "Read" -msgstr "Lecture" - -#: standalone/drakperm:253 -#, c-format -msgid "Enable \"%s\" to read the file" -msgstr "Permet à « %s » de lire ce fichier" - -#: standalone/drakperm:256 -#, c-format -msgid "Write" -msgstr "Écriture" - -#: standalone/drakperm:257 -#, c-format -msgid "Enable \"%s\" to write the file" -msgstr "Permet à « %s » de modifier ce fichier" - -#: standalone/drakperm:260 -#, c-format -msgid "Execute" -msgstr "Exécuter" - -#: standalone/drakperm:261 -#, c-format -msgid "Enable \"%s\" to execute the file" -msgstr "Permet à « %s » d'exécuter ce fichier" - -#: standalone/drakperm:263 -#, c-format -msgid "Sticky-bit" -msgstr "Sticky-bit" - -#: standalone/drakperm:263 -#, c-format -msgid "" -"Used for directory:\n" -" only owner of directory or file in this directory can delete it" -msgstr "" -"Utilisé pour des dossiers :\n" -"un fichier du dossier ne peut être effacé ou renommé que par le " -"propriétaire du dossier ou du fichier" - -#: standalone/drakperm:264 -#, c-format -msgid "Set-UID" -msgstr "Set-UID" - -#: standalone/drakperm:264 -#, c-format -msgid "Use owner id for execution" -msgstr "Utiliser l'id du propriétaire lors de l'exécution" - -#: standalone/drakperm:265 -#, c-format -msgid "Set-GID" -msgstr "Set-GID" - -#: standalone/drakperm:265 -#, c-format -msgid "Use group id for execution" -msgstr "Utiliser l'id du groupe lors de l'exécution" - -#: standalone/drakperm:283 standalone/drakxtv:87 -#, c-format -msgid "User :" -msgstr "Utilisateur :" - -#: standalone/drakperm:285 -#, c-format -msgid "Group :" -msgstr "Groupe :" - -#: standalone/drakperm:289 -#, c-format -msgid "Current user" -msgstr "Utilisateur courant" - -#: standalone/drakperm:290 -#, c-format -msgid "When checked, owner and group won't be changed" -msgstr "" -"Une fois vérifiés, le propriétaire et le groupe ne seront plus modifiés" - -#: standalone/drakperm:300 -#, c-format -msgid "Path selection" -msgstr "Sélection du chemin" - -#: standalone/drakperm:320 -#, c-format -msgid "Property" -msgstr "Propietés" - -#: standalone/drakpxe:55 -#, c-format -msgid "PXE Server Configuration" -msgstr "Configuration du serveur PXE" - -#: standalone/drakpxe:111 -#, c-format -msgid "Installation Server Configuration" -msgstr "Configuration du serveur d'installation" - -#: standalone/drakpxe:112 -#, c-format -msgid "" -"You are about to configure your computer to install a PXE server as a DHCP " -"server\n" -"and a TFTP server to build an installation server.\n" -"With that feature, other computers on your local network will be installable " -"using this computer as source.\n" -"\n" -"Make sure you have configured your Network/Internet access using drakconnect " -"before going any further.\n" -"\n" -"Note: you need a dedicated Network Adapter to set up a Local Area Network " -"(LAN)." -msgstr "" -"Vous vous apprêtez à installer un serveur PXE agissant comme un serveur " -"DHCP,\n" -"et un serveur TFTP comme un serveur d'installation.\n" -"Avec cette fonction, d'autres ordinateurs sur votre réseau local pourront " -"être installés à partir de cet ordinateur.\n" -"\n" -"Assurez-vous d'avoir configuré votre accès Réseau/Internet avec DrakConnect " -"avant d'aller plus loin.\n" -"\n" -"Veuillez noter que vous avez besoin d'une carte réseau dédiée à votre réseau " -"local." - -#: standalone/drakpxe:143 -#, c-format -msgid "Please choose which network interface will be used for the dhcp server." -msgstr "" -"Veuillez choisir la carte réseau qui sera utilisée pour le serveur DHCP" - -#: standalone/drakpxe:144 -#, c-format -msgid "Interface %s (on network %s)" -msgstr "Interface %s (sur le réseau %s)" - -#: standalone/drakpxe:169 -#, c-format -msgid "" -"The DHCP server will allow other computer to boot using PXE in the given " -"range of address.\n" -"\n" -"The network address is %s using a netmask of %s.\n" -"\n" -msgstr "" -"Le serveur DHCP permettra aux autres ordinateurs de s'amorcer en utilisant " -"le PXE dans la plage d'adresses donnée.\n" -"\n" -"L'adresse réseau est %s, avec le masque %s.\n" -"\n" - -#: standalone/drakpxe:173 -#, c-format -msgid "The DHCP start ip" -msgstr "L'adresse DHCP de début" - -#: standalone/drakpxe:174 -#, c-format -msgid "The DHCP end ip" -msgstr "L'adresse DHCP de fin" - -#: standalone/drakpxe:187 -#, c-format -msgid "" -"Please indicate where the installation image will be available.\n" -"\n" -"If you do not have an existing directory, please copy the CD or DVD " -"contents.\n" -"\n" -msgstr "" -"Veuillez indiquer où les images d'installation seront disponibles.\n" -"\n" -"Si vous n'avez pas de dossier existant, veuillez copier le contenu du CD ou " -"du DVD.\n" -"\n" - -#: standalone/drakpxe:192 -#, c-format -msgid "Installation image directory" -msgstr "Dossier des images d'installation" - -#: standalone/drakpxe:196 -#, c-format -msgid "No image found" -msgstr "Aucune image trouvée" - -#: standalone/drakpxe:197 -#, c-format -msgid "" -"No CD or DVD image found, please copy the installation program and rpm files." -msgstr "" -"Aucune image de CD ou de DVD trouvée. Veuillez copier le programme " -"d'installation et les paquetages rpm." - -#: standalone/drakpxe:210 -#, c-format -msgid "" -"Please indicate where the auto_install.cfg file is located.\n" -"\n" -"Leave it blank if you do not want to set up automatic installation mode.\n" -"\n" -msgstr "" -"Veuillez indiquer l'emplacement du fichier auto_install.cfg.\n" -"\n" -"Laissez le champ vide si vous ne voulez pas configurer de mode " -"d'installation automatique.\n" -"\n" - -#: standalone/drakpxe:215 -#, c-format -msgid "Location of auto_install.cfg file" -msgstr "Emplacement du fichier auto_install.cfg" - -#: standalone/draksec:44 -#, c-format -msgid "ALL" -msgstr "TOUS" - -#: standalone/draksec:44 -#, c-format -msgid "LOCAL" -msgstr "LOCAL" - -#: standalone/draksec:44 standalone/drakvpn:1146 -#, c-format -msgid "default" -msgstr "par défaut" - -#: standalone/draksec:44 -#, c-format -msgid "ignore" -msgstr "ignorer" - -#: standalone/draksec:44 -#, c-format -msgid "no" -msgstr "non" - -#: standalone/draksec:44 -#, c-format -msgid "yes" -msgstr "oui" - -#: standalone/draksec:81 -#, c-format -msgid "" -"Here, you can setup the security level and administrator of your machine.\n" -"\n" -"\n" -"The Security Administrator is the one who will receive security alerts if " -"the\n" -"'Security Alerts' option is set. It can be a username or an email.\n" -"\n" -"\n" -"The Security Level menu allows you to select one of the six preconfigured " -"security levels\n" -"provided with msec. These levels range from poor security and ease of use, " -"to\n" -"paranoid config, suitable for very sensitive server applications:\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but " -"very\n" -"easy to use security level. It should only be used for machines not " -"connected to\n" -"any network and that are not accessible to everybody.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Standard</span>: This is the standard " -"security\n" -"recommended for a computer that will be used to connect to the Internet as " -"a\n" -"client.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">High</span>: There are already some\n" -"restrictions, and more automatic checks are run every night.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Higher</span>: The security is now high " -"enough\n" -"to use the system as a server which can accept connections from many " -"clients. If\n" -"your machine is only a client on the Internet, you should choose a lower " -"level.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the " -"previous\n" -"level, but the system is entirely closed and security features are at their\n" -"maximum" -msgstr "" -"Ici, vous pouvez configurer le niveau de sécurité et l'administrateur\n" -"de la sécurité de votre machine.\n" -"\n" -"\n" -"L'Administrateur de Sécurité recevra les alertes de sécurité si\n" -"l'option « Alertes de Sécurité » est cochée. Il peut s'agir d'une\n" -"adresse email ou d'un nom d'utilisateur.\n" -"\n" -"\n" -"Le menu « Niveau de Sécurité » permet de séléctionner l'un des six\n" -"niveaux de sécurité préconfigurés par msec.\n" -"Ces niveaux vont de « Très faible » à « Panaoïaque », utilisable comme\n" -"base pour créer un serveur hautement sécurisé.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Très faible</span> : Ce niveau de\n" -"sécurité n'est absolument pas sur mais votre système est plus facile à \n" -"utiliser. Il ne devrait donc pas être utilisé sur une machine\n" -"connectée à un réseau ou à Internet.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Standard</span> : Ceci est le niveau\n" -"standard de sécurité recommandé pour un ordinateur devant se connecter\n" -"à Internet en tant que client.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Élevée</span> : il y a déjà quelques\n" -"restrictions, et un peu plus de vérifications de sécurité sont\n" -"effectuées chaque nuit.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Plus élevée</span> : La sécurité est ici\n" -"suffisante pour utiliser la machine comme serveur acceptant de\n" -"multiples connexions. Si votre machine est simplement une machine\n" -"cliente pour Internet, un niveau inférieur est préférable.\n" -"\n" -"\n" -"<span foreground=\"royalblue3\">Panaoïaque</span> : Similaire au\n" -"précédent, mais le système sera totalement clos et la sécurité au\n" -"maximum." - -#: standalone/draksec:129 -#, c-format -msgid "(default value: %s)" -msgstr "(valeur par défaut : %s)" - -#: standalone/draksec:170 -#, c-format -msgid "Security Level:" -msgstr "Niveau de sécurité :" - -#: standalone/draksec:173 -#, c-format -msgid "Security Alerts:" -msgstr "Alertes de sécurité :" - -#: standalone/draksec:177 -#, c-format -msgid "Security Administrator:" -msgstr "Administrateur sécurité :" - -#: standalone/draksec:179 -#, c-format -msgid "Basic options" -msgstr "Options de base" - -#: standalone/draksec:192 -#, c-format -msgid "" -"The following options can be set to customize your\n" -"system security. If you need an explanation, look at the help tooltip.\n" -msgstr "" -"Les options suivantes permettent de personnaliser la sécurité de votre " -"système.\n" -"Si vous avez besoin d'explications, jetez un œil aux bulles d'aide.\n" - -#: standalone/draksec:194 -#, c-format -msgid "Network Options" -msgstr "Options réseau" - -#: standalone/draksec:194 -#, c-format -msgid "System Options" -msgstr "Options système" - -#: standalone/draksec:240 -#, c-format -msgid "Periodic Checks" -msgstr "Vérifications périodiques" - -#: standalone/draksec:258 -#, c-format -msgid "Please wait, setting security level..." -msgstr "Veuillez patienter, configuration du niveau de sécurité..." - -#: standalone/draksec:264 -#, c-format -msgid "Please wait, setting security options..." -msgstr "Veuillez patienter, configuration des options de sécurité..." - -#: standalone/draksound:47 -#, c-format -msgid "No Sound Card detected!" -msgstr "Aucune carte son détectée !" - -#: standalone/draksound:48 -#, c-format -msgid "" -"No Sound Card has been detected on your machine. Please verify that a Linux-" -"supported Sound Card is correctly plugged in.\n" -"\n" -"\n" -"You can visit our hardware database at:\n" -"\n" -"\n" -"http://www.linux-mandrake.com/en/hardware.php3" -msgstr "" -"Aucune carte son n'a été détectée sur votre ordinateur. Veuillez vérifier " -"qu'une carte son supportée par Linux est correctement branchée.\n" -"\n" -"\n" -"Vous pouvez visiter notre base de données de support matériel à  :\n" -"\n" -"\n" -"http://www.linux-mandrake.com/en/hardware.php3" - -#: standalone/draksound:55 -#, c-format -msgid "" -"\n" -"\n" -"\n" -"Note: if you've an ISA PnP sound card, you'll have to use the alsaconf or " -"the sndconfig program. Just type \"alsaconf\" or \"sndconfig\" in a console." -msgstr "" -"\n" -"\n" -"\n" -"Note : si vous avez une carte ISA PnP, vous devrez utiliser le programme " -"alsaconf ou le programme sndconfig.\n" -"Vous n'avez qu'à taper « alsaconf » ou « sndconfig » dans une console." - -#: standalone/draksplash:21 -#, c-format -msgid "" -"package 'ImageMagick' is required to be able to complete configuration.\n" -"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit" -msgstr "" -"le paquetage « ImageMagick » est nécessaire pour fonctionner correctement.\n" -"Cliquez sur « Ok » pour l'installer ou « Annuler » pour quitter" - -#: standalone/draksplash:68 -#, c-format -msgid "first step creation" -msgstr "Création de la 1ere étape" - -#: standalone/draksplash:71 -#, c-format -msgid "final resolution" -msgstr "résolution finale" - -#: standalone/draksplash:72 -#, c-format -msgid "choose image file" -msgstr "choisissez un fichier image" - -#: standalone/draksplash:73 -#, c-format -msgid "Theme name" -msgstr "nom du thème" - -#: standalone/draksplash:78 -#, c-format -msgid "Browse" -msgstr "Naviguer" - -#: standalone/draksplash:93 standalone/draksplash:158 -#, c-format -msgid "Configure bootsplash picture" -msgstr "Créer une image de démarrage" - -#: standalone/draksplash:96 -#, c-format -msgid "" -"x coordinate of text box\n" -"in number of characters" -msgstr "" -"coordonnées x de la zone de texte\n" -"en nombre de caractères" - -#: standalone/draksplash:97 -#, c-format -msgid "" -"y coordinate of text box\n" -"in number of characters" -msgstr "" -"coordonnées y de la zone de texte\n" -"en nombre de caractères" - -#: standalone/draksplash:98 -#, c-format -msgid "text width" -msgstr "largeur du texte" - -#: standalone/draksplash:99 -#, c-format -msgid "text box height" -msgstr "hauteur de la zone de texte" - -#: standalone/draksplash:100 -#, c-format -msgid "" -"the progress bar x coordinate\n" -"of its upper left corner" -msgstr "" -"coordonnées x du coin supérieur gauche\n" -"de la barre de progression" - -#: standalone/draksplash:101 -#, c-format -msgid "" -"the progress bar y coordinate\n" -"of its upper left corner" -msgstr "" -"coordonnées y du coin supérieur gauche\n" -"de la barre de progression" - -#: standalone/draksplash:102 -#, c-format -msgid "the width of the progress bar" -msgstr "la largeur de la barre de progression" - -#: standalone/draksplash:103 -#, c-format -msgid "the height of the progress bar" -msgstr "la hauteur de la barre de progression" - -#: standalone/draksplash:104 -#, c-format -msgid "the color of the progress bar" -msgstr "la couleur de la barre de progression" - -#: standalone/draksplash:119 -#, c-format -msgid "Preview" -msgstr "Aperçu" - -#: standalone/draksplash:121 -#, c-format -msgid "Save theme" -msgstr "Sauvegarder le thème" - -#: standalone/draksplash:122 -#, c-format -msgid "Choose color" -msgstr "Choisissez une couleur" - -#: standalone/draksplash:125 -#, c-format -msgid "Display logo on Console" -msgstr "Affiche le logo dans la console" - -#: standalone/draksplash:126 -#, c-format -msgid "Make kernel message quiet by default" -msgstr "Rendre non bavards les messages noyau" - -#: standalone/draksplash:161 standalone/draksplash:319 -#: standalone/draksplash:462 -#, c-format -msgid "Notice" -msgstr "Mode d'emploi" - -#: standalone/draksplash:161 standalone/draksplash:319 -#, c-format -msgid "This theme does not yet have a bootsplash in %s !" -msgstr "Ces thèmes n'avaient pas encore d'image de démarrage dans %s !" - -#: standalone/draksplash:167 -#, c-format -msgid "choose image" -msgstr "choisissez l'image" - -#: standalone/draksplash:209 -#, c-format -msgid "saving Bootsplash theme..." -msgstr "sauvegarde du thème de démarrage..." - -#: standalone/draksplash:443 -#, c-format -msgid "ProgressBar color selection" -msgstr "Sélection de couleur de la barre de progression" - -#: standalone/draksplash:462 -#, c-format -msgid "You must choose an image file first!" -msgstr "Vous devez choisir une image d'abord !" - -#: standalone/draksplash:467 -#, c-format -msgid "Generating preview ..." -msgstr "Création de l'aperçu ..." - -#: standalone/draksplash:512 -#, c-format -msgid "%s BootSplash (%s) preview" -msgstr "Aperçu de l'écran de démarrage %s (%s)" - -#: standalone/drakups:63 -#, c-format -msgid "Connected through a serial port or an usb cable" -msgstr "Connecté via un port série ou un cable USB" - -#: standalone/drakups:69 -#, c-format -msgid "Add an UPS device" -msgstr "Ajouter un onduleur" - -#: standalone/drakups:72 -#, c-format -msgid "" -"Welcome to the UPS configuration utility.\n" -"\n" -"Here, you'll be add a new UPS to your system.\n" -msgstr "" -"Bienvenue dans l'utilitaire de configuration des onduleurs.\n" -"\n" -"Vous allez pouvoir ajouter ici un nouvel onduleur à votre système.\n" - -#: standalone/drakups:79 -#, c-format -msgid "" -"We're going to add an UPS device.\n" -"\n" -"Do you prefer autodetect UPS devices connected to this machine or ?" -msgstr "" -"Nous allons ajouter un onduleur.\n" -"\n" -"Voulez-vous détécter automatiquement les onduleurs connectées à cette " -"machine ?" - -#: standalone/drakups:82 -#, c-format -msgid "Autodetection" -msgstr "Autodétection" - -#: standalone/drakups:90 standalone/harddrake2:134 -#, c-format -msgid "Detection in progress" -msgstr "Détection en cours" - -#: standalone/drakups:108 standalone/drakups:144 standalone/logdrake:479 -#: standalone/logdrake:485 -#, c-format -msgid "Congratulations" -msgstr "Félicitations" - -#: standalone/drakups:109 -#, c-format -msgid "The wizard successfully added the following UPS devices:" -msgstr "L'assistant a ajouté avec succès les onduleurs suivants :" - -#: standalone/drakups:111 -#, c-format -msgid "No new UPS devices was found" -msgstr "Aucun onduleur supplémentaire trouvé" - -#: standalone/drakups:116 standalone/drakups:128 -#, c-format -msgid "UPS driver configuration" -msgstr "Configuration du pilote UPS" - -#: standalone/drakups:116 -#, c-format -msgid "Please select your UPS model." -msgstr "Veuillez sélectionner votre modèle d'onduleur." - -#: standalone/drakups:117 -#, c-format -msgid "Manufacturer / Model:" -msgstr "Marque / modèle :" - -#: standalone/drakups:128 -#, c-format -msgid "" -"We are configuring the \"%s\" UPS from \"%s\".\n" -"Please fill in its name, its driver and its port." -msgstr "" -"Nous allons configurer l'onduleur « %s » depuis « %s ».\n" -"Veuillez remplir son nom, son pilote et son port." - -#: standalone/drakups:133 -#, c-format -msgid "Name:" -msgstr "Nom :" - -#: standalone/drakups:133 -#, c-format -msgid "The name of your ups" -msgstr "Le nom de votre onduleur" - -#: standalone/drakups:134 -#, c-format -msgid "The driver that manage your ups" -msgstr "Le pilote qui gère votre onduleur" - -#: standalone/drakups:135 -#, c-format -msgid "Port:" -msgstr "Port :" - -#: standalone/drakups:137 -#, c-format -msgid "The port on which is connected your ups" -msgstr "le port sur lequel votre onduleur est connecté" - -#: standalone/drakups:144 -#, c-format -msgid "The wizard successfully configured the new \"%s\" UPS device." -msgstr "L'assistant a configuré avec succès le onduleur « %s »." - -#: standalone/drakups:232 -#, c-format -msgid "UPS devices" -msgstr "Périphériques onduleur" - -#: standalone/drakups:233 standalone/drakups:251 standalone/drakups:266 -#: standalone/harddrake2:63 -#, c-format -msgid "Name" -msgstr "Nom" - -#: standalone/drakups:250 -#, c-format -msgid "UPS users" -msgstr "Utilisateurs UPS" - -#: standalone/drakups:265 -#, c-format -msgid "Access Control Lists" -msgstr "Listes de Contrôle d'Accès" - -#: standalone/drakups:266 -#, c-format -msgid "IP mask" -msgstr "Masque IP" - -#: standalone/drakups:277 -#, c-format -msgid "Rules" -msgstr "Règles" - -#: standalone/drakups:278 -#, c-format -msgid "Action" -msgstr "Actions" - -#: standalone/drakups:278 standalone/drakvpn:1146 standalone/harddrake2:57 -#, c-format -msgid "Level" -msgstr "Niveau" - -#: standalone/drakups:278 -#, c-format -msgid "ACL name" -msgstr "Nom de l'ACL" - -#: standalone/drakups:297 standalone/drakups:301 standalone/drakups:310 -#, c-format -msgid "DrakUPS" -msgstr "DrakUPS" - -#: standalone/drakups:307 -#, c-format -msgid "Welcome to the UPS configuration tools" -msgstr "Bienvenue dans l'outil de configuration des onduleurs" - -#: standalone/drakvpn:73 -#, c-format -msgid "DrakVPN" -msgstr "DrakVPN" - -#: standalone/drakvpn:95 -#, c-format -msgid "The VPN connection is enabled." -msgstr "La connexion VPN est activée." - -#: standalone/drakvpn:96 -#, c-format -msgid "" -"The setup of a VPN connection has already been done.\n" -"\n" -"It's currently enabled.\n" -"\n" -"What would you like to do ?" -msgstr "" -"La configuration de la connexion VPN a déjà été effectuée.\n" -"\n" -"Elle est actuellement activée.\n" -"\n" -"Que souhaitez-vous faire ?" - -#: standalone/drakvpn:105 -#, c-format -msgid "Disabling VPN..." -msgstr "Désactivation du VPN..." - -#: standalone/drakvpn:114 -#, c-format -msgid "The VPN connection is now disabled." -msgstr "La connexion VPN est maintenant désactivée." - -#: standalone/drakvpn:121 -#, c-format -msgid "VPN connection currently disabled" -msgstr " La connexion VPN est désactivé" - -#: standalone/drakvpn:122 -#, c-format -msgid "" -"The setup of a VPN connection has already been done.\n" -"\n" -"It's currently disabled.\n" -"\n" -"What would you like to do ?" -msgstr "" -"La configuration de la connexion VPN a déjà été effectuée.\n" -"\n" -"Elle est actuellement désactivée.\n" -"\n" -"Que souhaitez-vous faire ?" - -#: standalone/drakvpn:135 -#, c-format -msgid "Enabling VPN..." -msgstr "Activation du VPN..." - -#: standalone/drakvpn:141 -#, c-format -msgid "The VPN connection is now enabled." -msgstr "La connexion VPN est maintenant activée." - -#: standalone/drakvpn:155 standalone/drakvpn:183 -#, c-format -msgid "Simple VPN setup." -msgstr "Configuration d'un simple VPN" - -#: standalone/drakvpn:156 -#, c-format -msgid "" -"You are about to configure your computer to use a VPN connection.\n" -"\n" -"With this feature, computers on your local private network and computers\n" -"on some other remote private networks, can share resources, through\n" -"their respective firewalls, over the Internet, in a secure manner. \n" -"\n" -"The communication over the Internet is encrypted. The local and remote\n" -"computers look as if they were on the same network.\n" -"\n" -"Make sure you have configured your Network/Internet access using\n" -"drakconnect before going any further." -msgstr "" - -#: standalone/drakvpn:184 -#, c-format -msgid "" -"VPN connection.\n" -"\n" -"This program is based on the following projects:\n" -" - FreeSwan: \t\t\thttp://www.freeswan.org/\n" -" - Super-FreeSwan: \t\thttp://www.freeswan.ca/\n" -" - ipsec-tools: \t\t\thttp://ipsec-tools.sourceforge.net/\n" -" - ipsec-howto: \t\thttp://www.ipsec-howto.org\n" -" - the docs and man pages coming with the %s package\n" -"\n" -"Please read AT LEAST the ipsec-howto docs\n" -"before going any further." -msgstr "" -"Connection VPN.\n" -"\n" -"Ce programme est basé sur les projets suivants :\n" -" - FreeSwan : \t\t\thttp://www.freeswan.org/\n" -" - Super-FreeSwan : \t\thttp://www.freeswan.ca/\n" -" - ipsec-tools : \t\t\thttp://ipsec-tools.sourceforge.net/\n" -" - ipsec-howto : \t\thttp://www.ipsec-howto.org\n" -" - la documentation et les man du paquetage %s\n" -"\n" -"Veuillez lire AU MOINS la documentation ipsec-howto avant de continuer." - -#: standalone/drakvpn:196 -#, c-format -msgid "Kernel module." -msgstr "Module du noyau." - -#: standalone/drakvpn:197 -#, c-format -msgid "" -"The kernel need to have ipsec support.\n" -"\n" -"You're running a %s kernel version.\n" -"\n" -"This kernel has '%s' support." -msgstr "" -"Le noyau doit supporter ipsec.\n" -"\n" -"Yous utiliser un noyau version %s.\n" -"\n" -"Ce noyau supporte « %s »." - -#: standalone/drakvpn:292 -#, c-format -msgid "Security Policies" -msgstr "Politiques de sécurité" - -#: standalone/drakvpn:292 -#, c-format -msgid "IKE daemon racoon" -msgstr "" - -#: standalone/drakvpn:295 standalone/drakvpn:306 -#, c-format -msgid "Configuration file" -msgstr "Fichier de configuration" - -#: standalone/drakvpn:296 -#, c-format -msgid "" -"Configuration step !\n" -"\n" -"You need to define the Security Policies and then to \n" -"configure the automatic key exchange (IKE) daemon. \n" -"The KAME IKE daemon we're using is called 'racoon'.\n" -"\n" -"What would you like to configure ?\n" -msgstr "" - -#: standalone/drakvpn:307 -#, c-format -msgid "" -"Next, we will configure the %s file.\n" -"\n" -"\n" -"Simply click on Next.\n" -msgstr "" -"Nous allons maintenant configurer le fichier %s.\n" -"\n" -"\n" -"Cliquez simplement sur Suivant.\n" - -#: standalone/drakvpn:325 standalone/drakvpn:685 -#, c-format -msgid "%s entries" -msgstr "%s entrées" - -#: standalone/drakvpn:326 -#, c-format -msgid "" -"The %s file contents\n" -"is divided into sections.\n" -"\n" -"You can now :\n" -"\n" -" - display, add, edit, or remove sections, then\n" -" - commit the changes\n" -"\n" -"What would you like to do ?\n" -msgstr "" - -#: standalone/drakvpn:333 standalone/drakvpn:694 -#, c-format -msgid "" -"_:display here is a verb\n" -"Display" -msgstr "Afficher" - -#: standalone/drakvpn:333 standalone/drakvpn:694 -#, fuzzy, c-format -msgid "Commit" -msgstr "compact" - -#: standalone/drakvpn:347 standalone/drakvpn:351 standalone/drakvpn:709 -#: standalone/drakvpn:713 -#, c-format -msgid "" -"_:display here is a verb\n" -"Display configuration" -msgstr "Montrer la configuration" - -#: standalone/drakvpn:352 -#, c-format -msgid "" -"The %s file does not exist.\n" -"\n" -"This must be a new configuration.\n" -"\n" -"You'll have to go back and choose 'add'.\n" -msgstr "" -"Le fichier %s n'existe pas.\n" -"\n" -"Cela doit être une nouvelle configuration.\n" -"\n" -"Vous devez revenir en arrière et choisir « Ajouter ».\n" - -#: standalone/drakvpn:368 -#, c-format -msgid "ipsec.conf entries" -msgstr "entreées d'ipsec.conf" - -#: standalone/drakvpn:369 -#, c-format -msgid "" -"The %s file contains different sections.\n" -"\n" -"Here is its skeleton :\t'config setup' \n" -"\t\t\t\t\t'conn default' \n" -"\t\t\t\t\t'normal1'\n" -"\t\t\t\t\t'normal2' \n" -"\n" -"You can now add one of these sections.\n" -"\n" -"Choose the section you would like to add.\n" -msgstr "" - -#: standalone/drakvpn:376 -#, fuzzy, c-format -msgid "config setup" -msgstr "configuré" - -#: standalone/drakvpn:376 -#, fuzzy, c-format -msgid "conn %default" -msgstr "par défaut" - -#: standalone/drakvpn:376 -#, fuzzy, c-format -msgid "normal conn" -msgstr "Mode normal" - -#: standalone/drakvpn:382 standalone/drakvpn:423 standalone/drakvpn:510 -#, c-format -msgid "Exists !" -msgstr "Existe !" - -#: standalone/drakvpn:383 standalone/drakvpn:424 -#, c-format -msgid "" -"A section with this name already exists.\n" -"The section names have to be unique.\n" -"\n" -"You'll have to go back and add another section\n" -"or change its name.\n" -msgstr "" - -#: standalone/drakvpn:400 -#, c-format -msgid "" -"This section has to be on top of your\n" -"%s file.\n" -"\n" -"Make sure all other sections follow this config\n" -"setup section.\n" -"\n" -"Choose continue or previous when you are done.\n" -msgstr "" - -#: standalone/drakvpn:405 -#, c-format -msgid "interfaces" -msgstr "interfaces" - -#: standalone/drakvpn:406 -#, c-format -msgid "klipsdebug" -msgstr "" - -#: standalone/drakvpn:407 -#, c-format -msgid "plutodebug" -msgstr "" - -#: standalone/drakvpn:408 -#, c-format -msgid "plutoload" -msgstr "" - -#: standalone/drakvpn:409 -#, c-format -msgid "plutostart" -msgstr "" - -#: standalone/drakvpn:410 -#, c-format -msgid "uniqueids" -msgstr "" - -#: standalone/drakvpn:444 -#, c-format -msgid "" -"This is the first section after the config\n" -"setup one.\n" -"\n" -"Here you define the default settings. \n" -"All the other sections will follow this one.\n" -"The left settings are optional. If don't define\n" -"them here, globally, you can define them in each\n" -"section.\n" -msgstr "" - -#: standalone/drakvpn:451 -#, c-format -msgid "PFS" -msgstr "PFS" - -#: standalone/drakvpn:452 -#, c-format -msgid "keyingtries" -msgstr "" - -#: standalone/drakvpn:453 -#, c-format -msgid "compress" -msgstr "compresser" - -#: standalone/drakvpn:454 -#, c-format -msgid "disablearrivalcheck" -msgstr "" - -#: standalone/drakvpn:455 standalone/drakvpn:494 -#, c-format -msgid "left" -msgstr "gauche" - -#: standalone/drakvpn:456 standalone/drakvpn:495 -#, c-format -msgid "leftcert" -msgstr "" - -#: standalone/drakvpn:457 standalone/drakvpn:496 -#, c-format -msgid "leftrsasigkey" -msgstr "" - -#: standalone/drakvpn:458 standalone/drakvpn:497 -#, c-format -msgid "leftsubnet" -msgstr "" - -#: standalone/drakvpn:459 standalone/drakvpn:498 -#, c-format -msgid "leftnexthop" -msgstr "" - -#: standalone/drakvpn:488 -#, c-format -msgid "" -"Your %s file has several sections, or connections.\n" -"\n" -"You can now add a new section.\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:491 -#, c-format -msgid "section name" -msgstr "nom de la section" - -#: standalone/drakvpn:492 -#, fuzzy, c-format -msgid "authby" -msgstr "Chemin" - -#: standalone/drakvpn:493 -#, c-format -msgid "auto" -msgstr "auto" - -#: standalone/drakvpn:499 -#, c-format -msgid "right" -msgstr "droite" - -#: standalone/drakvpn:500 -#, fuzzy, c-format -msgid "rightcert" -msgstr "Plus élevé" - -#: standalone/drakvpn:501 -#, c-format -msgid "rightrsasigkey" -msgstr "" - -#: standalone/drakvpn:502 -#, c-format -msgid "rightsubnet" -msgstr "" - -#: standalone/drakvpn:503 -#, c-format -msgid "rightnexthop" -msgstr "" - -#: standalone/drakvpn:511 -#, c-format -msgid "" -"A section with this name already exists.\n" -"The section names have to be unique.\n" -"\n" -"You'll have to go back and add another section\n" -"or change the name of the section.\n" -msgstr "" - -#: standalone/drakvpn:543 -#, c-format -msgid "" -"Add a Security Policy.\n" -"\n" -"You can now add a Security Policy.\n" -"\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:576 standalone/drakvpn:826 -#, c-format -msgid "Edit section" -msgstr "Éditer la section" - -#: standalone/drakvpn:577 -#, c-format -msgid "" -"Your %s file has several sections or connections.\n" -"\n" -"You can choose here below the one you want to edit \n" -"and then click on next.\n" -msgstr "" - -#: standalone/drakvpn:580 standalone/drakvpn:660 standalone/drakvpn:831 -#: standalone/drakvpn:877 -#, c-format -msgid "Section names" -msgstr "Noms des sections" - -#: standalone/drakvpn:590 -#, c-format -msgid "Can't edit !" -msgstr "Ne peut éditer !" - -#: standalone/drakvpn:591 -#, c-format -msgid "" -"You cannot edit this section.\n" -"\n" -"This section is mandatory for Freswan 2.X.\n" -"One has to specify version 2.0 on the top\n" -"of the %s file, and eventually, disable or\n" -"enable the oportunistic encryption.\n" -msgstr "" - -#: standalone/drakvpn:600 -#, c-format -msgid "" -"Your %s file has several sections.\n" -"\n" -"You can now edit the config setup section entries.\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:611 -#, c-format -msgid "" -"Your %s file has several sections or connections.\n" -"\n" -"You can now edit the default section entries.\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:624 -#, c-format -msgid "" -"Your %s file has several sections or connections.\n" -"\n" -"You can now edit the normal section entries.\n" -"\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:645 -#, c-format -msgid "" -"Edit a Security Policy.\n" -"\n" -"You can now add a Security Policy.\n" -"\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:656 standalone/drakvpn:873 -#, c-format -msgid "Remove section" -msgstr "Enlever une section" - -#: standalone/drakvpn:657 standalone/drakvpn:874 -#, c-format -msgid "" -"Your %s file has several sections or connections.\n" -"\n" -"You can choose here below the one you want to remove\n" -"and then click on next.\n" -msgstr "" - -#: standalone/drakvpn:686 -#, c-format -msgid "" -"The racoon.conf file configuration.\n" -"\n" -"The contents of this file is divided into sections.\n" -"You can now :\n" -" - display \t\t (display the file contents)\n" -" - add\t\t\t (add one section)\n" -" - edit \t\t\t (modify parameters of an existing section)\n" -" - remove \t\t (remove an existing section)\n" -" - commit \t\t (writes the changes to the real file)" -msgstr "" - -#: standalone/drakvpn:714 -#, c-format -msgid "" -"The %s file does not exist\n" -"\n" -"This must be a new configuration.\n" -"\n" -"You'll have to go back and choose configure.\n" -msgstr "" - -#: standalone/drakvpn:728 -#, c-format -msgid "racoonf.conf entries" -msgstr "entrées de racoonf.conf" - -#: standalone/drakvpn:729 -#, c-format -msgid "" -"The 'add' sections step.\n" -"\n" -"Here below is the racoon.conf file skeleton :\n" -"\t'path'\n" -"\t'remote'\n" -"\t'sainfo' \n" -"\n" -"Choose the section you would like to add.\n" -msgstr "" - -#: standalone/drakvpn:735 -#, c-format -msgid "path" -msgstr "chemin" - -#: standalone/drakvpn:735 -#, c-format -msgid "remote" -msgstr "distant" - -#: standalone/drakvpn:735 -#, fuzzy, c-format -msgid "sainfo" -msgstr "Espagnol" - -#: standalone/drakvpn:743 -#, c-format -msgid "" -"The 'add path' section step.\n" -"\n" -"The path sections have to be on top of your racoon.conf file.\n" -"\n" -"Put your mouse over the certificate entry to obtain online help." -msgstr "" - -#: standalone/drakvpn:746 -#, fuzzy, c-format -msgid "path type" -msgstr "Changer le type" - -#: standalone/drakvpn:750 -#, c-format -msgid "" -"path include path : specifies a path to include\n" -"a file. See File Inclusion.\n" -"\tExample: path include '/etc/racoon'\n" -"\n" -"path pre_shared_key file : specifies a file containing\n" -"pre-shared key(s) for various ID(s). See Pre-shared key File.\n" -"\tExample: path pre_shared_key '/etc/racoon/psk.txt' ;\n" -"\n" -"path certificate path : racoon(8) will search this directory\n" -"if a certificate or certificate request is received.\n" -"\tExample: path certificate '/etc/cert' ;\n" -"\n" -"File Inclusion : include file \n" -"other configuration files can be included.\n" -"\tExample: include \"remote.conf\" ;\n" -"\n" -"Pre-shared key File : Pre-shared key file defines a pair\n" -"of the identifier and the shared secret key which are used at\n" -"Pre-shared key authentication method in phase 1." -msgstr "" - -#: standalone/drakvpn:770 standalone/drakvpn:863 -#, fuzzy, c-format -msgid "real file" -msgstr "Sélectionnez un fichier" - -#: standalone/drakvpn:793 -#, c-format -msgid "" -"Make sure you already have the path sections\n" -"on the top of your racoon.conf file.\n" -"\n" -"You can now choose the remote settings.\n" -"Choose continue or previous when you are done.\n" -msgstr "" - -#: standalone/drakvpn:810 -#, c-format -msgid "" -"Make sure you already have the path sections\n" -"on the top of your %s file.\n" -"\n" -"You can now choose the sainfo settings.\n" -"Choose continue or previous when you are done.\n" -msgstr "" - -#: standalone/drakvpn:827 -#, c-format -msgid "" -"Your %s file has several sections or connections.\n" -"\n" -"You can choose here in the list below the one you want\n" -"to edit and then click on next.\n" -msgstr "" - -#: standalone/drakvpn:838 -#, c-format -msgid "" -"Your %s file has several sections.\n" -"\n" -"\n" -"You can now edit the remote section entries.\n" -"\n" -"Choose continue when you are done to write the data.\n" -msgstr "" - -#: standalone/drakvpn:847 -#, c-format -msgid "" -"Your %s file has several sections.\n" -"\n" -"You can now edit the sainfo section entries.\n" -"\n" -"Choose continue when you are done to write the data." -msgstr "" - -#: standalone/drakvpn:855 -#, c-format -msgid "" -"This section has to be on top of your\n" -"%s file.\n" -"\n" -"Make sure all other sections follow these path\n" -"sections.\n" -"\n" -"You can now edit the path entries.\n" -"\n" -"Choose continue or previous when you are done.\n" -msgstr "" - -#: standalone/drakvpn:862 -#, c-format -msgid "path_type" -msgstr "" - -#: standalone/drakvpn:903 -#, c-format -msgid "" -"Everything has been configured.\n" -"\n" -"You may now share resources through the Internet,\n" -"in a secure way, using a VPN connection.\n" -"\n" -"You should make sure that that the tunnels shorewall\n" -"section is configured." -msgstr "" - -#: standalone/drakvpn:923 -#, c-format -msgid "Sainfo source address" -msgstr "Adresse source Sainfo" - -#: standalone/drakvpn:924 -#, c-format -msgid "" -"sainfo (source_id destination_id | anonymous) { statements }\n" -"defines the parameters of the IKE phase 2\n" -"(IPsec-SA establishment).\n" -"\n" -"source_id and destination_id are constructed like:\n" -"\n" -"\taddress address [/ prefix] [[port]] ul_proto\n" -"\n" -"Examples : \n" -"\n" -"sainfo anonymous (accepts connections from anywhere)\n" -"\tleave blank this entry if you want anonymous\n" -"\n" -"sainfo address 203.178.141.209 any address 203.178.141.218 any\n" -"\t203.178.141.209 is the source address\n" -"\n" -"sainfo address 172.16.1.0/24 any address 172.16.2.0/24 any\n" -"\t172.16.1.0/24 is the source address" -msgstr "" - -#: standalone/drakvpn:941 -#, c-format -msgid "Sainfo source protocol" -msgstr "Protocole source sainfo" - -#: standalone/drakvpn:942 -#, c-format -msgid "" -"sainfo (source_id destination_id | anonymous) { statements }\n" -"defines the parameters of the IKE phase 2\n" -"(IPsec-SA establishment).\n" -"\n" -"source_id and destination_id are constructed like:\n" -"\n" -"\taddress address [/ prefix] [[port]] ul_proto\n" -"\n" -"Examples : \n" -"\n" -"sainfo anonymous (accepts connections from anywhere)\n" -"\tleave blank this entry if you want anonymous\n" -"\n" -"sainfo address 203.178.141.209 any address 203.178.141.218 any\n" -"\tthe first 'any' allows any protocol for the source" -msgstr "" - -#: standalone/drakvpn:956 -#, c-format -msgid "Sainfo destination address" -msgstr "Adresse de destination sainfo" - -#: standalone/drakvpn:957 -#, c-format -msgid "" -"sainfo (source_id destination_id | anonymous) { statements }\n" -"defines the parameters of the IKE phase 2\n" -"(IPsec-SA establishment).\n" -"\n" -"source_id and destination_id are constructed like:\n" -"\n" -"\taddress address [/ prefix] [[port]] ul_proto\n" -"\n" -"Examples : \n" -"\n" -"sainfo anonymous (accepts connections from anywhere)\n" -"\tleave blank this entry if you want anonymous\n" -"\n" -"sainfo address 203.178.141.209 any address 203.178.141.218 any\n" -"\t203.178.141.218 is the destination address\n" -"\n" -"sainfo address 172.16.1.0/24 any address 172.16.2.0/24 any\n" -"\t172.16.2.0/24 is the destination address" -msgstr "" - -#: standalone/drakvpn:974 -#, c-format -msgid "Sainfo destination protocol" -msgstr "Protocole de destination sainfo" - -#: standalone/drakvpn:975 -#, c-format -msgid "" -"sainfo (source_id destination_id | anonymous) { statements }\n" -"defines the parameters of the IKE phase 2\n" -"(IPsec-SA establishment).\n" -"\n" -"source_id and destination_id are constructed like:\n" -"\n" -"\taddress address [/ prefix] [[port]] ul_proto\n" -"\n" -"Examples : \n" -"\n" -"sainfo anonymous (accepts connections from anywhere)\n" -"\tleave blank this entry if you want anonymous\n" -"\n" -"sainfo address 203.178.141.209 any address 203.178.141.218 any\n" -"\tthe last 'any' allows any protocol for the destination" -msgstr "" - -#: standalone/drakvpn:989 -#, c-format -msgid "PFS group" -msgstr "Groupe PFS" - -#: standalone/drakvpn:991 -#, c-format -msgid "" -"define the group of Diffie-Hellman exponentiations.\n" -"If you do not require PFS then you can omit this directive.\n" -"Any proposal will be accepted if you do not specify one.\n" -"group is one of following: modp768, modp1024, modp1536.\n" -"Or you can define 1, 2, or 5 as the DH group number." -msgstr "" - -#: standalone/drakvpn:996 -#, fuzzy, c-format -msgid "Lifetime number" -msgstr "un nombre" - -#: standalone/drakvpn:997 -#, c-format -msgid "" -"define a lifetime of a certain time which will be pro-\n" -"posed in the phase 1 negotiations. Any proposal will be\n" -"accepted, and the attribute(s) will be not proposed to\n" -"the peer if you do not specify it(them). They can be\n" -"individually specified in each proposal.\n" -"\n" -"Examples : \n" -"\n" -" lifetime time 1 min; # sec,min,hour\n" -" lifetime time 1 min; # sec,min,hour\n" -" lifetime time 30 sec;\n" -" lifetime time 30 sec;\n" -" lifetime time 60 sec;\n" -"\tlifetime time 12 hour;\n" -"\n" -"So, here, the lifetime numbers are 1, 1, 30, 30, 60 and 12.\n" -msgstr "" - -#: standalone/drakvpn:1013 -#, c-format -msgid "Lifetime unit" -msgstr "" - -#: standalone/drakvpn:1015 -#, c-format -msgid "" -"define a lifetime of a certain time which will be pro-\n" -"posed in the phase 1 negotiations. Any proposal will be\n" -"accepted, and the attribute(s) will be not proposed to\n" -"the peer if you do not specify it(them). They can be\n" -"individually specified in each proposal.\n" -"\n" -"Examples : \n" -"\n" -" lifetime time 1 min; # sec,min,hour\n" -" lifetime time 1 min; # sec,min,hour\n" -" lifetime time 30 sec;\n" -" lifetime time 30 sec;\n" -" lifetime time 60 sec;\n" -"\tlifetime time 12 hour ;\n" -"\n" -"So, here, the lifetime units are 'min', 'min', 'sec', 'sec', 'sec' and " -"'hour'.\n" -msgstr "" - -#: standalone/drakvpn:1031 standalone/drakvpn:1116 -#, c-format -msgid "Encryption algorithm" -msgstr "Algorithme de cryptage" - -#: standalone/drakvpn:1033 -#, c-format -msgid "Authentication algorithm" -msgstr "Algorithme d'authentification" - -#: standalone/drakvpn:1035 -#, c-format -msgid "Compression algorithm" -msgstr "Algorithme de compression" - -#: standalone/drakvpn:1036 -#, fuzzy, c-format -msgid "deflate" -msgstr "par défaut" - -#: standalone/drakvpn:1043 -#, c-format -msgid "Remote" -msgstr "Distant" - -#: standalone/drakvpn:1044 -#, c-format -msgid "" -"remote (address | anonymous) [[port]] { statements }\n" -"specifies the parameters for IKE phase 1 for each remote node.\n" -"The default port is 500. If anonymous is specified, the state-\n" -"ments apply to all peers which do not match any other remote\n" -"directive.\n" -"\n" -"Examples : \n" -"\n" -"remote anonymous\n" -"remote ::1 [8000]" -msgstr "" - -#: standalone/drakvpn:1052 -#, c-format -msgid "Exchange mode" -msgstr "Mode d'échange" - -#: standalone/drakvpn:1054 -#, c-format -msgid "" -"defines the exchange mode for phase 1 when racoon is the\n" -"initiator. Also it means the acceptable exchange mode\n" -"when racoon is responder. More than one mode can be\n" -"specified by separating them with a comma. All of the\n" -"modes are acceptable. The first exchange mode is what\n" -"racoon uses when it is the initiator.\n" -msgstr "" - -#: standalone/drakvpn:1060 -#, fuzzy, c-format -msgid "Generate policy" -msgstr "Sécurité" - -#: standalone/drakvpn:1061 standalone/drakvpn:1077 standalone/drakvpn:1090 -#, c-format -msgid "off" -msgstr "désactivé" - -#: standalone/drakvpn:1061 standalone/drakvpn:1077 standalone/drakvpn:1090 -#, c-format -msgid "on" -msgstr "activé" - -#: standalone/drakvpn:1062 -#, c-format -msgid "" -"This directive is for the responder. Therefore you\n" -"should set passive on in order that racoon(8) only\n" -"becomes a responder. If the responder does not have any\n" -"policy in SPD during phase 2 negotiation, and the direc-\n" -"tive is set on, then racoon(8) will choice the first pro-\n" -"posal in the SA payload from the initiator, and generate\n" -"policy entries from the proposal. It is useful to nego-\n" -"tiate with the client which is allocated IP address\n" -"dynamically. Note that inappropriate policy might be\n" -"installed into the responder's SPD by the initiator. So\n" -"that other communication might fail if such policies\n" -"installed due to some policy mismatches between the ini-\n" -"tiator and the responder. This directive is ignored in\n" -"the initiator case. The default value is off." -msgstr "" - -#: standalone/drakvpn:1076 -#, c-format -msgid "Passive" -msgstr "Passif" - -#: standalone/drakvpn:1078 -#, c-format -msgid "" -"If you do not want to initiate the negotiation, set this\n" -"to on. The default value is off. It is useful for a\n" -"server." -msgstr "" - -#: standalone/drakvpn:1081 -#, c-format -msgid "Certificate type" -msgstr "Type de certificat" - -#: standalone/drakvpn:1083 -#, fuzzy, c-format -msgid "My certfile" -msgstr "Sélectionnez un fichier" - -#: standalone/drakvpn:1084 -#, c-format -msgid "Name of the certificate" -msgstr "Nom du certificat" - -#: standalone/drakvpn:1085 -#, c-format -msgid "My private key" -msgstr "Ma clé privée" - -#: standalone/drakvpn:1086 -#, c-format -msgid "Name of the private key" -msgstr "Nom de la clé privée" - -#: standalone/drakvpn:1087 -#, fuzzy, c-format -msgid "Peers certfile" -msgstr "Sélectionnez un fichier" - -#: standalone/drakvpn:1088 -#, c-format -msgid "Name of the peers certificate" -msgstr "" - -#: standalone/drakvpn:1089 -#, c-format -msgid "Verify cert" -msgstr "Vérifier le certificat" - -#: standalone/drakvpn:1091 -#, c-format -msgid "" -"If you do not want to verify the peer's certificate for\n" -"some reason, set this to off. The default is on." -msgstr "" - -#: standalone/drakvpn:1093 -#, c-format -msgid "My identifier" -msgstr "Mon identifiant" - -#: standalone/drakvpn:1094 -#, c-format -msgid "" -"specifies the identifier sent to the remote host and the\n" -"type to use in the phase 1 negotiation. address, fqdn,\n" -"user_fqdn, keyid and asn1dn can be used as an idtype.\n" -"they are used like:\n" -"\tmy_identifier address [address];\n" -"\t\tthe type is the IP address. This is the default\n" -"\t\ttype if you do not specify an identifier to use.\n" -"\tmy_identifier user_fqdn string;\n" -"\t\tthe type is a USER_FQDN (user fully-qualified\n" -"\t\tdomain name).\n" -"\tmy_identifier fqdn string;\n" -"\t\tthe type is a FQDN (fully-qualified domain name).\n" -"\tmy_identifier keyid file;\n" -"\t\tthe type is a KEY_ID.\n" -"\tmy_identifier asn1dn [string];\n" -"\t\tthe type is an ASN.1 distinguished name. If\n" -"\t\tstring is omitted, racoon(8) will get DN from\n" -"\t\tSubject field in the certificate.\n" -"\n" -"Examples : \n" -"\n" -"my_identifier user_fqdn \"myemail@mydomain.com\"" -msgstr "" - -#: standalone/drakvpn:1114 -#, fuzzy, c-format -msgid "Peers identifier" -msgstr "Identifiant peers" - -#: standalone/drakvpn:1115 -#, fuzzy, c-format -msgid "Proposal" -msgstr "Protocole" - -#: standalone/drakvpn:1117 -#, c-format -msgid "" -"specify the encryption algorithm used for the\n" -"phase 1 negotiation. This directive must be defined. \n" -"algorithm is one of following: \n" -"\n" -"des, 3des, blowfish, cast128 for oakley.\n" -"\n" -"For other transforms, this statement should not be used." -msgstr "" - -#: standalone/drakvpn:1124 -#, c-format -msgid "Hash algorithm" -msgstr "Algorithme de hashage" - -#: standalone/drakvpn:1125 -#, c-format -msgid "Authentication method" -msgstr "Methode d'authentification" - -#: standalone/drakvpn:1126 -#, c-format -msgid "DH group" -msgstr "Groupe DH" - -#: standalone/drakvpn:1133 -#, c-format -msgid "Command" -msgstr "Commande" - -#: standalone/drakvpn:1134 -#, c-format -msgid "Source IP range" -msgstr "Plage d'IPs source" - -#: standalone/drakvpn:1135 -#, c-format -msgid "Destination IP range" -msgstr "Plage d'IPs de destination" - -#: standalone/drakvpn:1136 -#, c-format -msgid "Upper-layer protocol" -msgstr "Protocole de haut-niveau" - -#: standalone/drakvpn:1136 standalone/drakvpn:1143 -#, c-format -msgid "any" -msgstr "n'importe" - -#: standalone/drakvpn:1138 -#, c-format -msgid "Flag" -msgstr "Drapeau" - -#: standalone/drakvpn:1139 -#, c-format -msgid "Direction" -msgstr "Direction" - -#: standalone/drakvpn:1140 -#, c-format -msgid "IPsec policy" -msgstr "Politique IPsec" - -#: standalone/drakvpn:1140 -#, c-format -msgid "ipsec" -msgstr "ipsec" - -#: standalone/drakvpn:1140 -#, fuzzy, c-format -msgid "discard" -msgstr "désactivé" - -#: standalone/drakvpn:1143 -#, c-format -msgid "Mode" -msgstr "Mode" - -#: standalone/drakvpn:1143 -#, c-format -msgid "tunnel" -msgstr "tunnel" - -#: standalone/drakvpn:1143 -#, c-format -msgid "transport" -msgstr "transport" - -#: standalone/drakvpn:1145 -#, c-format -msgid "Source/destination" -msgstr "Source/destination" - -#: standalone/drakvpn:1146 -#, c-format -msgid "require" -msgstr "" - -#: standalone/drakvpn:1146 -#, c-format -msgid "use" -msgstr "utiliser" - -#: standalone/drakvpn:1146 -#, c-format -msgid "unique" -msgstr "unique" - -#: standalone/drakxtv:43 -#, c-format -msgid "USA (broadcast)" -msgstr "USA (hertzien)" - -#: standalone/drakxtv:43 -#, c-format -msgid "USA (cable)" -msgstr "USA (câble)" - -#: standalone/drakxtv:43 -#, c-format -msgid "USA (cable-hrc)" -msgstr "USA (câble ou HRC)" - -#: standalone/drakxtv:43 -#, c-format -msgid "Canada (cable)" -msgstr "Canada (câble)" - -#: standalone/drakxtv:44 -#, c-format -msgid "Japan (broadcast)" -msgstr "Japon (hertzien)" - -#: standalone/drakxtv:44 -#, c-format -msgid "Japan (cable)" -msgstr "Japon (câble)" - -#: standalone/drakxtv:44 -#, c-format -msgid "China (broadcast)" -msgstr "Chine (hertzien)" - -#: standalone/drakxtv:45 -#, c-format -msgid "West Europe" -msgstr "Europe de l'ouest" - -#: standalone/drakxtv:45 -#, c-format -msgid "East Europe" -msgstr "Europe de l'est" - -#: standalone/drakxtv:45 -#, c-format -msgid "France [SECAM]" -msgstr "France [SECAM]" - -#: standalone/drakxtv:46 -#, c-format -msgid "Newzealand" -msgstr "Nouvelle Zélande" - -#: standalone/drakxtv:49 -#, c-format -msgid "Australian Optus cable TV" -msgstr "Câble TV australien Optus" - -#: standalone/drakxtv:83 -#, c-format -msgid "" -"Please,\n" -"type in your tv norm and country" -msgstr "" -"SVP,\n" -"Veuillez choisir votre région et votre norme de TV" - -#: standalone/drakxtv:85 -#, c-format -msgid "TV norm:" -msgstr "Norme TV :" - -#: standalone/drakxtv:86 -#, c-format -msgid "Area:" -msgstr "Zone :" - -#: standalone/drakxtv:91 -#, c-format -msgid "Scanning for TV channels in progress ..." -msgstr "Recherche des canaux de télévision en cours ..." - -#: standalone/drakxtv:101 -#, c-format -msgid "Scanning for TV channels" -msgstr "Recherche des canaux de télévision" - -#: standalone/drakxtv:105 -#, c-format -msgid "There was an error while scanning for TV channels" -msgstr "Une erreur est survenue pendant la recherche des chaînes TV." - -#: standalone/drakxtv:108 -#, c-format -msgid "Have a nice day!" -msgstr "Passez une bonne journée !" - -#: standalone/drakxtv:109 -#, c-format -msgid "Now, you can run xawtv (under X Window!) !\n" -msgstr "Maintenant vous pouvez lancer xawtv (sous X-Window) !\n" - -#: standalone/drakxtv:132 -#, c-format -msgid "No TV Card detected!" -msgstr "Aucune carte TV détectée !" - -#: standalone/drakxtv:133 -#, c-format -msgid "" -"No TV Card has been detected on your machine. Please verify that a Linux-" -"supported Video/TV Card is correctly plugged in.\n" -"\n" -"\n" -"You can visit our hardware database at:\n" -"\n" -"\n" -"http://www.linux-mandrake.com/en/hardware.php3" -msgstr "" -"Aucune carte TV n'a été détectée sur votre ordinateur. Veuillez vérifier " -"qu'une carte TV/Vidéo supportée par Linux est correctement branchée.\n" -"\n" -"\n" -"Vous pouvez visiter notre base de données de support matériel à  :\n" -"\n" -"\n" -"http://www.linux-mandrake.com/en/hardware.php3" - -#: standalone/harddrake2:18 -#, c-format -msgid "Alternative drivers" -msgstr "Autres pilotes" - -#: standalone/harddrake2:19 -#, c-format -msgid "the list of alternative drivers for this sound card" -msgstr "list des autres pilotes pour cette carte son" - -#: standalone/harddrake2:22 -#, c-format -msgid "" -"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)" -msgstr "" -"ceci est le bus physique sur lequel le périphérique est connecté (ex : PCI, " -"USB, ...)" - -#: standalone/harddrake2:23 -#, c-format -msgid "Channel" -msgstr "Canal" - -#: standalone/harddrake2:23 -#, c-format -msgid "EIDE/SCSI channel" -msgstr "Nappe EIDE/Canal SCSI" - -#: standalone/harddrake2:24 -#, c-format -msgid "Bogomips" -msgstr "Bogomips" - -#: standalone/harddrake2:24 -#, c-format -msgid "" -"the GNU/Linux kernel needs to run a calculation loop at boot time to " -"initialize a timer counter. Its result is stored as bogomips as a way to " -"\"benchmark\" the cpu." -msgstr "" -"le noyau Linux doit exécuter une boucle de calcul au démarrage pour " -"initialiser un compteur d'horloge. Le résultat est donné sous la forme de " -"bogomips et donne une indication sur les performances du processeur." - -#: standalone/harddrake2:26 -#, c-format -msgid "Bus identification" -msgstr "Identification de Bus" - -#: standalone/harddrake2:27 -#, c-format -msgid "" -"- PCI and USB devices: this lists the vendor, device, subvendor and " -"subdevice PCI/USB ids" -msgstr "" -"- périphériques PCI et USB : liste des identifiants vendeur, périphériques, " -"sous-vendeur, et sous-périphériques PCI/USB" - -#: standalone/harddrake2:30 -#, c-format -msgid "" -"- pci devices: this gives the PCI slot, device and function of this card\n" -"- eide devices: the device is either a slave or a master device\n" -"- scsi devices: the scsi bus and the scsi device ids" -msgstr "" -"- périphériques PCI : slot, périphériques et fonction PCI de cette carte\n" -"- périphériques EIDE : ce périphérique est soit maître, soit esclave\n" -"- périphériques SCSI : le bus et l'identifiant SCSI" - -#: standalone/harddrake2:33 -#, c-format -msgid "Cache size" -msgstr "Taille du cache" - -#: standalone/harddrake2:33 -#, c-format -msgid "size of the (second level) cpu cache" -msgstr "taille du cache (de second niveau) du processeur" - -#: standalone/harddrake2:34 -#, c-format -msgid "Drive capacity" -msgstr "Spécificités du lecteur" - -#: standalone/harddrake2:34 -#, c-format -msgid "special capacities of the driver (burning ability and or DVD support)" -msgstr "" -"caractéristiques spéciales du lecteur (capable de graver des médias ou de " -"lire des DVD)" - -#: standalone/harddrake2:36 -#, c-format -msgid "Coma bug" -msgstr "Bogue de « coma »" - -#: standalone/harddrake2:36 -#, c-format -msgid "whether this cpu has the Cyrix 6x86 Coma bug" -msgstr "le processeur a-t-il le bogue « coma » du Cyrix 6x86 ?" - -#: standalone/harddrake2:37 -#, c-format -msgid "Cpuid family" -msgstr "Famille CPUID" - -#: standalone/harddrake2:37 -#, c-format -msgid "family of the cpu (eg: 6 for i686 class)" -msgstr "famille du processeur (exemple : 6 pour la classe des i686)" - -#: standalone/harddrake2:38 -#, c-format -msgid "Cpuid level" -msgstr "Niveau CPUID" - -#: standalone/harddrake2:38 -#, c-format -msgid "information level that can be obtained through the cpuid instruction" -msgstr "niveau d'information qui peut être obtenu par l'instruction cpuid" - -#: standalone/harddrake2:39 -#, c-format -msgid "Frequency (MHz)" -msgstr "Fréquence (MHz)" - -#: standalone/harddrake2:39 -#, c-format -msgid "" -"the CPU frequency in MHz (Megahertz which in first approximation may be " -"coarsely assimilated to number of instructions the cpu is able to execute " -"per second)" -msgstr "" -"la fréquence du processeur en MHz (les méga hertz sont en première\n" -"approximation le nombre d'instructions exécutables par seconde par le\n" -"processeur)" - -#: standalone/harddrake2:40 -#, c-format -msgid "this field describes the device" -msgstr "ce champs décrit le périphérique" - -#: standalone/harddrake2:41 -#, c-format -msgid "Old device file" -msgstr "Ancien nom de périphérique" - -#: standalone/harddrake2:42 -#, c-format -msgid "old static device name used in dev package" -msgstr "ancien nom de périphérique statique utilisé dans le paquetage dev" - -#: standalone/harddrake2:43 -#, c-format -msgid "New devfs device" -msgstr "Nouveau périphérique devfs" - -#: standalone/harddrake2:44 -#, c-format -msgid "new dynamic device name generated by core kernel devfs" -msgstr "nouveau nom de périphérique dynamique généré par devfs" - -#: standalone/harddrake2:46 -#, c-format -msgid "Module" -msgstr "Module" - -#: standalone/harddrake2:46 -#, c-format -msgid "the module of the GNU/Linux kernel that handles the device" -msgstr "le module du noyau GNU/Linux qui gère ce périphérique" - -#: standalone/harddrake2:47 -#, c-format -msgid "Flags" -msgstr "Drapeaux" - -#: standalone/harddrake2:47 -#, c-format -msgid "CPU flags reported by the kernel" -msgstr "Drapeaux processeurs indiqués par du noyau" - -#: standalone/harddrake2:48 -#, c-format -msgid "Fdiv bug" -msgstr "Bogue de l'instruction FDIV" - -#: standalone/harddrake2:49 -#, c-format -msgid "" -"Early Intel Pentium chips manufactured have a bug in their floating point " -"processor which did not achieve the required precision when performing a " -"Floating point DIVision (FDIV)" -msgstr "" -"Les premiers Pentium produits ont un bogue dans leur unité de calcul en " -"nombres flottants qui empêche d'avoir la précision nécessaire lors d'une " -"opération de division en flottants (FDIV)." - -#: standalone/harddrake2:50 -#, c-format -msgid "Is FPU present" -msgstr "Coprocesseur arithmétique présent" - -#: standalone/harddrake2:50 -#, c-format -msgid "yes means the processor has an arithmetic coprocessor" -msgstr "« oui » signifie qu'un coprocesseur arithmétique est présent" - -#: standalone/harddrake2:51 -#, c-format -msgid "Whether the FPU has an irq vector" -msgstr "Est-ce que le FPU a un vecteur d'IRQ" - -#: standalone/harddrake2:51 -#, c-format -msgid "yes means the arithmetic coprocessor has an exception vector attached" -msgstr "« oui » signifie que le coprocesseur possède un vecteur d'exception" - -#: standalone/harddrake2:52 -#, c-format -msgid "F00f bug" -msgstr "bogue f00f" - -#: standalone/harddrake2:52 -#, c-format -msgid "early pentiums were buggy and freezed when decoding the F00F bytecode" -msgstr "" -"les premiers Pentium étaient bogués et se bloquaient pendant le décodage du " -"bytecode f00f" - -#: standalone/harddrake2:53 -#, c-format -msgid "Halt bug" -msgstr "Bogue de l'instruction halt" - -#: standalone/harddrake2:54 -#, c-format -msgid "" -"Some of the early i486DX-100 chips cannot reliably return to operating mode " -"after the \"halt\" instruction is used" -msgstr "" -"Certaines vielles puces i486DX-100 ne peuvent pas redémarrer de façon fiable " -"après une instruction « halt »." - -#: standalone/harddrake2:56 -#, c-format -msgid "Floppy format" -msgstr "Type de lecteur de disquette" - -#: standalone/harddrake2:56 -#, c-format -msgid "format of floppies supported by the drive" -msgstr "le format des disquettes que le lecteur accepte" - -#: standalone/harddrake2:57 -#, c-format -msgid "sub generation of the cpu" -msgstr "sous-génération de processeur" - -#: standalone/harddrake2:58 -#, c-format -msgid "class of hardware device" -msgstr "classe de matériel" - -#: standalone/harddrake2:59 standalone/harddrake2:60 -#: standalone/printerdrake:212 -#, c-format -msgid "Model" -msgstr "Modèle" - -#: standalone/harddrake2:59 -#, c-format -msgid "hard disk model" -msgstr "Modèle de disque dur" - -#: standalone/harddrake2:60 -#, c-format -msgid "generation of the cpu (eg: 8 for PentiumIII, ...)" -msgstr "génération du processeur (exemple : 8 pour les Pentium III, ...)" - -#: standalone/harddrake2:61 -#, c-format -msgid "Model name" -msgstr "Nom du modèle" - -#: standalone/harddrake2:61 -#, c-format -msgid "official vendor name of the cpu" -msgstr "le nom officiel du fabriquant de ce processeur" - -#: standalone/harddrake2:62 -#, c-format -msgid "Number of buttons" -msgstr "Nombre de bouttons" - -#: standalone/harddrake2:62 -#, c-format -msgid "the number of buttons the mouse has" -msgstr "le nombre de boutons que possède la souris" - -#: standalone/harddrake2:63 -#, c-format -msgid "the name of the CPU" -msgstr "le nom du processeur" - -#: standalone/harddrake2:64 -#, c-format -msgid "network printer port" -msgstr "port de l'imprimante réseau" - -#: standalone/harddrake2:65 -#, c-format -msgid "Processor ID" -msgstr "Identifiant du processeur" - -#: standalone/harddrake2:65 -#, c-format -msgid "the number of the processor" -msgstr "le numéro du processeur" - -#: standalone/harddrake2:66 -#, c-format -msgid "Model stepping" -msgstr "Numéro de modèle" - -#: standalone/harddrake2:66 -#, c-format -msgid "stepping of the cpu (sub model (generation) number)" -msgstr "numéro de sous-modèle du processeur (stepping)" - -#: standalone/harddrake2:67 -#, c-format -msgid "the type of bus on which the mouse is connected" -msgstr "le type de bus sur lequel la souris est connectée" - -#: standalone/harddrake2:68 -#, c-format -msgid "the vendor name of the device" -msgstr "le nom du vendeur de ce périphérique" - -#: standalone/harddrake2:69 -#, c-format -msgid "the vendor name of the processor" -msgstr "le nom du vendeur de ce processeur" - -#: standalone/harddrake2:70 -#, c-format -msgid "Write protection" -msgstr "Protection en écriture" - -#: standalone/harddrake2:70 -#, c-format -msgid "" -"the WP flag in the CR0 register of the cpu enforce write proctection at the " -"memory page level, thus enabling the processor to prevent unchecked kernel " -"accesses to user memory (aka this is a bug guard)" -msgstr "" -"le drapeau WP dans le registre CR0 du processeur active la protection contre " -"les accès en écriture et prévient ainsi les bogues du kernel écrivant " -"directement dans la mémoire des processus utilisateurs" - -#: standalone/harddrake2:84 standalone/logdrake:78 standalone/printerdrake:146 -#: standalone/printerdrake:159 -#, c-format -msgid "/_Options" -msgstr "/_Options" - -#: standalone/harddrake2:85 standalone/harddrake2:106 standalone/logdrake:80 -#: standalone/printerdrake:171 standalone/printerdrake:172 -#: standalone/printerdrake:173 standalone/printerdrake:174 -#, c-format -msgid "/_Help" -msgstr "/_Aide" - -#: standalone/harddrake2:89 -#, c-format -msgid "/Autodetect _printers" -msgstr "/Auto-détecter les _imprimantes" - -#: standalone/harddrake2:90 -#, c-format -msgid "/Autodetect _modems" -msgstr "/Auto-détecter les _modems" - -#: standalone/harddrake2:91 -#, c-format -msgid "/Autodetect _jaz drives" -msgstr "/Auto-détecter les périphériques _Jaz" - -#: standalone/harddrake2:98 standalone/printerdrake:152 -#, c-format -msgid "/_Quit" -msgstr "/_Quitter" - -#: standalone/harddrake2:107 -#, c-format -msgid "/_Fields description" -msgstr "/_Description des champs" - -#: standalone/harddrake2:109 -#, c-format -msgid "Harddrake help" -msgstr "Aide de Harddrake" - -#: standalone/harddrake2:110 -#, c-format -msgid "" -"Description of the fields:\n" -"\n" -msgstr "" -"Description des champs :\n" -"\n" - -#: standalone/harddrake2:115 -#, c-format -msgid "" -"Once you've selected a device, you'll be able to see the device information " -"in fields displayed on the right frame (\"Information\")" -msgstr "" -"Après avoir sélectionné un périphérique, vous pourrez consulter les " -"informations correspondantes dans la partie droite (« Information »)" - -#: standalone/harddrake2:120 standalone/printerdrake:173 -#, c-format -msgid "/_Report Bug" -msgstr "/_Signaler une bogue" - -#: standalone/harddrake2:121 standalone/printerdrake:174 -#, c-format -msgid "/_About..." -msgstr "/_A propos..." - -#: standalone/harddrake2:122 -#, c-format -msgid "About Harddrake" -msgstr "A propos de Harddrake" - -#: standalone/harddrake2:124 -#, c-format -msgid "" -"This is HardDrake, a Mandrake hardware configuration tool.\n" -"<span foreground=\"royalblue3\">Version:</span> %s\n" -"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud <" -"tvignaud@mandrakesoft.com>\n" -"\n" -msgstr "" -"Harddrake est l'outil de configuration Mandrake du matériel.\n" -"<span foreground=\"royalblue3\">Version :</span> %s\n" -"<span foreground=\"royalblue3\">Auteur :</span> Thierry Vignaud <" -"tvignaud@mandrakesoft.com>\n" - -#: standalone/harddrake2:141 -#, c-format -msgid "Harddrake2 version %s" -msgstr "Harddrake2 version %s" - -#: standalone/harddrake2:157 -#, c-format -msgid "Detected hardware" -msgstr "Matériel détecté" - -#: standalone/harddrake2:162 -#, c-format -msgid "Configure module" -msgstr "Configuration du module" - -#: standalone/harddrake2:169 -#, c-format -msgid "Run config tool" -msgstr "Lancer l'outil de configuration" - -#: standalone/harddrake2:216 -#, c-format -msgid "unknown" -msgstr "inconnu" - -#: standalone/harddrake2:217 -#, c-format -msgid "Unknown" -msgstr "Inconnu" - -#: standalone/harddrake2:235 -#, c-format -msgid "" -"Click on a device in the left tree in order to display its information here." -msgstr "" -"Cliquez sur un périphérique dans l'arborescence afin de consulter les " -"informations correspondantes." - -#: standalone/harddrake2:286 -#, c-format -msgid "secondary" -msgstr "esclave" - -#: standalone/harddrake2:286 -#, c-format -msgid "primary" -msgstr "maître" - -#: standalone/harddrake2:294 -#, c-format -msgid "burner" -msgstr "graveur" - -#: standalone/harddrake2:294 -#, c-format -msgid "DVD" -msgstr "DVD" - -#: standalone/keyboarddrake:24 -#, c-format -msgid "Please, choose your keyboard layout." -msgstr "Veuillez choisir votre type de clavier." - -#: standalone/keyboarddrake:33 -#, c-format -msgid "Do you want the BackSpace to return Delete in console?" -msgstr "Souhaitez-vous que la touche BackSpace retourne Delete en console ?" - -#: standalone/localedrake:60 -#, c-format -msgid "The change is done, but to be effective you must logout" -msgstr "" -"Les changements ont été effectués mais ne seront effectifs qu'après votre " -"déconnexion" - -#: standalone/logdrake:51 -#, c-format -msgid "Mandrake Tools Logs" -msgstr "Actions des Outils Mandrake" - -#: standalone/logdrake:52 -#, c-format -msgid "Logdrake" -msgstr "Logdrake" - -#: standalone/logdrake:65 -#, c-format -msgid "Show only for the selected day" -msgstr "N'afficher que pour les jours sélectionnés" - -#: standalone/logdrake:72 -#, c-format -msgid "/File/_New" -msgstr "/Fichier/_Nouveau" - -#: standalone/logdrake:72 -#, c-format -msgid "<control>N" -msgstr "<Ctrl>-N" - -#: standalone/logdrake:73 -#, c-format -msgid "/File/_Open" -msgstr "/Fichier/_Ouvrir" - -#: standalone/logdrake:73 -#, c-format -msgid "<control>O" -msgstr "<Ctrl>-O" - -#: standalone/logdrake:74 -#, c-format -msgid "/File/_Save" -msgstr "/Fichier/Enregi_strer" - -#: standalone/logdrake:74 -#, c-format -msgid "<control>S" -msgstr "<Ctrl>-S" - -#: standalone/logdrake:75 -#, c-format -msgid "/File/Save _As" -msgstr "/Fichier/_Enregistrer sous" - -#: standalone/logdrake:76 -#, c-format -msgid "/File/-" -msgstr "/Fichier/-" - -#: standalone/logdrake:79 -#, c-format -msgid "/Options/Test" -msgstr "/Options/Test" - -#: standalone/logdrake:81 -#, c-format -msgid "/Help/_About..." -msgstr "/Aide/_A propos..." - -#: standalone/logdrake:110 -#, c-format -msgid "" -"_:this is the auth.log log file\n" -"Authentication" -msgstr "Authentification" - -#: standalone/logdrake:111 -#, c-format -msgid "" -"_:this is the user.log log file\n" -"User" -msgstr "Utilisateur" - -#: standalone/logdrake:112 -#, c-format -msgid "" -"_:this is the /var/log/messages log file\n" -"Messages" -msgstr "Messages" - -#: standalone/logdrake:113 -#, c-format -msgid "" -"_:this is the /var/log/syslog log file\n" -"Syslog" -msgstr "Syslog" - -#: standalone/logdrake:117 -#, c-format -msgid "search" -msgstr "chercher" - -#: standalone/logdrake:129 -#, c-format -msgid "A tool to monitor your logs" -msgstr "Un outil pour voir vos fichiers journaux" - -#: standalone/logdrake:130 standalone/net_monitor:85 -#, c-format -msgid "Settings" -msgstr "Paramètres" - -#: standalone/logdrake:135 -#, c-format -msgid "Matching" -msgstr "Contenant" - -#: standalone/logdrake:136 -#, c-format -msgid "but not matching" -msgstr "mais ne contenant pas" - -#: standalone/logdrake:140 -#, c-format -msgid "Choose file" -msgstr "Choisir le fichier" - -#: standalone/logdrake:149 -#, c-format -msgid "Calendar" -msgstr "Calendrier" - -#: standalone/logdrake:159 -#, c-format -msgid "Content of the file" -msgstr "Contenu du fichier" - -#: standalone/logdrake:163 standalone/logdrake:429 -#, c-format -msgid "Mail alert" -msgstr "Alerte par courrier" - -#: standalone/logdrake:170 -#, c-format -msgid "The alert wizard had unexpectly failled:" -msgstr "L'assisant des alertes par mail a échoué de manière imprévue :" - -#: standalone/logdrake:221 -#, c-format -msgid "please wait, parsing file: %s" -msgstr "s'il vous plaît attendez, examen du fichier : %s" - -#: standalone/logdrake:406 -#, c-format -msgid "Apache World Wide Web Server" -msgstr "Serveur web Apache" - -#: standalone/logdrake:407 -#, c-format -msgid "Domain Name Resolver" -msgstr "Solveur de Nom de domaine" - -#: standalone/logdrake:408 -#, c-format -msgid "Ftp Server" -msgstr "Serveur FTP" - -#: standalone/logdrake:409 -#, c-format -msgid "Postfix Mail Server" -msgstr "Serveur de courrier Postfix" - -#: standalone/logdrake:410 -#, c-format -msgid "Samba Server" -msgstr "Serveur Samba" - -#: standalone/logdrake:411 -#, c-format -msgid "SSH Server" -msgstr "Serveur SSH" - -#: standalone/logdrake:412 -#, c-format -msgid "Webmin Service" -msgstr "Service Webmin" - -#: standalone/logdrake:413 -#, c-format -msgid "Xinetd Service" -msgstr "Service Xinetd" - -#: standalone/logdrake:424 -#, c-format -msgid "Configure the mail alert system" -msgstr "Configurer le système d'alerte par email" - -#: standalone/logdrake:425 -#, c-format -msgid "Stop the mail alert system" -msgstr "Arrêter le système d'alerte par email" - -#: standalone/logdrake:432 -#, c-format -msgid "Mail alert configuration" -msgstr "Configuration des alertes par courrier" - -#: standalone/logdrake:433 -#, c-format -msgid "" -"Welcome to the mail configuration utility.\n" -"\n" -"Here, you'll be able to set up the alert system.\n" -msgstr "" -"Bienvenue dans l'utilitaire de configuration des alertes par courrier.\n" -"\n" -"Vous allez pouvoir configurer ici vos les alertes systèmes.\n" - -#: standalone/logdrake:436 -#, c-format -msgid "What do you want to do?" -msgstr "Que désirez-vous faire ?" - -#: standalone/logdrake:443 -#, c-format -msgid "Services settings" -msgstr "Configuration des services" - -#: standalone/logdrake:444 -#, c-format -msgid "" -"You will receive an alert if one of the selected services is no longer " -"running" -msgstr "" -"Vous recevrez une alerte si l'un des services sélectionnés ne tourne plus" - -#: standalone/logdrake:451 -#, c-format -msgid "Load setting" -msgstr "Chargement des paramètres" - -#: standalone/logdrake:452 -#, c-format -msgid "You will receive an alert if the load is higher than this value" -msgstr "Vous recevrez une alerte si la charge machine dépasse cette valeur" - -#: standalone/logdrake:453 -#, c-format -msgid "" -"_: load here is a noun, the load of the system\n" -"Load" -msgstr "Charge" - -#: standalone/logdrake:458 -#, c-format -msgid "Alert configuration" -msgstr "Configuration des alertes" - -#: standalone/logdrake:459 -#, c-format -msgid "Please enter your email address below " -msgstr "Veuillez entrer votre adresse courriel ci -dessous" - -#: standalone/logdrake:460 -#, c-format -msgid "and enter the name (or the IP) of the SMTP server you whish to use" -msgstr "" -"et entrez le nom (ou l'adresse IP) du serveur SMTP que vous désirez utiliser" - -#: standalone/logdrake:479 -#, c-format -msgid "The wizard successfully configured the mail alert." -msgstr "" -"L'assistant a configuré avec succès le service d'alerte par courrier " -"électronique." - -#: standalone/logdrake:485 -#, c-format -msgid "The wizard successfully disabled the mail alert." -msgstr "" -"L'assistant a désactivé avec succès le service d'alerte par courrier " -"électronique." - -#: standalone/logdrake:544 -#, c-format -msgid "Save as.." -msgstr "Enregistrer sous..." - -#: standalone/mousedrake:31 -#, c-format -msgid "Please choose your mouse type." -msgstr "Veuillez choisir le type de votre souris." - -#: standalone/mousedrake:44 -#, c-format -msgid "Emulate third button?" -msgstr "Émuler le troisième bouton ?" - -#: standalone/mousedrake:61 -#, c-format -msgid "Mouse test" -msgstr "Test de la souri" - -#: standalone/mousedrake:64 -#, c-format -msgid "Please test your mouse:" -msgstr "Veuillez tester votre souris :" - -#: standalone/net_monitor:51 standalone/net_monitor:56 -#, c-format -msgid "Network Monitoring" -msgstr "Surveillance du réseau" - -#: standalone/net_monitor:91 -#, c-format -msgid "Global statistics" -msgstr "Statistiques globales" - -#: standalone/net_monitor:94 -#, c-format -msgid "Instantaneous" -msgstr "Instantané" - -#: standalone/net_monitor:94 -#, c-format -msgid "Average" -msgstr "Moyenne" - -#: standalone/net_monitor:95 -#, c-format -msgid "" -"Sending\n" -"speed:" -msgstr "" -"Vitesse\n" -"d'émission :" - -#: standalone/net_monitor:96 -#, c-format -msgid "" -"Receiving\n" -"speed:" -msgstr "" -"Vitesse de\n" -"réception :" - -#: standalone/net_monitor:99 -#, c-format -msgid "" -"Connection\n" -"time: " -msgstr "" -"Temps de\n" -"connexion : " - -#: standalone/net_monitor:121 -#, c-format -msgid "Wait please, testing your connection..." -msgstr "Test de votre connexion, veuillez patienter..." - -#: standalone/net_monitor:149 standalone/net_monitor:162 -#, c-format -msgid "Disconnecting from Internet " -msgstr "Déconnexion d'Internet en cours" - -#: standalone/net_monitor:149 standalone/net_monitor:162 -#, c-format -msgid "Connecting to Internet " -msgstr "Connexion à Internet en" - -#: standalone/net_monitor:193 -#, c-format -msgid "Disconnection from Internet failed." -msgstr "La déconnexion d'Internet a échouée." - -#: standalone/net_monitor:194 -#, c-format -msgid "Disconnection from Internet complete." -msgstr "Déconnexion d'Internet effectuée." - -#: standalone/net_monitor:196 -#, c-format -msgid "Connection complete." -msgstr "Connexion effectuée." - -#: standalone/net_monitor:197 -#, c-format -msgid "" -"Connection failed.\n" -"Verify your configuration in the Mandrake Control Center." -msgstr "" -"La connexion a échoué.\n" -"Vérifiez votre configuration dans le Centre de Contrôle Mandrake." - -#: standalone/net_monitor:295 -#, c-format -msgid "Color configuration" -msgstr "Configuration des couleurs" - -#: standalone/net_monitor:343 standalone/net_monitor:363 -#, c-format -msgid "sent: " -msgstr "envoyés : " - -#: standalone/net_monitor:350 standalone/net_monitor:367 -#, c-format -msgid "received: " -msgstr "reçus : " - -#: standalone/net_monitor:357 -#, c-format -msgid "average" -msgstr "moyenne" - -#: standalone/net_monitor:360 -#, c-format -msgid "Local measure" -msgstr "Mesure locale" - -#: standalone/net_monitor:392 -#, c-format -msgid "transmitted" -msgstr "transmis" - -#: standalone/net_monitor:393 -#, c-format -msgid "received" -msgstr "reçus" - -#: standalone/net_monitor:411 -#, c-format -msgid "" -"Warning, another internet connection has been detected, maybe using your " -"network" -msgstr "" -"Attention, une autre connexion internet a été détectée, peut-être utilisant " -"votre réseau" - -#: standalone/net_monitor:417 -#, c-format -msgid "Disconnect %s" -msgstr "Déconnecter %s" - -#: standalone/net_monitor:417 -#, c-format -msgid "Connect %s" -msgstr "Connecter %s" - -#: standalone/net_monitor:422 -#, c-format -msgid "No internet connection configured" -msgstr "Aucune connexion internet n'a été configurée" - -#: standalone/printerdrake:70 -#, c-format -msgid "Loading printer configuration... Please wait" -msgstr "Chargement de la configuration des imprimantes... Veuillez patienter" - -#: standalone/printerdrake:86 -#, c-format -msgid "Reading data of installed printers..." -msgstr "Lecture des données des imprimantes installées..." - -#: standalone/printerdrake:129 -#, c-format -msgid "%s Printer Management Tool" -msgstr "Outil de gestion des imprimantes %s" - -#: standalone/printerdrake:143 standalone/printerdrake:144 -#: standalone/printerdrake:145 standalone/printerdrake:153 -#: standalone/printerdrake:154 standalone/printerdrake:158 -#, c-format -msgid "/_Actions" -msgstr "/_Actions" - -#: standalone/printerdrake:143 -#, c-format -msgid "/Set as _Default" -msgstr "/par _défaut" - -#: standalone/printerdrake:144 -#, c-format -msgid "/_Edit" -msgstr "/_Éditer" - -#: standalone/printerdrake:145 -#, c-format -msgid "/_Delete" -msgstr "/_Effacer" - -#: standalone/printerdrake:146 -#, c-format -msgid "/_Expert mode" -msgstr "/Mode _Expert" - -#: standalone/printerdrake:151 -#, c-format -msgid "/_Refresh" -msgstr "/_Rafraîchir" - -#: standalone/printerdrake:154 -#, c-format -msgid "/_Add Printer" -msgstr "/_Ajouter une Imprimante" - -#: standalone/printerdrake:158 -#, c-format -msgid "/_Configure CUPS" -msgstr "/_Configuration de CUPS" - -#: standalone/printerdrake:191 -#, c-format -msgid "Search:" -msgstr "Chercher :" - -#: standalone/printerdrake:194 -#, c-format -msgid "Apply filter" -msgstr "Appliquer le filtre" - -#: standalone/printerdrake:212 standalone/printerdrake:219 -#, c-format -msgid "Def." -msgstr "Def." - -#: standalone/printerdrake:212 standalone/printerdrake:219 -#, c-format -msgid "Printer Name" -msgstr "Nom de l'Imprimante" - -#: standalone/printerdrake:212 -#, c-format -msgid "Connection Type" -msgstr "Type de connexion" - -#: standalone/printerdrake:219 -#, c-format -msgid "Server Name" -msgstr "Nom du serveur" - -#: standalone/printerdrake:225 -#, c-format -msgid "Add Printer" -msgstr "" -"Ajouter une\n" -"Imprimante" - -#: standalone/printerdrake:225 -#, c-format -msgid "Add a new printer to the system" -msgstr "Ajouter une nouvelle imprimante au système" - -#: standalone/printerdrake:227 -#, c-format -msgid "Set as default" -msgstr "Par défaut" - -#: standalone/printerdrake:227 -#, c-format -msgid "Set selected printer as the default printer" -msgstr "Choisir l'imprimante sélectionnée comme étant celle par défaut" - -#: standalone/printerdrake:229 -#, c-format -msgid "Edit selected printer" -msgstr "Modifier l'imprimante sélectionné" - -#: standalone/printerdrake:231 -#, c-format -msgid "Delete selected printer" -msgstr "Supprimer l'imprimante sélectionée" - -#: standalone/printerdrake:233 -#, c-format -msgid "Refresh" -msgstr "Rafraîchir" - -#: standalone/printerdrake:233 -#, c-format -msgid "Refresh the list" -msgstr "Rafraîchir la liste" - -#: standalone/printerdrake:235 -#, c-format -msgid "Configure CUPS" -msgstr "" -"Configuration\n" -"de CUPS" - -#: standalone/printerdrake:235 -#, c-format -msgid "Configure CUPS printing system" -msgstr "Configurer le système d'impression CUPS" - -#: standalone/printerdrake:521 -#, c-format -msgid "Authors: " -msgstr "Auteurs : " - -#: standalone/printerdrake:527 -#, c-format -msgid "Printer Management \n" -msgstr "Gestion des imprimantes \n" - -#: standalone/scannerdrake:50 -#, c-format -msgid "" -"SANE packages need to be installed to use scanners.\n" -"\n" -"Do you want to install the SANE packages?" -msgstr "" -"Les paquetages SANE doivent être installés afin de pouvoir utiliser des " -"scanners.\n" -"\n" -"Souhaitez-vous installer les paquetages SANE ?" - -#: standalone/scannerdrake:54 -#, c-format -msgid "Aborting Scannerdrake." -msgstr "Annulation de Scannerdrake" - -#: standalone/scannerdrake:59 -#, c-format -msgid "" -"Could not install the packages needed to set up a scanner with Scannerdrake." -msgstr "" -"Impossible d'installer les paquetages nécessaires à la configuration d'un " -"scanner avec ScannerDrake." - -#: standalone/scannerdrake:60 -#, c-format -msgid "Scannerdrake will not be started now." -msgstr "ScannerDrake ne sera pas lancé tout de suite." - -#: standalone/scannerdrake:66 standalone/scannerdrake:459 -#, c-format -msgid "Searching for configured scanners ..." -msgstr "Recherche de scanners configurés..." - -#: standalone/scannerdrake:70 standalone/scannerdrake:463 -#, c-format -msgid "Searching for new scanners ..." -msgstr "Recherche de nouveaux scanners..." - -#: standalone/scannerdrake:78 standalone/scannerdrake:485 -#, c-format -msgid "Re-generating list of configured scanners ..." -msgstr "Régénération de la liste des scanners configurés..." - -#: standalone/scannerdrake:100 standalone/scannerdrake:141 -#: standalone/scannerdrake:155 -#, c-format -msgid "The %s is not supported by this version of %s." -msgstr "%s n'est pas supporté par cette version de %s." - -#: standalone/scannerdrake:103 -#, c-format -msgid "%s found on %s, configure it automatically?" -msgstr "%s trouvé sur %s. Le configurer automatiquement ?" - -#: standalone/scannerdrake:115 -#, c-format -msgid "%s is not in the scanner database, configure it manually?" -msgstr "%s n'est pas dans la base des scanners, configuration manuelle ?" - -#: standalone/scannerdrake:130 -#, c-format -msgid "Select a scanner model" -msgstr "Sélectionnez un modèle de scanner" - -#: standalone/scannerdrake:131 -#, c-format -msgid " (" -msgstr " (" - -#: standalone/scannerdrake:132 -#, c-format -msgid "Detected model: %s" -msgstr "Modèle détecté : %s" - -#: standalone/scannerdrake:134 -#, c-format -msgid ", " -msgstr ", " - -#: standalone/scannerdrake:135 -#, c-format -msgid "Port: %s" -msgstr "Port : %s" - -#: standalone/scannerdrake:161 -#, c-format -msgid "The %s is not known by this version of Scannerdrake." -msgstr "%s n'est pas supporté par cette version de Scannerdrake." - -#: standalone/scannerdrake:169 standalone/scannerdrake:183 -#, c-format -msgid "Do not install firmware file" -msgstr "Ne pas installer le fichier du firmware" - -#: standalone/scannerdrake:173 standalone/scannerdrake:225 -#, c-format -msgid "" -"It is possible that your %s needs its firmware to be uploaded everytime when " -"it is turned on." -msgstr "" -"Il est possible que votre %s necessite que son firmware soit uploade à " -"chaque fois qu'il est allumé." - -#: standalone/scannerdrake:174 standalone/scannerdrake:226 -#, c-format -msgid "If this is the case, you can make this be done automatically." -msgstr "Dans ce cas, cela peut être effectué automatiquement." - -#: standalone/scannerdrake:175 standalone/scannerdrake:229 -#, c-format -msgid "" -"To do so, you need to supply the firmware file for your scanner so that it " -"can be installed." -msgstr "" -"Pour ce faire, vous devez fournir le fichier du firmware pour votre scanner " -"afin qu'il soit installé." - -#: standalone/scannerdrake:176 standalone/scannerdrake:230 -#, c-format -msgid "" -"You find the file on the CD or floppy coming with the scanner, on the " -"manufacturer's home page, or on your Windows partition." -msgstr "" -"Vous trouverez le fichier sur le CD ou la disquette qui accompagne votre " -"scanner, sur la page web du fabricant ou sur votre partition Windows." - -#: standalone/scannerdrake:178 standalone/scannerdrake:237 -#, c-format -msgid "Install firmware file from" -msgstr "Installer le fichier du firmware depuis" - -#: standalone/scannerdrake:198 -#, c-format -msgid "Select firmware file" -msgstr "Sélectionnez un fichier de firmware" - -#: standalone/scannerdrake:201 standalone/scannerdrake:260 -#, c-format -msgid "The firmware file %s does not exist or is unreadable!" -msgstr "" -"Le fichier firmware « %s » n'existe pas ou n'est pas accessible en lecture !" - -#: standalone/scannerdrake:224 -#, c-format -msgid "" -"It is possible that your scanners need their firmware to be uploaded " -"everytime when they are turned on." -msgstr "" -"Il est possible que vos scanners nécessitent que leurs firmware soient mis à " -"jour à chaque fois qu'ils sont branchés." - -#: standalone/scannerdrake:228 -#, c-format -msgid "" -"To do so, you need to supply the firmware files for your scanners so that it " -"can be installed." -msgstr "" -"Pour ce faire, vous devez fournir le fichier du firmware de vos scanners " -"afin qu'ils puissent être installés." - -#: standalone/scannerdrake:231 -#, c-format -msgid "" -"If you have already installed your scanner's firmware you can update the " -"firmware here by supplying the new firmware file." -msgstr "" -"Si vous avez déja installé le firmware de votre scanner, vous pouvez le " -"mettre à jour en fournissant un nouveau fichier de firmware." - -#: standalone/scannerdrake:233 -#, c-format -msgid "Install firmware for the" -msgstr "Installer le firmware pour le" - -#: standalone/scannerdrake:256 -#, c-format -msgid "Select firmware file for the %s" -msgstr "Sélectionnez un fichier de firmware pour %s" - -#: standalone/scannerdrake:282 -#, c-format -msgid "The firmware file for your %s was successfully installed." -msgstr "Le fichier du firmware de votre %s a été installé avec succès." - -#: standalone/scannerdrake:292 -#, c-format -msgid "The %s is unsupported" -msgstr "%s n'est pas supporté" - -#: standalone/scannerdrake:297 -#, c-format -msgid "" -"The %s must be configured by printerdrake.\n" -"You can launch printerdrake from the %s Control Center in Hardware section." -msgstr "" -"%s doit être configurée par printerdrake.\n" -"Vous pouvez lancer printerdrake depuis le Centre de Contrôle %s dans la " -"section Matériel" - -#: standalone/scannerdrake:301 standalone/scannerdrake:308 -#: standalone/scannerdrake:338 -#, c-format -msgid "Auto-detect available ports" -msgstr "Auto-détecter les ports disponibles" - -#: standalone/scannerdrake:303 standalone/scannerdrake:349 -#, c-format -msgid "Please select the device where your %s is attached" -msgstr "Veuillez sélectionner le périphérique sur lequel %s est branché" - -#: standalone/scannerdrake:304 -#, c-format -msgid "(Note: Parallel ports cannot be auto-detected)" -msgstr "(N.B. : les ports parallèles ne peuvent être auto-détectés)" - -#: standalone/scannerdrake:306 standalone/scannerdrake:351 -#, c-format -msgid "choose device" -msgstr "choisissez le périphérique" - -#: standalone/scannerdrake:340 -#, c-format -msgid "Searching for scanners ..." -msgstr "Recherche des scanners..." - -#: standalone/scannerdrake:375 -#, c-format -msgid "" -"Your %s has been configured.\n" -"You may now scan documents using \"XSane\" or \"Kooka\" from Multimedia/" -"Graphics in the applications menu." -msgstr "" -"Votre %s a été configuré.\n" -"Vous pouvez maintenant scanner des documents en utilisant « XSane » ou " -"« Kooka » à partir du menu général Multimédia->Graphisme." - -#: standalone/scannerdrake:399 -#, c-format -msgid "" -"The following scanners\n" -"\n" -"%s\n" -"are available on your system.\n" -msgstr "" -"Les scanners suivants :\n" -"\n" -"%s\n" -"sont disponibles sur votre système.\n" - -#: standalone/scannerdrake:400 -#, c-format -msgid "" -"The following scanner\n" -"\n" -"%s\n" -"is available on your system.\n" -msgstr "" -"Le scanner suivant :\n" -"\n" -"%s\n" -"est disponible sur votre système.\n" - -#: standalone/scannerdrake:403 standalone/scannerdrake:406 -#, c-format -msgid "There are no scanners found which are available on your system.\n" -msgstr "Aucun scanner trouvé disponible sur votre système.\n" - -#: standalone/scannerdrake:420 -#, c-format -msgid "Search for new scanners" -msgstr "Rechercher des nouveaux scanners" - -#: standalone/scannerdrake:426 -#, c-format -msgid "Add a scanner manually" -msgstr "Ajouter manuellement un scanner" - -#: standalone/scannerdrake:433 -#, c-format -msgid "Install/Update firmware files" -msgstr "Installer/Mettre à jour les fichier de firmware" - -#: standalone/scannerdrake:439 -#, c-format -msgid "Scanner sharing" -msgstr "Partage de scanners" - -#: standalone/scannerdrake:498 standalone/scannerdrake:663 -#, c-format -msgid "All remote machines" -msgstr "Toutes les machines distantes" - -#: standalone/scannerdrake:510 standalone/scannerdrake:813 -#, c-format -msgid "This machine" -msgstr "Cette machine" - -#: standalone/scannerdrake:550 -#, c-format -msgid "" -"Here you can choose whether the scanners connected to this machine should be " -"accessible by remote machines and by which remote machines." -msgstr "" -"Vous pouvez ici choisir si les scanners connectés à cette machine doivent " -"être accessibles depuis des machines distantes, et quelles machines pourront " -"y accéder." - -#: standalone/scannerdrake:551 -#, c-format -msgid "" -"You can also decide here whether scanners on remote machines should be made " -"available on this machine." -msgstr "" -"Vous pouvez aussi décider ici si les scanners des machines distantes seront " -"rendus disponibles sur cette machine." - -#: standalone/scannerdrake:554 -#, c-format -msgid "The scanners on this machine are available to other computers" -msgstr "" -"Les scanners de cette machine sont utilisables par les autres ordinateurs" - -#: standalone/scannerdrake:556 -#, c-format -msgid "Scanner sharing to hosts: " -msgstr "Partage de scanners pour les hôtes : " - -#: standalone/scannerdrake:570 -#, c-format -msgid "Use scanners on remote computers" -msgstr "Utiliser des scanners sur des ordinateurs distants" - -#: standalone/scannerdrake:573 -#, c-format -msgid "Use the scanners on hosts: " -msgstr "Utiliser les scanners sur les hôtes : " - -#: standalone/scannerdrake:600 standalone/scannerdrake:672 -#: standalone/scannerdrake:822 -#, c-format -msgid "Sharing of local scanners" -msgstr "Partage de scanners locaux" - -#: standalone/scannerdrake:601 -#, c-format -msgid "" -"These are the machines on which the locally connected scanner(s) should be " -"available:" -msgstr "" -"Voici les machines à partir desquelles les scanners connectés localement " -"seront disponibles :" - -#: standalone/scannerdrake:612 standalone/scannerdrake:762 -#, c-format -msgid "Add host" -msgstr "Ajouter un hôte" - -#: standalone/scannerdrake:618 standalone/scannerdrake:768 -#, c-format -msgid "Edit selected host" -msgstr "Modifier l'hôte sélectionné" - -#: standalone/scannerdrake:627 standalone/scannerdrake:777 -#, c-format -msgid "Remove selected host" -msgstr "Supprimer l'hôte sélectionné" - -#: standalone/scannerdrake:651 standalone/scannerdrake:659 -#: standalone/scannerdrake:664 standalone/scannerdrake:710 -#: standalone/scannerdrake:801 standalone/scannerdrake:809 -#: standalone/scannerdrake:814 standalone/scannerdrake:860 -#, c-format -msgid "Name/IP address of host:" -msgstr "Nom ou Adresse IP de l'hôte :" - -#: standalone/scannerdrake:673 standalone/scannerdrake:823 -#, c-format -msgid "Choose the host on which the local scanners should be made available:" -msgstr "" -"Choisissez l'hôte à partir duquel les scanners locaux seront disponibles :" - -#: standalone/scannerdrake:684 standalone/scannerdrake:834 -#, c-format -msgid "You must enter a host name or an IP address.\n" -msgstr "Vous devez entrer un nom d'hôte ou une adresse IP.\n" - -#: standalone/scannerdrake:695 standalone/scannerdrake:845 -#, c-format -msgid "This host is already in the list, it cannot be added again.\n" -msgstr "Cet hôte est déjà dans la liste, il ne peut pas être rajouté.\n" - -#: standalone/scannerdrake:750 -#, c-format -msgid "Usage of remote scanners" -msgstr "Utilisation des scanners distants" - -#: standalone/scannerdrake:751 -#, c-format -msgid "These are the machines from which the scanners should be used:" -msgstr "" -"Voici les machines à partir desquelles les scanners locauxseront " -"disponibles :" - -#: standalone/scannerdrake:908 -#, c-format -msgid "" -"saned needs to be installed to share the local scanner(s).\n" -"\n" -"Do you want to install the saned package?" -msgstr "" -"Le package saned doit être installé afin de pouvoir partagerer les scanners " -"locaux.\n" -"\n" -"Voulez-vous installer le paquetage saned ?" - -#: standalone/scannerdrake:912 standalone/scannerdrake:916 -#, c-format -msgid "Your scanner(s) will not be available on the network." -msgstr "Vos scanners ne seront pas disponibles sur le réseau." - -#: standalone/service_harddrake:58 -#, c-format -msgid "Some devices in the \"%s\" hardware class were removed:\n" -msgstr "Certains matériels listés dans la classe « %s » ont été enlevés :\n" - -#: standalone/service_harddrake:59 -#, c-format -msgid "- %s was removed\n" -msgstr "- %s a été enlevé\n" - -#: standalone/service_harddrake:62 -#, c-format -msgid "Some devices were added: %s\n" -msgstr "Certains périphériques ont été ajoutés : %s\n" - -#: standalone/service_harddrake:63 -#, c-format -msgid "- %s was added\n" -msgstr "- %s a été ajouté\n" - -#: standalone/service_harddrake:107 -#, c-format -msgid "Hardware probing in progress" -msgstr "Détection du matériel en cours" - -#: standalone/service_harddrake_confirm:7 -#, c-format -msgid "Hardware changes in \"%s\" class (%s seconds to answer)" -msgstr "Modification matériel dans la classe « %s » (%s seconds pour répondre)" - -#: standalone/service_harddrake_confirm:8 -#, c-format -msgid "Do you want to run the appropriate config tool ?" -msgstr "Désirez-vous lancer l'outil approprié ?" - -#: steps.pm:14 -#, c-format -msgid "Language" -msgstr "Choix de la langue" - -#: steps.pm:15 -#, c-format -msgid "License" -msgstr "Licence" - -#: steps.pm:16 -#, c-format -msgid "Configure mouse" -msgstr "Configuration de la souris" - -#: steps.pm:17 -#, c-format -msgid "Hard drive detection" -msgstr "Détection des disques durs" - -#: steps.pm:18 -#, c-format -msgid "Select installation class" -msgstr "Classe d'installation" - -#: steps.pm:19 -#, c-format -msgid "Choose your keyboard" -msgstr "Choix du clavier" - -#: steps.pm:21 -#, c-format -msgid "Partitioning" -msgstr "Partitionnement" - -#: steps.pm:22 -#, c-format -msgid "Format partitions" -msgstr "Formatage des partitions" - -#: steps.pm:23 -#, c-format -msgid "Choose packages to install" -msgstr "Choix des paquetages" - -#: steps.pm:24 -#, c-format -msgid "Install system" -msgstr "Installation du système" - -#: steps.pm:25 -#, c-format -msgid "Root password" -msgstr "Mot de passe root" - -#: steps.pm:26 -#, c-format -msgid "Add a user" -msgstr "Ajout des utilisateurs" - -#: steps.pm:27 -#, c-format -msgid "Configure networking" -msgstr "Configuration du réseau" - -#: steps.pm:28 -#, c-format -msgid "Install bootloader" -msgstr "Programme d'amorçage" - -#: steps.pm:29 -#, c-format -msgid "Configure X" -msgstr "Configuration de X" - -#: steps.pm:31 -#, c-format -msgid "Configure services" -msgstr "Configuration des services" - -#: steps.pm:32 -#, c-format -msgid "Install updates" -msgstr "Installer les mises à jour" - -#: steps.pm:33 -#, c-format -msgid "Exit install" -msgstr "Fin de l'installation" - -#: ugtk2.pm:1075 -#, c-format -msgid "Is this correct?" -msgstr "Est-ce correct ?" - -#: ugtk2.pm:1203 -#, c-format -msgid "Expand Tree" -msgstr "Développer l'arborescence" - -#: ugtk2.pm:1204 -#, c-format -msgid "Collapse Tree" -msgstr "Réduire l'arborescence" - -#: ugtk2.pm:1205 -#, 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" - -#: ../../share/compssUsers:999 -msgid "Office Workstation" -msgstr "Machine de bureau" - -#: ../../share/compssUsers:999 -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/compssUsers:999 -msgid "Game station" -msgstr "Jeux" - -#: ../../share/compssUsers:999 -msgid "Amusement programs: arcade, boards, strategy, etc" -msgstr "" -"Programmes de divertissement : jeux d'arcade, de plateaux, de stratégie, etc" - -#: ../../share/compssUsers:999 -msgid "Multimedia station" -msgstr "Multimédia" - -#: ../../share/compssUsers:999 -msgid "Sound and video playing/editing programs" -msgstr "Programmes pour jouer/éditer du son et de la vidéo" - -#: ../../share/compssUsers:999 -msgid "Internet station" -msgstr "Internet" - -#: ../../share/compssUsers:999 -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 électronique et des " -"messages de forums (mutt, tin, ...), ainsi que pour naviguer sur Internet" - -#: ../../share/compssUsers:999 -msgid "Network Computer (client)" -msgstr "Ordinateur réseau (client)" - -#: ../../share/compssUsers:999 -msgid "Clients for different protocols including ssh" -msgstr "Clients pour différents protocoles, dont ssh" - -#: ../../share/compssUsers:999 -msgid "Configuration" -msgstr "Configuration" - -#: ../../share/compssUsers:999 -msgid "Tools to ease the configuration of your computer" -msgstr "Outils pour faciliter la configuration de votre ordinateur" - -#: ../../share/compssUsers:999 -msgid "Console Tools" -msgstr "Utilitaires console" - -#: ../../share/compssUsers:999 -msgid "Editors, shells, file tools, terminals" -msgstr "Éditeurs, interpréteurs, outils fichiers, terminaux" - -#: ../../share/compssUsers:999 -msgid "KDE Workstation" -msgstr "Station de travail KDE" - -#: ../../share/compssUsers:999 -msgid "" -"The K Desktop Environment, the basic graphical environment with a collection " -"of accompanying tools" -msgstr "" -"Le K Desktop Environement, l'environnement de bureau de base avec sa " -"collection d'outils" - -#: ../../share/compssUsers:999 -msgid "GNOME Workstation" -msgstr "Station de travail GNOME" - -#: ../../share/compssUsers:999 -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/compssUsers:999 -msgid "Other Graphical Desktops" -msgstr "Autres Environnements de Bureau" - -#: ../../share/compssUsers:999 -msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc" -msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc" - -#: ../../share/compssUsers:999 -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/compssUsers:999 -msgid "Documentation" -msgstr "Documentation" - -#: ../../share/compssUsers:999 -msgid "Books and Howto's on Linux and Free Software" -msgstr "Livres et Howto's sur Linux et le Logiciel Libre" - -#: ../../share/compssUsers:999 -msgid "LSB" -msgstr "LSB" - -#: ../../share/compssUsers:999 -msgid "Linux Standard Base. Third party applications support" -msgstr "« Linux Standard Base ». Support des programmes tiers" - -#: ../../share/compssUsers:999 -msgid "Web/FTP" -msgstr "Web/FTP" - -#: ../../share/compssUsers:999 -msgid "Apache, Pro-ftpd" -msgstr "Apache et Pro-ftpd" - -#: ../../share/compssUsers:999 -msgid "Mail" -msgstr "Courrier" - -#: ../../share/compssUsers:999 -msgid "Postfix mail server" -msgstr "Serveur de courrier Postfix" - -#: ../../share/compssUsers:999 -msgid "Database" -msgstr "Base de Données" - -#: ../../share/compssUsers:999 -msgid "PostgreSQL or MySQL database server" -msgstr "Serveurs de bases de données PostgreSQL ou MySQL" - -#: ../../share/compssUsers:999 -msgid "Firewall/Router" -msgstr "Pare Feu/Routeur" - -#: ../../share/compssUsers:999 -msgid "Internet gateway" -msgstr "Passerelle internet" - -#: ../../share/compssUsers:999 -msgid "Network Computer server" -msgstr "Serveur réseau" - -#: ../../share/compssUsers:999 -msgid "NFS server, SMB server, Proxy server, ssh server" -msgstr "Serveur NFS, serveur SMB, serveur Proxy (mandataire), serveur SSH" - -#: ../../share/compssUsers:999 -msgid "Set of tools to read and send mail and news and to browse the Web" -msgstr "" -"Ensemble d'outils pour lire et envoyer des courriers électronique, des " -"messages de forums, et pour naviguer sur Internet" - -#~ msgid "" -#~ "Due to incompatibilities of the 2.6 series kernel with the LSB runtime\n" -#~ "tests, the 2.4 series kernel will be installed as the default to insure\n" -#~ "compliance under the \"LSB\" group selection." -#~ msgstr "" -#~ "Suite à des incompatibilités entre la série 2.6.x du noyau et les " -#~ "vérifications LSB dynamiques, la série 2.4.x du noyau sera installée par " -#~ "défaut afin de garantir la conformité avec sélection du groupe « LSB »." - -#~ msgid "XawTV isn't installed!" -#~ msgstr "XawTV n'est pas installé !" diff --git a/perl-install/share/rpmsrate b/perl-install/share/rpmsrate index d28678c95..42fa2603e 100644 --- a/perl-install/share/rpmsrate +++ b/perl-install/share/rpmsrate @@ -1,5 +1,3 @@ -LSB - 5 lsb GRAPHICAL_DESKTOP 4 WindowMaker icewm @@ -17,15 +15,15 @@ GNOME 2 bug-buddy KDE - 5 kdebase-progs kdebase-nsplugins mdkkdm galaxy-kde galaxy-kde-kwin mandrake-galaxy krozat kdeartwork-kde-classic kdeartwork + 5 kdebase-progs kdebase-nsplugins mdkkdm galaxy-kde galaxy-kde-kwin mandrakegalaxy krozat kdeartwork-kde-classic kdeartwork 5 kde-i18n-af kde-i18n-ar 5 kdebase-servicemenu zip 5 kdeutils kdeutils-kcharselect - 5 kdepim-kontact 5 kdebase-kdm 5 kdeutils-kcalc 5 kdeaddons-searchbar 5 kdeutils-kwalletmanager + 5 kiosktool VIDEO 5 totem @@ -50,6 +48,7 @@ OFFICE 5 KDE kdenetwork-kdict 5 KDE kdepim-karm 4 acroread acroread-nppdf + 4 cxoffice 3 gnumeric 3 gaddr xpdf 3 wv ical @@ -99,6 +98,17 @@ AUDIO 3 timidity-instruments 3 xmms 3 DRIVER"^snd-" xmms-alsa gnome-alsamixer alsa-utils +# the two following entries are for ISA sound cards and thus are not managed for now: + 3 DRIVER"^snd-sb" cspctl + 3 DRIVER"^sbawe" awesfx + 3 DRIVER"snd-emu10k1" as10k1 + 3 DRIVER"snd-hdsp" hdsploader hdspmixer rmedigicontrol + 3 DRIVER"snd-ice1712|snd-ice1724" envy24control +# unmanaged ISA too: + 3 DRIVER"snd-sscape" sscape_ctl + 3 DRIVER"snd-mixart" mixartloader + 3 DRIVER"snd-usb-audio" us428control usx2yloader + 3 DRIVER"^snd-vx" vx-loader 3 xmms-esd 3 xmms-kjofol-skins 3 xmms-more-vis-plugins @@ -230,8 +240,7 @@ NETWORKING_GROUPWARE_SERVER NETWORKING_MAIL 5 mailx metamail - 5 KDE kdenetwork-kmail - 5 GNOME evolution + 5 evolution 3 faces mozilla-mail 3 fetchmail urlview mutt spamassassin 3 !GNOME !KDE xmailbox @@ -313,6 +322,7 @@ NETWORKING_FILE_SERVER 3 squid squidGuard NETWORKING_WWW + 5 mozilla 5 KDE quanta 5 GNOME screem 5 GNOME epiphany @@ -323,7 +333,6 @@ NETWORKING_WWW 3 links 3 KDE kdenetwork-kget 3 KDE kdenetwork-knewsticker - 3 mozilla 3 mozplugger 3 opera 3 bluefish @@ -620,7 +629,12 @@ SYSTEM HIGH_SECURITY NVIDIA_nforce-secure BIGMEM NVIDIA_nforce-enterprise + 5 HW"American Power Conversion\|Back-UPS Pro 500|MGE UPS Systems\|" nut-server 5 HW"iKey 3000 Token" rnboifd + 5 DRIVER"slamr|slusb|snd-atiixp-modem|snd-intel8x0m|snd-via82xx-modem" slmodem + 5 DRIVER"^LT:|slamr|slusb|^Hcf:|^Hsf:" ppp + KDE kdenetwork-kppp + 5 DRIVER"^LT:" ltmodem 5 HW"OmniKey Cardman" cm2020 SMP cm2020-smp @@ -632,9 +646,15 @@ SYSTEM 5 GNOME || KDE magicdev - 5 DRIVER"^ISDN:" ibod isdn4net isdn-light isdn4k-utils + 5 DRIVER"slamr|slusb" slmodem-kernel + 5 DRIVER"^ISDN:" ibod isdn4net isdn4k-utils 5 DRIVER"adiusbadsl" eagle-usb + 5 DRIVER"ipw2100" ipw2100-firmware ipw2100-kernel + 5 DRIVER"ipw2200" ipw2200-firmware ipw2100-kernel + 5 DRIVER"ath_pci" madwifi-kernel madwifi 5 DRIVER"speedtch" speedtouch speedtouch_mgmt + 5 DRIVER"^Hcf:" hcfmodem + 5 DRIVER"^Hsf:" hsfmodem 5 DRIVER"^ISDN:|^Hcf:|^Hsf:|^LT:|speedtch" kernel-2.4 SMP kernel-smp-2.4 @@ -681,10 +701,11 @@ INSTALL 5 pptp-adsl dhcpcd dhcpxd dhcp-client rp-pppoe pump ppp nfs-utils-clients libiw26 wireless-tools ppp-pppoe ppp-pppoatm autologin ntp samba-server ncpfs ucd-snmp libptal0 - shorewall iptables samba-client + shorewall iptables samba-client perl-Net-DNS ipchains nc sndconfig curl mtools mtoolsfm numlock usbutils hotplug ypbind + autofs pam_ldap pam_krb5 libsasl2-plug-gssapi nss_ldap openldap-clients samba-winbind tmdns zcip acpi acpid ibod isdn4net isdn-light isdn4k-utils kernel-2.4 eagle-usb diff --git a/perl-install/share/rpmsrate.corpo-desktop b/perl-install/share/rpmsrate.corpo-desktop new file mode 100644 index 000000000..8abf336f3 --- /dev/null +++ b/perl-install/share/rpmsrate.corpo-desktop @@ -0,0 +1,718 @@ +LSB + 5 lsb + +GRAPHICAL_DESKTOP + 4 WindowMaker icewm + 3 Epplets blackbox enlightenment ethemes icepref xfce + 2 wmnet + 1 lesstif-mwm + +GNOME + 5 gnome-panel nautilus gnome-control-center metacity + 4 gnome-applets gtk-themes file-roller + gnome-utils gucharmap xlockmore gtk-engines2 + gnome-vfs-extras gconf-editor + 5 !KDE gdm + 3 gnome-pilot + 2 bug-buddy + +KDE + 5 kdebase-progs kdebase-nsplugins mdkkdm mandrakelinux-kdm-logo galaxy-kde galaxy-kde-kwin mandrakegalaxy krozat kdeartwork-kde-classic kdeartwork + 5 kde-i18n-af kde-i18n-ar + 5 kdebase-servicemenu zip + 5 kdeutils kdeutils-kcharselect + 5 kdebase-kdm + 5 kdeutils-kcalc + 5 kdeaddons-searchbar + 5 kdeutils-kwalletmanager + 5 kiosktool + +VIDEO + 5 totem + 4 RealPlayer + 4 KDE kdenlive + 3 xine-ui xine-oss xine-xv + 3 powerdvd + 3 nist xanim xmms-smpeg mplayer-gui + 2 mtv mtv-fullscreen-extension + 2 xmovie +TV + 5 tvtime + 3 zapping gatos + +OFFICE + 5 OpenOffice.org + 5 OpenOffice.org-help-cs OpenOffice.org-help-de + 5 OpenOffice.org-l10n-ar OpenOffice.org-l10n-ca + 5 dia + 5 gnucash gnucash-hbci gnucash-ofx + 5 planner + 5 KDE kdenetwork-kdict + 5 KDE kdepim-karm + 4 acroread acroread-nppdf + 4 perl-libxml-enno crossover-standard-mdkdemo + 3 gnumeric + 3 gaddr xpdf + 3 wv ical + 2 units lyx + KDE + 5 kdepim-korganizer + 5 kdepim-kaddressbook + 5 kdepim-knotes + 5 kdegraphics-kghostview + 5 kdepim-kpilot + 3 koffice koffice-i18n-af koffice-i18n-az + 3 kdegraphics-kdvi + GNOME + 4 gnome-pim + 3 gnome-pilot-conduits Guppi + 2 ggv + +SPELLCHECK + 5 aspell-br aspell-ca + 5 ispell-af ispell-en + 5 myspell-bg_BG myspell-ca_ES + 5 myspell-hyph-cs myspell-hyph-da + +SOUND + 5 KDE kdemultimedia-kmix + 3 KDE xmms-arts + 3 sox + 3 aumix + +AUDIO + 5 KDE kdemultimedia-kscd + 5 totem + 5 audacity + 5 KDE xine-arts + 5 KDE kdemultimedia-kaudiocreator kdemultimedia-common + 5 gnome-media + 4 GNOME gnome-audio + 3 cdp + 3 cdparanoia + 3 cdrecord-cdda2wav + 3 grip + 3 GNOME gnome-audio-extra + 3 KDE kdeaddons-noatun + 3 KDE kdemultimedia-kmid + 3 KDE kdemultimedia-kmidi + 3 KDE kdemultimedia-noatun + 3 timidity-instruments + 3 xmms + 3 DRIVER"^snd-" xmms-alsa gnome-alsamixer alsa-utils + 3 xmms-esd + 3 xmms-kjofol-skins + 3 xmms-more-vis-plugins + 3 xmms-skins + 3 3D xmms-mesa + 3 HW"Rio 500" rio500 + 2 mokmod mp3info mpg123 playmidi playmidi-X11 xmms-mikmod + + +ACCESSIBILITY + 2 gtkeyboard + +PUBLISHING + 5 enscript ghostscript-module-X + 4 ghostscript-utils psutils texinfo + 2 latex2html jadetex tetex-afm tetex-dvips tetex-latex tetex-xdvi tetex-latex-arab tetex-latex-heb docbook-dtd31-sgml + 2 BOOKS tetex-doc tetex-latex-arab-doc + 1 docbook-style-dsssl openjade sgml-tools ghostscript-module-SVGALIB cttex + 1 BOOKS docbook-style-dsssl-doc + +SHELLS + 3 zsh + 3 BOOKS bash-doc zsh-doc + 2 pdksh tcsh + 1 bash1 + +SCIENCES + 4 gnuplot + 3 HDF + 2 mathplot octave + +EDUCATION + 4 KDE kdeedu + +EDITORS + 4 emacs-X11 + 3 GXedit + 3 KDE kdebase-kate + 3 KDE kdeutils-kedit + 3 KDE kdeutils-khexedit + 3 vim-X11 + 3 yudit + 2 nedit cooledit emacs-tramp joe emacs-leim jed-xjed xemacs xemacs-extras xemacs-info + 1 emacs-el jed xemacs-el emacs-nox + GNOME + 4 gedit + +TEXT_TOOLS + 5 words + 4 groff patch recode rgrep + 3 ed + 2 groff-gxditview lout + BOOKS + 3 gawk-doc + 1 lout-doc + +COMMUNICATIONS + 5 efax + 5 gnomemeeting + 4 KDE kdebase-kdeprintfax kdegraphics-kfax + 4 hylafax-client + 3 jpilot pilot-link + 2 hylafax-server dip + 2 lrzsz mgetty mgetty-contrib mgetty-sendfax mgetty-viewfax mgetty-voice minicom + 1 jpilot-Mail jpilot-syncmal statserial + +TERMINALS + 5 open + 5 !KDE !GNOME xterm + 5 KDE kdebase-konsole + 5 GNOME gnome-terminal + 4 screen kon2 + 3 bash-completion + 3 Eterm vlock + 3 aterm x3270 + + 3 GNOME gnome-telnet + 4 LOCALES"ja" kterm + +NETWORKING_CHAT + 3 KDE kdenetwork-ktalk + 3 talk ytalk + +NETWORKING_CHAT_SERVER + 4 jabber + 3 talk-server + +NETWORKING_FILE_TRANSFER + 5 KDE kbear + 5 GNOME gftp + 5 lftp mirrordir rsync + 4 rdist + 3 fmirror ncftp tftp + 2 uucp + +NETWORKING_FILE_TRANSFER_SERVER + 4 proftpd + 3 proftpd-anonymous + 2 wu-ftpd anonftp + +NETWORKING_LDAP_SERVER + 4 openldap directory_administrator + +NETWORKING_INSTANT_MESSAGING + 5 KDE kdenetwork-kopete + 5 !KDE gaim + 3 licq + 3 everybuddy licq-console licq-rms + 3 KDE kdenetwork-kit + GNOME + 3 gnomeicu gabber + 3 gtk+licq + +NETWORKING_IRC + 5 xchat + 3 BitchX + 3 KDE kdenetwork-ksirc + 3 mozilla-irc + 2 irssi + 1 eggdrop + +NETWORKING_FIREWALLING_SERVER + 5 iproute2 routed iptables + 3 prelude + +NETWORKING_GROUPWARE_SERVER + 5 kolab-server + 3 phpgroupware + +NETWORKING_MAIL + 5 mailx metamail + 5 evolution ximian-connector + 3 faces mozilla-mail + 3 fetchmail urlview mutt spamassassin + 3 !GNOME !KDE xmailbox + 3 KDE kdenetwork-korn + 2 FaxMail faces-xface + 1 fetchmail-daemon fetchmailconf + +NETWORKING_MAIL_SERVER + 5 postfix + 4 mailman + 3 imap + +NETWORKING_NEWS + 5 KDE kdepim-knode + 5 GNOME pan + 2 slrn + 1 slrn-pull + +NETWORKING_NEWS_SERVER + 4 inn + 3 inews + +NETWORKING_OTHER + 5 KDE kdenetwork-kppp + 2 finger ucd-snmp-utils macutils + +NETWORKING_OTHER_SERVER + 3 dhcp-server gated ntp + + 3 intimed nscd pidentd + rdate bootparamd + cleanfeed ucd-snmp leafnode + cvsweb nut-server + XFree86-Xvfb XFree86-Xnest + 2 diald finger-server mars-nwe + +NIS + 5 ypbind + +NIS_SERVER + 5 ypserv + +NETWORKING_REMOTE_ACCESS + 5 openssh-clients telnet-client-krb5 + 4 traceroute rfbdrake nxclient ICAClient + 3 KDE kdeutils-kdessh lisa + 3 tightvnc + 2 rsh + +NETWORKING_REMOTE_ACCESS_SERVER + 5 openssh-server + 4 rfbdrake nxserver + 2 tightvnc-server + 1 telnet-server-krb5 rsh-server + 3 BOOKS tight-vnc-doc + +NETWORKING_DNS + 4 bind-utils + +NETWORKING_DNS_SERVER + 5 bind + 4 caching-nameserver + 1 nslint + +NETWORKING_FILE + 4 samba-client nfs-utils-clients + X smb4k + 2 X LinNeighborhood + 2 arkeia-gui arkeia-client arkeia-arkc + 2 GNOME gnomba gtm + 2 autofs + +NETWORKING_FILE_SERVER + 5 nfs-utils + 4 samba-server + 3 BOOKS samba-doc + 3 KDE kdenetwork-krfb + 2 arkeia-server samba-winbind + 3 squid squidGuard + +NETWORKING_WWW + 5 mozilla + 5 KDE quanta + 5 GNOME screem + 5 GNOME epiphany + 4 FlashPlayer j2re + 4 wget + 4 lynx + 3 KDE kdeaddons + 3 links + 3 KDE kdenetwork-kget + 3 KDE kdenetwork-knewsticker + 3 mozplugger + 3 opera + 3 bluefish + +NETWORKING_WWW_SERVER + 5 apache2 apache2-mod_perl apache2-mod_ssl apache2-mod_php + 4 apache2-mod_suexec + 4 BOOKS apache2-manual + 3 php-gd php-imap php-ldap php-manual php-mysql + php-pgsql php-readline php mod_sxnet HTML-Embperl + 2 ApacheJServ + +GRAPHICS + 5 qiv + 4 gimp gqview + 4 KDE kdegraphics-ksnapshot + 4 KDE kimdaba + 4 KDE kdegraphics-common + 4 ImageMagick giftrans gphoto2 + 3 gimp-data-extras + 3 flphoto gtkam gimp-plugin + 3 KDE kdeaddons-konqimagegallery + 3 KDE kdegraphics-kpaint + 3 KDE kdegraphics-kruler + 3 KDE kdegraphics-kuickshow + 3 KDE kdegraphics-kview + 3 KDE kdegraphics-mrmlsearch + 3 sketch + 3 xwpick + 3 xli + 2 gif2png gimp-perl xpcd xfig xpcd-gimp gd-utils cameleo + 1 libgr-progs libungif-progs qcad transfig xpaint xmorph + 1 3D Mesa-demos + GNOME + 3 gnome-iconedit + 3 ee + +ARCHIVING + 5 unzip zip dump sharutils + 5 KDE kdeutils-ark + 2 unarj unstuff mt-st + 2 taper + 1 lha + GNOME + 2 gnozip + 2 gtktalog + +BURNER + 5 mkisofs cdrecord dvd+rw-tools + 5 KDE k3b + 5 GNOME nautilus-cd-burner + 4 !KDE !GNOME xcdroast + 3 gcombust + 3 GNOME gnome-toaster + 2 X eroaster + DEVELOPMENT + 3 cdrecord-devel + +SCANNER + 4 sane-frontends + 4 KDE kdegraphics-kooka + +PHOTO + 4 gphoto gphoto2 + +DATABASES + 5 postgresql + 3 MySQL-client + DATABASES_SERVER + 4 postgresql-server + 3 MySQL + 3 postgresql-python + 2 postgresql-jdbc postgresql-tcl postgresql-test + DEVELOPMENT + 4 perl-Mysql + 3 postgresql-devel + 1 MySQL-bench MySQL-devel + +GAMES + 5 frozen-bubble + 5 lbreakout2 + 5 crack-attack crack-attack-music crack-attack-sounds + 3 clanbomber freeciv-client toppler + 3 cxhextris rocksndiamonds powermanga mures methane + 2 Maelstrom pingus ltris penguin-command pysol xtrojka bunnies xpilot trophy xboard xgammon xkobo xpat2 xpuzzles xsoldier xfishtank + 1 7colors xrally fortune-mod nil + GNOME + 3 gnome-games + 3 gnome-chess + 2 3D gtulpas + 1 gtkgo + KDE + 3 kdegames + 3 kdeaddons-atlantik + 3 kdetoys + 3D + 5 armagetron csmash + !HW"Riva.*128" chromium tuxracer + + 3 !HW"Riva.*128" !HW"Rage X[CL]" !HW"Rage Mobility (?:P\/M|L) " !HW"3D Rage (?:LT|Pro)" + bzflag + +DEVELOPMENT + 5 autoconf automake m4 make + 3 autoconf2.5 + 1 tmake pmake + + 5 libtool binutils ltrace gdb gcc + 2 gperf indent + 1 glibc-profile xxgdb + + 4 gcc-c++ libstdc++-devel + 2 libsigc++-examples + + 4 bison flex + 2 byacc + + 2 doxygen C++2LaTeX + + 3 jikes kaffe + 1 gcc-java + + 5 cvs rcs + 2 diffstat tkcvs + + 3 swig + + 4 python tkinter + 3 python-devel python-imaging pygtk-glarea pygtk pygtk-libglade rpm-python + + 4 perl perl-Term-Readline-Gnu perl-libwww-perl perl-devel + 3 perl-DBI perl-IO-stringy perl-PDL perl-Parse-RecDescent + perl-GTK-GLArea perl-Tk perlftlib perl-URI perl-DB_File + perl-Data-ShowTable perl-HTML-Parser perl-HTML-SimpleParse + perl-MIME-tools perl-MP3-Info perl-MailTools perl-Msgcat + + 4 rpm-build + 3 rpmlint rpm-devel rpm-rebuilder + 3 kernel-source + + 2 gcc-g77 nasm dev86 + 1 gcc-objc + + 2 gprolog ocaml umb-scheme mawk guile clispp2c + hugs98 mercury swi-prolog ruby + + 4 gettext-devel libncurses5-devel ncurses-devel + + BOOKS + 5 qt3-example + 2 pam-doc python-docs slang-doc kernel-doc nasm-doc ruby-doc lkmpg + + KDE + 5 kdevelop + 5 kdesdk + 5 libkdenetwork2-kopete-devel libkdebase4-kate-devel libkdepim2-common-devel + libkdebase4-nsplugins-devel libkdepim2-kaddressbook-devel + libkdepim2-kmail-devel kdecore-devel libkdepim2-knode-devel + kdeedu-devel libkdepim2-kontact-devel libkdegames1-devel + libkdepim2-korganizer-devel libkdegraphics0-common-devel + libkdepim2-kpilot-devel libkdegraphics0-kooka-devel + libkdesdk1-cervisia-devel libkdegraphics0-kpovmodeler-devel + kdesdk-devel libkdegraphics0-ksvg-devel libkdesdk1-kbabel-devel + libkdegraphics0-kview-devel kdetoys-devel + libkdemultimedia1-common-devel libkdeutils1-common-devel + libkdemultimedia1-kscd-devel libkdeutils1-ksim-devel + libkdemultimedia1-noatun-devel kdevelop-devel arts-devel + qt-devel quanta-devel libquanta0-kfilereplace-devel + libquanta0-kommander-devel koffice-devel + + GNOME + 4 perl-GTK-Glade perl-GTK-Gnome + 3 glade2 pygnome libgnomeui2_0-devel libpanel-applet-2_0-devel + 2 pygnome-capplet pygnome-libglade + libgnomemm-1.2_9-devel libgnome-pilot2-devel glademm + 1 libgnucash0-devel + + DEVELOPMENT_OTHER + 2 libMagick-devel libMesaGLU1-devel Xaw3d-devel + gd-devel p2c-devel gmp-devel guile-devel libgr-devel libjpeg-devel libpng-devel + libtermcap-devel libtiff-devel libungif-devel libxml-devel + slang-devel sox-devel zlib-devel libxfree86-devel dev86-devel + gdk-pixbuf-devel gimp-devel gpm-devel libghttp-devel libgtop-devel + libmikmod-devel librep-devel libunicode-devel popt-devel pwdb-devel t1lib-devel + libsnmp-devel mpeg_lib-devel WindowMaker-devel libaa-devel adns-devel + libalsa-devel audiofile-devel cups-devel e2fsprogs-devel + g-wrap-devel gkrellm-devel libPropList-devel licq-devel openldap-devel + parted-devel pciutils-devel pilot-link-devel svgalib-devel + recode-devel aspell-devel cracklib-devel faces-devel fnlib-devel + freetype-devel gtk+mdk-devel gtkglarea-devel libxfree86-static-devel imap-devel + php-devel pth-devel sane-devel swig-devel xdelta-devel isapnptools-devel + pango-devel readline-devel + +MONITORING + 5 procinfo psacct + 5 PCMCIA apmd + 4 lsof swatch tcpdump traceroute + 4 nmap lm_sensors + 4 X nmap-frontend + 3 KDE kdeutils-kdf + 3 KDE kdeutils-ksim + 3 KDE kdeutils-ktimer + 3 iplog arpwatch lslk xcpustate xsysinfo + 2 cfengine gkrellm gps rusers mon 3D xtraceroute + 1 logcheck + GNOME + 4 gnome-system-monitor + +FILE_TOOLS + 5 file gnupg mkxauth mtools slocate + 4 symlinks mc + 3 dosfstools draksync tree + 2 git FileRunner + 1 xdelta + +WEBMIN + 5 webmin + 5 mdkwebadmin + +WIZARDS + 5 drakwizard + +CONFIG + 3 ipvsadm quota nut + 2 gfcc adjtimex xinput timeconfig samba-swat + 1 ipxutils + +BOOKS + 4 mandrake-doc-de mandrake-doc-es + 4 !LOCALES"fr" !LOCALES"it" !LOCALES"es" mandrake-doc-en + +X + 5 XFree86 rxvt XFree86-75dpi-fonts urw-fonts fonts-ttf-vera + 5 icewm-light + 5 HIGH_SECURITY mountloop + 5 LOCALES"ja" im-ja + 5 LOCALES"zh_CN" fcitx + + 4 vim-enhanced + 4 gurpmi rpmdrake drakconf userdrake fonts-ttf-decoratives fonts-ttf-west_european + mandrake-mime menudrake mandrake_desk + mdkonline gtk-engines bootsplash + galaxy-gnome + 4 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" rxvt-CJK + + 3 drakfirsttime + 3 XFree86-100dpi-fonts draksync + 3 USB usbview + 2 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" jmcce + 2 imlib-cfgeditor + 1 Mesa xtoolwait X11R6-contrib + + GNOME + 3 gnorpm + + 5 xcin xvnkb FreeWnn ami kinput2-wnn4 miniChinput + + 2 app-defaults-be app-defaults-cs + + 5 LOCALES"mi" || LOCALES"lt" || LOCALES"lv" fonts-type1-baltic + LOCALES"ru" || LOCALES"uk" XFree86-cyrillic-fonts + LOCALES"am" fonts-ttf-ethiopic + LOCALES"ar" || LOCALES"fa" || LOCALES"ur" fonts-ttf-arabic + LOCALES"as" || LOCALES"bn" fonts-ttf-bengali + LOCALES"el" fonts-type1-greek + LOCALES"he" || LOCALES"yi" fonts-hebrew-elmar fonts-type1-hebrew + LOCALES"hy" fonts-ttf-armenian + LOCALES"ja" fonts-ttf-japanese + LOCALES"kn" fonts-ttf-kannada + LOCALES"ko" fonts-ttf-korean + LOCALES"ta" fonts-ttf-tamil fonts-ttf-tscii fonts-bitmap-tscii + LOCALES"th" fonts-ttf-thai + LOCALES"zh_CN" || LOCALES"zh" fonts-ttf-gb2312 + LOCALES"zh_TW" || LOCALES"zh" taipeifonts fonts-ttf-big5 + +DOCS + 5 man info man-pages + +SYSTEM + 5 at MAKEDEV eject ldetect devfsd harddrake + locales iputils urpmi cpio msec tmpwatch gnupg + + 5 lshw OpenIPMI dmidecode + + 5 castella-pkcs11 castella-tokenadmin castella-dialogs-gtk castella-daemon castella-dialogs-gtk castella-pam castella-pkcs11-client pcsc-lite + + 5 HIGH_SECURITY libsafe kernel-secure lads + 5 BIGMEM kernel-i686-up-4GB + 5 SMP kernel-smp + 5 BIGMEM SMP kernel-p3-smp-64GB + 5 PCMCIA pcmcia-cs + 5 USB hotplug + + 5 HW"nForce.*(?:Audio|Network)" + NVIDIA_nforce + SMP NVIDIA_nforce-smp + HIGH_SECURITY NVIDIA_nforce-secure + BIGMEM NVIDIA_nforce-enterprise + + 5 DRIVER"smartcard:rnboifd" rnboifd + 5 DRIVER"smartcard:cmok_ccid" cmok_ccid + + 5 DRIVER"ipw2100" ipw2100-firmware ipw2100-kernel + SMP ipw2100-kernelsmp + HIGH_SECURITY ipw2100-kernelsecure + BIGMEM ipw2100-kernelenterprise + + 5 DRIVER"ipw2200" ipw2200-firmware ipw2200-kernel + SMP ipw2200-kernelsmp + HIGH_SECURITY ipw2200-kernelsecure + BIGMEM ipw2200-kernelenterprise + + 5 KDE kdeutils-kfloppy + 5 KDE kdeutils-kdepasswd + + 5 GNOME || KDE magicdev + + 5 DRIVER"^ISDN:" ibod isdn4net isdn-light isdn4k-utils + 5 DRIVER"adiusbadsl" eagle-usb + 5 DRIVER"speedtch" speedtouch speedtouch_mgmt + 5 DRIVER"^ISDN:|^Hcf:|^Hsf:|^LT:|speedtch" + kernel-2.4 + SMP kernel-smp-2.4 + BIGMEM kernel-enterprise-2.4 + + 5 DRIVER"ath_pci" madwifi-kernel + 5 DRIVER"slamr|slusb|snd-atiixp-modem|snd-intel8x0m|snd-via82xx-modem" slmodem + 5 DRIVER"slamr|slusb" slmodem-kernel + SMP slmodem-kernelsmp + HIGH_SECURITY slmodem-kernelsecure + BIGMEM slmodem-kernelenterprise + + 5 HW"Intel Corp.|PRO/Wireless LAN" ndiswrapper + +5 atmel-firmware prism54-firmware + + 4 ftp-client-krb5 hexedit strace sudo grub procmail hdparm coreutils-doc + 4 PCMCIA netprofile + + 3 bc + 2 sndconfig acpid adns audiofile freeswan awesfx fbset vlan-utils gpm + 1 fdutils genromfs mailcap pinfo + + BOOKS + 5 man-pages-cs man-pages-da + 4 grub-doc lilo-doc + howto-html-de howto-html-el + + 4 NIS yp-tools + 3 PCMCIA irda-utils + 3 USB usbutils + + 4 LOCALES"ar" || LOCALES"fa" || LOCALES"he" || LOCALES"yi" acon + 3 LOCALES"zh" zh-autoconvert + +EMULATORS + 3 wine + +PRINTER + 4 xpp nmap printer-testpages scli net-tools gimpprint foomatic-db-engine + foomatic-filters foomatic-db ImageMagick ghostscript printer-filters mpage + a2ps ppdfilt gpr groff lesstif + sane-backends sane-frontends scanner-gui + libsnmp0 xojpanel libsane-hpoj1 printer-utils + +INSTALL + NOCOPY + 5 kernel kernel-smp kernel-i686-up-4GB + raidtools lvm2 reiserfsprogs jfsprogs xfsprogs + alsa-utils + 4 XFree86 brltty + + 5 pptp-adsl dhcpcd dhcpxd dhcp-client rp-pppoe pump + ppp nfs-utils-clients libiw26 wireless-tools ppp-pppoe ppp-pppoatm + autologin ntp samba-server ncpfs ucd-snmp libptal0 + shorewall iptables samba-client perl-Net-DNS + ipchains nc sndconfig curl + mtools mtoolsfm numlock usbutils + hotplug ypbind + autofs pam_ldap pam_krb5 libsasl2-plug-gssapi nss_ldap openldap-clients samba-winbind + tmdns zcip acpi acpid + ibod isdn4net isdn-light isdn4k-utils kernel-2.4 + eagle-usb + speedtouch speedtouch_mgmt + dkms-minimal + + 5 cups cups-drivers hpoj libhpojip + 4 XFree86-SVGA XFree86-server XFree86-Mach64 XFree86-FBDev + XFree86-glide-module Glide_V3-DRI Glide_V5 Mesa + 3 XFree86-S3 XFree86-S3V XFree86-VGA16 + 2 XFree86-8514 XFree86-AGX XFree86-I128 XFree86-Mach32 XFree86-Mach8 XFree86-Mono XFree86-P9000 XFree86-W32 + 1 XFree86-3DLabs diff --git a/perl-install/share/rpmsrate.corpo-server b/perl-install/share/rpmsrate.corpo-server new file mode 100644 index 000000000..0b09fb6c5 --- /dev/null +++ b/perl-install/share/rpmsrate.corpo-server @@ -0,0 +1,721 @@ +LSB + 5 lsb + +GRAPHICAL_DESKTOP + 4 icewm qiv + 3 WindowMaker + 3 Epplets blackbox enlightenment ethemes icepref xfce + 2 wmnet + 1 lesstif-mwm + +GNOME + 5 gnome-panel nautilus gnome-control-center metacity + 4 gnome-applets gtk-themes file-roller + gnome-utils gucharmap xlockmore gtk-engines2 + gnome-vfs-extras gconf-editor + 5 !KDE gdm + 3 gnome-pilot + 2 bug-buddy + +KDE + 5 kdebase-progs kdebase-nsplugins mdkkdm galaxy-kde galaxy-kde-kwin mandrakegalaxy krozat kdeartwork-kde-classic kdeartwork + 5 kde-i18n-af kde-i18n-ar + 5 kdebase-servicemenu zip + 5 kdeutils kdeutils-kcharselect + 5 kdebase-kdm + 5 kdeutils-kcalc + 5 kdeaddons-searchbar + 5 kdeutils-kwalletmanager + 5 kiosktool + +VIDEO + 5 totem + 4 RealPlayer + 4 KDE kdenlive + 3 xine-ui xine-oss xine-xv + 3 powerdvd + 3 nist xanim xmms-smpeg mplayer-gui + 2 mtv mtv-fullscreen-extension + 2 xmovie +TV + 5 tvtime + 3 zapping gatos + +OFFICE + 5 OpenOffice.org + 5 OpenOffice.org-help-cs OpenOffice.org-help-de + 5 OpenOffice.org-l10n-ar OpenOffice.org-l10n-ca + 5 dia + 5 gnucash gnucash-hbci gnucash-ofx + 5 planner + 5 KDE kdenetwork-kdict + 5 KDE kdepim-karm + 4 acroread acroread-nppdf + 3 gnumeric + 3 gaddr xpdf + 3 wv ical + 2 units lyx + KDE + 5 kdepim-korganizer + 5 kdepim-kaddressbook + 5 kdepim-knotes + 5 kdegraphics-kghostview + 3 koffice koffice-i18n-az koffice-i18n-bg + 3 kdegraphics-kdvi + 3 kdepim-kpilot + GNOME + 4 gnome-pim + 3 gnome-pilot-conduits Guppi + 2 ggv + +SPELLCHECK + 5 aspell-br aspell-ca + 5 ispell-af ispell-en + 5 myspell-bg_BG myspell-ca_ES + 5 myspell-hyph-cs myspell-hyph-da + +SOUND + 5 KDE kdemultimedia-kmix + 3 KDE xmms-arts + 3 sox + 3 aumix + +AUDIO + 5 KDE kdemultimedia-kscd + 5 totem + 5 audacity + 5 KDE xine-arts + 5 KDE kdemultimedia-kaudiocreator kdemultimedia-common + 5 gnome-media + 4 GNOME gnome-audio + 3 cdp + 3 cdparanoia + 3 cdrecord-cdda2wav + 3 grip + 3 GNOME gnome-audio-extra + 3 KDE kdeaddons-noatun + 3 KDE kdemultimedia-kmid + 3 KDE kdemultimedia-kmidi + 3 KDE kdemultimedia-noatun + 3 timidity-instruments + 3 xmms + 3 DRIVER"^snd-" xmms-alsa gnome-alsamixer alsa-utils + 3 xmms-esd + 3 xmms-kjofol-skins + 3 xmms-more-vis-plugins + 3 xmms-skins + 3 3D xmms-mesa + 3 HW"Rio 500" rio500 + 2 mokmod mp3info mpg123 playmidi playmidi-X11 xmms-mikmod + + +ACCESSIBILITY + 2 gtkeyboard + +PUBLISHING + 5 enscript ghostscript-module-X + 4 ghostscript-utils psutils texinfo + 2 latex2html jadetex tetex-afm tetex-dvips tetex-latex tetex-xdvi tetex-latex-arab tetex-latex-heb docbook-dtd31-sgml + 2 BOOKS tetex-doc tetex-latex-arab-doc + 1 docbook-style-dsssl openjade sgml-tools ghostscript-module-SVGALIB cttex + 1 BOOKS docbook-style-dsssl-doc + +SHELLS + 3 zsh + 3 BOOKS bash-doc zsh-doc + 2 pdksh tcsh + 1 bash1 + +SCIENCES + 4 gnuplot + 3 HDF + 2 mathplot octave + +EDUCATION + 4 KDE kdeedu + +EDITORS + 4 emacs-X11 + 3 GXedit + 3 KDE kdebase-kate + 3 KDE kdeutils-kedit + 3 KDE kdeutils-khexedit + 3 vim-X11 + 3 yudit + 2 nedit cooledit emacs-tramp joe emacs-leim jed-xjed xemacs xemacs-extras xemacs-info + 1 emacs-el jed xemacs-el emacs-nox + GNOME + 4 gedit + +TEXT_TOOLS + 5 words + 4 groff patch recode rgrep + 3 ed + 2 groff-gxditview lout + BOOKS + 3 gawk-doc + 1 lout-doc + +COMMUNICATIONS + 5 efax + 5 gnomemeeting + 4 KDE kdebase-kdeprintfax kdegraphics-kfax + 4 hylafax-client + 3 jpilot pilot-link + 2 hylafax-server dip + 2 lrzsz mgetty mgetty-contrib mgetty-sendfax mgetty-viewfax mgetty-voice minicom + 1 jpilot-Mail jpilot-syncmal statserial + +TERMINALS + 5 open + 5 !KDE !GNOME xterm + 5 KDE kdebase-konsole + 5 GNOME gnome-terminal + 4 screen kon2 + 3 bash-completion + 3 Eterm vlock + 3 aterm x3270 + + 3 GNOME gnome-telnet + 4 LOCALES"ja" kterm + +NETWORKING_CHAT + 3 KDE kdenetwork-ktalk + 3 talk ytalk + +NETWORKING_CHAT_SERVER + 4 jabber + 3 talk-server + +NETWORKING_FILE_TRANSFER + 5 KDE kbear + 5 GNOME gftp + 5 lftp mirrordir rsync + 4 rdist + 3 fmirror ncftp tftp + 2 uucp + +NETWORKING_FILE_TRANSFER_SERVER + 4 proftpd + 3 proftpd-anonymous + 2 wu-ftpd anonftp + +NETWORKING_LDAP_SERVER + 4 openldap directory_administrator + +NETWORKING_INSTANT_MESSAGING + 5 KDE kdenetwork-kopete + 5 !KDE gaim + 3 licq + 3 everybuddy licq-console licq-rms + 3 KDE kdenetwork-kit + GNOME + 3 gnomeicu gabber + 3 gtk+licq + +NETWORKING_IRC + 5 xchat + 3 BitchX + 3 KDE kdenetwork-ksirc + 3 mozilla-irc + 2 irssi + 1 eggdrop + +NETWORKING_FIREWALLING_SERVER + 5 iproute2 routed iptables + 3 prelude + +NETWORKING_GROUPWARE_SERVER + 5 kolab-server + 3 phpgroupware + +NETWORKING_MAIL + 5 mailx metamail + 5 evolution ximian-connector + 3 faces mozilla-mail + 3 fetchmail urlview mutt spamassassin + 3 !GNOME !KDE xmailbox + 3 KDE kdenetwork-korn + 2 FaxMail faces-xface + 1 fetchmail-daemon fetchmailconf + +NETWORKING_MAIL_SERVER + 5 postfix + 4 mailman amavisd-new spamassassin clamd imap + 4 quota + 4 squirrelmail + +NETWORKING_NEWS + 5 KDE kdenetwork-knode + 5 GNOME pan + 2 slrn + 1 slrn-pull + +NETWORKING_NEWS_SERVER + 4 inn + 3 inews + +NETWORKING_OTHER + 5 KDE kdenetwork-kppp + 2 finger ucd-snmp-utils macutils + +NETWORKING_OTHER_SERVER + 3 dhcp-server gated ntp + + 3 intimed nscd pidentd + rdate bootparamd + cleanfeed ucd-snmp leafnode + cvsweb nut-server + XFree86-Xvfb XFree86-Xnest + 2 diald finger-server mars-nwe + +NIS + 5 ypbind + +NIS_SERVER + 5 ypserv + +NETWORKING_REMOTE_ACCESS + 5 openssh-clients telnet-client-krb5 + 4 traceroute rfbdrake nxclient ICAClient + 3 KDE kdeutils-kdessh lisa + 3 tightvnc + 2 rsh + +NETWORKING_REMOTE_ACCESS_SERVER + 5 openssh-server openssh-clients + 4 rfbdrake nxserver + 2 tightvnc-server + 1 telnet-server-krb5 rsh-server + 3 BOOKS tight-vnc-doc + +NETWORKING_DNS + 4 bind-utils + +NETWORKING_DNS_SERVER + 5 bind + 4 caching-nameserver + 1 nslint + +NETWORKING_FILE + 4 samba-client nfs-utils-clients + X smb4k + 2 X LinNeighborhood + 2 arkeia-gui arkeia-client arkeia-arkc + 2 GNOME gnomba gtm + 2 autofs + +NETWORKING_FILE_SERVER + 5 nfs-utils + 4 samba-server + 4 quota + 3 BOOKS samba-doc + 3 KDE kdenetwork-krfb + 2 arkeia-server samba-winbind + 3 squid squidGuard + +NETWORKING_WWW + 5 mozilla + 5 KDE quanta + 5 GNOME screem + 5 GNOME epiphany + 4 FlashPlayer crossover-plugin-demo j2re + 4 wget + 4 lynx + 3 KDE kdeaddons + 3 links + 3 KDE kdenetwork-kget + 3 KDE kdenetwork-knewsticker + 3 mozplugger + 3 opera + 3 bluefish + +NETWORKING_WWW_SERVER + 5 apache2 apache2-mod_perl apache2-mod_ssl apache2-mod_php + 4 apache2-mod_suexec + 4 BOOKS apache2-manual + 3 php-gd php-imap php-ldap php-manual php-mysql + php-pgsql php-readline php mod_sxnet HTML-Embperl + 2 ApacheJServ + +GRAPHICS + 5 qiv + 4 gimp gqview + 4 KDE kdegraphics-ksnapshot + 4 KDE kimdaba + 4 KDE kdegraphics-common + 4 ImageMagick giftrans gphoto2 + 3 gimp-data-extras + 3 flphoto gtkam gimp-plugin + 3 KDE kdeaddons-konqimagegallery + 3 KDE kdegraphics-kpaint + 3 KDE kdegraphics-kruler + 3 KDE kdegraphics-kuickshow + 3 KDE kdegraphics-kview + 3 KDE kdegraphics-mrmlsearch + 3 sketch + 3 xwpick + 3 xli + 2 gif2png gimp-perl xpcd xfig xpcd-gimp gd-utils cameleo + 1 libgr-progs libungif-progs qcad transfig xpaint xmorph + 1 3D Mesa-demos + GNOME + 3 gnome-iconedit + 3 ee + +ARCHIVING + 5 unzip zip dump sharutils + 5 KDE kdeutils-ark + 2 unarj unstuff mt-st + 2 taper + 1 lha + GNOME + 2 gnozip + 2 gtktalog + +BURNER + 5 mkisofs cdrecord dvd+rw-tools + 5 KDE k3b + 5 GNOME nautilus-cd-burner + 4 !KDE !GNOME xcdroast + 3 gcombust + 3 GNOME gnome-toaster + 2 X eroaster + DEVELOPMENT + 3 cdrecord-devel + +SCANNER + 4 sane-frontends + 4 scanner-gui + +PHOTO + 4 gphoto gphoto2 + +DATABASES + 5 postgresql + 3 MySQL-client + DATABASES_SERVER + 4 postgresql-server + 3 MySQL + 3 postgresql-python + 2 postgresql-jdbc postgresql-tcl postgresql-test + DEVELOPMENT + 4 perl-Mysql + 3 postgresql-devel + 1 MySQL-bench MySQL-devel + +GAMES + 5 frozen-bubble + 5 lbreakout2 + 5 crack-attack crack-attack-music crack-attack-sounds + 3 clanbomber freeciv-client toppler + 3 cxhextris rocksndiamonds powermanga mures methane + 2 Maelstrom pingus ltris penguin-command pysol xtrojka bunnies xpilot trophy xboard xgammon xkobo xpat2 xpuzzles xsoldier xfishtank + 1 7colors xrally fortune-mod nil + GNOME + 3 gnome-games + 3 gnome-chess + 2 3D gtulpas + 1 gtkgo + KDE + 3 kdegames + 3 kdeaddons-atlantik + 3 kdetoys + 3D + 5 armagetron csmash + !HW"Riva.*128" chromium tuxracer + + 3 !HW"Riva.*128" !HW"Rage X[CL]" !HW"Rage Mobility (?:P\/M|L) " !HW"3D Rage (?:LT|Pro)" + bzflag + +DEVELOPMENT + 5 autoconf automake m4 make + 3 autoconf2.5 + 1 tmake pmake + + 5 libtool binutils ltrace gdb gcc + 2 gperf indent + 1 glibc-profile xxgdb + + 4 gcc-c++ libstdc++-devel + 2 libsigc++-examples + + 4 bison flex + 2 byacc + + 2 doxygen C++2LaTeX + + 3 jikes kaffe + 1 gcc-java + + 5 cvs rcs + 2 diffstat tkcvs + + 3 swig + + 4 python tkinter + 3 python-devel python-imaging pygtk-glarea pygtk pygtk-libglade rpm-python + + 4 perl perl-Term-Readline-Gnu perl-libwww-perl perl-devel + 3 perl-DBI perl-IO-stringy perl-PDL perl-Parse-RecDescent + perl-GTK-GLArea perl-Tk perlftlib perl-URI perl-DB_File + perl-Data-ShowTable perl-HTML-Parser perl-HTML-SimpleParse + perl-MIME-tools perl-MP3-Info perl-MailTools perl-Msgcat + + 4 rpm-build + 3 rpmlint rpm-devel rpm-rebuilder + 3 kernel-source + + 2 gcc-g77 nasm dev86 + 1 gcc-objc + + 2 gprolog ocaml umb-scheme mawk guile clispp2c + hugs98 mercury swi-prolog ruby + + 4 gettext-devel libncurses5-devel ncurses-devel + + BOOKS + 5 qt3-example + 2 pam-doc python-docs slang-doc kernel-doc nasm-doc ruby-doc lkmpg + + KDE + 5 kdevelop + 5 kdesdk + 5 libkdenetwork2-kopete-devel libkdebase4-kate-devel libkdepim2-common-devel + libkdebase4-nsplugins-devel libkdepim2-kaddressbook-devel + libkdepim2-kmail-devel kdecore-devel libkdepim2-knode-devel + kdeedu-devel libkdepim2-kontact-devel libkdegames1-devel + libkdepim2-korganizer-devel libkdegraphics0-common-devel + libkdepim2-kpilot-devel libkdegraphics0-kooka-devel + libkdesdk1-cervisia-devel libkdegraphics0-kpovmodeler-devel + kdesdk-devel libkdegraphics0-ksvg-devel libkdesdk1-kbabel-devel + libkdegraphics0-kview-devel kdetoys-devel + libkdemultimedia1-common-devel libkdeutils1-common-devel + libkdemultimedia1-kscd-devel libkdeutils1-ksim-devel + libkdemultimedia1-noatun-devel kdevelop-devel arts-devel + qt-devel quanta-devel libquanta0-kfilereplace-devel + libquanta0-kommander-devel koffice-devel + + GNOME + 4 perl-GTK-Glade perl-GTK-Gnome + 3 glade2 pygnome libgnomeui2_0-devel libpanel-applet-2_0-devel + 2 pygnome-capplet pygnome-libglade + libgnomemm-1.2_9-devel libgnome-pilot2-devel glademm + 1 libgnucash0-devel + + DEVELOPMENT_OTHER + 2 libMagick-devel libMesaGLU1-devel Xaw3d-devel + gd-devel p2c-devel gmp-devel guile-devel libgr-devel libjpeg-devel libpng-devel + libtermcap-devel libtiff-devel libungif-devel libxml-devel + slang-devel sox-devel zlib-devel libxfree86-devel dev86-devel + gdk-pixbuf-devel gimp-devel gpm-devel libghttp-devel libgtop-devel + libmikmod-devel librep-devel libunicode-devel popt-devel pwdb-devel t1lib-devel + libsnmp-devel mpeg_lib-devel WindowMaker-devel libaa-devel adns-devel + libalsa-devel audiofile-devel cups-devel e2fsprogs-devel + g-wrap-devel gkrellm-devel libPropList-devel licq-devel openldap-devel + parted-devel pciutils-devel pilot-link-devel svgalib-devel + recode-devel aspell-devel cracklib-devel faces-devel fnlib-devel + freetype-devel gtk+mdk-devel gtkglarea-devel libxfree86-static-devel imap-devel + php-devel pth-devel sane-devel swig-devel xdelta-devel isapnptools-devel + pango-devel readline-devel + +MONITORING + 5 procinfo psacct + 5 PCMCIA apmd + 4 lsof swatch tcpdump traceroute + 4 nmap lm_sensors + 4 X nmap-frontend + 3 KDE kdeutils-kdf + 3 KDE kdeutils-ksim + 3 KDE kdeutils-ktimer + 3 iplog arpwatch lslk xcpustate xsysinfo + 2 cfengine gkrellm gps rusers mon 3D xtraceroute + 1 logcheck + GNOME + 4 gnome-system-monitor + +FILE_TOOLS + 5 file gnupg mkxauth mtools slocate + 4 symlinks mc + 3 dosfstools draksync tree + 2 git FileRunner + 1 xdelta + +WEBMIN + 5 webmin + 5 mdkwebadmin + +WIZARDS + 5 drakwizard + +CONFIG + 3 ipvsadm nut + 2 gfcc adjtimex xinput timeconfig samba-swat + 1 ipxutils + +BOOKS + 4 mandrake-doc-de mandrake-doc-es + 4 !LOCALES"fr" !LOCALES"it" !LOCALES"es" mandrake-doc-en + +X + 5 XFree86 rxvt XFree86-75dpi-fonts urw-fonts fonts-ttf-vera + 5 icewm-light + 5 HIGH_SECURITY mountloop + 5 LOCALES"ja" im-ja + 5 LOCALES"zh_CN" fcitx + + 4 vim-enhanced + 4 gurpmi rpmdrake drakconf userdrake fonts-ttf-decoratives fonts-ttf-west_european + mandrake-mime menudrake mandrake_desk + mdkonline gtk-engines bootsplash + galaxy-gnome + 4 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" rxvt-CJK + + 3 drakfirsttime + 3 XFree86-100dpi-fonts draksync + 3 USB usbview + 2 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" jmcce + 2 imlib-cfgeditor + 1 Mesa xtoolwait X11R6-contrib + + GNOME + 3 gnorpm + + 5 xcin xvnkb FreeWnn ami kinput2-wnn4 miniChinput + + 2 app-defaults-be app-defaults-cs + + 5 LOCALES"mi" || LOCALES"lt" || LOCALES"lv" fonts-type1-baltic + LOCALES"ru" || LOCALES"uk" XFree86-cyrillic-fonts + LOCALES"am" fonts-ttf-ethiopic + LOCALES"ar" || LOCALES"fa" || LOCALES"ur" fonts-ttf-arabic + LOCALES"as" || LOCALES"bn" fonts-ttf-bengali + LOCALES"el" fonts-type1-greek + LOCALES"he" || LOCALES"yi" fonts-hebrew-elmar fonts-type1-hebrew + LOCALES"hy" fonts-ttf-armenian + LOCALES"ja" fonts-ttf-japanese + LOCALES"kn" fonts-ttf-kannada + LOCALES"ko" fonts-ttf-korean + LOCALES"ta" fonts-ttf-tamil fonts-ttf-tscii fonts-bitmap-tscii + LOCALES"th" fonts-ttf-thai + LOCALES"zh_CN" || LOCALES"zh" fonts-ttf-gb2312 + LOCALES"zh_TW" || LOCALES"zh" taipeifonts fonts-ttf-big5 + +DOCS + 5 man info man-pages + +SYSTEM + 5 at MAKEDEV eject ldetect devfsd harddrake + locales iputils urpmi cpio msec tmpwatch gnupg + + 5 lshw OpenIPMI dmidecode + + 5 HIGH_SECURITY libsafe kernel-secure lads + 5 BIGMEM kernel-i686-up-4GB + 5 SMP kernel-smp + 5 BIGMEM SMP kernel-p3-smp-64GB + 5 PCMCIA pcmcia-cs + 5 USB hotplug + + 5 HW"nForce.*(?:Audio|Network)" + NVIDIA_nforce + SMP NVIDIA_nforce-smp + HIGH_SECURITY NVIDIA_nforce-secure + BIGMEM NVIDIA_nforce-enterprise + + 5 HW"iKey 3000 Token" rnboifd + 5 HW"OmniKey Cardman" + cm2020 + SMP cm2020-smp + HIGH_SECURITY cm2020-secure + BIGMEM cm2020-enterprise + + 5 KDE kdeutils-kfloppy + 5 KDE kdeutils-kdepasswd + + 5 GNOME || KDE magicdev + + 5 DRIVER"ipw2100" ipw2100-firmware ipw2100-kernel + SMP ipw2100-kernelsmp + HIGH_SECURITY ipw2100-kernelsecure + BIGMEM ipw2100-kernelenterprise + + 5 DRIVER"ipw2200" ipw2200-firmware ipw2200-kernel + SMP ipw2200-kernelsmp + HIGH_SECURITY ipw2200-kernelsecure + BIGMEM ipw2200-kernelenterprise + + 5 DRIVER"^ISDN:" ibod isdn4net isdn-light isdn4k-utils + 5 DRIVER"adiusbadsl" eagle-usb + 5 DRIVER"speedtch" speedtouch speedtouch_mgmt + 5 DRIVER"^ISDN:|^Hcf:|^Hsf:|^LT:|speedtch" + kernel-2.4 + SMP kernel-smp-2.4 + BIGMEM kernel-enterprise-2.4 + + 5 DRIVER"ath_pci" madwifi-kernel + 5 DRIVER"slamr|slusb|snd-atiixp-modem|snd-intel8x0m|snd-via82xx-modem" slmodem + 5 DRIVER"slamr|slusb" slmodem-kernel + SMP slmodem-kernelsmp + HIGH_SECURITY slmodem-kernelsecure + BIGMEM slmodem-kernelenterprise + + 5 HW"Intel Corp.|PRO/Wireless LAN" ndiswrapper + + 4 ftp-client-krb5 hexedit strace sudo grub procmail hdparm coreutils-doc + 4 PCMCIA netprofile + + 3 bc + 2 sndconfig acpid adns audiofile freeswan awesfx fbset vlan-utils gpm + 1 fdutils genromfs mailcap pinfo + + BOOKS + 5 man-pages-cs man-pages-da + 4 grub-doc lilo-doc + howto-html-de howto-html-el + + 4 NIS yp-tools + 3 PCMCIA irda-utils + 3 USB usbutils + + 4 LOCALES"ar" || LOCALES"fa" || LOCALES"he" || LOCALES"yi" acon + 3 LOCALES"zh" zh-autoconvert + +EMULATORS + 3 wine + +PRINTER + 4 xpp nmap printer-testpages scli net-tools gimpprint foomatic-db-engine + foomatic-filters foomatic-db ImageMagick ghostscript printer-filters mpage + a2ps ppdfilt gpr groff lesstif + sane-backends sane-frontends scanner-gui + libsnmp0 xojpanel libsane-hpoj1 printer-utils + +INSTALL + NOCOPY + 5 kernel kernel-smp kernel-i686-up-4GB + raidtools lvm2 reiserfsprogs jfsprogs xfsprogs + alsa-utils mdadm + 4 XFree86 brltty + + 5 pptp-adsl dhcpcd dhcpxd dhcp-client rp-pppoe pump + ppp nfs-utils-clients libiw26 wireless-tools ppp-pppoe ppp-pppoatm + autologin ntp samba-server ncpfs ucd-snmp libptal0 + shorewall iptables samba-client perl-Net-DNS + ipchains nc sndconfig curl + mtools mtoolsfm numlock usbutils + hotplug ypbind + autofs pam_ldap pam_krb5 libsasl2-plug-gssapi nss_ldap openldap-clients samba-winbind + tmdns zcip acpi acpid + ibod isdn4net isdn-light isdn4k-utils kernel-2.4 + eagle-usb + speedtouch speedtouch_mgmt + dkms-minimal + + 5 cups cups-drivers hpoj libhpojip + 4 XFree86-SVGA XFree86-server XFree86-Mach64 XFree86-FBDev + XFree86-glide-module Glide_V3-DRI Glide_V5 Mesa + 3 XFree86-S3 XFree86-S3V XFree86-VGA16 + 2 XFree86-8514 XFree86-AGX XFree86-I128 XFree86-Mach32 XFree86-Mach8 XFree86-Mono XFree86-P9000 XFree86-W32 + 1 XFree86-3DLabs + diff --git a/perl-install/share/themes-corporate.rc b/perl-install/share/themes-corporate.rc new file mode 100644 index 000000000..62a49591b --- /dev/null +++ b/perl-install/share/themes-corporate.rc @@ -0,0 +1,112 @@ +style "galaxy-default" +{ + GtkButton::default_border = {1, 2, 1, 2} + GtkButton::default_outside_border = {1, 2, 1, 2} + GtkWidget::interior_focus = 1 + GtkButton::default_spacing = 6 + GtkCheckButton::indicator_size = 15 + GtkPaned::handle_size = 6 + GtkRange::trough_border = 0 + GtkRange::slider_width = 15 + GtkRange::stepper_size = 15 + GtkRange::stepper_spacing = 0 + GtkScrollbar::min_slider_length = 20 + GtkTreeView::even_row_color = "#FFFFFF" + GtkTreeView::odd_row_color = "#EFEFEF" + + fg[NORMAL] = "#000000" + fg[ACTIVE] = "#000000" + fg[INSENSITIVE] = "#949694" + fg[PRELIGHT] = "#000000" + fg[SELECTED] = "#000000" + + bg[ACTIVE] = "#CECECE" + bg[NORMAL] = "#E6E7E6" + bg[INSENSITIVE] = "#CECECE" + bg[PRELIGHT] = "#EFEFEF" + bg[SELECTED] = "#CECECE" + + base[NORMAL] = "#ffffff" + base[ACTIVE] = "#CECECE" + base[INSENSITIVE] = "#E6E7E6" + base[PRELIGHT] = "#EFEFEF" + base[SELECTED] = "#CECECE" + + text[NORMAL] = "#000000" + text[ACTIVE] = "#000000" + text[PRELIGHT] = "#000000" + text[SELECTED] = "#000000" + text[INSENSITIVE] = "#909090" + + engine "galaxy" + { + } +} + +style "galaxy-button" = "galaxy-default" +{ + xthickness = 4 + ythickness = 4 +} + +style "galaxy-thin" = "galaxy-default" +{ + xthickness = 1 + ythickness = 1 +} + +style "galaxy-menu" = "galaxy-default" +{ + fg[PRELIGHT] = "#ffffff" +} + +style "galaxy-progressbar" +{ + fg[PRELIGHT] = "#ffffff" + base[SELECTED] = "#2145AC" +} + +style "galaxy-tasklist" = "galaxy-default" +{ + xthickness = 2 + ythickness = 2 + GtkWidget::focus-line-width = 0 + GtkWidget::focus-padding = 0 +} + +class "GtkWidget" style "galaxy-default" +class "GtkButton" style "galaxy-button" +class "EComboButton" style "galaxy-thin" +widget_class "*.EShortcutsView.GtkButton" style "galaxy-thin" +widget_class "*Tree*GtkButton" style "galaxy-thin" +widget_class "*List*GtkButton" style "galaxy-thin" +class "GtkProgressBar" style "galaxy-progressbar" +class "GtkMenuItem" style "galaxy-menu" +widget_class "*.GtkMenuItem.*" style "galaxy-menu" +widget_class "*.GtkAccelMenuItem.*" style "galaxy-menu" +widget_class "*.GtkRadioMenuItem.*" style "galaxy-menu" +widget_class "*.GtkCheckMenuItem.*" style "galaxy-menu" +widget_class "*.GtkImageMenuItem.*" style "galaxy-menu" +widget_class "*.GtkSeparatorMenuItem.*" style "galaxy-menu" +widget_class "*.PanelApplet.*" style "galaxy-tasklist" +widget "*.tasklist-button" style "galaxy-tasklist" +class "GtkNotebook" style "galaxy-thin" + + +style "white-on-blue" +{ + base[NORMAL] = { 0, 0.086, 0.235 } + bg[NORMAL] = { 0, 0.086, 0.235 } + + text[NORMAL] = "#FFFFFF" + fg[NORMAL] = "#FFFFFF" +} + +style "background" +{ + bg[NORMAL] = { 0, 0.086, 0.235 } +} + +widget "*Steps*" style "white-on-blue" +widget "*logo*" style "white-on-blue" +widget "*background*" style "background" diff --git a/perl-install/standalone.pm b/perl-install/standalone.pm index f1b76061a..8a603b5e4 100644 --- a/perl-install/standalone.pm +++ b/perl-install/standalone.pm @@ -166,7 +166,7 @@ sub explanations { log::explanations("@_") } our @common_functs = qw(renamef linkf symlinkf output substInFile mkdir_p rm_rf cp_af touch setVarsInSh setExportedVarsInSh setExportedVarsInCsh update_gnomekderc); our @builtin_functs = qw(chmod chown unlink link symlink rename system); -our @drakx_modules = qw(Xconfig::card Xconfig::default Xconfig::main Xconfig::monitor Xconfig::parse Xconfig::proprietary Xconfig::resolution_and_depth Xconfig::screen Xconfig::test Xconfig::various Xconfig::xfree any bootloader bootlook c class_discard commands crypto detect_devices devices diskdrake diskdrake::hd_gtk diskdrake::interactive diskdrake::removable diskdrake::removable_gtk diskdrake::smbnfs_gtk fs fsedit http keyboard lang log loopback lvm modules::parameters modules mouse my_gtk network network::adsl network::ethernet network::isdn_consts network::isdn network::modem network::netconnect network::network network::nfs network::smb network::tools partition_table partition_table_bsd partition_table::dos partition_table::empty partition_table::gpt partition_table::mac partition_table::raw partition_table::sun printer printerdrake proxy raid run_program scanner services steps swap timezone network::drakfirewall network::shorewall); +our @drakx_modules = qw(Xconfig::card Xconfig::default Xconfig::main Xconfig::monitor Xconfig::parse Xconfig::proprietary Xconfig::resolution_and_depth Xconfig::screen Xconfig::test Xconfig::various Xconfig::xfree Xconfig::xfree3 Xconfig::xfree4 Xconfig::xfreeX any bootloader bootlook c class_discard commands crypto detect_devices devices diskdrake diskdrake::hd_gtk diskdrake::interactive diskdrake::removable diskdrake::removable_gtk diskdrake::smbnfs_gtk fs fsedit http keyboard lang log loopback lvm modules::parameters modules mouse my_gtk network network::adsl network::ethernet network::isdn_consts network::isdn network::modem network::netconnect network::network network::nfs network::smb network::tools partition_table partition_table_bsd partition_table::dos partition_table::empty partition_table::gpt partition_table::mac partition_table::raw partition_table::sun printer printerdrake proxy raid run_program scanner services steps swap timezone network::drakfirewall network::shorewall); $SIG{SEGV} = sub { my $progname = $0; $progname =~ s|.*/||; exec("drakbug --incident $progname") }; diff --git a/perl-install/standalone/drakTermServ b/perl-install/standalone/drakTermServ index 9f3b5bfcc..ba850e5cc 100755 --- a/perl-install/standalone/drakTermServ +++ b/perl-install/standalone/drakTermServ @@ -47,10 +47,11 @@ my $in_wizard = 0; my $config_written = 0; my $clients_set = 0; my @nothing = (0..10); +my %conf; +$conf{ALLOW_THIN} = 0; my $nfs_subnet; my $nfs_mask; -my $thin_clients = 0; my $cfg_dir = "/etc/drakxtools/draktermserv/"; my $cfg_file = $cfg_dir . "draktermserv.conf"; my $interface = get_net_interface(); @@ -150,24 +151,13 @@ interactive_mode() if $#ARGV < 1; sub read_conf_file() { if (-e $cfg_file) { - local *CONF_FILE; - open(CONF_FILE, "<" . $cfg_file) || print N("You must be root to read configuration file. \n"); - local $_; - while (<CONF_FILE>) { - if (/^\bALLOW_THIN\b/) { - $thin_clients = 1; - last; - } - } + substInFile { s/ALLOW_THIN$/ALLOW_THIN=1/ } $cfg_file; + %conf = getVarsFromSh($cfg_file); } } sub write_conf_file() { - my @cfg_list; - if ($thin_clients == 1) { - @cfg_list = "ALLOW_THIN\n"; - } - output_p($cfg_file, @cfg_list); + setVarsInSh($cfg_file, \%conf); chmod(0600, $cfg_file); } @@ -210,10 +200,7 @@ ca::ctrlaltdel:/sbin/reboot -f x:5:respawn:/usr/X11R6/bin/X -ac -query $server_ip\n"; my $inittab_file = "/etc/inittab$suffix"; - local *INITTAB; - open(INITTAB, "> $inittab_file") or warn("Can't open $inittab_file!"); - print INITTAB $inittab; - close INITTAB + output_p($inittab_file, $inittab); } sub cursor_wait() { @@ -443,7 +430,7 @@ sub clear_buttons() { sub client_type() { my $check_allow_thin = new Gtk2::CheckButton(N("Use thin clients.")); - $check_allow_thin->set_active($thin_clients); + $check_allow_thin->set_active($conf{ALLOW_THIN}); text_view(N("Please select default client type. 'Thin' clients run everything off the server's CPU/RAM, using the client display. 'Fat' clients use their own CPU/RAM but the server's filesystem."), "wizard"); @@ -451,7 +438,7 @@ sub client_type() { 0, gtkpack_(new Gtk2::HBox(1,0), 1, Gtk2::VBox->new, 0, gtksignal_connect($check_allow_thin, clicked => sub { - invbool \$thin_clients; + invbool \$conf{ALLOW_THIN}; client_set("all"); }), 0, Gtk2::VBox->new, @@ -477,17 +464,17 @@ sub sync_users { my $buff = N("Syncing server user list with client list, including root."); my @active_users = cat_("/etc/shadow"); - local *SHADOW; - open(SHADOW, '> /etc/shadow$$CLIENT$$'); - + my $shadow = '/etc/shadow$$CLIENT$$'; + my @userlist; + #- only users with home dirs, and root foreach my $user (@active_users) { my @fields = split(/:/, $user); if (-d "/home/" . $fields[0] || $fields[0] eq "root") { - print SHADOW $user; + push @userlist, $user; } } - close SHADOW; + output_p($shadow, @userlist); $buff .= "\n\n\t" . N("Done!"); text_view($buff, "wizard") if !$cmd_line; } @@ -1075,11 +1062,11 @@ sub maintain_clients() { ), ); - $check_allow_thin->set_active($thin_clients); - $check_thin->set_sensitive($thin_clients); + $check_allow_thin->set_active($conf{ALLOW_THIN}); + $check_thin->set_sensitive($conf{ALLOW_THIN}); gtksignal_connect($check_allow_thin, clicked => - sub { invbool \$thin_clients; - $check_thin->set_sensitive($thin_clients); + sub { invbool \$conf{ALLOW_THIN}; + $check_thin->set_sensitive($conf{ALLOW_THIN}); client_set("single"); $in->ask_warn(N("Warning"), N("Need to restart the Display Manager for full changes to take effect. \n(service dm restart - at the console)")); } @@ -1119,7 +1106,7 @@ sub client_set { # we need to change some system files to allow the thin clients # to access the server - enabling xdmcp and modify hosts.deny/hosts.allow for some security # we also need to set runlevel to 5 and restart the display manager - if ($thin_clients == 1) { + if ($conf{ALLOW_THIN} == 1) { if (-f "/etc/sysconfig/autologin") { my $answer = $in->ask_yesorno('', N("Thin clients won't work with autologin. Disable autologin?")); if ($answer == 1) { @@ -1385,15 +1372,14 @@ sub get_ip_from_sys() { sub write_dhcpd_config { my ($mode, $subnet, $netmask, $routers, $subnet_mask, $broadcast, $domain, $ns1, $ns2, $ns3, $pool_start, $pool_end) = @_; + my @dhcpd_config; if ($mode eq "append") { append_to_file("/etc/dhcpd.conf", qq(include "/etc/dhcpd.conf.terminal-server";\n)); - local *FHANDLE; - open(FHANDLE, "> /etc/dhcpd.conf.terminal-server"); - print FHANDLE qq(# Include Etherboot definitions and defaults\ninclude "/etc/dhcpd.conf.etherboot.include";\n); - print FHANDLE qq(# Include Etherboot default kernel version\ninclude "/etc/dhcpd.conf.etherboot.kernel";\n); - print FHANDLE qq(# Include client machine configurations\ninclude "$client_cfg";\n); - close FHANDLE; + push @dhcpd_config, qq(# Include Etherboot definitions and defaults\ninclude "/etc/dhcpd.conf.etherboot.include";\n); + push @dhcpd_config, qq(# Include Etherboot default kernel version\ninclude "/etc/dhcpd.conf.etherboot.kernel";\n); + push @dhcpd_config, qq(# Include client machine configurations\ninclude "$client_cfg";\n); + output_p("/etc/dhcpd.conf.terminal-server", @dhcpd_config); $config_written = 1; return; } @@ -1401,34 +1387,32 @@ sub write_dhcpd_config { $nfs_subnet = $subnet; $nfs_mask = $subnet_mask; - local *FHANDLE; - open(FHANDLE, "> /etc/dhcpd.conf"); - print FHANDLE "#dhcpd.conf - generated by drakTermServ\n\n"; - print FHANDLE "ddns-update-style none;\n\n"; - print FHANDLE "# Long leases (48 hours)\ndefault-lease-time 172800;\nmax-lease-time 172800;\n\n"; - print FHANDLE qq(# Include Etherboot definitions and defaults\ninclude "/etc/dhcpd.conf.etherboot.include";\n); - print FHANDLE qq(# Include Etherboot default kernel version\ninclude "/etc/dhcpd.conf.etherboot.kernel";\n\n); - print FHANDLE "# Network-specific section\n\n"; + push @dhcpd_config, "#dhcpd.conf - generated by drakTermServ\n\n"; + push @dhcpd_config, "ddns-update-style none;\n\n"; + push @dhcpd_config, "# Long leases (48 hours)\ndefault-lease-time 172800;\nmax-lease-time 172800;\n\n"; + push @dhcpd_config, qq(# Include Etherboot definitions and defaults\ninclude "/etc/dhcpd.conf.etherboot.include";\n); + push @dhcpd_config, qq(# Include Etherboot default kernel version\ninclude "/etc/dhcpd.conf.etherboot.kernel";\n\n); + push @dhcpd_config, "# Network-specific section\n\n"; - print FHANDLE "subnet $subnet netmask $netmask {\n"; - print FHANDLE "\toption routers $routers;\n" if $routers; - print FHANDLE "\toption subnet-mask $subnet_mask;\n" if $subnet_mask; - print FHANDLE "\toption broadcast-address $broadcast;\n" if $broadcast; - print FHANDLE qq(\toption domain-name "$domain";\n) if $domain; + push @dhcpd_config, "subnet $subnet netmask $netmask {\n"; + push @dhcpd_config, "\toption routers $routers;\n" if $routers; + push @dhcpd_config, "\toption subnet-mask $subnet_mask;\n" if $subnet_mask; + push @dhcpd_config, "\toption broadcast-address $broadcast;\n" if $broadcast; + push @dhcpd_config, qq(\toption domain-name "$domain";\n) if $domain; my $pool_string = "\trange dynamic-bootp " . $pool_start . " " . $pool_end . ";\n" if $pool_start && $pool_end; - print FHANDLE $pool_string if $pool_string; + push @dhcpd_config, $pool_string if $pool_string; my $ns_string = "\toption domain-name-servers " . $ns1 if $ns1; $ns_string = $ns_string . ", " . $ns2 if $ns2; $ns_string = $ns_string . ", " . $ns3 if $ns3; $ns_string = $ns_string . ";\n" if $ns_string; - print FHANDLE $ns_string if $ns_string; + push @dhcpd_config, $ns_string if $ns_string; - print FHANDLE "}\n\n"; + push @dhcpd_config, "}\n\n"; - print FHANDLE qq(# Include client machine configurations\ninclude "$client_cfg";\n); - close FHANDLE; + push @dhcpd_config, qq(# Include client machine configurations\ninclude "$client_cfg";\n); + output_p("/etc/dhcpd.conf", @dhcpd_config); $config_written = 1; } @@ -1564,14 +1548,11 @@ sub toggle_chkconfig { sub service_change { my ($service, $command, $buff_index) = @_; system("BOOTUP=serial /sbin/service $service $command > /tmp/drakTSservice.status 2>&1"); - local *STATUS; - open(STATUS, "/tmp/drakTSservice.status"); - local $_; - while (<STATUS>) { + my @result = cat_("/tmp/drakTSservice.status"); + foreach (@result) { $buff[$buff_index] = "\t$_"; - $buff_index++; + $buff_index++; } - close STATUS; unlink "/tmp/drakTSservice.status"; $buff_index; } @@ -1655,13 +1636,8 @@ sub adduser { } } else { # new ts user - local *FHANDLE; - open(FHANDLE, '>> /etc/shadow$$CLIENT$$'); - print FHANDLE $shadow_entry[0] or $add_fail = 1; - close FHANDLE; - open(FHANDLE, '>> /etc/passwd$$CLIENT$$'); - print FHANDLE $passwd_entry[0] or $add_fail = 1; - close FHANDLE; + append_to_file('/etc/shadow$$CLIENT$$', $shadow_entry[0]) or $add_fail = 1; + append_to_file('/etc/passwd$$CLIENT$$', $passwd_entry[0]) or $add_fail = 1; $in_already = 0; } } @@ -1700,10 +1676,7 @@ sub deluser { } $i++; } - local *FHANDLE; - open(FHANDLE, '> /etc/shadow$$CLIENT$$'); - print FHANDLE $_ foreach @ts_users; - close FHANDLE; + output_p('/etc/shadow$$CLIENT$$', @ts_users); } if ($is_passwd_user) { @@ -1716,10 +1689,7 @@ sub deluser { } $i++; } - local *FHANDLE; - open(FHANDLE, '> /etc/passwd$$CLIENT$$'); - print FHANDLE $_ foreach @passwd_users; - close FHANDLE; + output_p('/etc/passwd$$CLIENT$$', @passwd_users); } if ($cmd_line == 1) { @@ -1772,12 +1742,8 @@ sub addclient { $ts_clients{$hostname}{hdw_config} = "false"; client_hdw_config($ip, 0); } - my $clients = $client_cfg; - local *CLIENT; - open(CLIENT, ">> $clients") or warn(N("Can't open %s!", $clients)); my $client_entry = format_client_entry($hostname, %ts_clients); - print CLIENT $client_entry; - close CLIENT; + append_to_file($client_cfg, $client_entry); $changes_made = 1; create_client_sysnetwork($hostname, $ip); 0; @@ -1898,15 +1864,12 @@ qq(\tfilename\t\t"$ts_clients{$client}{filename}";), sub write_dhcpd_conf { my %ts_clients = @_; - my $clients = $client_cfg; - - local *CLIENT; - open(CLIENT, "> $clients") or warn("Can't open $clients!"); + my @client_data; foreach my $key (keys(%ts_clients)) { my $client_entry = format_client_entry($key, %ts_clients); - print CLIENT $client_entry; + push @client_data, $client_entry; } - close CLIENT + output_p($client_cfg, @client_data); } sub read_dhcpd_conf() { @@ -1915,9 +1878,8 @@ sub read_dhcpd_conf() { my $hostname; #- read and parse current client entries - local *CLIENTS; - open(CLIENTS, $clients) or warn("Can't open $clients\n"); - while (<CLIENTS>) { + my @client_data = cat_($clients); + foreach (@client_data) { my ($name, $val, $val2) = split ' '; $val = $val2 if $name =~ /hardware/; $val =~ s/[;"]//g; @@ -1932,7 +1894,6 @@ sub read_dhcpd_conf() { } } } - close CLIENTS; %ts_clients; } @@ -1960,11 +1921,15 @@ sub client_hdw_config { cp_af('/etc/X11/XF86Config-4$$CLIENT$$', "/etc/X11/XF86Config-4$suffix") if -f '/etc/X11/XF86Config-4$$CLIENT$$'; cp_af("/dev/null", "/etc/modules.conf$suffix"); cp_af("/dev/null", "/etc/modules$suffix"); + cp_af("/dev/null", "/etc/modprobe.conf$suffix"); + cp_af("/dev/null", "/etc/modprobe.preload$suffix"); # create mount points so they can be edited by the client my $mnt_access = "$client_ip(rw,no_root_squash)"; append_to_file("/etc/exports", "/etc/sysconfig/mouse$suffix\t$mnt_access\n"); append_to_file("/etc/exports", "/etc/modules.conf$suffix\t$mnt_access\n"); append_to_file("/etc/exports", "/etc/modules$suffix\t$mnt_access\n"); + append_to_file("/etc/exports", "/etc/modprobe.conf$suffix\t$mnt_access\n"); + append_to_file("/etc/exports", "/etc/modprobe.preload$suffix\t$mnt_access\n"); append_to_file("/etc/exports", "/etc/X11/XF86Config$suffix\t$mnt_access\n"); append_to_file("/etc/exports", "/etc/X11/XF86Config-4$suffix\t$mnt_access\n"); } else { @@ -1979,12 +1944,8 @@ sub create_client_sysnetwork { my ($hostname, $ip) = @_; log::explanations("Adding /etc/sysconfig/network for $ip"); my $network_file = "/etc/sysconfig/network\$\$IP=$ip\$\$"; - local *NETWORK; - open(NETWORK, "> $network_file") or warn("Can't open $network_file!"); - print NETWORK "HOSTNAME=$hostname\n"; - print NETWORK "NETWORKING=yes\n"; - print NETWORK "FORWARD_IPV4=false\n"; - close NETWORK; + my @net_data = ("HOSTNAME=$hostname\n", "NETWORKING=yes\n", "FORWARD_IPV4=false\n"); + output_p($network_file, @net_data); } sub restart_server() { @@ -2005,6 +1966,8 @@ sub clean_client_config { eval { rm_rf("/etc/sysconfig/mouse$suffix") }; eval { rm_rf("/etc/modules.conf$suffix") }; eval { rm_rf("/etc/modules$suffix") }; + eval { rm_rf("/etc/modprobe.conf$suffix") }; + eval { rm_rf("/etc/modprobe.preload$suffix") }; eval { rm_rf("/etc/X11/XF86Config$suffix") }; eval { rm_rf("/etc/X11/XF86Config-4$suffix") }; eval { rm_rf("/etc/sysconfig/network$suffix") }; diff --git a/perl-install/standalone/drakauth b/perl-install/standalone/drakauth index f091a3000..8fdb40896 100755 --- a/perl-install/standalone/drakauth +++ b/perl-install/standalone/drakauth @@ -21,9 +21,9 @@ my $authentication = {}; # TODO my $kind = authentication::to_kind($authentication); main: -$in->ask_from('', '', +$in->ask_from(N("Authentication"), authentication::kind2description(), [ - { label => N("Authentication"), val => \$kind, list => [ authentication::kinds() ], format => \&authentication::kind2description }, + { label => N("Authentication"), val => \$kind, type => 'list' , list => [ authentication::kinds() ], format => \&authentication::kind2name }, ]) or $in->exit; authentication::ask_parameters($in, $netc, $authentication, $kind) or goto main; diff --git a/perl-install/standalone/drakbackup b/perl-install/standalone/drakbackup index 351f363f3..dbce62c84 100755 --- a/perl-install/standalone/drakbackup +++ b/perl-install/standalone/drakbackup @@ -119,7 +119,7 @@ my @list_of_rpm_to_install; my @other_files; my @sys_files = "/etc"; my $host_passwd; -my $untar_prefix; +my $untar_prefix = "tar -C $restore_path -x"; # allow not-root user with own config if ($ENV{USER} ne 'root' && $ENV{HOME} ne '/root') { @@ -147,6 +147,20 @@ foreach (@ARGV) { /--debug/ and $DEBUG = 1, next; } +sub getVarsFromSh { + my %l; + open(my $F, $_[0]) or return; + local $_; + while (<$F>) { + s/#.*//; # remove comments + s/^\s*//; # leading space + my ($v, $val) = /^(\w+)=(.*)/ or next; + $val = $1 if $val =~ /^"(.*)"$/ || $val =~ /^'(.*)'$/; + $l{$v} = $val; + } + %l; +} + sub setup_tooltips() { %help = ( 'use_expect' => N("Expect is an extension to the Tcl scripting language that allows interactive sessions without user intervention."), @@ -223,16 +237,13 @@ sub get_tape_info() { my @line_data; my $info = "$ENV{HOME}/tmp/dmesg"; @tape_devices = (); - system("dmesg | grep 'st[0-9] at' > $info"); + system("dmesg -s 100000 | grep 'st[0-9] at' > $info"); - local *INFO; - open INFO, $info or warn("Can't open $info\n"); - local $_; - while (<INFO>) { + my @info = cat_($info); + foreach (@info) { @line_data = split(/[ \t,]+/, $_); push @tape_devices, "/dev/" . $line_data[3]; } - close INFO; unlink($info); } @@ -246,8 +257,8 @@ sub get_free_space { sub check_storage_quota { my ($dir) = @_; - my $used = `du $dir`; - my $used_space = $used / 1024; + my $used = `du -b $dir`; + my $used_space = $used / 1024 / 1024; if ($used_space > $conf{MAX_SPACE}) { return $used_space; } else { @@ -310,7 +321,7 @@ sub get_cd_info() { print "{$key}->{dvdr} = $cd_devices{$key}{dvdr}\n"; print "{$key}->{dvdram} = $cd_devices{$key}{dvdram}\n"; } else { - delete $cd_devices{$key} if $cd_devices{$key}{rec_dev} eq '' + delete $cd_devices{$key} if $cd_devices{$key}{rec_dev} eq ''; } } } @@ -392,7 +403,7 @@ sub save_cron_files() { system("chmod +x /etc/cron.$conf{DAEMON_TIME_SPACE}/drakbackup"); } if ($conf{DAEMON_TIME_SPACE} eq "custom" || !$backup_daemon) { - my $newdetail = join(" ", $time_string, $exec_string, "\n") if $backup_daemon; + my $newdetail = $backup_daemon && join(" ", $time_string, $exec_string, "\n"); system("crontab -l | tail +4 > $tmpcron"); my @cronlines = cat_($tmpcron); my $index = 0; @@ -400,7 +411,7 @@ sub save_cron_files() { if (/$exec_string/) { splice(@cronlines, $index, 1); } - $index++ + $index++; } push(@cronlines, $newdetail) if $backup_daemon; output($tmpcron, @cronlines); @@ -547,6 +558,7 @@ sub ftp_client() { $ftp = 0; } return 1 if !$ftp; + $ftp->binary(); $ftp->cwd($conf{HOST_PATH}); foreach (@file_list_to_send_by_ftp) { $interactive and $pbar->set_fraction(0); @@ -728,9 +740,11 @@ sub check_for_cd() { show_warning("f", N("Does not appear to be recordable media!")); return 1; } - if ($log_buff =~ /Is not erasable/ && $conf{MEDIA_ERASE}) { - show_warning("f", N("Not erasable media!")); - return 1; + #- non-fatal, just disable erase + if (($log_buff =~ /Is not erasable/ || $log_buff =~ /Found DVD media/) && $conf{MEDIA_ERASE}) { + show_warning("w", N("Not erasable media!")); + $conf{MEDIA_ERASE} = 0; + save_conf_file(); } if ($conf{MULTI_SESSION}) { @@ -755,8 +769,8 @@ sub check_for_cd() { sub write_on_cd() { my $command = "cdrecord -v dev=$conf{CD_DEVICE} -data "; - # DVD+RW use -dao - $command .= "-dao " if $conf{DVDRW}; + # DVD+RW use -sao + $command .= "-sao " if $conf{DVDRW}; #- only blank if it's the first session $command .= "blank=fast " if $conf{MEDIA_ERASE} && $session_offset eq ''; #- multi-session mode @@ -1029,7 +1043,7 @@ sub build_backup_files() { my $list_file = name_list_file($incr . $user); do_find($more_recent, $find_args_user, $list_file, $path_name); if (check_rm_list($list_file)) { - do_tar($tar_cmd_user, "backup_$incr$user", $list_file, undef); + do_tar($tar_cmd_cuser, "backup_$incr$user", $list_file, undef); } $first_done = 1; } else { @@ -1042,13 +1056,13 @@ sub build_backup_files() { if (!$first_done) { my $list_file = name_list_file($incr . $user); do_find(undef, $find_args_user, $list_file, $path_name); - do_tar($tar_cmd_user, "backup_$incr$user", undef, $path_name); + do_tar($tar_cmd_cuser, "backup_$incr$user", undef, $path_name); } - push_list("$incr$user") if $incr =~ /_user/; + push_list("list_$incr$user") if $incr =~ /_user/; files_to_results("$incr$user"); } } - $interactive and progress($pbar2, $plabel1, 1, N("Backup User files...")); + $interactive and progress($pbar1, $plabel1, 1, N("Backup User files...")); $interactive and progress($pbar3, $plabel3, 0.4, N("Hard Disk Backup files...")); if ($conf{OTHER_FILES}) { @@ -1078,12 +1092,12 @@ sub build_backup_files() { if (!$first_done) { my $list_file = name_list_file($incr); do_find(undef, $find_args_other, $list_file, @other_files); - do_tar($tar_cmd_user, "backup_$incr", undef, @other_files); + do_tar($tar_cmd_other, "backup_$incr", undef, @other_files); } push_list("list_$incr") if $incr =~ /_other/; files_to_results($incr); } - $interactive and progress($pbar1, $plabel2, 1, N("Backup Other files...")); + $interactive and progress($pbar2, $plabel2, 1, N("Backup Other files...")); $interactive and progress($pbar3, $plabel3, 0.3, N("Hard Disk Backup Progress...")); } @@ -1172,7 +1186,7 @@ sub build_backup_files() { $catalog .= ":Users=(@user_list)" unless $conf{NO_USER_FILES}; $catalog .= ":I" if $conf{USER_INCREMENTAL_BACKUPS} && !$conf{NO_USER_FILES} && !$conf{USER_DIFFERENTIAL_BACKUPS}; $catalog .= ":D" if $conf{USER_INCREMENTAL_BACKUPS} && !$conf{NO_USER_FILES} && $conf{USER_DIFFERENTIAL_BACKUPS}; - $catalog .= ":F" if !$conf{USER_INCREMENTAL_BACKUPS} && !$conf{NO_USER_FILES};; + $catalog .= ":F" if !$conf{USER_INCREMENTAL_BACKUPS} && !$conf{NO_USER_FILES}; $catalog .= ":Other=(@other_files)" if $conf{OTHER_FILES}; $catalog .= ":I" if $conf{OTHER_INCREMENTAL_BACKUPS} && $conf{OTHER_FILES} && !$conf{OTHER_DIFFERENTIAL_BACKUPS}; $catalog .= ":D" if $conf{OTHER_INCREMENTAL_BACKUPS} && $conf{OTHER_FILES} && $conf{OTHER_DIFFERENTIAL_BACKUPS}; @@ -1239,6 +1253,8 @@ sub do_find { #- $newer may be undef - if it's defined then "-cnewer $newer" $newer = $conf{PATH_TO_SAVE} . "/" . $newer if defined($newer); defined($newer) ? system("find @where -cnewer $newer $more_args > $into") : system("find @where $more_args > $into"); + #- someone on club complained about perms being too open + chmod(0600, $into) if -e $into; } sub do_tar { @@ -1246,6 +1262,8 @@ sub do_tar { my $full_dest_file = $conf{PATH_TO_SAVE} . "/" . $dest_file . $the_time . "." . $conf{OPTION_COMP}; #- if $list_file is undefined, then use the @files list defined($list_file) ? system("$tar_cmd -f $full_dest_file -T $list_file") : system("$tar_cmd -f $full_dest_file @files"); + #- someone on club complained about perms being too open + chmod(0600, $full_dest_file) if -e $full_dest_file; push_list($dest_file); } @@ -1254,7 +1272,7 @@ sub push_list { my $filename = $conf{PATH_TO_SAVE} . "/" . $prefix . $the_time . "."; $filename .= $conf{OPTION_COMP} if $prefix =~ /^backup/; $filename .= "txt" if $prefix =~ /^list/; - push @file_list_to_send_by_ftp, $filename; + push @file_list_to_send_by_ftp, $filename if -e $filename; } sub files_to_results { @@ -1262,6 +1280,7 @@ sub files_to_results { $results .= "\nfile: " . $conf{PATH_TO_SAVE} . "/backup_" . $basename . $the_time . "." . $conf{OPTION_COMP} . "\n\n"; $results .= cat_("$conf{PATH_TO_SAVE}/list_" . $basename . $the_time . ".txt"); $results .= "\nignored:\n" . $ignore_files_list . "\n" if $ignore_files_list; + } sub handle_ignores { @@ -1358,6 +1377,8 @@ sub filedialog_generic { $$widget->set_text($file_dialog->get_filename); } else { my $file_name = $file_dialog->get_filename; + #- catch files and dirs with spaces + $file_name = '"' . $file_name . '"' if $file_name =~ / /; if (!member($file_name, @other_files)) { push(@other_files, $file_name); $list_model->append_set(undef, $file_name); @@ -1783,7 +1804,7 @@ sub advanced_where_cd { foreach ([$check_cdrw_erase, \$conf{MEDIA_ERASE}], [$check_dvdrw, \$conf{DVDRW}], [$check_dvdr, \$conf{DVDR}], [$check_dvdram, \$conf{DVDRAM}], [$check_multisession, \$conf{MULTI_SESSION}]) { my $ref = $_->[1]; - gtksignal_connect(gtkset_active($_->[0], $$ref), toggled => sub { $$ref = $$ref ? 0 : 1 }) + gtksignal_connect(gtkset_active($_->[0], $$ref), toggled => sub { $$ref = $$ref ? 0 : 1 }); } gtksignal_connect(gtkset_active($check_where_cd, $conf{USE_CD}), toggled => sub { $conf{USE_CD} = $conf{USE_CD} ? 0 : 1; @@ -1945,7 +1966,7 @@ sub advanced_where_hd { 1, new Gtk2::VBox(0, 6), 0, gtkset_size_request(gtkset_sensitive($save_path_entry = new Gtk2::Entry(), $conf{USE_HD}), 152, 20), 0, gtkset_sensitive($button = gtksignal_connect(Gtk2::Button->new, clicked => sub { - filedialog_generic(N("Directory to save to"), \$save_path_entry) + filedialog_generic(N("Directory to save to"), \$save_path_entry); }), $conf{USE_HD}), ), 0, new Gtk2::VBox(0, 6), @@ -2156,7 +2177,7 @@ sub advanced_when() { advanced_when(); }); if ($custom_cron) { - $entry_crontab->set_text("$time_string $exec_string") + $entry_crontab->set_text("$time_string $exec_string"); } $combo_minute_when->entry->signal_connect('changed', sub { combo_to_cron_string($combo_minute_when->get_history - 1, 0) }); @@ -2272,7 +2293,7 @@ sub advanced_box() { sub wizard_step3() { destroy_widget(); - my $no_device = 1 if $conf{USE_CD} && $conf{CD_DEVICE} eq '' || $conf{USE_TAPE} && $conf{TAPE_DEVICE} eq '' || $conf{USE_NET} && $conf{NET_PROTO} eq ''; + my $no_device = $conf{USE_CD} && $conf{CD_DEVICE} eq '' || $conf{USE_TAPE} && $conf{TAPE_DEVICE} eq '' || $conf{USE_NET} && $conf{NET_PROTO} eq '' && 1; if ($no_device) { show_warning("f", N("Backup destination not configured...")); wizard_step2(); @@ -2413,7 +2434,7 @@ sub wizard() { } else { @user_list = (); } - }) + }); } if (!$conf{NO_SYS_FILES} || !$conf{NO_USER_FILES} && @user_list) { fonction_env(\$box2, \&wizard, \&interactive_mode_box, \&wizard_step2); @@ -2580,7 +2601,7 @@ sub select_user_data_to_restore() { @user_list_to_restore = (); local $_; - -d $path_to_find_restore and my @list_backup_tmp2 = grep { /^backup/ } all($path_to_find_restore); + my @list_backup_tmp2 = -d $path_to_find_restore && grep { /^backup/ } all($path_to_find_restore); @list_tmp2 = @list_backup_tmp2; foreach (@list_backup_tmp2) { s/_base//gi; @@ -2776,22 +2797,18 @@ sub restore_aff_result() { button_box_ok_only(); $central_widget = \$do_restore; $up_box->show_all; - } sub return_path { my ($username) = @_; my $usr; my $home_dir; - my $passwdfile = "/etc/passwd"; - local *PASSWD; - open(PASSWD, $passwdfile) or exit 1; - while (defined(my $line = <PASSWD>)) { + my @passwords = cat_("/etc/passwd"); + foreach my $line (@passwords) { chomp($line); ($usr, $home_dir) = (split(/:/, $line))[0,5]; last if $usr eq $username; } - close(PASSWD); return $home_dir; } @@ -2884,6 +2901,7 @@ sub restore_do() { } sub restore_do2() { + destroy_widget(); my $do_restore; my $text = new Gtk2::TextView; restore_state(); @@ -2964,7 +2982,7 @@ sub restore_step_user() { if (!$check_user_to_restore{$name_complet}[1]) { $check_user_to_restore{$name_complet}[1] = 1; if (!any { /$name/ } @user_list_to_restore2) { - push @user_list_to_restore2, $name_complet + push @user_list_to_restore2, $name_complet; } } else { $check_user_to_restore{$name_complet}[1] = 0; @@ -3071,7 +3089,8 @@ sub restore_step2() { my $sys_exist; my $user_exist; local $_; - + destroy_widget(); + my $restore_info_path = $conf{PATH_TO_SAVE}; $restore_info_path = $path_to_find_restore if $conf{USE_HD} || $conf{USE_CD}; my $info_prefix = "backup"; @@ -3088,7 +3107,7 @@ sub restore_step2() { $sys_exist = 0; $restore_sys = 0; } if (any { /_user_/ } grep { /^$info_prefix/ } all("$restore_info_path/")) { - $user_exist = 1 + $user_exist = 1; } else { $user_exist = 0; $restore_user = 0; } @@ -3143,7 +3162,7 @@ sub restore_step2() { } else { $next_widget = \&restore_do; } - }) + }); } gtksignal_connect(gtkset_active($check_restore_other_path, $restore_other_path), toggled => sub { $restore_other_path = $restore_other_path ? 0 : 1; @@ -3187,7 +3206,8 @@ sub find_files_to_restore() { my @files_to_restore; my $cat_entry; my @catalog = cat_("$cfg_dir/drakbackup_catalog"); - + destroy_widget(); + #- file info in tree view my $model = Gtk2::TreeStore->new("Glib::String", "Gtk2::Gdk::Pixbuf", "Glib::Int"); my $file_list = Gtk2::TreeView->new_with_model($model); @@ -3222,7 +3242,7 @@ sub find_files_to_restore() { chop; $model->append_set($list_entry, [ 0 => $_, 1 => $unselected, 2 => 0 ]); } - $match = 1 + $match = 1; } } show_warning("i", N("No matches found...")) if $match == 0; @@ -3281,7 +3301,8 @@ sub catalog_restore { my $cat_entry; my @restore_files; my $restore_path_entry; - + destroy_widget(); + #- catalog info in tree view my $model = Gtk2::TreeStore->new("Glib::String"); my $tree_catalog = Gtk2::TreeView->new_with_model($model); @@ -3411,7 +3432,7 @@ sub catalog_restore { }); $button->add(gtkpack(new Gtk2::HBox(0,10), gtkcreate_img("ic82-dossier-32"))); button_box_restore(); - fonction_env(\$catalog_box, \&catalog_restore, \&restore_find_media_box, \&catalog_restore) if $call_method eq "need media";; + fonction_env(\$catalog_box, \&catalog_restore, \&restore_find_media_box, \&catalog_restore) if $call_method eq "need media"; fonction_env(\$catalog_box, \&catalog_restore, \&restore_box, \&catalog_restore) if $call_method eq "button"; $central_widget = \$catalog_box; $up_box->show_all; @@ -3612,6 +3633,7 @@ sub restore_ftp { else { $ftp = Net::FTP->new($hostname, Debug => 0) or return 1 } $ftp->login($username, $userpass); $ftp->cwd($hostpath); + $ftp->binary(); my $wild_card = catalog_to_wildcard($cat_entry); @@ -3693,9 +3715,12 @@ sub wildcard_to_tarfile { sub file_to_tarfile { my ($restore_file, $wildcard) = @_; + #- remove leading "/" + $restore_file = substr($restore_file, 1); + #- filename with spaces + $restore_file = "'" . $restore_file . "'" if $restore_file =~ / /; my $tarfile = `grep -l $restore_file $conf{PATH_TO_SAVE}/*$wildcard.txt`; chop $tarfile; - $restore_file = substr($restore_file, 1); $tarfile = basename($tarfile); $tarfile =~ s/txt/$conf{OPTION_COMP}/; $tarfile =~ s/list/backup/; @@ -3727,7 +3752,7 @@ sub get_file_from_tape { my $offset = find_tape_offset($cat_entry); spawn_progress("mt -f $dev_path rewind", "Rewinding tape on $dev_path."); spawn_progress("mt -f $dev_path fsf $offset", "Moving forward $offset file records."); - spawn_progress("tar -C cfg_dir/restores -xf $dev_path", "Untarring from $dev_path to work directory."); + spawn_progress("tar -C $cfg_dir/restores -xf $dev_path", "Untarring from $dev_path to work directory."); } sub restore_box() { @@ -3750,7 +3775,7 @@ sub restore_box() { 1, new Gtk2::VBox(0,10), 1, gtksignal_connect(Gtk2::Button->new(N("Search for files to restore")), clicked => sub { button_box_file_restore(); - find_files_to_restore() + find_files_to_restore(); }), 1, gtksignal_connect(Gtk2::Button->new(N("Restore all backups")), clicked => sub { button_box_restore(); @@ -3758,7 +3783,7 @@ sub restore_box() { $restore_sys = 1; $restore_other = 1; $restore_user = 1; - restore_do() + restore_do(); }), 1, gtksignal_connect(Gtk2::Button->new(N("Custom Restore")), clicked => sub { button_box_restore(); @@ -3775,7 +3800,7 @@ sub restore_box() { ); } else { destroy_widget(); - restore_find_media_box(), + restore_find_media_box(); } fonction_env(\$box2, \&restore_box, \&interactive_mode_box); $central_widget = \$box2; @@ -3820,7 +3845,7 @@ sub restore_find_media_box() { gtksignal_connect(Gtk2::Button->new(N("Search for files to restore")), clicked => sub { $box2->destroy; button_box_file_restore(); - find_files_to_restore() + find_files_to_restore(); }), ), new Gtk2::VBox(0, 5), @@ -3874,6 +3899,10 @@ sub cbutton() { 0, gtksignal_connect(Gtk2::Button->new(N("Cancel")), clicked => \&interactive_mode_box); } +sub cbuttonr() { + 0, gtksignal_connect(Gtk2::Button->new(N("Cancel")), clicked => \&restore_box); +} + sub ibutton { my ($msg) = @_; 0, gtksignal_connect(Gtk2::Button->new($msg), clicked => \&interactive_mode_box); @@ -3983,7 +4012,7 @@ sub button_box_restore_end() { $button_box_tmp->destroy; gtkpack($button_box, $button_box_tmp = gtkpack_(new Gtk2::HButtonBox, - cbutton(), + cbuttonr(), hbutton(), hspace(), pbutton(), @@ -4010,7 +4039,7 @@ sub button_box_restore() { $button_box_tmp->destroy; gtkpack($button_box, $button_box_tmp = gtkpack_(new Gtk2::HButtonBox, - cbutton(), + cbuttonr(), hbutton(), hspace(), pbutton(), @@ -4179,7 +4208,7 @@ sub build_backup_ftp_status() { $table = gtkpack_(new Gtk2::VBox(0, 15), 1, N("Sending files by FTP"), 1, new Gtk2::VBox(0, 15), - 1, create_packtable ({ col_spacings => 10, row_spacings => 5 }, + 1, create_packtable({ col_spacings => 10, row_spacings => 5 }, [N("Sending files...")], [""], [ $plabel = new Gtk2::Label(' ') ], diff --git a/perl-install/standalone/drakfont b/perl-install/standalone/drakfont index 3b232919b..e5876d3ce 100755 --- a/perl-install/standalone/drakfont +++ b/perl-install/standalone/drakfont @@ -457,7 +457,7 @@ sub backend_mod() { print "\nUninstall Specifics Fonts.........\n"; search_installed_fonts_full_path(); if ($interactive) { search_dir_font_uninstall_gi() } - else { search_dir_font_uninstall() foreach @uninstall } + else { search_dir_font_uninstall($_) foreach @uninstall } remove_fonts(); print "\nThe End............................\n"; } diff --git a/perl-install/standalone/draksplash b/perl-install/standalone/draksplash index 3101128fd..91cc3664b 100755 --- a/perl-install/standalone/draksplash +++ b/perl-install/standalone/draksplash @@ -126,18 +126,18 @@ my %boot_conf_frame = ('frame' => Gtk2::Frame->new(N("Configure bootsplash pictu 'quiet' => N("Make kernel message quiet by default"), }, }, - 'pos' => [ 'tx 1', - 'ty 1', - 'tw 1', - 'th 1', - 'px 1', - 'py 1', - 'pw 1', - 'ph 1', + 'pos' => [ 'tx', + 'ty', + 'tw', + 'th', + 'px', + 'py', + 'pw', + 'ph', 'pc', 'logo', 'quiet', - 'annul', + # 'annul', 'prev', 'save', 'kill', @@ -370,47 +370,49 @@ sub mk_frame { my $u = create_packtable({ col_spacings => 10, row_spacings => 5 }, map { my @widgets; + my $pos = $_; #- look for label - if ($ref->{widget}{label}{$1}) { - my $w = $ref->{widgets}{label}{$1} = Gtk2::Label->new($ref->{widget}{label}{$1}); + if ($ref->{widget}{label}{$pos}) { + my $w = $ref->{widgets}{label}{$pos} = Gtk2::Label->new($ref->{widget}{label}{$pos}); push @widgets, $w; } #- look for scale - if ($ref->{widget}{scale}{$1}) { - my $w = $ref->{widgets}{scale}{$1} = Gtk2::HScale->new($adj{$1} = Gtk2::Adjustment->new(0, 0, $scale_size{$1}, 1, 10, 0)); - $ref->{widgets}{scale}{$1}->set_digits(0); + if ($ref->{widget}{scale}{$pos}) { + my $w = $ref->{widgets}{scale}{$pos} = Gtk2::HScale->new($adj{$pos} = Gtk2::Adjustment->new(0, 0, $scale_size{$pos}, 1, 10, 0)); + $ref->{widgets}{scale}{$pos}->set_digits(0); push @widgets, $w; } - $adj{$1} and $adj{$1}->set_value($theme{boot_conf}{$1}); + $adj{$pos} and $adj{$pos}->set_value($theme{boot_conf}{$pos}); #- look for combo my @popdown; - if ($ref->{widget}{combo}{$1}) { - @popdown = @{$ref->{widget}{combo}{$1}}; - my $w = $ref->{widgets}{combo}{$1} = $ref->{widget}{extras}{$1}{noneditable} ? Gtk2::OptionMenu->new : Gtk2::Combo->new; - $ref->{widgets}{combo}{$1}->set_popdown_strings(@popdown); + if ($ref->{widget}{combo}{$pos}) { + @popdown = @{$ref->{widget}{combo}{$pos}}; + my $w = $ref->{widgets}{combo}{$pos} = $ref->{widget}{extras}{$pos}{noneditable} ? Gtk2::ComboBox->new_text : Gtk2::Combo->new; + $w->set_popdown_strings(@popdown); + $w->set_active(0) if $w->isa('Gtk2::ComboBox'); push @widgets, $w; } #- look for checkbox - if ($ref->{widget}{check}{$1}) { - my $w = $ref->{widgets}{check}{$1} = Gtk2::CheckButton->new($ref->{widget}{check}{$1}); - $ref->{widgets}{check}{$1}->set_active(1); + if ($ref->{widget}{check}{$pos}) { + my $w = $ref->{widgets}{check}{$pos} = Gtk2::CheckButton->new($ref->{widget}{check}{$pos}); + $ref->{widgets}{check}{$pos}->set_active(1); push @widgets, $w; } #- look for button - if ($ref->{widget}{button}{$1}) { - my $w = $ref->{widgets}{button}{$1} = Gtk2::Button->new($ref->{widget}{button}{$1}); + if ($ref->{widget}{button}{$pos}) { + my $w = $ref->{widgets}{button}{$pos} = Gtk2::Button->new($ref->{widget}{button}{$pos}); @widgets ? push @widgets, $w : push @buttons, $w; } #- look for tooltips - $ref->{widget}{tooltip}{$1} and tool_tip($1, \%$ref); + $ref->{widget}{tooltip}{$pos} and tool_tip($pos, \%$ref); if_(@widgets, \@widgets); } @{$ref->{pos}} ); diff --git a/perl-install/standalone/drakupdate_fstab b/perl-install/standalone/drakupdate_fstab index ab7878adc..c911f7055 100755 --- a/perl-install/standalone/drakupdate_fstab +++ b/perl-install/standalone/drakupdate_fstab @@ -83,6 +83,7 @@ sub device_name_to_entry { } else { $e->{device} = $name; #- keeping the exact name given (often is the devfs name) } + $e->{media_type} = 'fd' if $name =~ /fd[01]/; $e; } @@ -143,7 +144,10 @@ sub main { set_mount_point($part, $fstab) or return; my ($line) = fs::prepare_write_fstab([$part]); - append_to_file($fstab_file, $line) if $line; + if ($line) { + append_to_file($fstab_file, $line); + system("mount $part->{mntpoint}") if !$::testing && $device_name =~ /^fd\d+/; + } if ($::auto) { print $part->{mntpoint}, " ", $useSupermount ? 'supermount' : 'user', "\n"; diff --git a/perl-install/standalone/drakups b/perl-install/standalone/drakups index 9f55af292..ee6aeedb1 100755 --- a/perl-install/standalone/drakups +++ b/perl-install/standalone/drakups @@ -23,16 +23,25 @@ my ($w, $in); # GUI my %indexes; -sub writeconf { +sub writeconf() { info_dialog(N("Warning"), "Write support for users is incomplete\n\nIt lacks some support for some extra fields that would be lost else"); log::explanations("Updating NUT configuration accordingly"); $struct->writeConf($files{devices}); - log::explanations("Updating NUT users configuration accordingly"); - $users->writeConf($files{users}); + if ($users) { + log::explanations("Updating NUT users configuration accordingly"); + $users->writeConf($files{users}); + } + + require services; + services::restart("upsd"); } -sub readDriversList { +sub read_nut_config() { + $struct = Libconf::Glueconf::NUT::Ups_conf->new($files{devices}) +} + +sub readDriversList() { my (%ups, @ups); local $_; foreach (cat_(first(glob("/usr/share/doc/nut-*/docs/driver.list")))) { @@ -42,12 +51,14 @@ sub readDriversList { driver => $driver, extra => $extra, }; - push @ups, "$vendor|$model"; + push @ups, "$vendor|$model ($extra)"; } } \%ups, \@ups; } +my %models; + sub add_device_wizard { my ($in, $config) = @_; my ($ups_models, $model_list) = readDriversList(); @@ -63,7 +74,7 @@ sub add_device_wizard { auto => N("Connected through a serial port or an usb cable"), manual => N("Manual configuration"), ); - my $method = $methods{manual}; + my $method = $methods{auto}; $wiz = { #defaultimage => "logdrake.png", # FIXME name => N("Add an UPS device"), @@ -71,14 +82,14 @@ sub add_device_wizard { welcome => { name => N("Welcome to the UPS configuration utility. -Here, you'll be add a new UPS to your system.\n"), +Here, you'll add a new UPS to your system.\n"), no_back => 1, next => 'method' }, method => { name => N("We're going to add an UPS device. -Do you prefer autodetect UPS devices connected to this machine or ?"), +Do you want to autodetect UPS devices connected to this machine or to manually select them?"), data => [ { label => N("Autodetection"), val => \$method, type => "list", list => [ values %methods ] } ], post => sub { +{ reverse %methods }->{$method} }, @@ -87,7 +98,7 @@ Do you prefer autodetect UPS devices connected to this machine or ?"), end => 1, pre => sub { local $::isWizard; - my $wait = $in->wait_message(N("Please wait"), N("Detection in progress")); + my $_wait = $in->wait_message(N("Please wait"), N("Detection in progress")); # UPS autoconfig: detect_devices::probeSerialDevices() if !$::testing; @new_devices = (); @@ -95,10 +106,11 @@ Do you prefer autodetect UPS devices connected to this machine or ?"), foreach my $ups_device (detect_devices::getUPS()) { my $str = $ups_device->{name} || $ups_device->{DESCRIPTION}; $str =~ s/ /_/g; + $name = $str; if (!exists $struct->{$str}) { - $struct->{$str}{port} = $ups_device->{port} || $ups_device->{DEVICE}; - $struct->{$str}{driver} = $ups_device->{driver}; + $port = $struct->{$str}{port} = $ups_device->{port} || $ups_device->{DEVICE}; + $driver = $struct->{$str}{driver} = $ups_device->{driver}; push @new_devices, $str; } } @@ -106,7 +118,7 @@ Do you prefer autodetect UPS devices connected to this machine or ?"), name => sub { if (@new_devices) { N("Congratulations") . "\n\n" . - N("The wizard successfully added the following UPS devices:", join("\n\n-", @new_devices)) + N("The wizard successfully added the following UPS devices:") . join("\n\n-", @new_devices) } else { N("No new UPS devices was found"); } @@ -117,9 +129,9 @@ Do you prefer autodetect UPS devices connected to this machine or ?"), data => [ { label => N("Manufacturer / Model:"), val => \$ups, list => $model_list, type => 'combo', sort => 1, separator => '|' }, ], post => sub { - ($vendor, $model) = split(/\|/, $ups); + ($vendor, $model) = ($1, $2) if $ups =~ /(.*)\|(.*) \(/; ($name, $driver, $port) = ("myups", $ups_models->{$vendor}{$model}{driver}, ""); - ($driver) = split(/\s*/, $driver); + ($driver) = split(/\s+/, $driver); "driver"; }, }, @@ -131,7 +143,7 @@ Please fill in its name, its driver and its port.", $model, $vendor); data => sub { [ { label => N("Name:"), val => \$name, help => N("The name of your ups") }, - { label => N("Driver:"), val => \$driver, help => N("The driver that manage your ups") }, + { label => N("Driver:"), val => \$driver, help => N("The driver that manages your ups") }, { label => N("Port:"), val => \$port, format => \&mouse::serial_port2text, type => "combo", list => [ &mouse::serial_ports() ], not_edit => 0, help => N("The port on which is connected your ups") }, @@ -154,6 +166,8 @@ Please fill in its name, its driver and its port.", $model, $vendor); $config->{$name}{driver} = $driver; $config->{$name}{port} = $port; + # refresh the GUI when needed: + $models{ups}->append_set(1 => $name, 2 => $driver, 3 => $port) if $models{ups}; log::explanations(qq(Configuring "$name" UPS)); } @@ -206,19 +220,19 @@ sub edit_row { } -sub add_callback() { - my ($model, $list, $getindex) = @_; +sub add_callback { + my ($model, $_list, $_getindex) = @_; edit_row($model); } -sub edit_callback() { +sub edit_callback { my ($model, $list) = @_; my ($iter) = $list->get_selection->get_selected; return unless $iter; edit_row($model, $iter); } -sub del_callback() { +sub del_callback { my ($model, $list) = @_; my (undef, $iter) = $list->get_selection->get_selected; my $removed_idx = $list->get($iter, 0); # 1st column is index @@ -239,13 +253,14 @@ my @pages = ( $::WizardWindow->destroy if defined $::WizardWindow; undef $::WizardWindow; }, - edit => sub { }, - remove => sub { }, + edit => sub {}, + remove => sub {}, }, load => sub { - $struct = Libconf::Glueconf::NUT::Ups_conf->new($files{devices}); + read_nut_config(); map { [ $_, @{$struct->{$_}}{qw(driver port)} ] } keys %$struct; }, + id => "ups", }, { name => N("UPS users"), columns => [ N("Name") ], @@ -254,35 +269,38 @@ my @pages = ( my ($name) = @_; $users->{$name} = {}; }, - edit => sub { }, - remove => sub { }, + edit => sub {}, + remove => sub {}, }, load => sub { $users = Libconf::Glueconf::NUT::Ups_conf->new($files{users}); map { [ $_ ] } keys %$users; }, + id => "users", }, { name => N("Access Control Lists"), columns => [ N("Name"), N("IP address"), N("IP mask") ], callbacks => { - add => sub { }, - edit => sub { }, - remove => sub { }, + add => sub {}, + edit => sub {}, + remove => sub {}, }, load => sub { load_access_conf(); @acls; }, + id => "acls", }, { name => N("Rules"), columns => [ N("Action"), N("Level"), N("ACL name"), N("Password") ], callbacks => { - N("Add") => sub { }, - N("Edit") => sub { }, - N("Remove") => sub { }, + N("Add") => sub {}, + N("Edit") => sub {}, + N("Remove") => sub {}, }, load => sub { @rules }, # already loaded when we loaded acls + id => "rules", }, ); @@ -294,6 +312,16 @@ my @pages = ( $in = 'interactive'->vnew; $ugtk2::wm_icon = "drakups"; + +$in->do_pkgs->ensure_is_installed('nut-server', '/etc/rc.d/init.d/upsd') if !$::testing; + +if (member('--wizard', @ARGV)) { + read_nut_config(); + add_device_wizard($in, $struct); + writeconf(); + $in->exit($@ ? 1 : 0); +} + $w = ugtk2->new(N("DrakUPS")); if (!$::isEmbedded) { $::main_window = $w->{rwindow}; @@ -307,9 +335,9 @@ if (!$::isEmbedded) { my $_msg = N("Welcome to the UPS configuration tools"); $w->{window}->add(gtkpack_(Gtk2::VBox->new, - 0, Gtk2::Banner->new('drakups', N("DrakUPS")), + if_(!$::isEmbedded, 0, Gtk2::Banner->new('drakups', N("DrakUPS"))), 1, my $nb = Gtk2::Notebook->new, - 0, create_okcancel( my $oc = + 0, create_okcancel(my $oc = { ok_clicked => sub { #$_->{save}->() foreach @pages; @@ -332,11 +360,11 @@ my %labels = ( ); foreach my $i (@pages) { - my $model = Gtk2::ListStore->new("Glib::Int", ("Glib::String") x listlength(@{$i->{columns}})); + my $model = $models{$i->{id}} = Gtk2::ListStore->new("Glib::Int", ("Glib::String") x listlength(@{$i->{columns}})); my (%buttons, $list); $indexes{$i->{name}} = 0; my $idx = \$indexes{$i->{name}}; - my $getindex = sub { ${$idx}++ }; + my $getindex = sub { $$idx++ }; $nb->append_page(gtkpack_(Gtk2::VBox->new, 1, create_scrolled_window($list = Gtk2::TreeView->new_with_model($model), [ 'automatic', 'automatic' ]), @@ -348,7 +376,7 @@ foreach my $i (@pages) { }) } ([ 'add', N("Add"), $i->{callbacks}{add} || \&add_callback ], [ 'edit', N("Edit"), \&edit_callback ], - [ 'remove', N("Remove"), \&del_callback], + [ 'remove', N("Remove"), \&del_callback ], ) ) #(map { @@ -380,6 +408,5 @@ foreach my $i (@pages) { #------------------------------------------------------------------ # let's start the show: -$in->do_pkgs->ensure_is_installed('nut-server', '/usr/sbin/upsd') if !$::testing; $w->{rwindow}->show_all; $w->main; diff --git a/perl-install/standalone/harddrake2 b/perl-install/standalone/harddrake2 index 9afdcf78a..be8b2bbd2 100755 --- a/perl-install/standalone/harddrake2 +++ b/perl-install/standalone/harddrake2 @@ -78,6 +78,8 @@ my $conffile = "/etc/sysconfig/harddrake2/ui.conf"; my ($current_device, $current_configurator); +my %sysh = distrib(); +my $distro_name = $sysh{system}; #-PO Translators, please keep all "/" charaters !!! my %menus = ( @@ -103,7 +105,9 @@ my @menu_items = [ join('', @{$menu_options{JAZZ_DETECTION}}), undef, sub { $options{JAZZ_DETECTION} = $check_boxes{JAZZ_DETECTION}->get_active }, undef, '<CheckItem>' ], [ $menus{help}, undef, undef, undef, '<Branch>' ], - [ $menus{help}.N("/_Help"), undef, sub { unless (fork()) { exec("drakhelp --id harddrake") } }, undef, '<Item>' ], + if_(-x "/usr/sbin/drakhelp_inst", + [ $menus{help}.N("/_Help"), undef, sub { unless (fork()) { exec("drakhelp --id harddrake") } }, undef, '<Item>' ], + ), [ $menus{help}.N("/_Fields description"), undef, sub { if ($current_device) { create_dialog(N("Harddrake help"), @@ -117,12 +121,14 @@ my @menu_items = }, undef, '<Item>' ], - [ $menus{help}.N("/_Report Bug"), undef, sub { unless (fork()) { exec("drakbug --report harddrake2 &") } }, undef, '<Item>' ], + if_(!-e "/etc/sysconfig/oem", + [ $menus{help}.N("/_Report Bug"), undef, sub { unless (fork()) { exec("drakbug --report harddrake2 &") } }, undef, '<Item>' ], + ), [ $menus{help}.N("/_About..."), undef, sub { create_dialog(N("About Harddrake"), #-PO Do not alter the <span ..> and </span> tags - N("This is HardDrake, a Mandrake hardware configuration tool.\n<span foreground=\"royalblue3\">Version:</span> %s -<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud <tvignaud\@mandrakesoft.com>\n\n", $harddrake::data::version) . "\n" . + N("This is HardDrake, a %s hardware configuration tool.\n<span foreground=\"royalblue3\">Version:</span> %s +<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud <tvignaud\@mandrakesoft.com>\n\n", $distro_name, $harddrake::data::version) . "\n" . formatAlaTeX($::license), { use_markup => 1, if_(!$::isEmbedded, transient => $w->{window}) }); }, undef, '<Item>' ] diff --git a/perl-install/standalone/net_monitor b/perl-install/standalone/net_monitor index 7e323fb19..3863e0197 100755 --- a/perl-install/standalone/net_monitor +++ b/perl-install/standalone/net_monitor @@ -25,6 +25,7 @@ use lib qw(/usr/lib/libDrakX); use strict; use standalone; #- warning, standalone must be loaded very first, for 'explanations' +use c; use interactive; use ugtk2 qw(:helpers :wrappers :create); use common; @@ -281,12 +282,15 @@ sub get_val() { $a =~ s/^.*?\n.*?\n//; $a =~ s/^\s*lo:.*?\n//; my @line = split(/\n/, $a); + my @interfaces = c::get_netdevices(); map { s/\s*(\w*)://; my $intf = $1; - $monitor->{$intf}{val} = [split()]; - $monitor->{$intf}{intf} = $intf; - $intf; + if (member($intf, @interfaces)) { + $monitor->{$intf}{val} = [ split() ]; + $monitor->{$intf}{intf} = $intf; + $intf; + } else { () } } @line; } diff --git a/perl-install/standalone/printerdrake b/perl-install/standalone/printerdrake index 42694f065..bb01d456f 100755 --- a/perl-install/standalone/printerdrake +++ b/perl-install/standalone/printerdrake @@ -1,9 +1,9 @@ #!/usr/bin/perl # -# Copyright (C) 2003-2004 MandrakeSoft +# Copyright (C) 2003-2005 Mandriva # -# Till Kamppeter <till@mandrakesoft.com> -# Daouda Lo <daouda@mandrakesoft.com> +# Till Kamppeter <till at mandriva.com> +# Daouda Lo <daouda at mandriva.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License Version 2 as @@ -20,6 +20,11 @@ # use strict; + +# i18n: IMPORTANT: to get correct namespace (printerdrake instead of +# libDrakX) +BEGIN { unshift @::textdomains, 'drakconf' } + use lib qw(/usr/lib/libDrakX); use standalone; @@ -37,64 +42,55 @@ use Gtk2::Gdk::Keysyms; use modules; use c; -my $companyname = "Mandrakesoft"; -my $distroname = "Mandrakelinux"; -my $domainname = "mandrakesoft.com"; +my %sysh = distrib(); +my $distroname = $sysh{system}; + +my $domainname = "mandriva.com"; my $pixdir = '/usr/share/libDrakX/pixmaps/'; +my $refreshinterval = 5; + local $_ = join '', @ARGV; my $printer; +$ugtk2::wm_icon = "printerdrake"; my $in = 'interactive'->vnew('su', if_(!$::isEmbedded, 'printer-mdk')); my $commandline = $_; -exit 0 unless printer::printerdrake::first_time_dialog($printer, $in); +# Suppress some wait messages to avoid windows popping up if no new print +# queue has to be set up +$commandline =~ /-onlyautoqueue/ and $::autoqueue = 1; # Data structure for GTK2 main window my $us = {}; -$us->{VERSION} = '0.1'; - -# GTK2 splash screen -my $window_splash; -if (0 && !$::isInstall && !$::isEmbedded) { - $window_splash = Gtk2::Window->new('popup'); -#BUG $window_splash->signal_connect(delete_event => \&quit_global); - $window_splash->set_title(N("Printerdrake") . $us->{VERSION}); - $window_splash->set_position('center_always'); - $window_splash->add(gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'etched_out'), - gtkpack(Gtk2::VBox->new(0, 0), - gtkcreate_img("$pixdir/about.png"), - Gtk2::Label->new(N("Loading printer configuration... Please wait")) - ) - ) - ); - $window_splash->show_all; - gtkflush(); -} - -#my $wait = $in->wait_message(N("Please wait"), -# N("Loading printer configuration... ")); -#gtkflush(); +$us->{VERSION} = '2006'; # Check whether Foomatic is installed and install it if necessary #printer::printerdrake::install_foomatic($in); -my $w = $in->wait_message(N("Printerdrake"), - N("Reading data of installed printers...")); +my $w = $::autoqueue || + $in->wait_message(N("Printerdrake"), + N("Reading data of installed printers...")); # Get what was installed before eval { $printer = printer::main::getinfo('') }; +undef $w; + +exit 0 unless printer::printerdrake::first_time_dialog($printer, $in, undef); + # Were we in expert mode last time? $printer->{expert} = printer::main::get_usermode(); # Choose the spooler by command line options -$commandline =~ /-expert/ and $printer->{expert} = 1; +$::expert and $printer->{expert} = 1; $commandline =~ /-cups/ and $printer->{SPOOLER} = 'cups' and printer::main::read_configured_queues($printer); +$commandline =~ /-rcups/ and + $printer->{SPOOLER} = 'rcups' and printer::main::read_configured_queues($printer); $commandline =~ /-lpr/ and $printer->{SPOOLER} = 'lpd' and printer::main::read_configured_queues($printer); $commandline =~ /-lpd/ and @@ -103,29 +99,32 @@ $commandline =~ /-lprng/ and $printer->{SPOOLER} = 'lprng' and printer::main::read_configured_queues($printer); $commandline =~ /-pdq/ and $printer->{SPOOLER} = 'pdq' and printer::main::read_configured_queues($printer); --r '/etc/modules.conf' and modules::mergein_conf('/etc/modules.conf'); - -undef $w; if ($::isInstall) { # Interactive main window for installation - printer::printerdrake::main($printer, $in, 1); + printer::printerdrake::main($printer, $::o->{security}, $in, 1, undef); exit(); } +require security::level; +my $security = security::level::get(); + # Do not let printerdrake ask for the spooler $printer->{SPOOLER} ||= 'cups'; # Initialization -printer::printerdrake::init($printer, $in); +printer::printerdrake::init($printer, $security, $in, undef); + +# Stop here when we are supposed to only automatically set up print queues +$commandline =~ /-onlyautoqueue/ and exit 0; # GTK2 main window -my $error = 0; my $stringsearch = ''; -sub HelpSystem() { exec("drakhelp --id printerdrake") unless fork() }; +sub HelpSystem() { exec("drakhelp --id printerdrake") unless fork() } +$::noborderWhenEmbedded = 1; $us->{wnd} = ugtk2->new(N("%s Printer Management Tool", $distroname) . " " . $us->{VERSION}); gtkset_size_request($us->{wnd}{rwindow}, 660, 460); @@ -133,13 +132,14 @@ if (!$::isEmbedded) { $us->{wnd}{rwindow}->set_position('center'); } $us->{wnd}{window}->signal_connect(delete_event => \&QuitGlobal); -my $ltree_model = Gtk2::ListStore->new("Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String"); -my $rtree_model = Gtk2::ListStore->new("Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String"); +my $ltree_model = Gtk2::ListStore->new("Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String"); +my $rtree_model = Gtk2::ListStore->new("Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String"); my ($localtree, $remotetree); $localtree = CreateTree($ltree_model); $remotetree = CreateTree($rtree_model); # slightly verbatimed from control-center my %options = ( + 'add' => [ N("/_Actions"), N("/_Add Printer") ], 'default' => [ N("/_Actions"), N("/Set as _Default") ], 'edit' => [ N("/_Actions"), N("/_Edit") ], 'delete' => [ N("/_Actions"), N("/_Delete") ], @@ -168,15 +168,18 @@ my ($menu, $factory) = create_factory_menu($::isEmbedded ? $::Plug : $us->{wnd}{ %printer::main::thedb = (); }, undef, '<CheckItem>' ], + [ N("/_Options") . N("/Configure _Auto Administration"), undef, \&ConfigAutoAdmin, undef, '<StockItem>', 'gtk-autoadmin' ], [ N("/_Help"), undef, undef, undef, '<Branch>' ], - [ N("/_Help").N("/_Help"), undef, sub { HelpSystem() }, undef, '<StockItem>', 'gtk-help' ], - [ N("/_Help").N("/_Report Bug"), undef, sub { system("$ENV{BROWSER} https://qa.$domainname &") }, undef, '<StockItem>', 'gtk-stop' ], - [ N("/_Help").N("/_About..."), undef, \&About, undef, '<StockItem>', 'gtk-preferences' ] + if_(-x "/usr/sbin/drakhelp_inst", + [ N("/_Help") . N("/_Help"), undef, sub { HelpSystem() }, undef, '<StockItem>', 'gtk-help' ], + ), + if_(!-e "/etc/sysconfig/oem", + [ N("/_Help") . N("/_Report Bug"), undef, sub { system("$ENV{BROWSER} https://qa.$domainname &") }, undef, '<StockItem>', 'gtk-stop' ], + ), + [ N("/_Help") . N("/_About..."), undef, \&About, undef, '<StockItem>', 'gtk-preferences' ] ) ); -%buttorcheck = map { - $_ => $factory->get_widget("<main>" . join '', map { s/_//; $_ } @{$options{$_}}) -}('default', 'edit', 'delete', 'expert'); +%buttorcheck = map { $_ => $factory->get_widget("<main>" . join '', map { s/_//; $_ } @{$options{$_}}) } ('add', 'default', 'edit', 'delete', 'expert'); if (defined $buttorcheck{expert}) { $buttorcheck{expert}->set_active($printer->{expert}); @@ -190,80 +193,100 @@ my $searchBox = gtkpack_(Gtk2::HBox->new(0,5), 1, Gtk2::Label->new(""), 0, Gtk2::Label->new(N("Search:")), 0, gtksignal_connect($filter = Gtk2::Entry->new, - key_press_event => sub { $_[1]->keyval == $Gtk2::Gdk::Keysyms{Return} and Refresh($filter->get_text) }), + key_press_event => sub { $_[1]->keyval == $Gtk2::Gdk::Keysyms{Return} and do { $stringsearch = $filter->get_text; Refresh($stringsearch) };}), 0, my $fbut = Gtk2::Button->new(N("Apply filter")), ); gtkappend_page(my $nb = Gtk2::Notebook->new, gtkpack(create_scrolled_window($localtree)), gtkshow(Gtk2::Label->new(N("Configured on this machine")))); gtkappend_page($nb, gtkpack(create_scrolled_window($remotetree)), gtkshow(Gtk2::Label->new(N("Configured on other machines")))); $nb->set_show_border(0); + +my @extra_widgets; +if ($::isEmbedded) { + push @extra_widgets, 0, Gtk2::Banner->new("/usr/share/mcc/themes/default/printer-mcc-mdk.png", + #-PO: do not translate, this is already translated in mcc + translate("Printers")); +} + $us->{wnd}{window}->add(gtkpack_(Gtk2::VBox->new(0, 0), 0, $menu, + @extra_widgets, 0, $toolb, 0, $searchBox, 0, Gtk2::HSeparator->new, 1, $nb)); -my @lcolsize = (1, 1, 1, 1, 1, 1, -1); -my @rcolsize = (1, 1, 1, 1, 1, -1); +my @lcolsize = (1, 1, 1, 1, 1, 1, 1, -1); +my @rcolsize = (1, 1, 1, 1, 1, 1, -1); each_index { my $col = Gtk2::TreeViewColumn->new_with_attributes($_, Gtk2::CellRendererText->new, 'text' => $::i); $col->set_sort_column_id($::i); $col->set_min_width($lcolsize[$::i]); $localtree->append_column($col); -} (N("Def."), N("Printer Name"), N("Model"), N("Connection Type"), N("Description"), N("Location")); +} (N("Def."), N("Printer Name"), N("State"), N("Model"), N("Connection Type"), N("Description"), N("Location")); each_index { my $col = Gtk2::TreeViewColumn->new_with_attributes($_, Gtk2::CellRendererText->new, 'text' => $::i); $col->set_sort_column_id($::i); $col->set_min_width($rcolsize[$::i]); $remotetree->append_column($col); -} (N("Def."), N("Printer Name"), N("Server Name"), N("Description"), N("Location")); +} (N("Def."), N("Printer Name"), N("State"), N("Server Name"), N("Description"), N("Location")); my @toolbwg = map { $toolb->append_item($_->[0], $_->[1], $_->[2], Gtk2::Image->new_from_file($pixdir . $_->[2] . '.png'), $_->[3], $toolb); # $toolb->append_space; -#-PO "Add Printer" is a button text and the translation has to be AS SHORT AS POSSIBLE -} ( [ N("Add Printer"), N("Add a new printer to the system"), 'printer_add', \&AddPrinter ], -#-PO "Set as default" is a button text and the translation has to be AS SHORT AS POSSIBLE - [ N("Set as default"), N("Set selected printer as the default printer"), 'printer_default', \&SetAsDefault ], -#-PO "Edit" is a button text and the translation has to be AS SHORT AS POSSIBLE - [ N("Edit"), N("Edit selected printer"), 'printer_conf', \&Edit ], -#-PO "Delete" is a button text and the translation has to be AS SHORT AS POSSIBLE - [ N("Delete"), N("Delete selected printer"), 'printer_del', \&Delete ], -#-PO "Refresh" is a button text and the translation has to be AS SHORT AS POSSIBLE - [ N("Refresh"), N("Refresh the list"), 'refresh', sub { Refresh($stringsearch) } ], -#-PO "Configure CUPS" is a button text and the translation has to be AS SHORT AS POSSIBLE - [ N("Configure CUPS"), N("Configure CUPS printing system"), 'cups_config', \&ConfigCUPS ] +} ([ + # FIXME: then "add printer" should be a simple verb as suggested in Human Guidelines!!! + #-PO: "Add Printer" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Add Printer"), N("Add a new printer to the system"), 'printer_add', \&AddPrinter ], + [ + #-PO: "Set as default" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Set as default"), N("Set selected printer as the default printer"), 'printer_default', \&SetAsDefault ], + [ + #-PO: "Edit" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Edit"), N("Edit selected printer"), 'printer_conf', \&Edit ], + [ + #-PO: "Delete" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Delete"), N("Delete selected printer"), 'printer_del', \&Delete ], + [ + #-PO: "Refresh" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Refresh"), N("Refresh the list"), 'refresh', sub { Refresh($stringsearch) } ], + [ + #-PO: "Configure CUPS" is a button text and the translation has to be AS SHORT AS POSSIBLE + N("Configure CUPS"), N("Configure CUPS printing system"), 'cups_config', \&ConfigCUPS ] ); -my ($_tbadd, $tbdefault, $tbedit, $tbdel, $_tbref, $_tbconfig) = @toolbwg; +my ($tbadd, $tbdefault, $tbedit, $tbdel, $_tbref, $_tbconfig) = @toolbwg; GrayDelEdit(); +foreach ($tbadd, $buttorcheck{add}) { defined $_ and $_->set_sensitive($printer->{SPOOLER} ne "rcups") } +$localtree->parent->parent->set_sensitive($printer->{SPOOLER} ne "rcups"); +$nb->set_current_page(1) if $printer->{SPOOLER} eq "rcups"; $fbut->signal_connect('clicked', sub { $stringsearch = $filter->get_text; Refresh($stringsearch) }); Refresh($stringsearch); $nb->signal_connect('switch-page' => sub { NotebookSwitch() }); $us->{wnd}{rwindow}->show_all; set_selection($printer->{DEFAULT}); -#undef $wait; -if (0 && !$::isInstall && !$::isEmbedded) { - $window_splash->destroy; - undef $window_splash; -} gtkset_mousecursor_normal(); # Prevent subwindows to embed themselves in the mcc which has already the # main window embedded +my $isEmbedded = $::isEmbedded; local $::isEmbedded = 0; -Gtk2->main; +# Auto refresh +my $refreshing = 0; +Glib::Timeout->add($refreshinterval * 1000, + sub { Refresh($stringsearch); 1 }); + +$us->{wnd}->main; ugtk2->exit; sub GrayDelEdit() { - foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { defined $_ and $_->set_sensitive(0) }; + foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { defined $_ and $_->set_sensitive(0) } } sub TreeUnselect { my $treev = shift; $treev->get_selection->unselect_all; - GrayDelEdit() + GrayDelEdit(); } sub NotebookSwitch() { TreeUnselect($localtree); @@ -272,38 +295,48 @@ sub NotebookSwitch() { } sub RefreshLocalPrintersFull { - my ($strfilt) = @_; + my ($strfilt, @allprinters) = @_; my @printers; defined $printer and @printers = keys %{$printer->{configured}}; $ltree_model->clear; + return if $printer->{SPOOLER} eq "rcups"; my @LocalReal; - LOOP: foreach my $p (@printers) { + foreach my $p (@printers) { # Apply string search to all fields, not only the printer name + my $state = ($printer->{SPOOLER} !~ /cups/ ? N("Unknown") : + ((any { + ($_->{queuename} eq $p) && + ($_->{state} eq "enabled"); + } @allprinters) ? N("Enabled") : N("Disabled"))); my $connect = printer::main::connectionstr($printer->{configured}{$p}{queuedata}{connect}); my $model = $printer->{configured}{$p}{queuedata}{make} . ' ' . $printer->{configured}{$p}{queuedata}{model}; my $description = $printer->{configured}{$p}{queuedata}{desc}; my $location = $printer->{configured}{$p}{queuedata}{loc}; - my $searchstr = "$p|$model|$connect|$description|$location"; - push(@LocalReal, $p) if $searchstr =~ /\Q$strfilt/i; - }; + my $searchstr = "$p|$state|$model|$connect|$description|$location"; + push(@LocalReal, $p) if !$strfilt || ($searchstr =~ /\Q$strfilt/i); + } foreach my $p (sort { lc($a) cmp lc($b) } @LocalReal) { + my $state = ($printer->{SPOOLER} !~ /cups/ ? N("Unknown") : + ((any { + ($_->{queuename} eq $p) && + ($_->{state} eq "enabled"); + } @allprinters) ? N("Enabled") : N("Disabled"))); my $connect = printer::main::connectionstr($printer->{configured}{$p}{queuedata}{connect}); my $description = $printer->{configured}{$p}{queuedata}{desc}; my $location = $printer->{configured}{$p}{queuedata}{loc}; my $model = $printer->{configured}{$p}{queuedata}{make} . ' ' . $printer->{configured}{$p}{queuedata}{model}; my $default = ($p eq $printer->{DEFAULT} ? "X" : ""); - $ltree_model->append_set([ 0 => $default, 1 => $p, 2 => $model, - 3 => $connect, 4 => $description, - 5 => $location ]); + $ltree_model->append_set([ 0 => $default, 1 => $p, 2 => $state, + 3 => $model, + 4 => $connect, 5 => $description, + 6 => $location ]); } } sub RefreshRemotePrintersFull { - my ($strfilt) = @_; - my @printers; - defined $printer and @printers = printer::cups::lpstat_lpv(); + my ($strfilt, @printers) = @_; $rtree_model->clear; my @RemoteReal; LOOP: foreach my $p (@printers) { @@ -311,38 +344,50 @@ sub RefreshRemotePrintersFull { next LOOP if defined($printer->{configured}{$p->{queuename}}); # Apply string search to all fields, not only the printer name my $queue = $p->{queuename}; - my $server = $p->{ipp}; + my $state = ($p->{state} eq "enabled" ? + N("Enabled") : N("Disabled")); + my $server = $p->{ipp} || $printer->{remote_cups_server}; my $description = $p->{description}; my $location = $p->{location}; - my $searchstr = "$queue|$server|$description|$location"; + my $searchstr = "$queue|$state|$server|$description|$location"; # All remaining to which the search term applies - push(@RemoteReal, $p) if $searchstr =~ /\Q$strfilt/i; - }; + push(@RemoteReal, $p) if !$strfilt || ($searchstr =~ /\Q$strfilt/i); + } foreach my $p (sort { lc($a->{queuename}) cmp lc($b->{queuename}) } @RemoteReal) { my $queue = $p->{queuename}; - my $server = $p->{ipp}; + my $state = ($p->{state} eq "enabled" ? + N("Enabled") : N("Disabled")); + my $server = $p->{ipp} || $printer->{remote_cups_server}; my $description = $p->{description}; my $location = $p->{location}; my $default = ($queue eq $printer->{DEFAULT} ? "X" : ""); $rtree_model->append_set([ 0 => $default, 1 => $queue, - 2 => $server, 3 => $description, - 4 => $location ]); + 2 => $state, 3 => $server, + 4 => $description, + 5 => $location ]); } } sub Refresh { + # Do not have ourselves recalled if we are already running + return if $refreshing; + $refreshing = 1; my ($strfilt) = @_; my $selection = get_selection(); - RefreshLocalPrintersFull($strfilt); - RefreshRemotePrintersFull($strfilt); + printer::services::wait_for_cups() if ($printer->{SPOOLER} eq "cups"); + my @printers; + defined $printer and @printers = printer::cups::lpstat_lpv(); + RefreshLocalPrintersFull($strfilt, @printers); + RefreshRemotePrintersFull($strfilt, @printers); GrayDelEdit(); set_selection($selection); + $refreshing = 0; } sub AddPrinter() { deactivate_mainwindow(); - if (printer::printerdrake::add_printer($printer, $in)) { + if (printer::printerdrake::add_printer($printer, $in, undef)) { Refresh($stringsearch); set_selection($printer->{QUEUE}); } else { @@ -386,7 +431,17 @@ sub Delete() { sub ConfigCUPS() { deactivate_mainwindow(); - printer::printerdrake::config_cups($printer, $in); + printer::printerdrake::config_cups($printer, $security, $in, undef); + foreach ($tbadd, $buttorcheck{add}) { defined $_ and $_->set_sensitive($printer->{SPOOLER} ne "rcups") } + $localtree->parent->parent->set_sensitive($printer->{SPOOLER} ne "rcups"); + $nb->set_current_page(1) if $printer->{SPOOLER} eq "rcups"; + Refresh($stringsearch); + activate_mainwindow(); +} + +sub ConfigAutoAdmin() { + deactivate_mainwindow(); + printer::printerdrake::config_auto_admin($printer, $in); Refresh($stringsearch); activate_mainwindow(); } @@ -394,7 +449,6 @@ sub ConfigCUPS() { sub deactivate_mainwindow() { $us->{wnd}{rwindow}->set_sensitive(0); gtkset_mousecursor_wait(); - $error = 0; } sub activate_mainwindow() { @@ -466,7 +520,7 @@ sub GetNameEntFromIter { my (undef, $iter) = $tree->get_selection->get_selected; return undef if !defined($iter); my $name = $model->get($iter, $rank); - $name + $name; } sub CreateTree { @@ -475,18 +529,39 @@ sub CreateTree { $tree->get_selection->set_mode('browse'); $tree->set_headers_visible(1); $tree->set_rules_hint(1); - $tree->get_selection->signal_connect('changed' => sub { foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { $_->set_sensitive(1) } }); + $tree->get_selection->signal_connect('changed' => sub { + my (undef, $_event) = @_; + my (undef, $iter) = $tree->get_selection->get_selected; + return unless $iter; + foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { $_->set_sensitive(1) } + my $queue = $tree_model->get($iter, 1); + if (!defined($printer->{configured}{$queue})) { + foreach ($tbdel, $buttorcheck{delete}) { + $_->set_sensitive(0); + } + } + if ($queue eq $printer->{DEFAULT}) { + foreach ($tbdefault, $buttorcheck{default}) { + $_->set_sensitive(0); + } + } + }); $tree->signal_connect(button_press_event => sub { my (undef, $event) = @_; my (undef, $iter) = $tree->get_selection->get_selected; return unless $iter; - foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { $_->set_sensitive(1) }; + foreach ($tbdefault, $tbedit, $tbdel, $buttorcheck{default}, $buttorcheck{edit}, $buttorcheck{delete}) { $_->set_sensitive(1) } my $queue = $tree_model->get($iter, 1); if (!defined($printer->{configured}{$queue})) { foreach ($tbdel, $buttorcheck{delete}) { $_->set_sensitive(0); } } + if ($queue eq $printer->{DEFAULT}) { + foreach ($tbdefault, $buttorcheck{default}) { + $_->set_sensitive(0); + } + } Edit() if $event->type eq '2button-press'; }); $tree->signal_connect(key_press_event => sub { @@ -495,13 +570,13 @@ sub CreateTree { return unless $iter; Edit() if $event->keyval == $Gtk2::Gdk::Keysyms{Return}; }); - $tree + $tree; } sub NewDialog { my ($title, $o_no_button) = @_; my $dialog = gtkset_border_width(Gtk2::Dialog->new, 10); - $dialog->set_transient_for($us->{wnd}{rwindow}); + $dialog->set_transient_for($us->{wnd}{real_window}); $dialog->set_position('center-on-parent'); $dialog->set_title($title); $dialog->action_area->pack_start(gtkadd(Gtk2::HButtonBox->new, @@ -518,13 +593,18 @@ sub About() { $list->can_focus(0); each_index { $list->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => $::i)) } 0..2; $list->set_headers_visible(0); - foreach my $row ([ '', '', ''], [ N("Authors: "), 'Till Kamppeter', "<till\@$domainname>" ], ['', '', '']) { + foreach my $row ([ '', '', '' ], [ N("Authors: "), 'Till Kamppeter', "<till\@$domainname>" ], [ '', '', '' ]) { $tree_model->append_set(undef, [ map_index { $::i => $_ } @$row ]); } $list->get_selection->set_mode('none'); gtkpack_($window_about->vbox, -r "$pixdir/about-printerdrake.png" ? - (0, Gtk2::Image->new_from_file("$pixdir/about-printerdrake.png")) : (1, gtkmodify_font(Gtk2::Label->new(N("Printer Management \n") . $us->{VERSION}), 'Bold 18'),), + (0, Gtk2::Image->new_from_file("$pixdir/about-printerdrake.png")) : + (1, gtkset_markup(Gtk2::Label->new, + qq(<span weight="bold" size="x-large">) . + #-PO: here %s is the version number + N("Printer Management %s", $us->{VERSION}) . "</span>"), + ), 1, $list, ); $window_about->show_all; diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake index 5c4ac6811..b12c5d3f3 100755 --- a/perl-install/standalone/service_harddrake +++ b/perl-install/standalone/service_harddrake @@ -5,6 +5,7 @@ use lib qw(/usr/lib/libDrakX); use strict; use diagnostics; use standalone; #- warning, standalone must be loaded very first, for 'explanations' +use c; use common; use interactive; use detect_devices; @@ -21,16 +22,25 @@ $last_boot_config .= '_X11' if $invert_do_it; modules::mergein_conf('/etc/modules.conf'); +# autoreconfigure the mouse on major kernel change: +my $prev_kernel = { getVarsFromSh("$hw_sysconfdir/kernel") }->{KERNEL}; +my $curr_kernel = c::kernel_version(); +$curr_kernel =~ s/(^\d+\.\d+).*/\1/; +setVarsInSh("$hw_sysconfdir/kernel", { KERNEL => $curr_kernel }); +system("mousedrake --auto") if $curr_kernel ne $prev_kernel; + if (find { $_->{driver} =~ /Card:NVIDIA/ } detect_devices::probeall()) { - if (find { -e join('', "/lib/modules/", c::kernel_version(), "/kernel/drivers/$_") } map { ("video/$_", "char/$_") } qw(NVdriver nvidia.o nvidia.o.gz nvidia.ko nvidia.ko.gz)) { - log::explanations("switch XFree86 driver from nv to nvidia"); - substInFile { s!Driver "nv.*"!Driver "nvidia"!g; s!#*( Load.*glx)!\1!g } $_ foreach "/etc/X11/XF86Config-4", "/etc/X11/XF86Config"; + if (find { -e join('', "/lib/modules/", c::kernel_version(), "/kernel/drivers/$_") } map { ("video/$_", "char/$_", "char/drm/$_") } qw(NVdriver nvidia.o nvidia.o.gz nvidia.ko nvidia.ko.gz)) { + # log::explanations("switch XFree86 driver from nv to nvidia"); + # substInFile { s!Driver "nv.*"!Driver "nvidia"!g; s!#*( Load.*glx)!\1!g } $_ foreach "/etc/X11/XF86Config-4", "/etc/X11/XF86Config"; } else { log::explanations("switch XFree86 driver from nvidia to nv"); substInFile { s!Driver "nv.*"!Driver "nv"!g; s!([^#]Load.*glx)!#\1!g } $_ foreach "/etc/X11/XF86Config-4", "/etc/X11/XF86Config"; } } +my $is_globetrotter = -f '/usr/sbin/mdkmove'; + # first run ? if not read old hw config my $previous_config = -f $last_boot_config && -s $last_boot_config ? Storable::retrieve($last_boot_config) : {}; $previous_config = $$previous_config if ref($previous_config) !~ /HASH/; @@ -52,7 +62,7 @@ foreach my $hw_class (@harddrake::data::tree) { $id => $i; } eval { &$detector }; $config{$Ident} = \%ID; - next if is_empty_hash_ref $previous_config; # don't fsck on first run + next if !$is_globetrotter && is_empty_hash_ref $previous_config; # don't fsck on first run my $oldconfig = $previous_config->{$Ident}; @@ -66,15 +76,14 @@ foreach my $hw_class (@harddrake::data::tree) { $msg .= N("Some devices were added: %s\n", $item) if @added; $msg .= N("- %s was added\n", harddrake::data::custom_id($ID{$_}, $item)) foreach @added; log::explanations("removed $Ident: " . harddrake::data::custom_id($oldconfig->{$_}, $item)) foreach @was_removed; - log::explanations("added $Ident: " . harddrake::data::custom_id($oldconfig->{$_}, $item)) foreach @added; + log::explanations("added $Ident: " . harddrake::data::custom_id($ID{$_}, $item)) foreach @added; modules::load('ohci1394') if $Ident eq 'FIREWIRE_CONTROLLER' && any { $_->{driver} eq 'ohci1394' } @added; @added || @was_removed or next; - $splash and !system('echo verbose > /proc/splash') and $splash = 0; my @configurator_pool; if (harddrake::data::is_removable($Ident)) { foreach my $device (@ID{@added}) { - push @configurator_pool, harddrake::data::set_removable_configurator($Ident, $device); + push @configurator_pool, harddrake::data::set_removable_auto_configurator($Ident, $device); }; foreach my $device (@$oldconfig{@was_removed}) { push @configurator_pool, harddrake::data::set_removable_remover($Ident, $device); @@ -96,13 +105,19 @@ foreach my $hw_class (@harddrake::data::tree) { } elsif ($Ident eq "AGP") { # add agpgart modules to modprobe.preload if needed: modules::write_conf(); + } elsif ($Ident eq "VIDEO") { + require harddrake::autoconf; + harddrake::autoconf::xconf(); + undef @configurator_pool; } + next if $is_globetrotter && $configurator_pool[0] !~ /drakupdate_fstab/; next unless -x first(split /\s+/, $configurator_pool[0]); my ($pid, $no, $res); if (!$hw_class->{automatic}) { $SIG{ALRM} = sub { $no = 1; kill 15, $pid }; unless ($pid = fork()) { + $splash and !system('echo verbose > /proc/splash') and $splash = 0; exec("/usr/share/harddrake/confirm", $Ident, $timeout, $msg); } alarm($timeout); diff --git a/perl-install/steps.pm b/perl-install/steps.pm index 82eb8d8a6..a0d802a53 100644 --- a/perl-install/steps.pm +++ b/perl-install/steps.pm @@ -29,7 +29,7 @@ use common; configureX => [ N_("Configure X"), 1, 1, '1', ["formatPartitions", "setupBootloader"] ], summary => [ N_("Summary"), 1, 0, '', "installPackages" ], configureServices => [ N_("Configure services"), 1, 1, '1', "installPackages" ], - installUpdates => [ N_("Install updates"), 1, 1, '', ["installPackages", "configureNetwork", "summary"] ], +# installUpdates => [ N_("Install updates"), 1, 1, '', ["installPackages", "configureNetwork", "summary"] ], exitInstall => [ N_("Exit install"), 0, 0, '', '' ], ); for (my $i = 0; $i < @installSteps; $i += 2) { diff --git a/perl-install/ugtk2.pm b/perl-install/ugtk2.pm index 5bed679b1..dffd5d674 100644 --- a/perl-install/ugtk2.pm +++ b/perl-install/ugtk2.pm @@ -600,12 +600,12 @@ sub _find_imgfile { # use it if you want to display an icon/image in your app sub gtkcreate_img { - return Gtk2::Image->new_from_file(_find_imgfile(@_)); + return Gtk2::Image->new_from_file(_find_imgfile(@_) || internal_error("can't find $_[0]")); } # use it if you want to draw an image onto a drawingarea sub gtkcreate_pixbuf { - return Gtk2::Gdk::Pixbuf->new_from_file(_find_imgfile(@_)); + return Gtk2::Gdk::Pixbuf->new_from_file(_find_imgfile(@_) || internal_error("can't find $_[0]")); } sub gtktext_append { gtktext_insert(@_, append => 1) } @@ -970,7 +970,7 @@ sub main { my ($o, $o_completed, $o_canceled) = @_; gtkset_mousecursor_normal(); my $timeout = Glib::Timeout->add(1000, sub { gtkset_mousecursor_normal(); 1 }); - my $_b = MDK::Common::Func::before_leaving { Glib::Source->remove($timeout) }; + my $_b = MDK::Common::Func::before_leaving { $o->destroy; Glib::Source->remove($timeout) }; $o->show; do { diff --git a/perl-install/wizards.pm b/perl-install/wizards.pm index c5a39c4da..2ae0af4ca 100644 --- a/perl-install/wizards.pm +++ b/perl-install/wizards.pm @@ -91,7 +91,7 @@ sub new { bless {}, $_[0] } sub check_rpm { my ($in, $rpms) = @_; foreach my $rpm (@$rpms) { - next if !$in->do_pkgs->is_installed($rpm); + next if $in->do_pkgs->is_installed($rpm); if ($in->ask_okcancel(N("Error"), N("%s is not installed\nClick \"Next\" to install or \"Cancel\" to quit", c::from_utf8($rpm)))) { $::testing and next; if (!$in->do_pkgs->install($rpm)) { |