summaryrefslogtreecommitdiffstats
path: root/perl-install/install/steps_gtk.pm
blob: beee19acd3c7dffa9be258d7658727c5aefbbf2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
package install::steps_gtk;

use diagnostics;
use strict;
use feature 'state';
use vars qw(@ISA);

@ISA = qw(install::steps_interactive interactive::gtk);

#-######################################################################################
#- misc imports
#-######################################################################################
use install::pkgs;
use install::steps_interactive;
use interactive::gtk;
use xf86misc::main;
use common;
use mygtk3;
use ugtk3 qw(:helpers :wrappers :create);
use devices;
use modules;
use install::gtk;
use install::any;
use mouse;
use install::help::help;
use log;

#-######################################################################################
#- In/Out Steps Functions
#-######################################################################################
sub new($$) {
    my ($type, $o) = @_;

    $ENV{DISPLAY} ||= $o->{display} || ":0";
    my $wanted_DISPLAY = $::testing && -x '/usr/bin/Xnest' ? ':9' : $ENV{DISPLAY};

    if (!$::local_install && 
	($::testing ? $ENV{DISPLAY} ne $wanted_DISPLAY : $ENV{DISPLAY} =~ /^:\d/)) { #- is the display local or distant?
        _setup_and_start_X($o, $wanted_DISPLAY) or return;
    }

    $ENV{DISPLAY} = $wanted_DISPLAY;
    require detect_devices;
    if (detect_devices::is_xbox()) {
        modules::load('xpad');
        run_program::run('xset', 'm', '1/8', '1');
    }
    if (detect_devices::is_qemu()) {
        mkdir_p('/run/spice-vdagentd');
        run_program::raw({ detach => 1 }, 'spice-vdagentd', '>', '/dev/null', '2>', '/dev/null', '-X');
        run_program::raw({ detach => 1 }, 'spice-vdagent', '>', '/dev/null', '2>', '/dev/null');
    }
    any::disable_x_screensaver();
    run_program::raw({ detach => 1 }, 'mutter');
    install::gtk::init_gtk($o);
    install::gtk::init_sizes($o);
    install::gtk::install_theme($o);
    install::gtk::create_steps_window($o);
    _may_configure_framebuffer_640x480($o);

    $ugtk3::grab = 1;

    $o = (bless {}, ref($type) || $type)->SUPER::new($o);
    $o->interactive::gtk::new;
    gtkset_mousecursor_normal();
    $o;
}

sub _setup_and_start_X {
    my ($o, $wanted_DISPLAY) = @_;
    my $f = "/tmp/Xconf";

    #- /tmp is mostly tmpfs, but not fully, since it doesn't allow: mount --bind /tmp/.X11-unix /mnt/tmp/.X11-unix
    mkdir '/tmp/.X11-unix';
    run_program::run('mount', '-t', 'tmpfs', 'none', '/tmp/.X11-unix');


    my @servers = qw(Driver:fbdev Driver:vesa); #-)
    if ($::testing) {
        @servers = 'Xnest';
    } elsif (is_uefi()) {
        @servers = 'Driver:fbdev';
    } elsif (arch() =~ /i.86/) {
        require Xconfig::card;
        my ($card) = Xconfig::card::probe();
        if ($card && $card->{card_name} eq 'i810') {
            # early i810 do not support VESA:
            log::l("graphical installer not supported on early i810");
            undef @servers;
        }
    }

    foreach (@servers) {
        log::l("Trying with server $_");
        my ($prog, $Driver) = /Driver:(.*)/ ? ('Xorg', $1) : $_;
        if (/FB/i) {
            !$o->{vga16} && $o->{allowFB} or next;

            $o->{allowFB} = _launchX($o, $f, $prog, $Driver, $wanted_DISPLAY) #- keep in mind FB is used.
              and return 1;
        } else {
            $o->{vga16} = 1 if /VGA16/;
            _launchX($o, $f, $prog, $Driver, $wanted_DISPLAY) and return 1;
        }
    }
    return undef;
}

sub _launchX {
    my ($o, $f, $server, $Driver, $wanted_DISPLAY) = @_;

    mkdir '/var/log' if !-d '/var/log';

    my @options = $wanted_DISPLAY;
    if ($server eq 'Xnest') {
        push @options, '-ac', '-geometry', $o->{vga} || ($o->{vga16} ? '640x480' : '1024x768');
    } else {
        install::gtk::createXconf($f, $Driver);

        push @options, '-allowMouseOpenFail', '-xf86config', $f;
        push @options, 'vt7', '-dpi', '75';
        push @options, '-nolisten', 'tcp';
    }

    if (!fork()) {
        c::setsid();
        exec $server, @options or c::_exit(1);
    }

    #- wait for the server to start
    foreach (1..5) {
        sleep 1;
        last if fuzzy_pidofs(qr/\b$server\b/);
        log::l("$server still not running, trying again");
    }
    my $nb;
    my $start_time = time();
    foreach (1..60) {
        log::l("waiting for the server to start ($_ $nb)");
        if (!fuzzy_pidofs(qr/\b$server\b/)) {
            log::l("Server died");
            log::l(any::header("Xorg.log"), cat_("/var/log/Xorg.0.log"));
            return 0 if !fuzzy_pidofs(qr/\b$server\b/);
	}
        $nb++ if xf86misc::main::Xtest($wanted_DISPLAY);
        if ($nb > 2) {         #- one succeeded test is not enough :-(
            log::l("AFAIK X server is up");
            return 1;
        }
        time() - $start_time < 60 or last;
        time() - $start_time > 8 and print N("Xorg server is slow to start. Please wait..."), "\n";
        sleep 1;
    }
    log::l("Timeout!!");
    log::l(any::header("Xorg.log"), cat_("/var/log/Xorg.0.log"));
    0;
}

#- if we success to start X in 640x480 using driver "vesa", 
#- we configure to use fb on installed system (to ensure splashy works)
#- (useful on 800x480 netbooks)
sub _may_configure_framebuffer_640x480 {
    my ($o) = @_;

    if ($::rootwidth == 640 && !$o->{allowFB}) {
	$o->{vga} = 785;
	$o->{allowFB} = 1;
    }
}

sub enteringStep {
    my ($o, $step) = @_;

    printf "Entering step `%s'\n", common::remove_translate_context($o->{steps}{$step}{text});
    if (my $banner_title = $o->{steps}{$step}{banner_title}) {
        set_default_step_items($banner_title);
    }
    $o->SUPER::enteringStep($step);
    install::gtk::update_steps_position($o);
}
sub leavingStep {
    my ($o, $step) = @_;
    $o->SUPER::leavingStep($step);
}


sub charsetChanged {
    my ($o) = @_;
    c::init_setlocale();
    install::gtk::load_font($o);
    install::gtk::create_steps_window($o);
}


sub interactive_help_has_id {
    my ($_o, $id) = @_;
    exists $install::help::help::{$id};
}

sub interactive_help_get_id {
    my ($_o, @l) = @_;
    @l = map { 
	join("\n\n", map { s/\n/ /mg; $_ } split("\n\n", translate($install::help::help::{$_}->())));
    } grep { exists $install::help::help::{$_} } @l;
    join("\n\n\n", @l);
}

#-######################################################################################
#- Steps Functions
#-######################################################################################
sub selectLanguage {
    my ($o) = @_;
    $o->SUPER::selectLanguage;
  
    $o->ask_warn('',
formatAlaTeX(N("Your system is low on resources. You may have some problem installing
%s. If that occurs, you can try a text install instead. For this,
press `F1' when booting on CDROM, then enter `text'.", N("Mageia")))) if availableRamMB() < 70; # 70MB

}

#------------------------------------------------------------------------------
sub selectMouse {
    my ($o, $force) = @_;
    my %old = %{$o->{mouse}};
    $o->SUPER::selectMouse($force) or return;
    my $mouse = $o->{mouse};
    $mouse->{type} eq 'none' ||
      $old{type}   eq $mouse->{type}   && 
      $old{name}   eq $mouse->{name}   &&
      $old{device} eq $mouse->{device} and return;

    while (1) {
	my $x_protocol_changed = mouse::change_mouse_live($mouse, \%old);
	mouse::test_mouse_install($mouse, $x_protocol_changed) and return;

	%old = %$mouse;
	$o->SUPER::selectMouse;
	$mouse = $o->{mouse};
    } 
}

sub setPackages {
    my ($o) = @_;
    my (undef, $old_title) = get_default_step_items();
    set_default_step_items(N("Media Selection") || $old_title);
    install::any::setPackages($o);
    set_default_step_items($old_title);
}

sub reallyChooseDesktop {
    my ($o, $title, $message, $choices, $choice) = @_;

    my $w = ugtk3->new($title);

    my %tips = (
        KDE    => N("Install %s Plasma Desktop", N("Mageia")),
        GNOME  => N("Install %s GNOME Desktop", N("Mageia")),
        Custom => N("Custom install"),
    );
    my $prev;
    my @l = map {
	my $val = $_;
	$prev = gtknew('RadioButton', child =>
                          gtknew('Label', text => $val->[1]),
                       tip => $tips{$val->[0]},
		       toggled => sub { $choice = $val if $_[0]->get_active },
                       active => $choice == $val,
		       if_($prev, join => $prev));
	$prev->signal_connect(key_press_event => sub {
				  my (undef, $event) = @_;
				  if (!$event || ($event->keyval & 0x7f) == 0xd) {
				      Gtk3->main_quit;
				  }
			      });
        my $img = gtksignal_connect(
            gtkadd(Gtk3::EventBox->new, gtknew('Image', file => "desktop-$val->[0]")),
            'button-press-event' => sub {
                my %title = (
                    KDE    => N("Plasma Desktop"),
                    GNOME  => N("GNOME Desktop"),
                    Custom => N("Custom Desktop"),
                );

                my $wp = ugtk3->new($title{$val->[0]}, transient => $w->{real_window}, modal => 1);
                gtkadd($wp->{rwindow},
                       gtknew('VBox', children => [
                                0, gtknew('Title2', label => N("Here's a preview of the '%s' desktop.", $val->[1]),
                                          # workaround infamous 6 years old gnome bug #101968:
                                          width => mygtk3::get_label_width(), 
                                      ),
                                1, gtknew('Image', file => "desktop-$val->[0]-big"),
                                0, gtknew('HSeparator'),
                                0, gtknew('HButtonBox', layout => 'end', children_loose => [
                                           gtknew('Button', text => N("Close"), clicked => sub { Gtk3->main_quit })
                                       ]),
                            ]),
                   );
                $wp->{real_window}->set_size_request(-1, -1);
                $wp->{real_window}->grab_focus;
                $wp->{real_window}->show_all;
                $wp->main;
            });
        gtknew('VBox', border_width => 15, spacing => 10, children_tight => [ 
            $img,
            $prev,
        ]);
    } @$choices;

    ugtk3::gtkadd($w->{window},
	   gtknew('VBox', children => [
		    0, gtknew('Title2',
                              # workaround infamous 6 years old gnome bug #101968:
                              width => mygtk3::get_label_width(), label => $message . ' ' .
                                N("Click on images in order to see a bigger preview")),
		    1, gtknew('HButtonBox', children_loose => \@l),
		    0, $w->create_okcancel(N("Next"), undef, '',
                                           [ gtknew('Install_Button', text => N("Help"),
                                                    clicked => sub {
                                                        interactive::gtk::display_help($o, { interactive_help_id => 'chooseDesktop' });
                                                    }), undef, 1 ])
		]));
    $w->main;
    
    $choice;
}

sub reallyChooseGroups {
    my ($o, $size_to_display, $individual, $_compssUsers) = @_;

    my $w = ugtk3->new(N("Package Group Selection"));
    my $w_size = gtknew('Label_Left', text => &$size_to_display, padding => [ 0, 0 ]);
    my @entries;

    my $entry = sub {
	my ($e) = @_;

	my $w = gtknew('CheckButton', 
	       text => translate($e->{label}), 
	       tip => translate($e->{descr}),
	       active_ref => \$e->{selected},
	       toggled => sub { 
		   gtkset($w_size, text => &$size_to_display);
	       });
        push @entries, $w;
        $w;
    };
    #- when restarting this step, it might be necessary to reload the compssUsers.pl (bug 11558). kludgy.
    if (!ref $o->{gtk_display_compssUsers}) { install::any::load_rate_files($o) }
    ugtk3::gtkadd($w->{window},
       gtknew('VBox', children => [
		  1, gtknew('ScrolledWindow', child =>	$o->{gtk_display_compssUsers}->($entry)),
		  if_($individual,
		      0, gtknew('CheckButton', text => N("Individual package selection"), active_ref => $individual),
		  ),
		  0, $w_size,
		  0, gtknew('HSeparator'),
		  0, gtknew('HButtonBox', layout => 'edge', children_tight => [
				gtknew('Install_Button', text => N("Help"), clicked => sub {
				    interactive::gtk::display_help($o, { interactive_help_id => 'choosePackageGroups' }) }),
				gtknew('Button', text => N("Unselect All"), clicked => sub { $_->set_active(0) foreach @entries }),
				gtknew('Button', text => N("Next"), clicked => sub { Gtk3->main_quit }),
			    ]),
	      ],
          )
	  );
    $w->main;
    1;
}

sub choosePackagesTree {
    my ($o, $packages) = @_;

    my $available = install::any::getAvailableSpace($o);
    my $availableCorrected = install::pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);

    my $common;
    $common = {             get_status => sub {
				my $size = install::pkgs::selectedSize($packages);
				N("Total size: %d / %d MB", install::pkgs::correctSize($size / sqr(1024)), $available / sqr(1024));
			    },
			    node_state => sub {
				my $p = install::pkgs::packageByName($packages, $_[0]) or return;
				!install::pkgs::packageMedium($packages, $p)->{ignore} or return;
				$p->arch eq 'src'                       and return;
				$p->flag_base                           and return 'base';
				$p->flag_installed && !$p->flag_upgrade and return 'installed';
				$p->flag_selected                       and return 'selected';
				return 'unselected';
			    },
			    build_tree => sub {
				my ($add_node, $flat) = @_;
				if ($flat) {
				    foreach (sort map { $_->name }
					     grep { $_ && $_->arch ne 'src' }
					     @{$packages->{depslist}}) {
					$add_node->($_, undef);
				    }
				} else {
				    foreach my $root (@{$o->{compssUsers}}) {
					my (@firstchoice, @others);
					my %fl = map { ("CAT_$_" => 1) } @{$root->{flags}};
					foreach my $p (@{$packages->{depslist}}) {
					    my @flags = $p->rflags;
					    next if !($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags);
					    $p->rate >= 3 ?
					      push(@firstchoice, $p->name) :
						push(@others,    $p->name);
					}
					my $root2 = translate($root->{path}) . '|' . translate($root->{label});
					$add_node->($_, $root2)                    foreach sort @firstchoice;
					$add_node->($_, $root2 . '|' . N("Other")) foreach sort @others;
				    }
				}
			    },
			    get_info => sub {
				my $p = install::pkgs::packageByName($packages, $_[0]) or return '';
				my $description = install::pkgs::get_pkg_info($p);

				my $imp = translate($install::pkgs::compssListDesc{$p->flag_base ? 5 : $p->rate});

                                my $tag = { 'foreground' => 'royalblue3' };
				
				  [ [ N("Name: "), $tag ], [ $p->name . "\n" ],
                                    [ N("Version: "), $tag ], [ $p->version . '-' . $p->release . "\n" ],
                                    [ N("Size: "), $tag ], [ N("%d KB\n", $p->size / 1024) ],
                                    if_($imp, [ N("Importance: "), $tag ], [ "$imp\n" ]),
                                    [ "\n" ], [ formatLines($description) ] ];
			    },
			    toggle_nodes => sub {
				my $set_state = shift @_;
				my $isSelection = 0;
				my %l = map { my $p = install::pkgs::packageByName($packages, $_);
					      $isSelection ||= !$p->flag_selected;
					      $p->id => 1 } @_;
				my $state = $packages->{state} ||= {};
				$packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
				my @l = $isSelection ? $packages->resolve_requested($packages->{rpmdb}, $state, \%l,
                                                                                    no_recommends => $::o->{no_recommends},
										    callback_choices => \&install::pkgs::packageCallbackChoices) :
						       $packages->disable_selected($packages->{rpmdb}, $state,
										   map { $packages->{depslist}[$_] } keys %l);
				my $size = install::pkgs::selectedSize($packages);
				my $error;

				if (!@l) {
				    #- no package can be selected or unselected.
				    my @ask_unselect = grep { $state->{rejected}{$_}{backtrack} &&
								exists $l{$packages->search($_, strict_fullname => 1)->id} }
				      keys %{$state->{rejected} || {}};
				    #- extend to closure (to given more detailed and not absurd reason).
				    my %ask_unselect;
				    while (@ask_unselect > keys %ask_unselect) {
					@ask_unselect{@ask_unselect} = ();
					foreach (keys %ask_unselect) {
					    foreach (keys %{$state->{rejected}{$_}{backtrack}{closure} || {}}) {
						next if exists $ask_unselect{$_};
						push @ask_unselect, $_;
					    }
					}
				    }
				    $error = [ N("You cannot select/unselect this package"),
					       formatList(20, map { my $rb = $state->{rejected}{$_}{backtrack};
									    my @froms = keys %{$rb->{closure} || {}};
									    my @unsatisfied = @{$rb->{unsatisfied} || []};
									    my $s = join ", ", ((map { N("due to missing %s", $_) } @froms),
												(map { N("due to unsatisfied %s", $_) } @unsatisfied),
												$rb->{promote} && !$rb->{keep} ? N("trying to promote %s", join(", ", @{$rb->{promote}})) : @{[]},
												$rb->{keep} ? N("in order to keep %s", join(", ", @{$rb->{keep}})) : @{[]},
											       );
									    $_ . ($s ? " ($s)" : '');
									} sort @ask_unselect) ];
				} elsif (install::pkgs::correctSize($size / sqr(1024)) > $available / sqr(1024)) {
				    $error = N("You cannot select this package as there is not enough space left to install it");
				} elsif (@l > @_ && $common->{state}{auto_deps}) {
				    $o->ask_okcancel(N("Confirmation"), [ $isSelection ? 
							   N("The following packages are going to be installed") :
							   N("The following packages are going to be removed"),
							       formatList(20, sort(map { $_->name } @l)) ], 1) or $error = ''; #- defined
				}
				if (defined $error) {
				    $o->ask_warn('', $error) if $error;
				    #- disable selection (or unselection).
				    $packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
				    $isSelection ? $packages->disable_selected($packages->{rpmdb}, $state, @l) :
				                   $packages->resolve_requested($packages->{rpmdb}, $state, { map { $_->id => 1 } @l },
                                                                                no_recommends => $::o->{no_recommends});
				} else {
				    #- keep the changes, update visible state.
				    foreach (@l) {
					$set_state->($_->name, $_->flag_selected ? 'selected' : 'unselected');
				    }
				}
			    },
			    grep_allowed_to_toggle => sub {
				grep { my $p = install::pkgs::packageByName($packages, $_); $p && !$p->flag_base } @_;
			    },
			    grep_unselected => sub {
				grep { !install::pkgs::packageByName($packages, $_)->flag_selected } @_;
			    },
			    check_interactive_to_toggle => sub {
				my $p = install::pkgs::packageByName($packages, $_[0]) or return;
				if ($p->flag_base) {
				    $o->ask_warn('', N("This is a mandatory package, it cannot be unselected"));
				} elsif ($p->flag_installed && !$p->flag_upgrade) {
				    $o->ask_warn('', N("You cannot unselect this package. It is already installed"));
				} elsif ($p->flag_selected && $p->flag_installed) {
				    $o->ask_warn('', N("You cannot unselect this package. It must be upgraded"));
				} else { return 1 }
				return;
			    },
			    auto_deps => N("Show automatically selected packages"),
			    interactive_help => sub { 
                                interactive::gtk::display_help($o, { interactive_help_id => 'choosePackagesTree' }) },

			    ok => N("Install"),
			    cancel => N("Previous"),
			    icons => [ { icon         => 'floppy',
					 help         => N("Load/Save selection"),
					 wait_message => N("Updating package selection"),
					 code         => sub { $o->loadSavePackagesOnFloppy($packages); 1 },
				       }, 
				       { icon         => 'reload',
					 help         => N("Toggle between hierarchical and flat package list"),
					 wait_message => N("Updating package selection"),
					 code         => sub { $common->{state}{flat} = !$common->{state}{flat}; 1 },
				       },
				       if_(0, 
				       { icon         => 'feather',
					 help         => N("Minimal install"),
					 code         => sub {
					     
					     install::any::unselectMostPackages($o);
					     install::pkgs::setSelectedFromCompssList($packages, { SYSTEM => 1 }, $o->{compssListLevel}, $availableCorrected);
					     1;
					 } }),
				     ],
			    state => {
				      auto_deps => 1,
				     },
			  };

    $o->ask_browse_tree_info(N("Software Management"), N("Choose the packages you want to install"), $common);
}

#------------------------------------------------------------------------------
sub beforeInstallPackages {
    my ($o) = @_;    
    $o->SUPER::beforeInstallPackages;
    install::any::copy_advertising($o);
}

#------------------------------------------------------------------------------
sub installPackages {
    my ($o) = @_;

    my ($current_total_size, $last_size, $nb, $total_size, $last_dtime, $_trans_progress_total);

    local $::noborderWhenEmbedded = 1;
    my $w = ugtk3->new(N("Installing"));
    state $show_advertising;
    my $show_release_notes;

    my $pkg_log_widget = gtknew('TextView', editable => 0);
    my ($advertising_image, $change_time, $i);
    my $advertize = sub {
	my ($update) = @_;

	@install::any::advertising_images && $show_advertising && $update or return;
	
	$change_time = time();
	my $f = $install::any::advertising_images[$i++ % @install::any::advertising_images];
	log::l("advertising $f");
	eval { gtkval_modify(\$advertising_image, $f) };
        if (my $err = $@) {
            log::l("cannot load advertising image:\n" . formatError($err));
        }

	if (my $banner = $w->{window}{banner}) {
	    my ($title);
	    my $pl = $f; $pl =~ s/\.png$/.pl/;
	    eval(cat_($pl)) if -e $pl;    
	    # FIXME: This hasn't actually worked for years:
	    #Gtk3::Banner::update_text($banner, $title);
	}
    };

    my $cancel = gtknew('Button', text => N("Cancel"), clicked => sub { $install::pkgs::cancel_install = 1 });
    my $details = gtknew('Button', text_ref => \$show_advertising, 
			 format => sub { $show_advertising ? N("Details") : N("No details") },
			 clicked => sub {
			     gtkval_modify(\$show_advertising, !$show_advertising);
			     $pkg_log_widget->{to_bottom}->('force');
			 });

    state $release_notes ||= any::get_release_notes($o);
    my $rel_notes = gtknew('Button', text => N("Release Notes"), 
                           clicked => sub { $show_release_notes = 1 });

    ugtk3::gtkadd($w->{window}, my $box = gtknew('VBox', children_centered => [
	gtknew('Image', file_ref => \$advertising_image, show_ref => \$show_advertising),
    ]));

    my $progress_total = 0;
    $box->pack_end(gtkshow(gtknew('VBox', border_width => 7, spacing => 3, children_loose => [
	gtknew('ScrolledWindow', child => $pkg_log_widget, 
	       hide_ref => \$show_advertising, height => $::real_windowheight - 215, to_bottom => 1),
	gtknew('ProgressBar', fraction_ref => \ (my $pkg_progress), hide_ref => \$show_advertising),
	gtknew('HButtonBox', layout => 'start', children_loose => [
	    N("Time remaining:"), 
	    gtknew('Label', text_ref => \ (my $msg_time_remaining = N("(estimating...)"))),
	]),
	gtknew('VBox', children_centered => [ gtknew('ProgressBar', fraction_ref => \$progress_total, height => 25) ]),
	gtknew('HSeparator'),
	gtknew('HButtonBox', spacing => 0, layout => 'edge', children_loose => [
            if_($release_notes, $rel_notes),
            gtknew('HButtonBox', spacing => 5, layout => 'end',
                   children_loose => [ $cancel, $details ]),
             ]),
    ])), 0, 1, 0);
    
    #- for the hide_ref & show_ref to work, we must set $show_advertising after packing
    gtkval_modify(\$show_advertising, 
		  defined $show_advertising ? $show_advertising : to_bool(@install::any::advertising_images));

    $details->hide if !@install::any::advertising_images;
    $w->sync;
    $advertize->(0);

    local *install::steps::installCallback = sub {
	my ($packages, $type, $id, $subtype, $amount, $total) = @_;
	if ($type eq 'user' && $subtype eq 'install') {
	    #- $amount and $total are used to return number of package and total size.
	    $nb = $amount;
	    $total_size = $total; $current_total_size = 0;
	    $o->{install_start_time} = 0;
	    mygtk3::gtkadd($pkg_log_widget, text => P("%d package", "%d packages", $nb, $nb));
	    $w->flush;
	} elsif ($type eq 'open') {
	    $advertize->(1) if $show_advertising && $total_size > 20_000_000 && time() - $change_time > 20;

            # display release notes if requested, when not chrooted:
            if ($show_release_notes) {
                undef $show_release_notes;
                any::run_display_release_notes($release_notes);
                $w->flush;
            }
	} elsif ($type eq 'inst' && $subtype eq 'start') {
	    gtkval_modify(\$pkg_progress, 0);
	    my $p = $packages->{depslist}[$id];
	    mygtk3::gtkadd($pkg_log_widget, text => sprintf("\n%s: %s", $p->name, translate($p->summary)));
	    $pkg_log_widget->{to_bottom}->('force');
	    $current_total_size += $last_size;
	    $last_size = $p->size;

	    $w->flush;
	} elsif ($type eq 'inst' && $subtype eq 'progress') {
	    $o->{install_start_time} ||= time();
	    gtkval_modify(\$pkg_progress, $total ? $amount / $total : 0);

	    my $dtime = time() - $o->{install_start_time};
	    my $ratio = 
	      $total_size == 0 ? 0 :
		install::pkgs::size2time($current_total_size + $amount, $total_size) / install::pkgs::size2time($total_size, $total_size);
	    $ratio >= 1 and $ratio = 1;
	    my $total_time = $ratio ? $dtime / $ratio : time();

	    gtkval_modify(\$progress_total, $ratio);
	    if ($dtime != $last_dtime && $current_total_size > 80_000_000) {
		gtkval_modify(\$msg_time_remaining, formatTime(10 * round(max($total_time - $dtime, 0) / 10) + 10));
		$last_dtime = $dtime;
	    }
	    $w->flush;
	}
    };
    my $install_result;
    catch_cdie { $install_result = $o->install::steps::installPackages('interactive') }
      sub { 
	  my $rc = install::steps_interactive::installPackages__handle_error($o, $_[0]);
	  $rc or $w->destroy;
	  $rc;
      };
    if ($install::pkgs::cancel_install) {
	$install::pkgs::cancel_install = 0;
	die 'already displayed';
    }
    $w->destroy;
    $install_result;
}

sub summary_prompt {
    my ($o, $l, $check_complete) = @_;

    my $w = ugtk3->new(N("Summary"));

    my $set_entry_labels;
    my (@table, @widget_list);
    my ($group, $count);
    foreach my $e (@$l) {
	if ($group ne $e->{group}) {
	    push @widget_list, [ @table ] if @table;
	    @table = ();
	    push @widget_list, gtknew('HSeparator', height => 8) if $count;
	    $count++;
	    $group = $e->{group};
	    push @table, [ gtknew('HBox', children_tight => [
                gtknew('Title1', 
                       label => mygtk3::asteriskize(escape_text_for_TextView_markup_format($group))) ]), '' ];
	}
	$e->{widget} = gtknew('Label_Right', width => $::real_windowwidth * 0.72, alignment => [ 1, 1 ], line_wrap => 1, tip => $e->{tip});

	push @table, [], [ gtknew('HBox', children_tight => [ $e->{widget}, gtknew('Alignment', width => 10) ]),
			   gtknew('Button', text => N("Configure"), clicked => sub { 
						 $w->{rwindow}->hide;
						 my ($_old_icon, $old_title) = get_default_step_items();
						 set_default_step_items($e->{banner_title} || $old_title);
						 $e->{clicked}(); 
						 set_default_step_items($old_title);
						 $w->{rwindow}->show;
						 $set_entry_labels->();
					     }) ];
    }
    # add latest group:
    push @widget_list, [ @table ] if @table;

    $set_entry_labels = sub {
	foreach (@$l) {
	    my $t;
	    if ($_->{val}) {
		$t = $_->{val}() || '<span foreground="red">' . N("not configured") . '</span>';
		$t =~ s/&/&amp;/g;
	    }
	    gtkset($_->{widget}, text_markup => $_->{label} . ($t ? " - $t" : ''));
	}
    };
    $set_entry_labels->();

    my $help_sub = sub { interactive::gtk::display_help($o, { interactive_help_id => 'misc-params' }) };

    ugtk3::gtkadd($w->{window},
	   gtknew('VBox', spacing => 5, children => [
		    1, gtknew('ScrolledWindow', h_policy => 'never',
		    child => gtknew('TextView', 
                        text => [ [ gtknew('VBox', children_tight => [ map {
                            ref($_) eq 'ARRAY' ? gtknew('Table', mcc => 1, row_spacings => 2, children => $_) : $_;
                        } @widget_list ]) ] ])),
		    0, $w->create_okcancel(undef, '', '', if_($help_sub, [ gtknew('Install_Button', text => N("Help"),
                                                                                  clicked => $help_sub), undef, 1 ]))
		  ]));

    $w->{real_window}->show_all; # else widgets embedded in textview are hidden

    $w->main($check_complete);
}

#- group by CD
sub ask_deselect_media__copy_on_disk {
    my ($o, $hdlists, $o_copy_rpms_on_disk) = @_;

    my @names = uniq(map { $_->{name} } @$hdlists);
    my %selection = map { $_->{name} => !$_->{ignore} } @$hdlists;

    if (@names > 1 || $o_copy_rpms_on_disk) {
	my $w = ugtk3->new(N("Media Selection"));
	$w->sync;
	ugtk3::gtkadd(
	    $w->{window},
	    gtknew('VBox', children => [
	      @names > 1 ? (
		0, gtknew('Label_Left', padding => [ 0, 0 ],
                              # workaround infamous 6 years old gnome bug #101968:
                              width => mygtk3::get_label_width(),
                              text => formatAlaTeX(N("The following installation media have been found.
If you want to skip some of them, you can unselect them now."))),
		1, gtknew('ScrolledWindow', child => gtknew('VBox', children => [
		      map {
			my $b = gtknew('CheckButton', text => $_, active_ref => \$selection{$_});
			$b->set_sensitive(0) if $_ eq $names[0];
			(0, $b);
		      } @names
		])),
		if_(@names <= 8, 1, ''),
		0, gtknew('HSeparator'),
	      ) : (),
		if_($o_copy_rpms_on_disk,
		    0, gtknew('Label_Left', padding => [ 0, 0 ],
                              # workaround infamous 6 years old gnome bug #101968:
                              width => mygtk3::get_label_width(),
                              text => N("You have the option to copy the contents of the CDs onto the hard disk drive before installation.
It will then continue from the hard disk drive and the packages will remain available once the system is fully installed.")),
		    0, gtknew('CheckButton', text => N("Copy whole CDs"), active_ref => $o_copy_rpms_on_disk),
		    1, gtknew('Alignment'),
		    0, gtknew('HSeparator'),
		),
		0, gtknew('HButtonBox', layout => 'edge', children_tight => [
                    gtknew('Install_Button', text => N("Help"), clicked => sub {
                               interactive::gtk::display_help($o, { interactive_help_id => 'choosePackagesTree' }) }),
		    gtknew('Button', text => N("Next"), clicked => sub { Gtk3->main_quit }),
		]),
	    ]),
	);
	$w->main;
    }
    $_->{ignore} = !$selection{$_->{name}} foreach @$hdlists;
    log::l("keeping media " . join ',', map { $_->{rpmsdir} } grep { !$_->{ignore} } @$hdlists);
}


1;
4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388
# translation of DrakX-vi.po to 
# Vietnamese Translation for DrakX module.
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
# Trinh Minh Thanh <tmthanh@yahoo.com> 2001-2005.
# Larry Nguyen <larry@vnlinux.org> 2005.
msgid ""
msgstr ""
"Project-Id-Version: DrakX-vi version\n"
"Report-Msgid-Bugs-To: tmthanh@yahoo.com\n"
"POT-Creation-Date: 2012-12-14 15:17+0100\n"
"PO-Revision-Date: 2005-06-02 21:17+0700\n"
"Last-Translator: Larry Nguyen <larry@vnlinux.org>\n"
"Language-Team:  <gnomevi-list@lists.sourceforge.net>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: any.pm:261 any.pm:971 diskdrake/interactive.pm:645
#: diskdrake/interactive.pm:869 diskdrake/interactive.pm:931
#: diskdrake/interactive.pm:1036 diskdrake/interactive.pm:1266
#: diskdrake/interactive.pm:1324 do_pkgs.pm:242 do_pkgs.pm:287
#: harddrake/sound.pm:270 interactive.pm:588 pkgs.pm:287
#, c-format
msgid "Please wait"
msgstr "Hãy đợi"

#: any.pm:261
#, c-format
msgid "Bootloader installation in progress"
msgstr "Đang cài đặt trình nạp khởi động"

#: any.pm:272
#, c-format
msgid ""
"LILO wants to assign a new Volume ID to drive %s.  However, changing\n"
"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
"error.\n"
"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
"\n"
"Assign a new Volume ID?"
msgstr ""
"LILO cần tạo Volume ID mới cho drive %s.  Dù sao việc thay đổi Volume ID\n"
"của đĩa khởi động Windows NT, 2000, XP là lỗi nghiêm trọng của Windows.\n"
"Lưu ý này không ảnh hưởng đến các đĩa dữ liệu Windows 95/98, hay NT.\n"
"\n"
"Có tạo một Volume ID mới không?"

#: any.pm:283
#, c-format
msgid "Installation of bootloader failed. The following error occurred:"
msgstr "Không cài đặt được trình khởi động. Xảy ra lỗi như sau:"

#: any.pm:289
#, c-format
msgid ""
"You may need to change your Open Firmware boot-device to\n"
" enable the bootloader.  If you do not see the bootloader prompt at\n"
" reboot, hold down Command-Option-O-F at reboot and enter:\n"
" setenv boot-device %s,\\\\:tbxi\n"
" Then type: shut-down\n"
"At your next boot you should see the bootloader prompt."
msgstr ""
"Bạn cần thay đổi thiết bị khởi động Trình Cơ Sở Mở để cho phép\n"
" chạy trình khởi động. Nếu không nhìn thấy dấu nhắc của trình\n"
" khởi động khi khởi động lại, nhấn và giữ Command-Option-O-F\n"
" lúc khởi động lại rồi nhập:\n"
" setenv boot-device %s,\\\\:tbxi\n"
" Rồi gõ: shut-down\n"
"Lần khởi động tiếp theo, bạn sẽ nhìn thấy dấu nhắc của trình khởi động."

#: any.pm:329
#, c-format
msgid ""
"You decided to install the bootloader on a partition.\n"
"This implies you already have a bootloader on the hard disk drive you boot "
"(eg: System Commander).\n"
"\n"
"On which drive are you booting?"
msgstr ""
"Bạn đã quyết định cài đặt trình nạp khởi động lên một phân vùng.\n"
"Như vậy có nghĩa là đĩa khởi động đã có một trình nạp khởi động rồi (vd: "
"System Commander).\n"
"\n"
"Bạn đang khởi động từ đĩa nào ?"

#: any.pm:340
#, fuzzy, c-format
msgid "Bootloader Installation"
msgstr "Đang cài đặt trình nạp khởi động"

#: any.pm:344
#, c-format
msgid "Where do you want to install the bootloader?"
msgstr "Bạn muốn cài đặt trình khởi động vào đâu?"

#: any.pm:368
#, fuzzy, c-format
msgid "First sector (MBR) of drive %s"
msgstr "Sector đầu tiên của đĩa (MBR)"

#: any.pm:370
#, c-format
msgid "First sector of drive (MBR)"
msgstr "Sector đầu tiên của đĩa (MBR)"

#: any.pm:372
#, c-format
msgid "First sector of the root partition"
msgstr "Sector đầu tiên của phân vùng root"

#: any.pm:374
#, c-format
msgid "On Floppy"
msgstr "Trên đĩa mềm"

#: any.pm:376 pkgs.pm:283 ugtk2.pm:526
#, c-format
msgid "Skip"
msgstr "Cho qua"

#: any.pm:411
#, c-format
msgid "Boot Style Configuration"
msgstr "Cấu Hình Khuôn Thức Khởi Động"

#: any.pm:427 any.pm:460 any.pm:461
#, c-format
msgid "Bootloader main options"
msgstr "Tùy chọn chính của trình nạp khởi động"

#: any.pm:431
#, c-format
msgid "Bootloader"
msgstr "Trình nạp khởi động"

#: any.pm:432 any.pm:464
#, c-format
msgid "Bootloader to use"
msgstr "Dùng trình nạp khởi động"

#: any.pm:435 any.pm:467
#, c-format
msgid "Boot device"
msgstr "Thiết bị khởi động"

#: any.pm:438
#, c-format
msgid "Main options"
msgstr ""

#: any.pm:439
#, c-format
msgid "Delay before booting default image"
msgstr "Thời gian chờ đợi trước khi khởi động ảnh mặc định"

#: any.pm:440
#, c-format
msgid "Enable ACPI"
msgstr "Bật chạy ACPI"

#: any.pm:441
#, fuzzy, c-format
msgid "Enable SMP"
msgstr "Bật chạy ACPI"

#: any.pm:442
#, fuzzy, c-format
msgid "Enable APIC"
msgstr "Bật chạy ACPI"

#: any.pm:444
#, fuzzy, c-format
msgid "Enable Local APIC"
msgstr "Bật chạy ACPI"

#: any.pm:445 security/level.pm:63
#, c-format
msgid "Security"
msgstr "Bảo mật"

#: any.pm:446 any.pm:906 any.pm:925 authentication.pm:249
#: diskdrake/smbnfs_gtk.pm:181
#, c-format
msgid "Password"
msgstr "Mật khẩu"

#: any.pm:449 authentication.pm:260
#, c-format
msgid "The passwords do not match"
msgstr "Mật khẩu không khớp nhau"

#: any.pm:449 authentication.pm:260 diskdrake/interactive.pm:1499
#, c-format
msgid "Please try again"
msgstr "Hãy thử lại"

#: any.pm:451
#, fuzzy, c-format
msgid "You cannot use a password with %s"
msgstr "Không thể dùng một hệ thống file đã mã hóa cho điểm gắn kết %s"

#: any.pm:455 any.pm:909 any.pm:927 authentication.pm:250
#, c-format
msgid "Password (again)"
msgstr "Nhập lại mật khẩu"

#: any.pm:456
#, c-format
msgid "Clean /tmp at each boot"
msgstr "Làm sạch /tmp mỗi khi khởi động"

#: any.pm:466
#, c-format
msgid "Init Message"
msgstr "Thông điệp của Init"

#: any.pm:468
#, c-format
msgid "Open Firmware Delay"
msgstr "Open Firmware Delay"

#: any.pm:469
#, c-format
msgid "Kernel Boot Timeout"
msgstr "Thời gian chờ khởi động Kernel"

#: any.pm:470
#, c-format
msgid "Enable CD Boot?"
msgstr "Cho phép khởi động từ CD?"

#: any.pm:471
#, c-format
msgid "Enable OF Boot?"
msgstr "Cho phép khởi động OF?"

#: any.pm:472
#, c-format
msgid "Default OS?"
msgstr "Hệ điều hành mặc định nào?"

#: any.pm:546
#, c-format
msgid "Image"
msgstr "Ảnh"

#: any.pm:547 any.pm:561
#, c-format
msgid "Root"
msgstr "Root"

#: any.pm:548 any.pm:574
#, c-format
msgid "Append"
msgstr "Bổ sung"

#: any.pm:550
#, c-format
msgid "Xen append"
msgstr ""

#: any.pm:552
#, c-format
msgid "Requires password to boot"
msgstr ""

#: any.pm:554
#, c-format
msgid "Video mode"
msgstr "Chế độ Video"

#: any.pm:556
#, c-format
msgid "Initrd"
msgstr "Initrd"

#: any.pm:557
#, c-format
msgid "Network profile"
msgstr "Lý lịch mạng"

#: any.pm:566 any.pm:571 any.pm:573 diskdrake/interactive.pm:411
#, c-format
msgid "Label"
msgstr "Nhãn"

#: any.pm:568 any.pm:576 harddrake/v4l.pm:438
#, c-format
msgid "Default"
msgstr "Mặc định"

#: any.pm:575
#, c-format
msgid "NoVideo"
msgstr "Không có Video"

#: any.pm:586
#, c-format
msgid "Empty label not allowed"
msgstr "Không được để nhãn trống"

#: any.pm:587
#, c-format
msgid "You must specify a kernel image"
msgstr "Phải chỉ định một ảnh Kernel"

#: any.pm:587
#, c-format
msgid "You must specify a root partition"
msgstr "Phải chỉ định một phân vùng root"

#: any.pm:588
#, c-format
msgid "This label is already used"
msgstr "Nhãn nãy được dùng rồi"

#: any.pm:606
#, c-format
msgid "Which type of entry do you want to add?"
msgstr "Bạn muốn thêm mục nhập kiểu nào?"

#: any.pm:607
#, c-format
msgid "Linux"
msgstr "Linux"

#: any.pm:607
#, c-format
msgid "Other OS (SunOS...)"
msgstr "Hệ điều hành khác (SunOS...)"

#: any.pm:608
#, c-format
msgid "Other OS (MacOS...)"
msgstr "Hệ điều hành khác (MacOS...)"

#: any.pm:608
#, c-format
msgid "Other OS (Windows...)"
msgstr "Hệ điều hành khác (Windows...)"

#: any.pm:655
#, fuzzy, c-format
msgid "Bootloader Configuration"
msgstr "Cấu Hình Khuôn Thức Khởi Động"

#: any.pm:656
#, 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 ""
"Đây là các mục nhập hiện có trên menu khởi động.\n"
"Bạn có thể thêm hoặc thay đổi các mục hiện thời."

#: any.pm:867
#, c-format
msgid "access to X programs"
msgstr "truy cập tới các chương trình X"

#: any.pm:868
#, c-format
msgid "access to rpm tools"
msgstr "truy cập tới các công cụ rpm"

#: any.pm:869
#, c-format
msgid "allow \"su\""
msgstr "cho phép \"su\""

#: any.pm:870
#, c-format
msgid "access to administrative files"
msgstr "truy cập tới các tập tin quản trị"

#: any.pm:871
#, c-format
msgid "access to network tools"
msgstr "truy cập tới các công cụ mạng"

#: any.pm:872
#, c-format
msgid "access to compilation tools"
msgstr "truy cập tới các công cụ biên dịch"

#: any.pm:878
#, c-format
msgid "(already added %s)"
msgstr "(đã thêm %s rồi)"

#: any.pm:884
#, c-format
msgid "Please give a user name"
msgstr "Hãy cho tên người dùng"

#: any.pm:885
#, fuzzy, c-format
msgid ""
"The user name must start with a lower case letter followed by only lower "
"cased letters, numbers, `-' and `_'"
msgstr "Tên người dùng chỉ sử dụng chữ thường, số , `-' và `_'"

#: any.pm:886
#, c-format
msgid "The user name is too long"
msgstr "Tên người dùng quá dài"

#: any.pm:887
#, c-format
msgid "This user name has already been added"
msgstr "Tên người dùng này đã được thêm vào rồi"

#: any.pm:893 any.pm:929
#, c-format
msgid "User ID"
msgstr "ID Người Dùng"

#: any.pm:893 any.pm:930
#, c-format
msgid "Group ID"
msgstr "ID Nhóm"

#: any.pm:894
#, c-format
msgid "%s must be a number"
msgstr "Tùy chọn %s phải là một số"

#: any.pm:895
#, c-format
msgid "%s should be above 500. Accept anyway?"
msgstr "%s nên lớn hơn 500. Chấp nhận giá trị này?"

#: any.pm:899
#, fuzzy, c-format
msgid "User management"
msgstr "Tên người dùng"

#: any.pm:904
#, c-format
msgid "Enable guest account"
msgstr ""

#: any.pm:905 authentication.pm:236
#, c-format
msgid "Set administrator (root) password"
msgstr "Đặt mật khẩu root"

#: any.pm:911
#, fuzzy, c-format
msgid "Enter a user"
msgstr ""
"Nhập người dùng\n"
"%s"

#: any.pm:913
#, c-format
msgid "Icon"
msgstr "Biểu tượng"

#: any.pm:916
#, c-format
msgid "Real name"
msgstr "Tên thật"

#: any.pm:923
#, c-format
msgid "Login name"
msgstr "Tên đăng nhập"

#: any.pm:928
#, c-format
msgid "Shell"
msgstr "Shell"

#: any.pm:971
#, c-format
msgid "Please wait, adding media..."
msgstr "Hãy chờ, đang thêm phương tiện..."

#: any.pm:1003 security/l10n.pm:14
#, c-format
msgid "Autologin"
msgstr "Đăng nhập tự động"

#: any.pm:1004
#, c-format
msgid "I can set up your computer to automatically log on one user."
msgstr "Có thể thiết lập máy tính tự động đăng nhập vào một người dùng."

#: any.pm:1005
#, c-format
msgid "Use this feature"
msgstr "Bạn muốn dùng tính năng này không?"

#: any.pm:1006
#, c-format
msgid "Choose the default user:"
msgstr "Chọn người dùng mặc định:"

#: any.pm:1007
#, c-format
msgid "Choose the window manager to run:"
msgstr "Chọn chạy trình quản lý cửa sổ:"

#: any.pm:1018 any.pm:1032 any.pm:1100
#, c-format
msgid "Release Notes"
msgstr "Giới thiệu phiên bản"

#: any.pm:1039 any.pm:1389 interactive/gtk.pm:817
#, c-format
msgid "Close"
msgstr "Đóng"

#: any.pm:1086
#, c-format
msgid "License agreement"
msgstr "Chấp thuận giấy phép"

#: any.pm:1088 diskdrake/dav.pm:26
#, c-format
msgid "Quit"
msgstr "Thoát"

#: any.pm:1095
#, fuzzy, c-format
msgid "Do you accept this license ?"
msgstr "Bạn có giao diện khác nữa không?"

#: any.pm:1096
#, c-format
msgid "Accept"
msgstr "Chấp thuận"

#: any.pm:1096
#, c-format
msgid "Refuse"
msgstr "Từ chối"

#: any.pm:1122 any.pm:1185
#, c-format
msgid "Please choose a language to use"
msgstr "Hãy chọn một ngôn ngữ để dùng"

#: any.pm:1150
#, fuzzy, c-format
msgid ""
"%s 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 ""
"Mageia có khả năng hỗ trợ đa ngôn ngữ. Hãy chọn\n"
"các ngôn ngữ mà bạn muốn cài đặt. Chúng sẽ sẵn có để dùng\n"
"khi hoàn thành cài đặt và khởi động lại hệ thống."

#: any.pm:1152 fs/partitioning_wizard.pm:174
#, c-format
msgid "Mageia"
msgstr "Mageia"

#: any.pm:1153
#, fuzzy, c-format
msgid "Multiple languages"
msgstr "Mọi ngôn ngữ"

#: any.pm:1154
#, c-format
msgid "Select Additional Languages"
msgstr ""

#: any.pm:1163 any.pm:1194
#, c-format
msgid "Old compatibility (non UTF-8) encoding"
msgstr ""

#: any.pm:1164
#, c-format
msgid "All languages"
msgstr "Mọi ngôn ngữ"

#: any.pm:1186
#, c-format
msgid "Language choice"
msgstr "Chọn ngôn ngữ"

#: any.pm:1240
#, c-format
msgid "Country / Region"
msgstr "Quốc gia / Vùng"

#: any.pm:1241
#, c-format
msgid "Please choose your country"
msgstr "Hãy chọn quốc gia của bạn"

#: any.pm:1243
#, c-format
msgid "Here is the full list of available countries"
msgstr "Đây là danh sách đầy đủ các quốc gia hiện có "

#: any.pm:1244
#, c-format
msgid "Other Countries"
msgstr "Quốc gia khác"

#: any.pm:1244 interactive.pm:489 interactive/gtk.pm:445
#, c-format
msgid "Advanced"
msgstr "Nâng cao"

#: any.pm:1250
#, c-format
msgid "Input method:"
msgstr "Phương thức nhập:"

#: any.pm:1253
#, c-format
msgid "None"
msgstr "Không"

#: any.pm:1334
#, c-format
msgid "No sharing"
msgstr "Không chia sẻ"

#: any.pm:1334
#, c-format
msgid "Allow all users"
msgstr "Cho phép mọi người dùng"

#: any.pm:1334
#, c-format
msgid "Custom"
msgstr "Tùy chỉnh"

#: any.pm:1338
#, 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 ""
"Cho phép người dùng chia sẻ một số thư mục của họ không?\n"
"Nếu cho phép, người dùng chỉ việc nhấn \"Chia sẻ\" trong Konqueror và "
"Nautilus.\n"
"\n"
"\"Tùy chỉnh\" cho phép một chuỗi người dùng.\n"

#: any.pm:1350
#, c-format
msgid ""
"NFS: the traditional Unix file sharing system, with less support on Mac and "
"Windows."
msgstr ""
"NFS: hệ thống chia sẻ tập tin truyền thống của Unix, không có nhiều hỗ trợ "
"cho Mac và Windows."

#: any.pm:1353
#, c-format
msgid ""
"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
"systems."
msgstr ""
"SMB: hệ thống chia sẻ tập tin được hệ điều hành Windows, Mac OS X và nhiều "
"hệ thống Linux mới."

#: any.pm:1361
#, c-format
msgid ""
"You can export using NFS or SMB. Please select which you would like to use."
msgstr "Có thể dùng NFS hay SMB để xuất ra. Hãy chọn cái mà bạn thích dùng."

#: any.pm:1389
#, c-format
msgid "Launch userdrake"
msgstr "Chạy UserDrake"

#: any.pm:1391
#, c-format
msgid ""
"The per-user sharing uses the group \"fileshare\". \n"
"You can use userdrake to add a user to this group."
msgstr ""
"Việc chia sẻ cho từng người dùng sử dụng nhóm\n"
"\"chia sẻ tập tin\". Có thể dùng userdrake để thêm người dùng vào nhóm này."

#: any.pm:1498
#, fuzzy, c-format
msgid ""
"You need to logout and back in again for changes to take effect. Press OK to "
"logout now."
msgstr "Bạn cần đăng xuất rồi đăng nhập trở lại để các thay đổi có tác dụng"

#: any.pm:1502
#, c-format
msgid "You need to log out and back in again for changes to take effect"
msgstr "Bạn cần đăng xuất rồi đăng nhập trở lại để các thay đổi có tác dụng"

#: any.pm:1537
#, c-format
msgid "Timezone"
msgstr "Múi giờ"

#: any.pm:1537
#, c-format
msgid "Which is your timezone?"
msgstr "Bạn ở múi giờ nào?"

#: any.pm:1560 any.pm:1562
#, c-format
msgid "Date, Clock & Time Zone Settings"
msgstr ""

#: any.pm:1563
#, c-format
msgid "What is the best time?"
msgstr ""

#: any.pm:1567
#, fuzzy, c-format
msgid "%s (hardware clock set to UTC)"
msgstr "Đồng hồ trong máy đặt theo GMT"

#: any.pm:1568
#, fuzzy, c-format
msgid "%s (hardware clock set to local time)"
msgstr "Đồng hồ trong máy đặt theo GMT"

#: any.pm:1570
#, c-format
msgid "NTP Server"
msgstr "Máy chủ NTP"

#: any.pm:1571
#, c-format
msgid "Automatic time synchronization (using NTP)"
msgstr "Đồng bộ hóa tự động thời gian (dùng NTP)"

#: authentication.pm:24
#, c-format
msgid "Local file"
msgstr "Tập tin cục bộ"

#: authentication.pm:25
#, c-format
msgid "LDAP"
msgstr "LDAP"

#: authentication.pm:26
#, c-format
msgid "NIS"
msgstr "NIS"

#: authentication.pm:27
#, c-format
msgid "Smart Card"
msgstr "Smart Card"

#: authentication.pm:28 authentication.pm:215
#, c-format
msgid "Windows Domain"
msgstr "Miền Windows"

#: authentication.pm:29
#, c-format
msgid "Kerberos 5"
msgstr ""

#: authentication.pm:65
#, c-format
msgid "Local file:"
msgstr "Tập tin cục bộ:"

#: authentication.pm:65
#, c-format
msgid ""
"Use local for all authentication and information user tell in local file"
msgstr ""
"Dùng cục bộ cho mọi xác thực và thông tin người dùng trong tập tin cục bộ "

#: authentication.pm:66
#, c-format
msgid "LDAP:"
msgstr "LDAP:"

#: authentication.pm:66
#, c-format
msgid ""
"Tells your computer to use LDAP for some or all authentication. LDAP "
"consolidates certain types of information within your organization."
msgstr ""
"Báo cho máy tính biết là dùng LDAP cho một số hay mọi chứng thực. LDAP hợp "
"nhất các loại thông tin trong hệ thống."

#: authentication.pm:67
#, c-format
msgid "NIS:"
msgstr "NIS:"

#: authentication.pm:67
#, 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 ""
"Cho phép bạn chạy một nhóm máy tính trong cùng miền NIS (dịch vụ thông tin "
"mạng) bằng mật khẩu thông thường và tập tin của nhóm."

#: authentication.pm:68
#, c-format
msgid "Windows Domain:"
msgstr "Miền Windows:"

#: authentication.pm:68
#, c-format
msgid ""
"Winbind allows the system to retrieve information and authenticate users in "
"a Windows domain."
msgstr ""
"Winbind cho phép hệ thống nhận thông tin và xác thực người dùng trong miền "
"Windows."

#: authentication.pm:69
#, c-format
msgid "Kerberos 5 :"
msgstr ""

#: authentication.pm:69
#, c-format
msgid "With Kerberos and LDAP for authentication in Active Directory Server "
msgstr ""

#: authentication.pm:106 authentication.pm:140 authentication.pm:159
#: authentication.pm:160 authentication.pm:186 authentication.pm:210
#: authentication.pm:865
#, c-format
msgid " "
msgstr ""

#: authentication.pm:107 authentication.pm:141 authentication.pm:187
#: authentication.pm:211
#, fuzzy, c-format
msgid "Welcome to the Authentication Wizard"
msgstr "Yêu cầu Xác Thực Miền"

#: authentication.pm:109
#, c-format
msgid ""
"You have selected LDAP authentication. Please review the configuration "
"options below "
msgstr ""

#: authentication.pm:111 authentication.pm:166
#, c-format
msgid "LDAP Server"
msgstr "Máy chủ LDAP"

#: authentication.pm:112 authentication.pm:167
#, fuzzy, c-format
msgid "Base dn"
msgstr "LDAP Base dn"

#: authentication.pm:113
#, c-format
msgid "Fetch base Dn "
msgstr ""

#: authentication.pm:115 authentication.pm:170
#, c-format
msgid "Use encrypt connection with TLS "
msgstr ""

#: authentication.pm:116 authentication.pm:171
#, c-format
msgid "Download CA Certificate "
msgstr ""

#: authentication.pm:118 authentication.pm:151
#, c-format
msgid "Use Disconnect mode "
msgstr ""

#: authentication.pm:119 authentication.pm:172
#, fuzzy, c-format
msgid "Use anonymous BIND "
msgstr "Dùng BIND nặc danh"

#: authentication.pm:120 authentication.pm:123 authentication.pm:125
#: authentication.pm:129
#, c-format
msgid "  "
msgstr ""

#: authentication.pm:121 authentication.pm:173
#, c-format
msgid "Bind DN "
msgstr ""

#: authentication.pm:122 authentication.pm:174
#, fuzzy, c-format
msgid "Bind Password "
msgstr "Mật khẩu"

#: authentication.pm:124
#, c-format
msgid "Advanced path for group "
msgstr ""

#: authentication.pm:126
#, fuzzy, c-format
msgid "Password base"
msgstr "Mật khẩu"

#: authentication.pm:127
#, fuzzy, c-format
msgid "Group base"
msgstr "ID Nhóm"

#: authentication.pm:128
#, c-format
msgid "Shadow base"
msgstr ""

#: authentication.pm:143
#, c-format
msgid ""
"You have selected Kerberos 5 authentication. Please review the configuration "
"options below "
msgstr ""

#: authentication.pm:145
#, fuzzy, c-format
msgid "Realm "
msgstr "Tên thật"

#: authentication.pm:147
#, fuzzy, c-format
msgid "KDCs Servers"
msgstr "Máy chủ LDAP"

#: authentication.pm:149
#, c-format
msgid "Use DNS to locate KDC for the realm"
msgstr ""

#: authentication.pm:150
#, c-format
msgid "Use DNS to locate realms"
msgstr ""

#: authentication.pm:155
#, fuzzy, c-format
msgid "Use local file for users information"
msgstr "Dùng libsafe cho các máy chủ"

#: authentication.pm:156
#, fuzzy, c-format
msgid "Use LDAP for users information"
msgstr "Thông tin đĩa cứng"

#: authentication.pm:162
#, c-format
msgid ""
"You have selected Kerberos 5 for authentication, now you must choose the "
"type of users information "
msgstr ""

#: authentication.pm:168
#, c-format
msgid "Fecth base Dn "
msgstr ""

#: authentication.pm:189
#, c-format
msgid ""
"You have selected NIS authentication. Please review the configuration "
"options below "
msgstr ""

#: authentication.pm:191
#, c-format
msgid "NIS Domain"
msgstr "Miền NIS"

#: authentication.pm:192
#, c-format
msgid "NIS Server"
msgstr "Máy chủ NIS"

#: authentication.pm:213
#, c-format
msgid ""
"You have selected Windows Domain authentication. Please review the "
"configuration options below "
msgstr ""

#: authentication.pm:217
#, fuzzy, c-format
msgid "Domain Model "
msgstr "Miền"

#: authentication.pm:219
#, fuzzy, c-format
msgid "Active Directory Realm "
msgstr "Active Directory với SFU"

#: authentication.pm:220
#, fuzzy, c-format
msgid "DNS Domain"
msgstr "Miền NIS"

#: authentication.pm:221
#, fuzzy, c-format
msgid "DC Server"
msgstr "Máy chủ LDAP"

#: authentication.pm:235 authentication.pm:251
#, c-format
msgid "Authentication"
msgstr "Xác nhận"

#: authentication.pm:237
#, c-format
msgid "Authentication method"
msgstr "phương thức chứng thực"

#. -PO: keep this short or else the buttons will not fit in the window
#: authentication.pm:242
#, c-format
msgid "No password"
msgstr "Không có mật khẩu"

#: authentication.pm:263
#, c-format
msgid "This password is too short (it must be at least %d characters long)"
msgstr "Mật khẩu này đơn giản quá (phải gồm ít nhất %d ký tự)"

#: authentication.pm:373
#, c-format
msgid "Cannot use broadcast with no NIS domain"
msgstr "Không thể dùng phát thanh khi không có tên vùng NIS"

#: authentication.pm:860
#, c-format
msgid "Select file"
msgstr "Chọn tập tin"

#: authentication.pm:866
#, fuzzy, c-format
msgid "Domain Windows for authentication : "
msgstr "Yêu cầu Xác Thực Miền"

#: authentication.pm:868
#, c-format
msgid "Domain Admin User Name"
msgstr "Tên Người Quản Trị Miền"

#: authentication.pm:869
#, c-format
msgid "Domain Admin Password"
msgstr "Mật Khẩu Quản Trị Miền"

#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
#: bootloader.pm:998
#, 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 ""
"Cha`o mu+`ng ba.n to+'i chu+o+ng tri`nh cho.n he^. ddie^`u ha`nh!\n"
"\n"
"Ha~y cho.n he^. ddie^`u ha`nh tu+` danh sa'ch tre^n hay\n"
"cho+` dde^? kho+`i ddo^.ng theo ma(.c ddi.nh\n"
"\n"

#: bootloader.pm:1190
#, c-format
msgid "LILO with text menu"
msgstr "LILO với menu văn bản"

#: bootloader.pm:1191
#, c-format
msgid "GRUB2 with graphical menu"
msgstr ""

#: bootloader.pm:1192
#, c-format
msgid "GRUB with graphical menu"
msgstr ""

#: bootloader.pm:1193
#, c-format
msgid "GRUB with text menu"
msgstr ""

#: bootloader.pm:1194
#, c-format
msgid "Yaboot"
msgstr "Yaboot"

#: bootloader.pm:1195
#, c-format
msgid "SILO"
msgstr ""

#: bootloader.pm:1281
#, c-format
msgid "not enough room in /boot"
msgstr "không đủ chỗ trong /boot"

#: bootloader.pm:2030
#, c-format
msgid "You cannot install the bootloader on a %s partition\n"
msgstr "Không thể cài đặt trình nạp khởi động lên phân vùng %s\n"

#: bootloader.pm:2197
#, c-format
msgid ""
"Your bootloader configuration must be updated because partition has been "
"renumbered"
msgstr "Cần cập nhật cấu hình trình khởi động vì phân vùng đã bị đánh số lại"

#: bootloader.pm:2210
#, c-format
msgid ""
"The bootloader cannot be installed correctly. You have to boot rescue and "
"choose \"%s\""
msgstr ""
"Không cài đặt được trình khởi động. Bạn phải khởi động lại vào chế độ trợ "
"cứu và chọn \"%s\""

#: bootloader.pm:2211
#, c-format
msgid "Re-install Boot Loader"
msgstr "Cài lại trình nạp khởi động"

#: common.pm:142
#, fuzzy, c-format
msgid "B"
msgstr "KB"

#: common.pm:142
#, c-format
msgid "KB"
msgstr "KB"

#: common.pm:142
#, c-format
msgid "MB"
msgstr "MB"

#: common.pm:142
#, c-format
msgid "GB"
msgstr "GB"

#: common.pm:142 common.pm:151
#, c-format
msgid "TB"
msgstr "TB"

#: common.pm:159
#, c-format
msgid "%d minutes"
msgstr "%d phút"

#: common.pm:161
#, c-format
msgid "1 minute"
msgstr "1 phút"

#: common.pm:163
#, c-format
msgid "%d seconds"
msgstr "%d giây"

#: common.pm:393
#, c-format
msgid "command %s missing"
msgstr ""

#: diskdrake/dav.pm:17
#, c-format
msgid ""
"WebDAV is a protocol that allows you to mount a web server's directory\n"
"locally, and treat it like a local filesystem (provided the web server is\n"
"configured as a WebDAV server). If you would like to add WebDAV mount\n"
"points, select \"New\"."
msgstr ""
"WebDAV là một giao thức cho phép gắn kết cục bộ thư mục của máy\n"
"chủ web, và coi nó như là hệ thống tập tin cục bộ (với điều kiện máy chủ\n"
"web được cấu hình như một máy chủ WebDAV). Nếu muốn thêm các điểm\n"
"gắn kết WebDAV, hãy chọn \"Mới\"."

#: diskdrake/dav.pm:25
#, c-format
msgid "New"
msgstr "Mới"

#: diskdrake/dav.pm:63 diskdrake/interactive.pm:418 diskdrake/smbnfs_gtk.pm:75
#, c-format
msgid "Unmount"
msgstr "Thôi gắn kết"

#: diskdrake/dav.pm:64 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:76
#, c-format
msgid "Mount"
msgstr "Gắn kết"

#: diskdrake/dav.pm:65
#, c-format
msgid "Server"
msgstr "Máy chủ"

#: diskdrake/dav.pm:66 diskdrake/interactive.pm:408
#: diskdrake/interactive.pm:722 diskdrake/interactive.pm:740
#: diskdrake/interactive.pm:744 diskdrake/removable.pm:23
#: diskdrake/smbnfs_gtk.pm:79
#, c-format
msgid "Mount point"
msgstr "Điểm gắn kết"

#: diskdrake/dav.pm:67 diskdrake/interactive.pm:410
#: diskdrake/interactive.pm:1163 diskdrake/removable.pm:24
#: diskdrake/smbnfs_gtk.pm:80
#, c-format
msgid "Options"
msgstr "Tùy chọn"

#: diskdrake/dav.pm:68 interactive.pm:388 interactive/gtk.pm:453
#, c-format
msgid "Remove"
msgstr "Gỡ bỏ"

#: diskdrake/dav.pm:69 diskdrake/hd_gtk.pm:193 diskdrake/removable.pm:26
#: diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151
#, c-format
msgid "Done"
msgstr "Hoàn thành"

#: diskdrake/dav.pm:78 diskdrake/hd_gtk.pm:133 diskdrake/hd_gtk.pm:299
#: diskdrake/interactive.pm:247 diskdrake/interactive.pm:260
#: diskdrake/interactive.pm:456 diskdrake/interactive.pm:527
#: diskdrake/interactive.pm:545 diskdrake/interactive.pm:550
#: diskdrake/interactive.pm:712 diskdrake/interactive.pm:1002
#: diskdrake/interactive.pm:1054 diskdrake/interactive.pm:1209
#: diskdrake/interactive.pm:1222 diskdrake/interactive.pm:1225
#: diskdrake/interactive.pm:1499 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:23
#: do_pkgs.pm:28 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:65 do_pkgs.pm:83
#: fsedit.pm:246 interactive/http.pm:117 interactive/http.pm:118
#: modules/interactive.pm:19 scanner.pm:95 scanner.pm:106 scanner.pm:113
#: scanner.pm:120 wizards.pm:96 wizards.pm:100 wizards.pm:122
#, c-format
msgid "Error"
msgstr "Lỗi"

#: diskdrake/dav.pm:86
#, c-format
msgid "Please enter the WebDAV server URL"
msgstr "Hãy nhập địa chỉ liên kết (URL) của máy chủ WebDAV"

#: diskdrake/dav.pm:90
#, c-format
msgid "The URL must begin with http:// or https://"
msgstr "URL phải bắt đầu bằng http:// hoặc https://"

#: diskdrake/dav.pm:106 diskdrake/hd_gtk.pm:424 diskdrake/interactive.pm:306
#: diskdrake/interactive.pm:391 diskdrake/interactive.pm:597
#: diskdrake/interactive.pm:815 diskdrake/interactive.pm:880
#: diskdrake/interactive.pm:1034 diskdrake/interactive.pm:1076
#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1309
#: diskdrake/interactive.pm:1347 diskdrake/interactive.pm:1498 do_pkgs.pm:19
#: do_pkgs.pm:39 do_pkgs.pm:57 do_pkgs.pm:78 harddrake/sound.pm:399
#, c-format
msgid "Warning"
msgstr "Cảnh báo"

#: diskdrake/dav.pm:106
#, fuzzy, c-format
msgid "Are you sure you want to delete this mount point?"
msgstr "Có muốn nhấn lên nút này không?"

#: diskdrake/dav.pm:124
#, c-format
msgid "Server: "
msgstr "Máy chủ:"

#: diskdrake/dav.pm:125 diskdrake/interactive.pm:501
#: diskdrake/interactive.pm:1371 diskdrake/interactive.pm:1459
#, c-format
msgid "Mount point: "
msgstr "Điểm gắn kết:"

#: diskdrake/dav.pm:126 diskdrake/interactive.pm:1466
#, c-format
msgid "Options: %s"
msgstr "Tùy chọn: %s"

#: diskdrake/hd_gtk.pm:61 diskdrake/interactive.pm:301
#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:108
#: fs/partitioning_wizard.pm:55 fs/partitioning_wizard.pm:238
#: fs/partitioning_wizard.pm:246 fs/partitioning_wizard.pm:285
#: fs/partitioning_wizard.pm:433 fs/partitioning_wizard.pm:496
#: fs/partitioning_wizard.pm:579 fs/partitioning_wizard.pm:582
#, c-format
msgid "Partitioning"
msgstr "Phân vùng đĩa"

#: diskdrake/hd_gtk.pm:73
#, c-format
msgid "Click on a partition, choose a filesystem type then choose an action"
msgstr ""

#: diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:1184
#: diskdrake/interactive.pm:1194 diskdrake/interactive.pm:1247
#, c-format
msgid "Read carefully"
msgstr "Hãy đọc kỹ"

#: diskdrake/hd_gtk.pm:115
#, c-format
msgid "Please make a backup of your data first"
msgstr "Trước hết, bạn hãy sao lưu dữ liệu"

#: diskdrake/hd_gtk.pm:116 diskdrake/interactive.pm:240
#, c-format
msgid "Exit"
msgstr "Thoát ra"

#: diskdrake/hd_gtk.pm:116
#, c-format
msgid "Continue"
msgstr "Tiếp tục"

#: diskdrake/hd_gtk.pm:188 fs/partitioning_wizard.pm:555 interactive.pm:654
#: interactive/gtk.pm:809 interactive/gtk.pm:827 interactive/gtk.pm:848
#: ugtk2.pm:936
#, c-format
msgid "Help"
msgstr "Trợ giúp"

#: diskdrake/hd_gtk.pm:234
#, 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 ""
"Bạn có một phân vùng Microsoft Windows lớn.\n"
"Đầu tiên, bạn nên lập lại kích thước phân vùng này\n"
"(nhấn chuột lên nó, rồi nhấn \"Lập lại kích thước\")"

#: diskdrake/hd_gtk.pm:236
#, c-format
msgid "Please click on a partition"
msgstr "Hãy nhấn chuột lên một phân vùng"

#: diskdrake/hd_gtk.pm:250 diskdrake/smbnfs_gtk.pm:63
#, c-format
msgid "Details"
msgstr "Chi tiết"

#: diskdrake/hd_gtk.pm:299
#, c-format
msgid "No hard disk drives found"
msgstr "Không tìm thấy đĩa cứng nào"

#: diskdrake/hd_gtk.pm:330
#, c-format
msgid "Unknown"
msgstr "Không xác định"

#: diskdrake/hd_gtk.pm:395
#, fuzzy, c-format
msgid "Ext4"
msgstr "Thoát ra"

#: diskdrake/hd_gtk.pm:395 fs/partitioning_wizard.pm:403
#, fuzzy, c-format
msgid "XFS"
msgstr "HFS"

#: diskdrake/hd_gtk.pm:395 fs/partitioning_wizard.pm:403
#, c-format
msgid "Swap"
msgstr "Swap"

#: diskdrake/hd_gtk.pm:395 fs/partitioning_wizard.pm:403
#, c-format
msgid "SunOS"
msgstr "SunOS"

#: diskdrake/hd_gtk.pm:395 fs/partitioning_wizard.pm:403
#, c-format
msgid "HFS"
msgstr "HFS"

#: diskdrake/hd_gtk.pm:395 fs/partitioning_wizard.pm:403
#, c-format
msgid "Windows"
msgstr "Windows"

#: diskdrake/hd_gtk.pm:396 fs/partitioning_wizard.pm:404 services.pm:193
#, c-format
msgid "Other"
msgstr "Khác"

#: diskdrake/hd_gtk.pm:396 diskdrake/interactive.pm:1386
#: fs/partitioning_wizard.pm:404
#, c-format
msgid "Empty"
msgstr "Trống"

#: diskdrake/hd_gtk.pm:403
#, c-format
msgid "Filesystem types:"
msgstr "Kiểu hệ thống tập tin:"

#: diskdrake/hd_gtk.pm:424
#, fuzzy, c-format
msgid "This partition is already empty"
msgstr "Phân vùng này không thể lập lại kích thước"

#: diskdrake/hd_gtk.pm:433
#, c-format
msgid "Use ``Unmount'' first"
msgstr "Dùng ``Thôi gắn kết'' trước tiên"

#: diskdrake/hd_gtk.pm:433
#, fuzzy, c-format
msgid "Use ``%s'' instead (in expert mode)"
msgstr "Dùng ``%s'' thay thế"

#: diskdrake/hd_gtk.pm:433 diskdrake/interactive.pm:409
#: diskdrake/interactive.pm:639 diskdrake/removable.pm:25
#: diskdrake/removable.pm:48
#, c-format
msgid "Type"
msgstr "Kiểu"

#: diskdrake/interactive.pm:211
#, c-format
msgid "Choose another partition"
msgstr "Chọn phân vùng khác"

#: diskdrake/interactive.pm:211
#, c-format
msgid "Choose a partition"
msgstr "Chọn phân vùng"

#: diskdrake/interactive.pm:273 diskdrake/interactive.pm:382
#: interactive/curses.pm:532
#, c-format
msgid "More"
msgstr "Thêm"

#: diskdrake/interactive.pm:281 diskdrake/interactive.pm:294
#: diskdrake/interactive.pm:1293
#, fuzzy, c-format
msgid "Confirmation"
msgstr "Cấu hình"

#: diskdrake/interactive.pm:281
#, c-format
msgid "Continue anyway?"
msgstr "Vẫn tiếp tục bằng bất cứ giá nào?"

#: diskdrake/interactive.pm:286
#, c-format
msgid "Quit without saving"
msgstr "Thoát mà không lưu lại"

#: diskdrake/interactive.pm:286
#, c-format
msgid "Quit without writing the partition table?"
msgstr "Thoát mà không ghi bảng phân vùng?"

#: diskdrake/interactive.pm:294
#, c-format
msgid "Do you want to save the /etc/fstab modifications?"
msgstr "Bạn có muốn lưu các thay đổi của /etc/fstab?"

#: diskdrake/interactive.pm:301 fs/partitioning_wizard.pm:285
#, c-format
msgid "You need to reboot for the partition table modifications to take effect"
msgstr "Bạn cần khởi động lại để các thay đổi trong bảng phân vùng có tác dụng"

#: diskdrake/interactive.pm:306
#, c-format
msgid ""
"You should format partition %s.\n"
"Otherwise no entry for mount point %s will be written in fstab.\n"
"Quit anyway?"
msgstr ""
"Bạn nên format phân vùng %s.\n"
"Nếu không sẽ không có mục nào cho điểm gắn kết %s được ghi trong fstab.\n"
"Vẫn muốn thoát ra không?"

#: diskdrake/interactive.pm:319
#, c-format
msgid "Clear all"
msgstr "Xóa hết"

#: diskdrake/interactive.pm:320
#, c-format
msgid "Auto allocate"
msgstr "Phân chia tự động"

#: diskdrake/interactive.pm:326
#, c-format
msgid "Toggle to normal mode"
msgstr "Chuyển sang chế độ bình thường"

#: diskdrake/interactive.pm:326
#, c-format
msgid "Toggle to expert mode"
msgstr "Chuyển sang chế độ Chuyên gia"

#: diskdrake/interactive.pm:338
#, c-format
msgid "Hard disk drive information"
msgstr "Thông tin đĩa cứng"

#: diskdrake/interactive.pm:371
#, c-format
msgid "All primary partitions are used"
msgstr "Toàn bộ các phân vùng chính được sử dụng"

#: diskdrake/interactive.pm:372
#, c-format
msgid "I cannot add any more partitions"
msgstr "Không thể thêm phân vùng nào nữa"

#: diskdrake/interactive.pm:373
#, c-format
msgid ""
"To have more partitions, please delete one to be able to create an extended "
"partition"
msgstr ""
"Để có thêm phân vùng, hãy xoá một phân vùng để có thể tạo một phân vùng mở "
"rộng"

#: diskdrake/interactive.pm:384
#, c-format
msgid "Reload partition table"
msgstr "Nạp lại bảng phân vùng"

#: diskdrake/interactive.pm:391
#, c-format
msgid "Detailed information"
msgstr "Thông tin chi tiết"

#: diskdrake/interactive.pm:407
#, c-format
msgid "View"
msgstr "Xem "

#: diskdrake/interactive.pm:412 diskdrake/interactive.pm:828
#, c-format
msgid "Resize"
msgstr "Đặt lại kích thước"

#: diskdrake/interactive.pm:413
#, c-format
msgid "Format"
msgstr "Format"

#: diskdrake/interactive.pm:415 diskdrake/interactive.pm:965
#, c-format
msgid "Add to RAID"
msgstr "Thêm vào RAID"

#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:984
#, c-format
msgid "Add to LVM"
msgstr "Thêm vào LVM"

#: diskdrake/interactive.pm:417
#, fuzzy, c-format
msgid "Use"
msgstr "ID Người Dùng"

#: diskdrake/interactive.pm:419
#, c-format
msgid "Delete"
msgstr "Xóa"

#: diskdrake/interactive.pm:420
#, c-format
msgid "Remove from RAID"
msgstr "Gỡ bỏ khỏi RAID"

#: diskdrake/interactive.pm:421
#, c-format
msgid "Remove from LVM"
msgstr "Gỡ bỏ khỏi LVM"

#: diskdrake/interactive.pm:422
#, fuzzy, c-format
msgid "Remove from dm"
msgstr "Gỡ bỏ khỏi LVM"

#: diskdrake/interactive.pm:423
#, c-format
msgid "Modify RAID"
msgstr "Thay đổi RAID"

#: diskdrake/interactive.pm:424
#, c-format
msgid "Use for loopback"
msgstr "Dùng cho loopback"

#: diskdrake/interactive.pm:434
#, c-format
msgid "Create"
msgstr "Tạo"

#: diskdrake/interactive.pm:456
#, fuzzy, c-format
msgid "Failed to mount partition"
msgstr "Chuyển các tập tin sang phân vùng mới"

#: diskdrake/interactive.pm:490 diskdrake/interactive.pm:492
#, c-format
msgid "Create a new partition"
msgstr "Tạo phân vùng mới"

#: diskdrake/interactive.pm:494
#, c-format
msgid "Start sector: "
msgstr "Sector bắt đầu: "

#: diskdrake/interactive.pm:497 diskdrake/interactive.pm:1069
#, c-format
msgid "Size in MB: "
msgstr "Kích thước theo MB: "

#: diskdrake/interactive.pm:499 diskdrake/interactive.pm:1070
#, c-format
msgid "Filesystem type: "
msgstr "Kiểu hệ thống tập tin: "

#: diskdrake/interactive.pm:505
#, c-format
msgid "Preference: "
msgstr "Tùy thích: "

#: diskdrake/interactive.pm:508
#, c-format
msgid "Logical volume name "
msgstr "Tên khối tin logic"

#: diskdrake/interactive.pm:510
#, fuzzy, c-format
msgid "Encrypt partition"
msgstr "Thuật toán mã hóa"

#: diskdrake/interactive.pm:511
#, fuzzy, c-format
msgid "Encryption key "
msgstr "Khóa mã hóa"

#: diskdrake/interactive.pm:512 diskdrake/interactive.pm:1503
#, c-format
msgid "Encryption key (again)"
msgstr "Khóa mã hoá (nhập lại)"

#: diskdrake/interactive.pm:524 diskdrake/interactive.pm:1499
#, c-format
msgid "The encryption keys do not match"
msgstr "Các khóa mã hóa không khớp nhau"

#: diskdrake/interactive.pm:525
#, fuzzy, c-format
msgid "Missing encryption key"
msgstr "Khóa mã hóa hệ thống tập tin"

#: diskdrake/interactive.pm:545
#, c-format
msgid ""
"You cannot 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 ""
"Bạn không thể tạo phân vùng đĩa mới\n"
"(vì bạn đã tạo tối đa số lượng phân vùng chính).\n"
"Trước hết hãy bỏ một phân vùng chính và tạo phân vùng mở rộng."

#: diskdrake/interactive.pm:597
#, c-format
msgid "Remove the loopback file?"
msgstr "Có gỡ bỏ tập tin loopback không?"

#: diskdrake/interactive.pm:620
#, c-format
msgid ""
"After changing type of partition %s, all data on this partition will be lost"
msgstr "Sau khi thay đổi kiểu phân vùng %s, mọi dữ liệu trên đó sẽ mất"

#: diskdrake/interactive.pm:636
#, c-format
msgid "Change partition type"
msgstr "Thay đổi kiểu phân vùng"

#: diskdrake/interactive.pm:638 diskdrake/removable.pm:47
#, c-format
msgid "Which filesystem do you want?"
msgstr "Bạn muốn hệ thống tập tin nào?"

#: diskdrake/interactive.pm:645
#, fuzzy, c-format
msgid "Switching from %s to %s"
msgstr "Chuyển từ ext2 sang ext3"

#: diskdrake/interactive.pm:680
#, fuzzy, c-format
msgid "Set volume label"
msgstr "Tên nhãn khối tin: "

#: diskdrake/interactive.pm:682
#, c-format
msgid "Beware, this will be written to disk as soon as you validate!"
msgstr ""

#: diskdrake/interactive.pm:683
#, c-format
msgid "Beware, this will be written to disk only after formatting!"
msgstr ""

#: diskdrake/interactive.pm:685
#, c-format
msgid "Which volume label?"
msgstr ""

#: diskdrake/interactive.pm:686
#, fuzzy, c-format
msgid "Label:"
msgstr "Nhãn"

#: diskdrake/interactive.pm:707
#, c-format
msgid "Where do you want to mount the loopback file %s?"
msgstr "Bạn muốn gắn kết tập tin loopback %s vào đâu?"

#: diskdrake/interactive.pm:708
#, c-format
msgid "Where do you want to mount device %s?"
msgstr "Bạn muốn gắn kết thiết bị %s vào đâu?"

#: diskdrake/interactive.pm:713
#, c-format
msgid ""
"Cannot unset mount point as this partition is used for loop back.\n"
"Remove the loopback first"
msgstr ""
"Không thể bỏ thiết lập điểm gắn kết vì phân vùng này dùng để loopback.\n"
"Hãy gỡ bỏ loopback trước"

#: diskdrake/interactive.pm:743
#, c-format
msgid "Where do you want to mount %s?"
msgstr "Bạn muốn gắn kết %s vào đâu?"

#: diskdrake/interactive.pm:773 diskdrake/interactive.pm:869
#: fs/partitioning_wizard.pm:131 fs/partitioning_wizard.pm:207
#, c-format
msgid "Resizing"
msgstr "Đang lập lại kích thước"

#: diskdrake/interactive.pm:773
#, c-format
msgid "Computing FAT filesystem bounds"
msgstr "Đang tính toán phạm vi hệ thống tập tin FAT"

#: diskdrake/interactive.pm:815
#, c-format
msgid "This partition is not resizeable"
msgstr "Phân vùng này không thể lập lại kích thước"

#: diskdrake/interactive.pm:820
#, c-format
msgid "All data on this partition should be backed up"
msgstr "Mọi dữ liệu trên phân vùng này nên được sao lưu"

#: diskdrake/interactive.pm:822
#, c-format
msgid "After resizing partition %s, all data on this partition will be lost"
msgstr "Sau khi lập lại kích thước phân vùng %s, mọi dữ liệu trên đó sẽ bị mất"

#: diskdrake/interactive.pm:829
#, c-format
msgid "Choose the new size"
msgstr "Chọn kích thước mới"

#: diskdrake/interactive.pm:830
#, c-format
msgid "New size in MB: "
msgstr "Kích thước mới theo MB: "

#: diskdrake/interactive.pm:831
#, c-format
msgid "Minimum size: %s MB"
msgstr ""

#: diskdrake/interactive.pm:832
#, c-format
msgid "Maximum size: %s MB"
msgstr ""

#: diskdrake/interactive.pm:880 fs/partitioning_wizard.pm:215
#, fuzzy, c-format
msgid ""
"To ensure data integrity after resizing the partition(s),\n"
"filesystem checks will be run on your next boot into Microsoft Windows®"
msgstr ""
"Để bảo đảm tính toàn vẹn dữ liệu sau khi đặt lại kích\n"
"thước (các) phân vùng, việc kiểm tra hệ thống tập tin sẽ được chạy khi khởi "
"động vào Windows(TM)"

#: diskdrake/interactive.pm:946 diskdrake/interactive.pm:1494
#, c-format
msgid "Filesystem encryption key"
msgstr "Khóa mã hóa hệ thống tập tin"

#: diskdrake/interactive.pm:947
#, fuzzy, c-format
msgid "Enter your filesystem encryption key"
msgstr "Chọn khóa mã hóa hệ thống tập tin"

#: diskdrake/interactive.pm:948 diskdrake/interactive.pm:1502
#, c-format
msgid "Encryption key"
msgstr "Khóa mã hóa"

#: diskdrake/interactive.pm:955
#, c-format
msgid "Invalid key"
msgstr ""

#: diskdrake/interactive.pm:965
#, c-format
msgid "Choose an existing RAID to add to"
msgstr "Hãy chọn RAID đang tồn tại để thêm vào"

#: diskdrake/interactive.pm:967 diskdrake/interactive.pm:986
#, c-format
msgid "new"
msgstr "mới"

#: diskdrake/interactive.pm:984
#, c-format
msgid "Choose an existing LVM to add to"
msgstr "Hãy chọn LVM đang tồn tại để thêm vào"

#: diskdrake/interactive.pm:996 diskdrake/interactive.pm:1005
#, fuzzy, c-format
msgid "LVM name"
msgstr "Tên LVM?"

#: diskdrake/interactive.pm:997
#, c-format
msgid "Enter a name for the new LVM volume group"
msgstr ""

#: diskdrake/interactive.pm:1002
#, fuzzy, c-format
msgid "\"%s\" already exists"
msgstr "Tập tin đã tồn tại. Có dùng không?"

#: diskdrake/interactive.pm:1034
#, c-format
msgid ""
"Physical volume %s is still in use.\n"
"Do you want to move used physical extents on this volume to other volumes?"
msgstr ""

#: diskdrake/interactive.pm:1036
#, c-format
msgid "Moving physical extents"
msgstr ""

#: diskdrake/interactive.pm:1054
#, c-format
msgid "This partition cannot be used for loopback"
msgstr "Phân vùng này không thể dùng cho loopback"

#: diskdrake/interactive.pm:1067
#, c-format
msgid "Loopback"
msgstr "Loopback"

#: diskdrake/interactive.pm:1068
#, c-format
msgid "Loopback file name: "
msgstr "Tên tập tin loopback: "

#: diskdrake/interactive.pm:1073
#, c-format
msgid "Give a file name"
msgstr "Đặt tên file"

#: diskdrake/interactive.pm:1076
#, c-format
msgid "File is already used by another loopback, choose another one"
msgstr "Tập tin đã được loopback khác dùng rồi, hãy chọn tập tin khác"

#: diskdrake/interactive.pm:1077
#, c-format
msgid "File already exists. Use it?"
msgstr "Tập tin đã tồn tại. Có dùng không?"

#: diskdrake/interactive.pm:1109 diskdrake/interactive.pm:1112
#, c-format
msgid "Mount options"
msgstr "Tùy chọn gắn kết"

#: diskdrake/interactive.pm:1119
#, c-format
msgid "Various"
msgstr "Khác nhau"

#: diskdrake/interactive.pm:1165
#, c-format
msgid "device"
msgstr "thiết bị"

#: diskdrake/interactive.pm:1166
#, c-format
msgid "level"
msgstr "mức độ"

#: diskdrake/interactive.pm:1167
#, c-format
msgid "chunk size in KiB"
msgstr "chunk size theo KiB"

#: diskdrake/interactive.pm:1185
#, c-format
msgid "Be careful: this operation is dangerous."
msgstr "Hãy thận trọng: thao tác này nguy hiểm."

#: diskdrake/interactive.pm:1200
#, fuzzy, c-format
msgid "Partitioning Type"
msgstr "Phân vùng đĩa"

#: diskdrake/interactive.pm:1200
#, c-format
msgid "What type of partitioning?"
msgstr "Kiểu phân vùng nào?"

#: diskdrake/interactive.pm:1238
#, c-format
msgid "You'll need to reboot before the modification can take effect"
msgstr "Bạn cần khởi động lại trước khi thay đổi có tác dụng"

#: diskdrake/interactive.pm:1247
#, c-format
msgid "Partition table of drive %s is going to be written to disk"
msgstr "Bảng phân vùng của drive %s sắp được ghi lên đĩa"

#: diskdrake/interactive.pm:1266 fs/format.pm:107 fs/format.pm:114
#, c-format
msgid "Formatting partition %s"
msgstr "Đang format phân vùng %s"

#: diskdrake/interactive.pm:1279
#, c-format
msgid "After formatting partition %s, all data on this partition will be lost"
msgstr "Sau khi format phân vùng %s, mọi dữ liệu trên đó sẽ bị mất"

#: diskdrake/interactive.pm:1293 fs/partitioning.pm:48
#, c-format
msgid "Check for bad blocks?"
msgstr "Kiểm tra lỗi bề mặt đĩa?"

#: diskdrake/interactive.pm:1308
#, c-format
msgid "Move files to the new partition"
msgstr "Chuyển các tập tin sang phân vùng mới"

#: diskdrake/interactive.pm:1308
#, c-format
msgid "Hide files"
msgstr "Các tập tin ẩn"

#: diskdrake/interactive.pm:1309
#, c-format
msgid ""
"Directory %s already contains data\n"
"(%s)\n"
"\n"
"You can either choose to move the files into the partition that will be "
"mounted there or leave them where they are (which results in hiding them by "
"the contents of the mounted partition)"
msgstr ""

#: diskdrake/interactive.pm:1324
#, c-format
msgid "Moving files to the new partition"
msgstr "Di chuyển các tập tin sang phân vùng mới"

#: diskdrake/interactive.pm:1328
#, c-format
msgid "Copying %s"
msgstr "Sao chép %s"

#: diskdrake/interactive.pm:1332
#, c-format
msgid "Removing %s"
msgstr "Gỡ bỏ %s"

#: diskdrake/interactive.pm:1346
#, c-format
msgid "partition %s is now known as %s"
msgstr "bây giờ phân vùng %s được coi là %s"

#: diskdrake/interactive.pm:1347
#, c-format
msgid "Partitions have been renumbered: "
msgstr "Phân vùng đã được đánh số lại:"

#: diskdrake/interactive.pm:1372 diskdrake/interactive.pm:1443
#, c-format
msgid "Device: "
msgstr "Thiết bị:"

#: diskdrake/interactive.pm:1373
#, c-format
msgid "Volume label: "
msgstr "Tên nhãn khối tin: "

#: diskdrake/interactive.pm:1374
#, c-format
msgid "UUID: "
msgstr ""

#: diskdrake/interactive.pm:1375
#, c-format
msgid "DOS drive letter: %s (just a guess)\n"
msgstr "Tên ổ đĩa trong DOS: %s (chỉ là phỏng đoán)\n"

#: diskdrake/interactive.pm:1379 diskdrake/interactive.pm:1388
#: diskdrake/interactive.pm:1462
#, c-format
msgid "Type: "
msgstr "Kiểu:"

#: diskdrake/interactive.pm:1383 diskdrake/interactive.pm:1447
#, c-format
msgid "Name: "
msgstr "Tên: "

#: diskdrake/interactive.pm:1390
#, c-format
msgid "Start: sector %s\n"
msgstr "Bắt đầu: sector %s\n"

#: diskdrake/interactive.pm:1391
#, c-format
msgid "Size: %s"
msgstr "Kích thước: %s"

#: diskdrake/interactive.pm:1393
#, c-format
msgid ", %s sectors"
msgstr ", %s sector"

#: diskdrake/interactive.pm:1395
#, c-format
msgid "Cylinder %d to %d\n"
msgstr "Cylinder %d đến %d\n"

#: diskdrake/interactive.pm:1396
#, c-format
msgid "Number of logical extents: %d\n"
msgstr "Số lượng logical extents: %d\n"

#: diskdrake/interactive.pm:1397
#, c-format
msgid "Formatted\n"
msgstr "Đã format\n"

#: diskdrake/interactive.pm:1398
#, c-format
msgid "Not formatted\n"
msgstr "Chưa format\n"

#: diskdrake/interactive.pm:1399
#, c-format
msgid "Mounted\n"
msgstr "Đã được gắn kết\n"

#: diskdrake/interactive.pm:1400
#, c-format
msgid "RAID %s\n"
msgstr "RAID %s\n"

#: diskdrake/interactive.pm:1402
#, fuzzy, c-format
msgid "Encrypted"
msgstr "Khóa mã hóa"

#: diskdrake/interactive.pm:1404
#, c-format
msgid " (mapped on %s)"
msgstr ""

#: diskdrake/interactive.pm:1405
#, c-format
msgid " (to map on %s)"
msgstr ""

#: diskdrake/interactive.pm:1406
#, c-format
msgid " (inactive)"
msgstr ""

#: diskdrake/interactive.pm:1413
#, c-format
msgid ""
"Loopback file(s):\n"
"   %s\n"
msgstr ""
"Tập tin Loopback:\n"
"    %s\n"

#: diskdrake/interactive.pm:1414
#, c-format
msgid ""
"Partition booted by default\n"
"    (for MS-DOS boot, not for lilo)\n"
msgstr ""
"Phân vùng được khởi động mặc định\n"
"    (cho MS-DOS khởi động, không cho lilo)\n"

#: diskdrake/interactive.pm:1416
#, c-format
msgid "Level %s\n"
msgstr "Mức %s\n"

#: diskdrake/interactive.pm:1417
#, c-format
msgid "Chunk size %d KiB\n"
msgstr "Chunk size %d KiB\n"

#: diskdrake/interactive.pm:1418
#, c-format
msgid "RAID-disks %s\n"
msgstr "Đĩa RAID %s\n"

#: diskdrake/interactive.pm:1420
#, c-format
msgid "Loopback file name: %s"
msgstr "Tên tập tin Loopback: %s"

#: diskdrake/interactive.pm:1423
#, c-format
msgid ""
"\n"
"Chances are, this partition is\n"
"a Driver partition. You should\n"
"probably leave it alone.\n"
msgstr ""
"\n"
"Rất có khả năng phân vùng này là\n"
"một phân vùng của đĩa, tốt hơn là bạn\n"
"cứ để nguyên như vậy.\n"

#: diskdrake/interactive.pm:1426
#, c-format
msgid ""
"\n"
"This special Bootstrap\n"
"partition is for\n"
"dual-booting your system.\n"
msgstr ""
"\n"
"Đây là phân vùng bootstrap\n"
"đặc biệt để\n"
"khởi động kép hệ thống của bạn.\n"

#: diskdrake/interactive.pm:1435
#, c-format
msgid "Free space on %s (%s)"
msgstr ""

#: diskdrake/interactive.pm:1444
#, c-format
msgid "Read-only"
msgstr "Chỉ Đọc"

#: diskdrake/interactive.pm:1445
#, c-format
msgid "Size: %s\n"
msgstr "Kích thước: %s\n"

#: diskdrake/interactive.pm:1446
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr "Geometry: %s cylinders, %s heads, %s sectors\n"

#: diskdrake/interactive.pm:1448
#, fuzzy, c-format
msgid "Medium type: "
msgstr "Kiểu hệ thống tập tin: "

#: diskdrake/interactive.pm:1449
#, c-format
msgid "LVM-disks %s\n"
msgstr "Các đĩa LVM %s\n"

#: diskdrake/interactive.pm:1450
#, c-format
msgid "Partition table type: %s\n"
msgstr "Kiểu bảng phân vùng: %s\n"

#: diskdrake/interactive.pm:1451
#, c-format
msgid "on channel %d id %d\n"
msgstr "trên kênh %d id %d\n"

#: diskdrake/interactive.pm:1495
#, c-format
msgid "Choose your filesystem encryption key"
msgstr "Chọn khóa mã hóa hệ thống tập tin"

#: diskdrake/interactive.pm:1498
#, c-format
msgid "This encryption key is too simple (must be at least %d characters long)"
msgstr "Khóa mã hóa này đơn giản quá (phải có độ dài ít nhất %d ký tự)"

#: diskdrake/interactive.pm:1505
#, c-format
msgid "Encryption algorithm"
msgstr "Thuật toán mã hóa"

#: diskdrake/removable.pm:46
#, c-format
msgid "Change type"
msgstr "Thay đổi kiểu"

#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:130 interactive.pm:551
#: interactive/curses.pm:267 interactive/http.pm:104 interactive/http.pm:160
#: interactive/stdio.pm:39 interactive/stdio.pm:148 mygtk2.pm:846 ugtk2.pm:415
#: ugtk2.pm:517 ugtk2.pm:526 ugtk2.pm:812
#, c-format
msgid "Cancel"
msgstr "Bỏ qua"

#: diskdrake/smbnfs_gtk.pm:164
#, c-format
msgid "Cannot login using username %s (bad password?)"
msgstr "Không thể đăng nhập bằng tên người dùng %s (mật khẩu sai?)"

#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
#, c-format
msgid "Domain Authentication Required"
msgstr "Yêu cầu Xác Thực Miền"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Which username"
msgstr "Tên người dùng nào"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Another one"
msgstr "Một cái khác"

#: diskdrake/smbnfs_gtk.pm:178
#, c-format
msgid ""
"Please enter your username, password and domain name to access this host."
msgstr "Hãy nhập tên người dùng, mật khẩu và tên miền để truy cập máy chủ này."

#: diskdrake/smbnfs_gtk.pm:180
#, c-format
msgid "Username"
msgstr "Tên người dùng"

#: diskdrake/smbnfs_gtk.pm:182
#, c-format
msgid "Domain"
msgstr "Miền"

#: diskdrake/smbnfs_gtk.pm:206
#, c-format
msgid "Search servers"
msgstr "Tìm các máy chủ"

#: diskdrake/smbnfs_gtk.pm:211
#, c-format
msgid "Search for new servers"
msgstr "Tìm kiếm máy chủ mới"

#: do_pkgs.pm:19 do_pkgs.pm:57
#, c-format
msgid "The package %s needs to be installed. Do you want to install it?"
msgstr "Gói tin %s cần được cài đặt. Bạn có muốn cài đặt nó không?"

#: do_pkgs.pm:23 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:83
#, c-format
msgid "Could not install the %s package!"
msgstr "Không cài đặt được gói %s"

#: do_pkgs.pm:28 do_pkgs.pm:65
#, c-format
msgid "Mandatory package %s is missing"
msgstr "Thiếu gói tin bắt buộc %s"

#: do_pkgs.pm:39 do_pkgs.pm:78
#, c-format
msgid "The following packages need to be installed:\n"
msgstr "Các gói sau đây cần được cài đặt:\n"

#: do_pkgs.pm:242
#, c-format
msgid "Installing packages..."
msgstr "Đang cài đặt các gói tin ..."

#: do_pkgs.pm:287 pkgs.pm:287
#, c-format
msgid "Removing packages..."
msgstr "Đang gỡ bỏ các gói tin..."

#: fs/any.pm:18
#, 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 ""
"Bị lỗi - không tìm thấy thiết bị hợp lệ để tạo hệ thống tập tin mới. Hãy "
"kiểm tra phần cứng để tìm nguyên nhân gây ra lỗi"

#: fs/any.pm:76 fs/partitioning_wizard.pm:64
#, c-format
msgid "You must have a FAT partition mounted in /boot/efi"
msgstr "Bạn phải có một phân vùng FAT được gắn kết vào /boot/efi"

#: fs/format.pm:111
#, c-format
msgid "Creating and formatting file %s"
msgstr "Đang tạo và format tập tin %s"

#: fs/format.pm:131
#, fuzzy, c-format
msgid "I do not know how to set label on %s with type %s"
msgstr "Không biết cách format %s theo kiểu %s"

#: fs/format.pm:143
#, fuzzy, c-format
msgid "setting label on %s failed, is it formatted?"
msgstr "tạo định dạng %s của %s không được"

#: fs/format.pm:184
#, c-format
msgid "I do not know how to format %s in type %s"
msgstr "Không biết cách format %s theo kiểu %s"

#: fs/format.pm:189 fs/format.pm:191
#, c-format
msgid "%s formatting of %s failed"
msgstr "tạo định dạng %s của %s không được"

#: fs/loopback.pm:24
#, c-format
msgid "Circular mounts %s\n"
msgstr "Các gắn kết vòng %s\n"

#: fs/mount.pm:85
#, c-format
msgid "Mounting partition %s"
msgstr "Đang gắn kết phân vùng %s"

#: fs/mount.pm:87
#, c-format
msgid "mounting partition %s in directory %s failed"
msgstr "Không gắn kết được phân vùng %s vào thư mục %s"

#: fs/mount.pm:92 fs/mount.pm:109
#, c-format
msgid "Checking %s"
msgstr "Kiểm tra %s"

#: fs/mount.pm:126 partition_table.pm:422
#, c-format
msgid "error unmounting %s: %s"
msgstr "Lỗi khi đang thôi gắn kết %s: %s"

#: fs/mount.pm:141
#, c-format
msgid "Enabling swap partition %s"
msgstr "Bật chạy phân vùng swap %s"

#: fs/mount_options.pm:113
#, c-format
msgid "Enable POSIX Access Control Lists"
msgstr ""

#: fs/mount_options.pm:115
#, c-format
msgid "Flush write cache on file close"
msgstr ""

#: fs/mount_options.pm:117
#, c-format
msgid "Enable group disk quota accounting and optionally enforce limits"
msgstr "Sử dụng quota và có thể ép buộc giới hạn"

#: fs/mount_options.pm:119
#, c-format
msgid ""
"Do not update inode access times on this filesystem\n"
"(e.g, for faster access on the news spool to speed up news servers)."
msgstr ""
"Không cập nhật các lần truy cập inode trên hệ thống tập tin này\n"
"(vd: để truy cập nhanh hơn trên spool tin tức để tăng tốc độ máy chủ tin "
"tức)."

#: fs/mount_options.pm:122
#, fuzzy, c-format
msgid ""
"Update inode access times on this filesystem in a more efficient way\n"
"(e.g, for faster access on the news spool to speed up news servers)."
msgstr ""
"Không cập nhật các lần truy cập inode trên hệ thống tập tin này\n"
"(vd: để truy cập nhanh hơn trên spool tin tức để tăng tốc độ máy chủ tin "
"tức)."

#: fs/mount_options.pm:125
#, c-format
msgid ""
"Can only be mounted explicitly (i.e.,\n"
"the -a option will not cause the filesystem to be mounted)."
msgstr ""
"Chỉ có thể được gắn kết dứt khoát (tức là: \n"
"tùy chọn -a sẽ không làm cho hệ thống tập tin được gắn kết)."

#: fs/mount_options.pm:128
#, c-format
msgid "Do not interpret character or block special devices on the filesystem."
msgstr ""
"Không giải thích các thiết bị khối đặc biệt hoặc ký tự trên hệ thống tập tin."

#: fs/mount_options.pm:130
#, c-format
msgid ""
"Do not allow execution of any binaries on the mounted\n"
"filesystem. This option might be useful for a server that has filesystems\n"
"containing binaries for architectures other than its own."
msgstr ""
"Không cho phép thực thi bất kỳ tập tin nhị phân trên hệ\n"
"thống tập tin đã gắn kết. Tùy chọn này có thể hữu ích cho máy chủ có\n"
"các hệ thống tập tin chứa các tập tin nhị phân cho các kiến trúc hơn là cho "
"riêng nó."

#: fs/mount_options.pm:134
#, 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 ""
"Không cho phép các bit set-user-identifier hay set-group-identifier\n"
"có tác dụng. (Điều này có vẻ an toàn, nhưng thực tế thì lại không an\n"
"toàn lắm khi bạn đã cài đặt suidperl(1) )."

#: fs/mount_options.pm:138
#, c-format
msgid "Mount the filesystem read-only."
msgstr "Gắn kết hệ thống tập tin theo chế độ chỉ đọc."

#: fs/mount_options.pm:140
#, c-format
msgid "All I/O to the filesystem should be done synchronously."
msgstr "Mọi I/O tới hệ thống tập tin nên được hoàn thành một cách đồng bộ."

#: fs/mount_options.pm:142
#, c-format
msgid "Allow every user to mount and umount the filesystem."
msgstr ""

#: fs/mount_options.pm:144
#, c-format
msgid "Allow an ordinary user to mount the filesystem."
msgstr ""

#: fs/mount_options.pm:146
#, c-format
msgid "Enable user disk quota accounting, and optionally enforce limits"
msgstr ""

#: fs/mount_options.pm:148
#, c-format
msgid "Support \"user.\" extended attributes"
msgstr ""

#: fs/mount_options.pm:150
#, c-format
msgid "Give write access to ordinary users"
msgstr "Cấp quyền ghi cho người dùng thông thường"

#: fs/mount_options.pm:152
#, c-format
msgid "Give read-only access to ordinary users"
msgstr "Người dùng thông thường chỉ được cấp quyền đọc"

#: fs/mount_point.pm:82
#, c-format
msgid "Duplicate mount point %s"
msgstr "Sao chép điểm gắn kết %s"

#: fs/mount_point.pm:97
#, c-format
msgid "No partition available"
msgstr "không có sẵn phân vùng"

#: fs/mount_point.pm:100
#, c-format
msgid "Scanning partitions to find mount points"
msgstr "Quét các phân vùng để tìm các điểm gắn kết"

#: fs/mount_point.pm:107
#, c-format
msgid "Choose the mount points"
msgstr "Chọn các điểm gắn kết"

#: fs/partitioning.pm:46
#, c-format
msgid "Choose the partitions you want to format"
msgstr "Hãy chọn các phân vùng bạn muốn format"

#: fs/partitioning.pm:75
#, c-format
msgid ""
"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
"you can lose data)"
msgstr ""
"Không kiểm tra được hệ thống tập tin %s. Có muốn sửa lỗi không? (lưu ý: bạn "
"có thể bị mất dữ liệu)"

#: fs/partitioning.pm:78
#, c-format
msgid "Not enough swap space to fulfill installation, please add some"
msgstr "Phân vùng Swap không đủ để thực hiện cài đặt, hãy tăng thêm"

#: fs/partitioning_wizard.pm:55
#, c-format
msgid ""
"You must have a root partition.\n"
"To accomplish this, create a partition (or click on an existing one).\n"
"Then choose action ``Mount point'' and set it to `/'"
msgstr ""
"Bạn phải có một phân vùng root.\n"
"Muốn vậy, hãy tạo một phân vùng (hoặc nhấn chuột lên một phân vùng\n"
"hiện có).\n"
"Sau đó chọn ``Điểm gắn kết'' và gắn nó vào `/'"

#: fs/partitioning_wizard.pm:61
#, c-format
msgid ""
"You do not have a swap partition.\n"
"\n"
"Continue anyway?"
msgstr ""
"Không có phân vùng trao đổi (swap)\n"
"\n"
"Vẫn tiếp tục?"

#: fs/partitioning_wizard.pm:95
#, c-format
msgid "Use free space"
msgstr "Dùng không gian trống"

#: fs/partitioning_wizard.pm:97
#, c-format
msgid "Not enough free space to allocate new partitions"
msgstr "Không đủ không gian trống để tạo các phân vùng mới"

#: fs/partitioning_wizard.pm:105
#, c-format
msgid "Use existing partitions"
msgstr "Dùng phân vùng hiện thời"

#: fs/partitioning_wizard.pm:107
#, c-format
msgid "There is no existing partition to use"
msgstr "Không có phân vùng hiện thời để dùng"

#: fs/partitioning_wizard.pm:131
#, c-format
msgid "Computing the size of the Microsoft Windows® partition"
msgstr "Đang tính toán kích thước của phân vùng Microsoft Windows®"

#: fs/partitioning_wizard.pm:167
#, fuzzy, c-format
msgid "Use the free space on a Microsoft Windows® partition"
msgstr "Dùng phần trống của phân vùng Windows"

#: fs/partitioning_wizard.pm:171
#, c-format
msgid "Which partition do you want to resize?"
msgstr "Bạn muốn lập lại kích thước phân vùng nào?"

#: fs/partitioning_wizard.pm:174
#, c-format
msgid ""
"Your Microsoft Windows® partition is too fragmented. Please reboot your "
"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
"the %s installation."
msgstr ""
"Phân vùng Microsoft Windows® bị phân mảnh quá nhiều. Hãy khởi động lại máy\n"
"vào Microsoft Windows®, chạy ``defrag'' trước, rồi sau đó mới bắt đầu cài "
"đặt\n"
"%s."

#: fs/partitioning_wizard.pm:182
#, c-format
msgid ""
"WARNING!\n"
"\n"
"\n"
"Your Microsoft Windows® partition will be now resized.\n"
"\n"
"\n"
"Be careful: this operation is dangerous. If you have not already done so, "
"you first need to exit the installation, run \"chkdsk c:\" from a Command "
"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
"optionally run defrag, then restart the installation. You should also backup "
"your data.\n"
"\n"
"\n"
"When sure, press %s."
msgstr ""
"CẢNH BÁO!\n"
"\n"
"\n"
"DrakX sẽ chỉnh lại kích thước phân vùng Windows.\n"
"\n"
"\n"
"Hãy thận trọng: quá trình này nguy hiểm. Nếu vẫn bạn chưa hoàn thành, trước "
"hết hãy thoát ra khỏi quá trình cài đặt, chạy lệnh \"chkdsk c:\" từ Command "
"Prompt trong Windows (nên nhớ là chạy lệnh \"scandisk\" chưa đủ mà phải chạy "
"\"chkdsk\" từ Command Prompt), rồi có thể chạy defrag hoặc không, sau đó bắt "
"đầu việc cài đặt. Bạn cũng nên sao lưu dữ liệu.\n"
"\n"
"\n"
"Nếu đã chắc chắn, nhấn %s."

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: fs/partitioning_wizard.pm:191 fs/partitioning_wizard.pm:559
#: interactive.pm:550 interactive/curses.pm:270 ugtk2.pm:519
#, c-format
msgid "Next"
msgstr "Tiếp theo"

#: fs/partitioning_wizard.pm:197
#, fuzzy, c-format
msgid "Partitionning"
msgstr "Phân vùng đĩa"

#: fs/partitioning_wizard.pm:197
#, c-format
msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
msgstr "Bạn muốn giữ kích thước nào cho Microsoft Windows® phân vùng %s?"

#: fs/partitioning_wizard.pm:198
#, c-format
msgid "Size"
msgstr "Kích thước"

#: fs/partitioning_wizard.pm:207
#, c-format
msgid "Resizing Microsoft Windows® partition"
msgstr "Đang lập lại kích thước phân vùng Microsoft Windows®"

#: fs/partitioning_wizard.pm:212
#, c-format
msgid "FAT resizing failed: %s"
msgstr "Không đặt lại được kích thước FAT: %s"

#: fs/partitioning_wizard.pm:228
#, c-format
msgid "There is no FAT partition to resize (or not enough space left)"
msgstr ""
"Không có phân vùng FAT nào để đặt lại kích thước\n"
"(hoặc không đủ không gian trống)"

#: fs/partitioning_wizard.pm:233
#, c-format
msgid "Remove Microsoft Windows®"
msgstr "Xoá Microsoft Windows®"

#: fs/partitioning_wizard.pm:233
#, fuzzy, c-format
msgid "Erase and use entire disk"
msgstr "Xoá toàn bộ đĩa"

#: fs/partitioning_wizard.pm:237
#, fuzzy, c-format
msgid ""
"You have more than one hard disk drive, which one do you want the installer "
"to use?"
msgstr "Bạn có hơn một đĩa cứng, bạn cài đặt Linux lên đĩa nào?"

#: fs/partitioning_wizard.pm:245 fsedit.pm:634
#, c-format
msgid "ALL existing partitions and their data will be lost on drive %s"
msgstr "TOÀN BỘ các phân vùng và dữ liệu hiện có sẽ bị xóa khỏi ổ đĩa %s"

#: fs/partitioning_wizard.pm:255
#, c-format
msgid "Custom disk partitioning"
msgstr "Tùy chỉnh phân vùng đĩa "

#: fs/partitioning_wizard.pm:261
#, c-format
msgid "Use fdisk"
msgstr "Dùng fdisk"

#: fs/partitioning_wizard.pm:264
#, c-format
msgid ""
"You can now partition %s.\n"
"When you are done, do not forget to save using `w'"
msgstr ""
"Bây giờ bạn có thể phân vùng %s.\n"
"Khi hoàn thành, đừng quên `w' để lưu lại"

#: fs/partitioning_wizard.pm:403
#, fuzzy, c-format
msgid "Ext2/3/4"
msgstr "Thoát ra"

#: fs/partitioning_wizard.pm:433 fs/partitioning_wizard.pm:579
#, c-format
msgid "I cannot find any room for installing"
msgstr "Không tìm được nơi cài đặt"

#: fs/partitioning_wizard.pm:442 fs/partitioning_wizard.pm:586
#, c-format
msgid "The DrakX Partitioning wizard found the following solutions:"
msgstr "Đồ thuật phân vùng của DrakX tìm ra các giải pháp như sau:"

#: fs/partitioning_wizard.pm:512
#, c-format
msgid "Here is the content of your disk drive "
msgstr ""

#: fs/partitioning_wizard.pm:596
#, c-format
msgid "Partitioning failed: %s"
msgstr "Không phân vùng được: %s"

#: fs/type.pm:389
#, c-format
msgid "You cannot use JFS for partitions smaller than 16MB"
msgstr "Không thể sử dụng JFS  cho các phân vùng nhỏ hơn 16MB"

#: fs/type.pm:390
#, c-format
msgid "You cannot use ReiserFS for partitions smaller than 32MB"
msgstr "Bạn không thể dùng ReiserFS  cho các phân vùng nhỏ hơn 32MB"

#: fsedit.pm:24
#, c-format
msgid "simple"
msgstr "đơn giản"

#: fsedit.pm:28
#, c-format
msgid "with /usr"
msgstr "với /usr"

#: fsedit.pm:33
#, c-format
msgid "server"
msgstr "máy chủ"

#: fsedit.pm:137
#, c-format
msgid "BIOS software RAID detected on disks %s. Activate it?"
msgstr ""

#: fsedit.pm:247
#, c-format
msgid ""
"I cannot 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 ""
"Không đọc được bảng phân vùng của thiết bị %s, nó bị hỏng nặng :(\n"
"Có thể tiếp tục, hủy trên các phân vùng bị hỏng (Mọi dữ liệu sẽ bị mất!).\n"
"Giải pháp khác là không cho DrakX thay đổi bảng phân vùng.\n"
"(Lỗi như sau %s)\n"
"\n"
"Bạn có đồng ý để mất toàn bộ các phân vùng?\n"

#: fsedit.pm:427
#, c-format
msgid "Mount points must begin with a leading /"
msgstr "Điểm gắn kết phải bắt đầu với / ở đầu"

#: fsedit.pm:428
#, c-format
msgid "Mount points should contain only alphanumerical characters"
msgstr "Các điểm gắn kết chỉ nên dùng các ký tự chữ và số"

#: fsedit.pm:429
#, c-format
msgid "There is already a partition with mount point %s\n"
msgstr "Đang có một phân vùng có điểm gắn kết %s rồi\n"

#: fsedit.pm:434
#, fuzzy, c-format
msgid ""
"You've selected a software RAID partition as root (/).\n"
"No bootloader is able to handle this without a /boot partition.\n"
"Please be sure to add a separate /boot partition"
msgstr ""
"Phân vùng phần mềm RAID được chọn là root (/).\n"
"Không có trình khởi động nào xử lý nó khi thiếu phân vùng /boot.\n"
"Vì vậy, hãy đảm bảo thêm phân vùng /boot"

#: fsedit.pm:440
#, fuzzy, c-format
msgid ""
"Metadata version unsupported for a boot partition. Please be sure to add a "
"separate /boot partition."
msgstr ""
"Phân vùng phần mềm RAID được chọn là root (/).\n"
"Không có trình khởi động nào xử lý nó khi thiếu phân vùng /boot.\n"
"Vì vậy, hãy đảm bảo thêm phân vùng /boot"

#: fsedit.pm:448
#, fuzzy, c-format
msgid ""
"You've selected a software RAID partition as /boot.\n"
"No bootloader is able to handle this."
msgstr ""
"Phân vùng phần mềm RAID được chọn là root (/).\n"
"Không có trình khởi động nào xử lý nó khi thiếu phân vùng /boot.\n"
"Vì vậy, hãy đảm bảo thêm phân vùng /boot"

#: fsedit.pm:452
#, c-format
msgid "Metadata version unsupported for a boot partition."
msgstr ""

#: fsedit.pm:459
#, fuzzy, c-format
msgid ""
"You've selected an encrypted partition as root (/).\n"
"No bootloader is able to handle this without a /boot partition.\n"
"Please be sure to add a separate /boot partition"
msgstr ""
"Phân vùng phần mềm RAID được chọn là root (/).\n"
"Không có trình khởi động nào xử lý nó khi thiếu phân vùng /boot.\n"
"Vì vậy, hãy đảm bảo thêm phân vùng /boot"

#: fsedit.pm:465 fsedit.pm:485
#, c-format
msgid "You cannot use an encrypted filesystem for mount point %s"
msgstr "Không thể dùng một hệ thống file đã mã hóa cho điểm gắn kết %s"

#: fsedit.pm:469
#, fuzzy, c-format
msgid ""
"You cannot use the LVM Logical Volume for mount point %s since it spans "
"physical volumes"
msgstr "Không thể dùng một ổ lý luận LVM cho điểm gắn kết %s"

#: fsedit.pm:471
#, fuzzy, c-format
msgid ""
"You've selected the LVM Logical Volume as root (/).\n"
"The bootloader is not able to handle this when the volume spans physical "
"volumes.\n"
"You should create a separate /boot partition first"
msgstr ""
"Phân vùng LVM Logical Volume được chọn là root (/).\n"
"Không có trình khởi động nào xử lý nó khi thiếu phân vùng /boot.\n"
"Vì vậy, hãy đảm bảo thêm phân vùng /boot"

#: fsedit.pm:475 fsedit.pm:477
#, c-format
msgid "This directory should remain within the root filesystem"
msgstr "Thư mục này nên đặt trong hệ thống tập tin root"

#: fsedit.pm:479 fsedit.pm:481 fsedit.pm:483
#, c-format
msgid ""
"You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount "
"point\n"
msgstr ""
"Bạn cần một hệ thống tập tin thật sự (ext2/3/4, reiserfs, xfs, jfs) cho điểm "
"gắn kết này\n"

#: fsedit.pm:550
#, c-format
msgid "Not enough free space for auto-allocating"
msgstr "Không đủ không gian trống để phân chia tự động"

#: fsedit.pm:552
#, c-format
msgid "Nothing to do"
msgstr "Không có gì để làm"

#: harddrake/data.pm:62
#, c-format
msgid "SATA controllers"
msgstr "SATA controllers"

#: harddrake/data.pm:71
#, c-format
msgid "RAID controllers"
msgstr "RAID controllers"

#: harddrake/data.pm:81
#, c-format
msgid "(E)IDE/ATA controllers"
msgstr "(E)IDE/ATA controllers"

#: harddrake/data.pm:92
#, fuzzy, c-format
msgid "Card readers"
msgstr "Card loại: "

#: harddrake/data.pm:101
#, c-format
msgid "Firewire controllers"
msgstr "Firewire controllers"

#: harddrake/data.pm:110
#, c-format
msgid "PCMCIA controllers"
msgstr "PCMCIA controllers"

#: harddrake/data.pm:119
#, c-format
msgid "SCSI controllers"
msgstr "SCSI controllers"

#: harddrake/data.pm:128
#, c-format
msgid "USB controllers"
msgstr "USB controllers"

#: harddrake/data.pm:137
#, c-format
msgid "USB ports"
msgstr "Cổng USB"

#: harddrake/data.pm:146
#, c-format
msgid "SMBus controllers"
msgstr "SMBus controllers"

#: harddrake/data.pm:155
#, c-format
msgid "Bridges and system controllers"
msgstr "Bridges và điều khiển hệ thống"

#: harddrake/data.pm:167
#, c-format
msgid "Floppy"
msgstr "Đĩa mềm"

#: harddrake/data.pm:177
#, c-format
msgid "Zip"
msgstr "Zip"

#: harddrake/data.pm:193
#, c-format
msgid "Hard Disk"
msgstr "Đĩa"

#: harddrake/data.pm:203
#, fuzzy, c-format
msgid "USB Mass Storage Devices"
msgstr "Thiết bị âm thanh USB"

#: harddrake/data.pm:212
#, c-format
msgid "CDROM"
msgstr "CDROM"

#: harddrake/data.pm:222
#, c-format
msgid "CD/DVD burners"
msgstr "Ổ ghi CD/DVD"

#: harddrake/data.pm:232
#, c-format
msgid "DVD-ROM"
msgstr "DVD-ROM"

#: harddrake/data.pm:242
#, c-format
msgid "Tape"
msgstr "Băng Từ"

#: harddrake/data.pm:253
#, c-format
msgid "AGP controllers"
msgstr "AGP controllers"

#: harddrake/data.pm:262
#, c-format
msgid "Videocard"
msgstr "Videocard"

#: harddrake/data.pm:271
#, c-format
msgid "DVB card"
msgstr "DVB card"

#: harddrake/data.pm:279
#, c-format
msgid "Tvcard"
msgstr "Tvcard"

#: harddrake/data.pm:289
#, c-format
msgid "Other MultiMedia devices"
msgstr "Thiết bị đa phương tiện khác"

#: harddrake/data.pm:298
#, c-format
msgid "Soundcard"
msgstr "Card âm thanh"

#: harddrake/data.pm:312
#, c-format
msgid "Webcam"
msgstr "Webcam"

#: harddrake/data.pm:327
#, c-format
msgid "Processors"
msgstr "Bộ vi xử lý"

#: harddrake/data.pm:337
#, c-format
msgid "ISDN adapters"
msgstr "ISDN adapters"

#: harddrake/data.pm:348
#, c-format
msgid "USB sound devices"
msgstr "Thiết bị âm thanh USB"

#: harddrake/data.pm:357
#, c-format
msgid "Radio cards"
msgstr "Radio cards"

#: harddrake/data.pm:366
#, c-format
msgid "ATM network cards"
msgstr "ATM network cards"

#: harddrake/data.pm:375
#, c-format
msgid "WAN network cards"
msgstr "WAN network cards"

#: harddrake/data.pm:384
#, c-format
msgid "Bluetooth devices"
msgstr "Thiết bị bluetooth"

#: harddrake/data.pm:393
#, c-format
msgid "Ethernetcard"
msgstr "Ethernetcard"

#: harddrake/data.pm:410
#, c-format
msgid "Modem"
msgstr "Modem"

#: harddrake/data.pm:420
#, c-format
msgid "ADSL adapters"
msgstr "ADSL adapters"

#: harddrake/data.pm:432
#, c-format
msgid "Memory"
msgstr "Bộ nhớ"

#: harddrake/data.pm:441
#, c-format
msgid "Printer"
msgstr "Máy in"

#. -PO: these are joysticks controllers:
#: harddrake/data.pm:455
#, c-format
msgid "Game port controllers"
msgstr "Game port controllers"

#: harddrake/data.pm:464
#, c-format
msgid "Joystick"
msgstr "Joystick"

#: harddrake/data.pm:474
#, c-format
msgid "Keyboard"
msgstr "Bàn phím"

#: harddrake/data.pm:488
#, c-format
msgid "Tablet and touchscreen"
msgstr "Tablet và touchscreen"

#: harddrake/data.pm:497
#, c-format
msgid "Mouse"
msgstr "Chuột"

#: harddrake/data.pm:512
#, c-format
msgid "Biometry"
msgstr ""

#: harddrake/data.pm:520
#, c-format
msgid "UPS"
msgstr "UPS"

#: harddrake/data.pm:529
#, c-format
msgid "Scanner"
msgstr "Máy quét"

#: harddrake/data.pm:540
#, c-format
msgid "Unknown/Others"
msgstr "Không xác định/Cái khác"

#: harddrake/data.pm:570
#, c-format
msgid "cpu # "
msgstr "cpu # "

#: harddrake/sound.pm:270
#, c-format
msgid "Please Wait... Applying the configuration"
msgstr "Hãy chờ...đang áp dụng cấu hình"

#: harddrake/sound.pm:331
#, c-format
msgid "Enable PulseAudio"
msgstr ""

#: harddrake/sound.pm:336
#, c-format
msgid "Use Glitch-Free mode"
msgstr ""

#: harddrake/sound.pm:342
#, c-format
msgid "Reset sound mixer to default values"
msgstr ""

#: harddrake/sound.pm:347
#, c-format
msgid "Troubleshooting"
msgstr "Gỡ lỗi"

#: harddrake/sound.pm:354
#, c-format
msgid "No alternative driver"
msgstr "Không có driver thay thế"

#: harddrake/sound.pm:355
#, c-format
msgid ""
"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
"currently uses \"%s\""
msgstr ""
"Không tìm được driver của OSS/ALSA thay thế khác cho card âm thanh của bạn "
"(%s) driver hiện thời đang dùng là \"%s\""

#: harddrake/sound.pm:362
#, c-format
msgid "Sound configuration"
msgstr "Cấu hình âm thanh"

#: harddrake/sound.pm:364
#, c-format
msgid ""
"Here you can select an alternative driver (either OSS or ALSA) for your "
"sound card (%s)."
msgstr ""
"Tại đây, bạn có thể chọn một driver thay thế (OSS hay ALSA) cho card âm "
"thanh của bạn (%s)"

#. -PO: here the first %s is either "OSS" or "ALSA", 
#. -PO: the second %s is the name of the current driver
#. -PO: and the third %s is the name of the default driver
#: harddrake/sound.pm:369
#, fuzzy, c-format
msgid ""
"\n"
"\n"
"Your card currently uses the %s\"%s\" driver (the default driver for your "
"card is \"%s\")"
msgstr ""
"\n"
"\n"
"Card hiện thời sử dụng %s\"%s\" driver (driver mặc định cho card của bạn là "
"\"%s\")"

#: harddrake/sound.pm:371
#, 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 Source Sound) là API âm thanh đầu tiên. Nó là API âm thanh độc lập "
"HĐH (có sẵn trong hầu hết các hệ thống UNIX) nhưng là một API rất cơ bản và "
"hạn chế.\n"
"Hơn nữa, toàn bộ các OSS cũng không có gì cải tiến.\n"
"\n"
"ALSA (Advanced Linux Sound Architecture) là một kiến trúc được module hoá, "
"nó\n"
"hỗ trợ rất nhiều card loại ISA, USB và PCI.\n"
"\n"
"Nó cũng cung cấp API mức cao hơn nhiều so với OSS.\n"
"\n"
"Dùng ALSA bằng một trong những lựa chọn sau đây:\n"
"- OSS API tương thích cũ\n"
"- ALSA API mới cung cấp nhiều tính năng tăng cường nhưng đòi hỏi dùng thư "
"viện của ALSA.\n"

#: harddrake/sound.pm:385 harddrake/sound.pm:468
#, c-format
msgid "Driver:"
msgstr "Driver:"

#: harddrake/sound.pm:399
#, c-format
msgid ""
"The old \"%s\" driver is blacklisted.\n"
"\n"
"It has been reported to oops the kernel on unloading.\n"
"\n"
"The new \"%s\" driver will only be used on next bootstrap."
msgstr ""
"Driver cũ \"%s\" đã bị ghi sổ đen.\n"
"\n"
"Nó được ghi nhận là làm rối kernel khi thôi nạp.\n"
"\n"
"Driver mới \"%s\" sẽ chỉ được dùng trên bootstrap tiếp theo."

#: harddrake/sound.pm:407
#, c-format
msgid "No open source driver"
msgstr "Không có driver nguồn mở"

#: harddrake/sound.pm:408
#, c-format
msgid ""
"There's no free driver for your sound card (%s), but there's a proprietary "
"driver at \"%s\"."
msgstr ""
"Không có driver miễn phí cho card âm thanh của bạn (%s), nhưng có driver "
"thương mại tại \"%s\"."

#: harddrake/sound.pm:411
#, c-format
msgid "No known driver"
msgstr "Không xác định được driver nào"

#: harddrake/sound.pm:412
#, c-format
msgid "There's no known driver for your sound card (%s)"
msgstr "Không xác định được driver nào cho card âm thanh của bạn (%s)"

#: harddrake/sound.pm:427
#, c-format
msgid "Sound troubleshooting"
msgstr "Gỡ lỗi âm thanh"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: harddrake/sound.pm:430
#, c-format
msgid ""
"The classic bug sound tester is to run the following commands:\n"
"\n"
"\n"
"- \"lspcidrake -v | fgrep -i AUDIO\" will tell you which driver your card "
"uses\n"
"by default\n"
"\n"
"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
"currently uses\n"
"\n"
"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
"loaded or not\n"
"\n"
"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
"tell you if sound and alsa services are 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 ""
"Trình kiểm tra lỗi âm thanh cổ điển cần chạy những lệnh sau:\n"
"\n"
"\n"
"- \"lspcidrake -v | fgrep -i AUDIO\" cho bạn biết driver nào card dùng\n"
"làm mặc định\n"
"\n"
"- \"grep sound-slot /etc/modprobe.conf\" cho bạn biết driver nào hiện\n"
"thời nó đang dùng\n"
"\n"
"- \"/sbin/lsmod\" cho phép bạn kiểm tra xem module của nó (driver)\n"
"có được nạp hay không\n"
"\n"
"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" cho\n"
"bạn biết âm thanh và những dịch vụ alsa được cấu hình để chạy với\n"
"initlevel 3\n"
"\n"
"- \"aumix -q\" cho bạn biết âm lượng có bị tắt hay không\n"
"\n"
"- \"/sbin/fuser -v /dev/dsp\" cho bạn biết chương trình nào sử dụng card âm "
"thanh.\n"

#: harddrake/sound.pm:457
#, c-format
msgid "Let me pick any driver"
msgstr "Hãy để chương trình chọn một driver bất kỳ"

#: harddrake/sound.pm:460
#, c-format
msgid "Choosing an arbitrary driver"
msgstr "Hãy chọn một driver tùy ý"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: harddrake/sound.pm:463
#, c-format
msgid ""
"If you really think that you know which driver is the right one for your "
"card\n"
"you can pick one from the above list.\n"
"\n"
"The current driver for your \"%s\" sound card is \"%s\" "
msgstr ""
"Nếu bạn biết rõ driver nào là đúng cho card của bạn\n"
"thì hãy chọn nó trong danh sách ở trên.\n"
"\n"
"Driver hiện thời cho card âm thanh \"%s\" của bạn là \"%s\" "

#: harddrake/v4l.pm:12
#, c-format
msgid "Auto-detect"
msgstr "Dò tìm Tự động"

#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
#, c-format
msgid "Unknown|Generic"
msgstr "Không xác định|Chuẩn chung"

#: harddrake/v4l.pm:130
#, c-format
msgid "Unknown|CPH05X (bt878) [many vendors]"
msgstr "Không xác định|CPH05X (bt878) [nhiều nhà SX]"

#: harddrake/v4l.pm:131
#, c-format
msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr "Không xác định|CPH06X (bt878) [nhiều nhà SX]"

#: harddrake/v4l.pm:475
#, 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 ""
"Đối với hầu hết các card TV, module bttv của kernel Linux sẽ tự dò tìm đúng "
"các thông số.\n"
"Nếu như card của bạn không dò ra được, bạn có thể bắt dùng đúng loại card và "
"chỉnh sóng tại đây. Chỉ việc chọn các thông số của card khi cần."

#: harddrake/v4l.pm:478
#, c-format
msgid "Card model:"
msgstr "Card loại: "

#: harddrake/v4l.pm:479
#, c-format
msgid "Tuner type:"
msgstr "Chỉnh sóng loại :"

#: interactive.pm:129 interactive.pm:550 interactive/curses.pm:270
#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
#: interactive/stdio.pm:148 interactive/stdio.pm:149 mygtk2.pm:846
#: ugtk2.pm:421 ugtk2.pm:519 ugtk2.pm:812 ugtk2.pm:835
#, c-format
msgid "Ok"
msgstr "OK"

#: interactive.pm:229 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:157
#, c-format
msgid "Yes"
msgstr "Có"

#: interactive.pm:229 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:157
#, c-format
msgid "No"
msgstr "Không"

#: interactive.pm:263
#, c-format
msgid "Choose a file"
msgstr "Chọn một tập tin"

#: interactive.pm:388 interactive/gtk.pm:453
#, c-format
msgid "Add"
msgstr "Thêm"

#: interactive.pm:388 interactive/gtk.pm:453
#, c-format
msgid "Modify"
msgstr "Biến đổi"

#: interactive.pm:550 interactive/curses.pm:270 ugtk2.pm:519
#, c-format
msgid "Finish"
msgstr "Kết thúc"

#: interactive.pm:551 interactive/curses.pm:267 ugtk2.pm:517
#, c-format
msgid "Previous"
msgstr "Về trước"

#: interactive/curses.pm:576 ugtk2.pm:872
#, c-format
msgid "No file chosen"
msgstr "Chưa chọn tập tin"

#: interactive/curses.pm:580 ugtk2.pm:876
#, c-format
msgid "You have chosen a directory, not a file"
msgstr "Bạn đã chọn một thư mục, không chọn tập tin"

#: interactive/curses.pm:582 ugtk2.pm:878
#, c-format
msgid "No such directory"
msgstr "Không có thư mục như vậy"

#: interactive/curses.pm:582 ugtk2.pm:878
#, c-format
msgid "No such file"
msgstr "Không có tập tin như vậy"

#: interactive/gtk.pm:592
#, c-format
msgid "Beware, Caps Lock is enabled"
msgstr ""

#: interactive/stdio.pm:29 interactive/stdio.pm:154
#, c-format
msgid "Bad choice, try again\n"
msgstr "Lựa chọn tồi, hãy thử lại\n"

#: interactive/stdio.pm:30 interactive/stdio.pm:155
#, c-format
msgid "Your choice? (default %s) "
msgstr "Lựa chọn của bạn? (mặc định %s)"

#: interactive/stdio.pm:54
#, c-format
msgid ""
"Entries you'll have to fill:\n"
"%s"
msgstr ""
"Các mục nhập cần phải điền:\n"
"%s"

#: interactive/stdio.pm:70
#, c-format
msgid "Your choice? (0/1, default `%s') "
msgstr "Lựa chọn của bạn? (0/1, `%s' mặc định) "

#: interactive/stdio.pm:97
#, c-format
msgid "Button `%s': %s"
msgstr "Nút: `%s': %s"

#: interactive/stdio.pm:98
#, c-format
msgid "Do you want to click on this button?"
msgstr "Có muốn nhấn lên nút này không?"

#: interactive/stdio.pm:110
#, c-format
msgid "Your choice? (default `%s'%s) "
msgstr "Lựa chọn của bạn? (mặc định `%s'%s) "

#: interactive/stdio.pm:110
#, c-format
msgid " enter `void' for void entry"
msgstr " nhập `void' cho mục nhập void"

#: interactive/stdio.pm:128
#, c-format
msgid "=> There are many things to choose from (%s).\n"
msgstr "=> Có rất nhiều thứ để chọn trong (%s).\n"

#: interactive/stdio.pm:131
#, 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 ""
"Hãy chọn số đầu tiên trong hàng 10 mà bạn muốn biên soạn,\n"
"hoặc nhấn Enter để tiến hành.\n"
"Bạn chọn gì? "

#: interactive/stdio.pm:144
#, c-format
msgid ""
"=> Notice, a label changed:\n"
"%s"
msgstr ""
"=> Thông báo, một nhãn bị đổi:\n"
"%s"

#: interactive/stdio.pm:151
#, c-format
msgid "Re-submit"
msgstr "Đệ trình lại"

#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
#. -PO: or as "default:RTL", depending if your language is written from
#. -PO: left to right, or from right to left; any other string is wrong.
#: lang.pm:203
#, c-format
msgid "default:LTR"
msgstr "default:LTR"

#: lang.pm:220
#, c-format
msgid "Andorra"
msgstr "Andorra"

#: lang.pm:221 timezone.pm:228
#, c-format
msgid "United Arab Emirates"
msgstr "Các Tiểu Vương Quốc Ả Rập Thống Nhất"

#: lang.pm:222
#, c-format
msgid "Afghanistan"
msgstr "Afghanistan"

#: lang.pm:223
#, c-format
msgid "Antigua and Barbuda"
msgstr "Antigua và Barbuda"

#: lang.pm:224
#, c-format
msgid "Anguilla"
msgstr "Anguilla"

#: lang.pm:225
#, c-format
msgid "Albania"
msgstr "Albania"

#: lang.pm:226
#, c-format
msgid "Armenia"
msgstr "Armenia"

#: lang.pm:227
#, c-format
msgid "Netherlands Antilles"
msgstr "Netherlands Antilles"

#: lang.pm:228
#, c-format
msgid "Angola"
msgstr "Angola"

#: lang.pm:229
#, c-format
msgid "Antarctica"
msgstr "Antarctica"

#: lang.pm:230 timezone.pm:273
#, c-format
msgid "Argentina"
msgstr "Argentina"

#: lang.pm:231
#, c-format
msgid "American Samoa"
msgstr "American Samoa"

#: lang.pm:232 mirror.pm:12 timezone.pm:231
#, c-format
msgid "Austria"
msgstr "Áo"

#: lang.pm:233 mirror.pm:11 timezone.pm:269
#, c-format
msgid "Australia"
msgstr "Úc"

#: lang.pm:234
#, c-format
msgid "Aruba"
msgstr "Aruba"

#: lang.pm:235
#, c-format
msgid "Azerbaijan"
msgstr "Azerbaijan"

#: lang.pm:236
#, c-format
msgid "Bosnia and Herzegovina"
msgstr "Bosnia và Herzegovina"

#: lang.pm:237
#, c-format
msgid "Barbados"
msgstr "Barbados"

#: lang.pm:238 timezone.pm:213
#, c-format
msgid "Bangladesh"
msgstr "Bangladesh"

#: lang.pm:239 mirror.pm:13 timezone.pm:233
#, c-format
msgid "Belgium"
msgstr "Bỉ"

#: lang.pm:240
#, c-format
msgid "Burkina Faso"
msgstr "Burkina Faso"

#: lang.pm:241 timezone.pm:234
#, c-format
msgid "Bulgaria"
msgstr "Bulgaria"

#: lang.pm:242
#, c-format
msgid "Bahrain"
msgstr "Bahrain"

#: lang.pm:243
#, c-format
msgid "Burundi"
msgstr "Burundi"

#: lang.pm:244
#, c-format
msgid "Benin"
msgstr "Benin"

#: lang.pm:245
#, c-format
msgid "Bermuda"
msgstr "Bermuda"

#: lang.pm:246
#, c-format
msgid "Brunei Darussalam"
msgstr "Brunei Darussalam"

#: lang.pm:247
#, c-format
msgid "Bolivia"
msgstr "Bolivia"

#: lang.pm:248 mirror.pm:14 timezone.pm:274
#, c-format
msgid "Brazil"
msgstr "Braxin"

#: lang.pm:249
#, c-format
msgid "Bahamas"
msgstr "Bahamas"

#: lang.pm:250
#, c-format
msgid "Bhutan"
msgstr "Bhutan"

#: lang.pm:251
#, c-format
msgid "Bouvet Island"
msgstr "Đảo Bouvet"

#: lang.pm:252
#, c-format
msgid "Botswana"
msgstr "Botswana"

#: lang.pm:253 timezone.pm:232
#, c-format
msgid "Belarus"
msgstr "Belarus"

#: lang.pm:254
#, c-format
msgid "Belize"
msgstr "Belize"

#: lang.pm:255 mirror.pm:15 timezone.pm:263
#, c-format
msgid "Canada"
msgstr "Canada"

#: lang.pm:256
#, c-format
msgid "Cocos (Keeling) Islands"
msgstr "Cocos (Keeling) Islands"

#: lang.pm:257
#, c-format
msgid "Congo (Kinshasa)"
msgstr "Congo (Kinshasa)"

#: lang.pm:258
#, c-format
msgid "Central African Republic"
msgstr "Central African Republic"

#: lang.pm:259
#, c-format
msgid "Congo (Brazzaville)"
msgstr "Congo (Brazzaville)"

#: lang.pm:260 mirror.pm:39 timezone.pm:257
#, c-format
msgid "Switzerland"
msgstr "Switzerland"

#: lang.pm:261
#, c-format
msgid "Cote d'Ivoire"
msgstr "Cote d'Ivoire"

#: lang.pm:262
#, c-format
msgid "Cook Islands"
msgstr "Đảo Cook"

#: lang.pm:263 timezone.pm:275
#, c-format
msgid "Chile"
msgstr "Chi Lê"

#: lang.pm:264
#, c-format
msgid "Cameroon"
msgstr "Camơrun"

#: lang.pm:265 timezone.pm:214
#, c-format
msgid "China"
msgstr "Trung Quốc"

#: lang.pm:266
#, c-format
msgid "Colombia"
msgstr "Colombia"

#: lang.pm:267 mirror.pm:16
#, c-format
msgid "Costa Rica"
msgstr "Costa Rica"

#: lang.pm:268
#, c-format
msgid "Serbia & Montenegro"
msgstr "Serbia & Montenegro"

#: lang.pm:269
#, c-format
msgid "Cuba"
msgstr "Cuba"

#: lang.pm:270
#, c-format
msgid "Cape Verde"
msgstr "Cape Verde"

#: lang.pm:271
#, c-format
msgid "Christmas Island"
msgstr "Đảo Christmas"

#: lang.pm:272
#, c-format
msgid "Cyprus"
msgstr "Cyprus"

#: lang.pm:273 mirror.pm:17 timezone.pm:235
#, c-format
msgid "Czech Republic"
msgstr "Czech Republic"

#: lang.pm:274 mirror.pm:22 timezone.pm:240
#, c-format
msgid "Germany"
msgstr "Đức"

#: lang.pm:275
#, c-format
msgid "Djibouti"
msgstr "Djibouti"

#: lang.pm:276 mirror.pm:18 timezone.pm:236
#, c-format
msgid "Denmark"
msgstr "Đan Mạch"

#: lang.pm:277
#, c-format
msgid "Dominica"
msgstr "Dominica"

#: lang.pm:278
#, c-format
msgid "Dominican Republic"
msgstr "Cộng hoà Dominic"

#: lang.pm:279
#, c-format
msgid "Algeria"
msgstr "Angêri"

#: lang.pm:280
#, c-format
msgid "Ecuador"
msgstr "Ecuador"

#: lang.pm:281 mirror.pm:19 timezone.pm:237
#, c-format
msgid "Estonia"
msgstr "Estonia"

#: lang.pm:282
#, c-format
msgid "Egypt"
msgstr "Ai Cập"

#: lang.pm:283
#, c-format
msgid "Western Sahara"
msgstr "Tây Sahara"

#: lang.pm:284
#, c-format
msgid "Eritrea"
msgstr "Eritrea"

#: lang.pm:285 mirror.pm:37 timezone.pm:255
#, c-format
msgid "Spain"
msgstr "Tây Ban Nha"

#: lang.pm:286
#, c-format
msgid "Ethiopia"
msgstr "Ethiopia"

#: lang.pm:287 mirror.pm:20 timezone.pm:238
#, c-format
msgid "Finland"
msgstr "Phần Lan"

#: lang.pm:288
#, c-format
msgid "Fiji"
msgstr "Fiji"

#: lang.pm:289
#, c-format
msgid "Falkland Islands (Malvinas)"
msgstr "Quần đảo Falkland (Malvinas)"

#: lang.pm:290
#, c-format
msgid "Micronesia"
msgstr "Micronesia"

#: lang.pm:291
#, c-format
msgid "Faroe Islands"
msgstr "Quần đảo Faroe"

#: lang.pm:292 mirror.pm:21 timezone.pm:239
#, c-format
msgid "France"
msgstr "Pháp"

#: lang.pm:293
#, c-format
msgid "Gabon"
msgstr "Gabon"

#: lang.pm:294 timezone.pm:259
#, c-format
msgid "United Kingdom"
msgstr "Anh Quốc"

#: lang.pm:295
#, c-format
msgid "Grenada"
msgstr "Grenada"

#: lang.pm:296
#, c-format
msgid "Georgia"
msgstr "Georgia"

#: lang.pm:297
#, c-format
msgid "French Guiana"
msgstr "French Guiana"

#: lang.pm:298
#, c-format
msgid "Ghana"
msgstr "Ghana"

#: lang.pm:299
#, c-format
msgid "Gibraltar"
msgstr "Gibraltar"

#: lang.pm:300
#, c-format
msgid "Greenland"
msgstr "Greenland"

#: lang.pm:301
#, c-format
msgid "Gambia"
msgstr "Gambia"

#: lang.pm:302
#, c-format
msgid "Guinea"
msgstr "Guinea"

#: lang.pm:303
#, c-format
msgid "Guadeloupe"
msgstr "Guadeloupe"

#: lang.pm:304
#, c-format
msgid "Equatorial Guinea"
msgstr "Equatorial Guinea"

#: lang.pm:305 mirror.pm:23 timezone.pm:241
#, c-format
msgid "Greece"
msgstr "Hy lạp"

#: lang.pm:306
#, c-format
msgid "South Georgia and the South Sandwich Islands"
msgstr "Nam Georgia và các đảo Nam Sandwich"

#: lang.pm:307 timezone.pm:264
#, c-format
msgid "Guatemala"
msgstr "Guatemala"

#: lang.pm:308
#, c-format
msgid "Guam"
msgstr "Guam"

#: lang.pm:309
#, c-format
msgid "Guinea-Bissau"
msgstr "Guinea-Bissau"

#: lang.pm:310
#, c-format
msgid "Guyana"
msgstr "Guyana"

#: lang.pm:311
#, c-format
msgid "Hong Kong SAR (China)"
msgstr "Trung Quốc (Hong Kong)"

#: lang.pm:312
#, c-format
msgid "Heard and McDonald Islands"
msgstr "Đảo Heard và McDonald"

#: lang.pm:313
#, c-format
msgid "Honduras"
msgstr "Honduras"

#: lang.pm:314
#, c-format
msgid "Croatia"
msgstr "Croatia"

#: lang.pm:315
#, c-format
msgid "Haiti"
msgstr "Haiti"

#: lang.pm:316 mirror.pm:24 timezone.pm:242
#, c-format
msgid "Hungary"
msgstr "Hungary"

#: lang.pm:317 timezone.pm:217
#, c-format
msgid "Indonesia"
msgstr "Indonesia"

#: lang.pm:318 mirror.pm:25 timezone.pm:243
#, c-format
msgid "Ireland"
msgstr "Ai len"

#: lang.pm:319 mirror.pm:26 timezone.pm:219
#, c-format
msgid "Israel"
msgstr "Israel"

#: lang.pm:320 timezone.pm:216
#, c-format
msgid "India"
msgstr "Ấn Độ"

#: lang.pm:321
#, c-format
msgid "British Indian Ocean Territory"
msgstr "Lãnh thổ Ấn Độ Dương của Anh"

#: lang.pm:322
#, c-format
msgid "Iraq"
msgstr "Iraq"

#: lang.pm:323 timezone.pm:218
#, c-format
msgid "Iran"
msgstr "Iran"

#: lang.pm:324
#, c-format
msgid "Iceland"
msgstr "Iceland"

#: lang.pm:325 mirror.pm:27 timezone.pm:244
#, c-format
msgid "Italy"
msgstr "Ý"

#: lang.pm:326
#, c-format
msgid "Jamaica"
msgstr "Jamaica"

#: lang.pm:327
#, c-format
msgid "Jordan"
msgstr "Jordania"

#: lang.pm:328 mirror.pm:28 timezone.pm:220
#, c-format
msgid "Japan"
msgstr "Nhật Bản"

#: lang.pm:329
#, c-format
msgid "Kenya"
msgstr "Kenya"

#: lang.pm:330
#, c-format
msgid "Kyrgyzstan"
msgstr "Kyrgyzstan"

#: lang.pm:331
#, c-format
msgid "Cambodia"
msgstr "Campuchia"

#: lang.pm:332
#, c-format
msgid "Kiribati"
msgstr "Kiribati"

#: lang.pm:333
#, c-format
msgid "Comoros"
msgstr "Comoros"

#: lang.pm:334
#, c-format
msgid "Saint Kitts and Nevis"
msgstr "Saint Kitts và Nevis"

#: lang.pm:335
#, c-format
msgid "Korea (North)"
msgstr "Bắc Triều Tiên"

#: lang.pm:336 timezone.pm:221
#, c-format
msgid "Korea"
msgstr "Triều Tiên"

#: lang.pm:337
#, c-format
msgid "Kuwait"
msgstr "Kuwait"

#: lang.pm:338
#, c-format
msgid "Cayman Islands"
msgstr "Cayman Islands"

#: lang.pm:339
#, c-format
msgid "Kazakhstan"
msgstr "Kazakhstan"

#: lang.pm:340
#, c-format
msgid "Laos"
msgstr "Lào"

#: lang.pm:341
#, c-format
msgid "Lebanon"
msgstr "Lebanon"

#: lang.pm:342
#, c-format
msgid "Saint Lucia"
msgstr "Saint Lucia"

#: lang.pm:343
#, c-format
msgid "Liechtenstein"
msgstr "Liechtenstein"

#: lang.pm:344
#, c-format
msgid "Sri Lanka"
msgstr "Sri Lanka"

#: lang.pm:345
#, c-format
msgid "Liberia"
msgstr "Liberia"

#: lang.pm:346
#, c-format
msgid "Lesotho"
msgstr "Lesotho"

#: lang.pm:347 timezone.pm:245
#, c-format
msgid "Lithuania"
msgstr "Lithuania"

#: lang.pm:348 timezone.pm:246
#, c-format
msgid "Luxembourg"
msgstr "Luxembourg"

#: lang.pm:349
#, c-format
msgid "Latvia"
msgstr "Latvia"

#: lang.pm:350
#, c-format
msgid "Libya"
msgstr "Libya"

#: lang.pm:351
#, c-format
msgid "Morocco"
msgstr "Morocco"

#: lang.pm:352
#, c-format
msgid "Monaco"
msgstr "Monaco"

#: lang.pm:353
#, c-format
msgid "Moldova"
msgstr "Moldova"

#: lang.pm:354
#, c-format
msgid "Madagascar"
msgstr "Madagascar"

#: lang.pm:355
#, c-format
msgid "Marshall Islands"
msgstr "Quần đảo Marshall"

#: lang.pm:356
#, c-format
msgid "Macedonia"
msgstr "Macedonia"

#: lang.pm:357
#, c-format
msgid "Mali"
msgstr "Mali"

#: lang.pm:358
#, c-format
msgid "Myanmar"
msgstr "Myanmar"

#: lang.pm:359
#, c-format
msgid "Mongolia"
msgstr "Mông Cổ"

#: lang.pm:360
#, c-format
msgid "Northern Mariana Islands"
msgstr "Quần Đảo Bắc Mariana"

#: lang.pm:361
#, c-format
msgid "Martinique"
msgstr "Martinique"

#: lang.pm:362
#, c-format
msgid "Mauritania"
msgstr "Mauritania"

#: lang.pm:363
#, c-format
msgid "Montserrat"
msgstr "Montserrat"

#: lang.pm:364
#, c-format
msgid "Malta"
msgstr "Malta"

#: lang.pm:365
#, c-format
msgid "Mauritius"
msgstr "Mauritius"

#: lang.pm:366
#, c-format
msgid "Maldives"
msgstr "Maldives"

#: lang.pm:367
#, c-format
msgid "Malawi"
msgstr "Malawi"

#: lang.pm:368 timezone.pm:265
#, c-format
msgid "Mexico"
msgstr "Mehicô"

#: lang.pm:369 timezone.pm:222
#, c-format
msgid "Malaysia"
msgstr "Malaysia"

#: lang.pm:370
#, c-format
msgid "Mozambique"
msgstr "Mozambique"

#: lang.pm:371
#, c-format
msgid "Namibia"
msgstr "Namibia"

#: lang.pm:372
#, c-format
msgid "New Caledonia"
msgstr "New Caledonia"

#: lang.pm:373
#, c-format
msgid "Niger"
msgstr "Niger"

#: lang.pm:374
#, c-format
msgid "Norfolk Island"
msgstr "Norfolk Island"

#: lang.pm:375
#, c-format
msgid "Nigeria"
msgstr "Nigeria"

#: lang.pm:376
#, c-format
msgid "Nicaragua"
msgstr "Nicaragua"

#: lang.pm:377 mirror.pm:29 timezone.pm:247
#, c-format
msgid "Netherlands"
msgstr "Hà Lan"

#: lang.pm:378 mirror.pm:31 timezone.pm:248
#, c-format
msgid "Norway"
msgstr "Na uy"

#: lang.pm:379
#, c-format
msgid "Nepal"
msgstr "Nepal"

#: lang.pm:380
#, c-format
msgid "Nauru"
msgstr "Nauru"

#: lang.pm:381
#, c-format
msgid "Niue"
msgstr "Niue"

#: lang.pm:382 mirror.pm:30 timezone.pm:270
#, c-format
msgid "New Zealand"
msgstr "New Zealand"

#: lang.pm:383
#, c-format
msgid "Oman"
msgstr "Oman"

#: lang.pm:384
#, c-format
msgid "Panama"
msgstr "Panama"

#: lang.pm:385
#, c-format
msgid "Peru"
msgstr "Peru"

#: lang.pm:386
#, c-format
msgid "French Polynesia"
msgstr "French Polynesia"

#: lang.pm:387
#, c-format
msgid "Papua New Guinea"
msgstr "Papua New Guinea"

#: lang.pm:388 timezone.pm:223
#, c-format
msgid "Philippines"
msgstr "Philippin"

#: lang.pm:389
#, c-format
msgid "Pakistan"
msgstr "Pakistan"

#: lang.pm:390 mirror.pm:32 timezone.pm:249
#, c-format
msgid "Poland"
msgstr "Poland"

#: lang.pm:391
#, c-format
msgid "Saint Pierre and Miquelon"
msgstr "Saint Pierre và Miquelon"

#: lang.pm:392
#, c-format
msgid "Pitcairn"
msgstr "Pitcairn"

#: lang.pm:393
#, c-format
msgid "Puerto Rico"
msgstr "Puerto Rico"

#: lang.pm:394
#, c-format
msgid "Palestine"
msgstr "Palestine"

#: lang.pm:395 mirror.pm:33 timezone.pm:250
#, c-format
msgid "Portugal"
msgstr "Portugal"

#: lang.pm:396
#, c-format
msgid "Paraguay"
msgstr "Paraguay"

#: lang.pm:397
#, c-format
msgid "Palau"
msgstr "Palau"

#: lang.pm:398
#, c-format
msgid "Qatar"
msgstr "Qatar"

#: lang.pm:399
#, c-format
msgid "Reunion"
msgstr "Reunion"

#: lang.pm:400 timezone.pm:251
#, c-format
msgid "Romania"
msgstr "Romania"

#: lang.pm:401 mirror.pm:34
#, c-format
msgid "Russia"
msgstr "Nga"

#: lang.pm:402
#, c-format
msgid "Rwanda"
msgstr "Rwanda"

#: lang.pm:403
#, c-format
msgid "Saudi Arabia"
msgstr "Saudi Arabia"

#: lang.pm:404
#, c-format
msgid "Solomon Islands"
msgstr "Solomon Islands"

#: lang.pm:405
#, c-format
msgid "Seychelles"
msgstr "Seychelles"

#: lang.pm:406
#, c-format
msgid "Sudan"
msgstr "Sudan"

#: lang.pm:407 mirror.pm:38 timezone.pm:256
#, c-format
msgid "Sweden"
msgstr "Thụy điển"

#: lang.pm:408 timezone.pm:224
#, c-format
msgid "Singapore"
msgstr "Singapore"

#: lang.pm:409
#, c-format
msgid "Saint Helena"
msgstr "Saint Helena"

#: lang.pm:410 timezone.pm:254
#, c-format
msgid "Slovenia"
msgstr "Slovenia"

#: lang.pm:411
#, c-format
msgid "Svalbard and Jan Mayen Islands"
msgstr "Svalbard và Jan Mayen Islands"

#: lang.pm:412 mirror.pm:35 timezone.pm:253
#, c-format
msgid "Slovakia"
msgstr "Slovakia"

#: lang.pm:413
#, c-format
msgid "Sierra Leone"
msgstr "Sierra Leone"

#: lang.pm:414
#, c-format
msgid "San Marino"
msgstr "San Marino"

#: lang.pm:415
#, c-format
msgid "Senegal"
msgstr "Senegal"

#: lang.pm:416
#, c-format
msgid "Somalia"
msgstr "Somalia"

#: lang.pm:417
#, c-format
msgid "Suriname"
msgstr "Suriname"

#: lang.pm:418
#, c-format
msgid "Sao Tome and Principe"
msgstr "Sao Tome and Principe"

#: lang.pm:419
#, c-format
msgid "El Salvador"
msgstr "El Salvador"

#: lang.pm:420
#, c-format
msgid "Syria"
msgstr "Syria"

#: lang.pm:421
#, c-format
msgid "Swaziland"
msgstr "Swaziland"

#: lang.pm:422
#, c-format
msgid "Turks and Caicos Islands"
msgstr "Turks and Caicos Islands"

#: lang.pm:423
#, c-format
msgid "Chad"
msgstr "Chad"

#: lang.pm:424
#, c-format
msgid "French Southern Territories"
msgstr "French Southern Territories"

#: lang.pm:425
#, c-format
msgid "Togo"
msgstr "Togo"

#: lang.pm:426 mirror.pm:41 timezone.pm:226
#, c-format
msgid "Thailand"
msgstr "Thái"

#: lang.pm:427
#, c-format
msgid "Tajikistan"
msgstr "Tajikistan"

#: lang.pm:428
#, c-format
msgid "Tokelau"
msgstr "Tokelau"

#: lang.pm:429
#, c-format
msgid "East Timor"
msgstr "Đông Timor"

#: lang.pm:430
#, c-format
msgid "Turkmenistan"
msgstr "Turkmenistan"

#: lang.pm:431
#, c-format
msgid "Tunisia"
msgstr "Tunisia"

#: lang.pm:432
#, c-format
msgid "Tonga"
msgstr "Tonga"

#: lang.pm:433 timezone.pm:227
#, c-format
msgid "Turkey"
msgstr "Thổ Nhĩ Kỳ"

#: lang.pm:434
#, c-format
msgid "Trinidad and Tobago"
msgstr "Trinidad và Tobago"

#: lang.pm:435
#, c-format
msgid "Tuvalu"
msgstr "Tuvalu"

#: lang.pm:436 mirror.pm:40 timezone.pm:225
#, c-format
msgid "Taiwan"
msgstr "Đài Loan"

#: lang.pm:437 timezone.pm:210
#, c-format
msgid "Tanzania"
msgstr "Tanzania"

#: lang.pm:438 timezone.pm:258
#, c-format
msgid "Ukraine"
msgstr "Ukraine"

#: lang.pm:439
#, c-format
msgid "Uganda"
msgstr "Uganda"

#: lang.pm:440
#, c-format
msgid "United States Minor Outlying Islands"
msgstr "United States Minor Outlying Islands"

#: lang.pm:441 mirror.pm:42 timezone.pm:266
#, c-format
msgid "United States"
msgstr "Hoa Kỳ"

#: lang.pm:442
#, c-format
msgid "Uruguay"
msgstr "Uruguay"

#: lang.pm:443
#, c-format
msgid "Uzbekistan"
msgstr "Uzbekistan"

#: lang.pm:444
#, c-format
msgid "Vatican"
msgstr "Vatican"

#: lang.pm:445
#, c-format
msgid "Saint Vincent and the Grenadines"
msgstr "Saint Vincent và the Grenadines"

#: lang.pm:446
#, c-format
msgid "Venezuela"
msgstr "Venezuela"

#: lang.pm:447
#, c-format
msgid "Virgin Islands (British)"
msgstr "Virgin Islands (British)"

#: lang.pm:448
#, c-format
msgid "Virgin Islands (U.S.)"
msgstr "Virgin Islands (U.S.)"

#: lang.pm:449
#, c-format
msgid "Vietnam"
msgstr "Việt Nam"

#: lang.pm:450
#, c-format
msgid "Vanuatu"
msgstr "Vanuatu"

#: lang.pm:451
#, c-format
msgid "Wallis and Futuna"
msgstr "Đảo Wallis và Futuna"

#: lang.pm:452
#, c-format
msgid "Samoa"
msgstr "Samoa"

#: lang.pm:453
#, c-format
msgid "Yemen"
msgstr "Yemen"

#: lang.pm:454
#, c-format
msgid "Mayotte"
msgstr "Mayotte"

#: lang.pm:455 mirror.pm:36 timezone.pm:209
#, c-format
msgid "South Africa"
msgstr "Nam Phi"

#: lang.pm:456
#, c-format
msgid "Zambia"
msgstr "Zambia"

#: lang.pm:457
#, c-format
msgid "Zimbabwe"
msgstr "Zimbabwe"

#: lang.pm:1191
#, c-format
msgid "Welcome to %s"
msgstr "Chào mừng %s"

#: lvm.pm:92
#, c-format
msgid "Moving used physical extents to other physical volumes failed"
msgstr ""

#: lvm.pm:149
#, c-format
msgid "Physical volume %s is still in use"
msgstr ""

#: lvm.pm:159
#, c-format
msgid "Remove the logical volumes first\n"
msgstr "Bỏ các ổ lý luận trước tiên\n"

#: lvm.pm:202
#, c-format
msgid "The bootloader can't handle /boot on multiple physical volumes"
msgstr ""

#. -PO: Only write something if needed:
#: messages.pm:11
#, c-format
msgid "_: You can warn about unofficial translation here"
msgstr ""

#: messages.pm:18
#, c-format
msgid "Introduction"
msgstr "Giới Thiệu"

#: messages.pm:20
#, c-format
msgid ""
"The operating system and the different components available in the Mageia "
"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 Mageia distribution, and any "
"applications \n"
"distributed with these products provided by Mageia's licensors or suppliers."
msgstr ""
"Hệ điều hành và các thành phần khác có trong sản phẩm phân phối của Mageia "
"Linux \n"
"sẽ gọi là \"Các Sản Phẩm Phần Mềm\" . Các Sản Phẩm Phần Mềm bao gồm, nhưng "
"không \n"
"bị giới hạn, một bộ các chương trình, phương pháp, quy tắc và tài liệu liên "
"quan đến hệ điều hành \n"
"và các thành phần khác có trong sản phẩm phân phối Mageia."

#: messages.pm:27
#, c-format
msgid "1. License Agreement"
msgstr "1. Chấp Thuận Giấy Phép"

#: messages.pm:29
#, c-format
msgid ""
"Please read this document carefully. This document is a license agreement "
"between you and  \n"
"Mageia which applies to the Software Products.\n"
"By installing, duplicating or using any of 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."
msgstr ""
"Hãy đọc cẩn thận tài liệu này. Nó là sự chấp thuận giấy phép giữa bạn và  \n"
"Mageia được áp dụng cho các Sản Phẩm Phần Mềm.\n"
"Bằng việc cài đặt, sao chép hay sử dụng Sản Phẩm Phần Mềm theo cách \n"
"nào đó thì hiển nhiên bạn đồng ý và chấp thuận toàn bộ các điều khoản và "
"điều kiện của giấy phép này. \n"
"Nếu bạn không chấp thuận bất kỳ một điều khoản nào, bạn không được phép cài "
"đặt, sao chép hay sử dụng \n"
"các Sản Phẩm Phần Mềm. \n"
"Mọi cố gắng cài đặt, sao chép hay sử dụng Sản Phẩm Phần Mềm này theo cách "
"không tuân theo \n"
"các điều khoản và điều kiện trong giấy phép sẽ bị cấm và chấm dứt quyền của "
"bạn theo giấy phép này.\n"
"Bạn phải xoá ngay lập tức tất cả sự sao chép các \n"
"Sản Phẩm Phần Mềm này."

#: messages.pm:41
#, c-format
msgid "2. Limited Warranty"
msgstr "2. Giới Hạn Bảo Đảm"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: messages.pm:44
#, c-format
msgid ""
"The Software Products and attached documentation are provided \"as is\", "
"with no warranty, to the \n"
"extent permitted by law.\n"
"Neither Mageia nor its licensors or suppliers will, in any circumstances and "
"to the extent \n"
"permitted by law, be liable for any special, incidental, direct or indirect "
"damages whatsoever \n"
"(including without limitation damages for loss of business, interruption of "
"business, financial \n"
"loss, legal fees and penalties resulting from a court judgment, or any other "
"consequential loss) \n"
"arising out of  the use or inability to use the Software Products, even if "
"Mageia or its \n"
"licensors or suppliers have been advised of the possibility or occurrence of "
"such damages.\n"
"\n"
"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
"COUNTRIES\n"
"\n"
"To the extent permitted by law, neither Mageia nor its licensors, suppliers "
"or\n"
"distributors will, in any circumstances, be liable for any special, "
"incidental, direct or indirect \n"
"damages whatsoever (including without limitation damages for loss of "
"business, interruption of \n"
"business, financial loss, legal fees and penalties resulting from a court "
"judgment, or any \n"
"other consequential loss) arising out of the possession and use of software "
"components or \n"
"arising out of  downloading software components from one of Mageia sites "
"which are \n"
"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"
"However, because some jurisdictions do not allow the exclusion or limitation "
"or liability for \n"
"consequential or incidental damages, the above limitation may not apply to "
"you."
msgstr ""
"Các sản phẩm phần mềm và tài liệu đi kèm được cung cấp \"như là\", không có "
"sự bảo đảm, theo\n"
"phạm vi cho phép của luật pháp.\n"
"Mageia sẽ tự có trách nhiệm pháp lý ở một mức độ nào đó về các hư hỏng ảnh "
"hưởng tới công việc làm ăn."

#: messages.pm:68
#, c-format
msgid "3. The GPL License and Related Licenses"
msgstr "3. Giấy phép GPL và các giấy phép liên quan"

#: messages.pm:70
#, fuzzy, c-format
msgid ""
"The Software Products consist of components created by different persons or "
"entities.\n"
"Most of these licenses allow you to use, duplicate, adapt or redistribute "
"the components which \n"
"they cover. Please read carefully the terms and conditions of the license "
"agreement for each component \n"
"before using any component. Any question on a component license should be "
"addressed to the component \n"
"licensor or supplier and not to Mageia.\n"
"The programs developed by Mageia are governed by the GPL License. "
"Documentation written \n"
"by Mageia is governed by \"%s\" License."
msgstr ""
"Các Sản Phẩm Phần Mềm gốm có các phần mềm được làm ra bởi các cá nhân và tổ "
"chức khác nhau.\n"
"Hầu hết các thành phần này được quản lý bởi các điều khoản và điều kiệncủa "
"GNU/GPL.\n"
"sau này gọi là \"GPL\", hoặc các giấy phép tương tự. Hầu hết các giấy phép "
"này cho phép bạn sử dụng, \n"
"sao chép, chỉnh sửa lại, hoặc phân phối lại các thành phần mà nó đề cập. Hãy "
"đọc ký các điều khoản \n"
"và các điều kiện trong giấy phép của từng thành phần trước khi sử dụng "
"chúng. Mọi câu hỏi \n"
"về giấy phép của các thành phần nên được gửi tới tác giả mà không gửi tới "
"Mageia.\n"
"Các chương trình do Mageiaphát triển được quản lý theo giấy phép GPL. Tài "
"liệu do\n"
"Mageia viết được quản lý bởi một giấy phép đặc biệt. Hãy tham khảo tài liệu "
"để \n"
"biết thêm chi tiết."

#: messages.pm:79
#, c-format
msgid "4. Intellectual Property Rights"
msgstr "4. Quyền sở hữu trí tuệ"

#: messages.pm:81
#, c-format
msgid ""
"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"
"Mageia and its suppliers and licensors reserves their rights to modify or "
"adapt the Software \n"
"Products, as a whole or in parts, by all means and for all purposes.\n"
"\"Mageia\" and associated logos are trademarks of %s"
msgstr ""
"Toàn bộ quyền đối với các thành phần của Sản Phẩm Phần Mềm là thuộc về các "
"tác giả của chúng và\n"
"được bảo vệ bởi luật sở hữu trí tuệ và luật bản quyền áp dụng cho các chương "
"trình phần mềm.\n"
"Mageia giữ quyền thay đổi hoặc chỉnh sửa các Sản Phẩm Phần Mềm toàn bộ hay "
"một\n"
"phần.\n"
"\"Mageia\" và các logo của nó là nhãn đăng ký của %s"

#: messages.pm:88
#, c-format
msgid "5. Governing Laws"
msgstr "5. Governing Laws"

#: messages.pm:90
#, c-format
msgid ""
"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 Mageia."
msgstr ""
"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 Mageia"

#: messages.pm:102
#, 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 license 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 ""
"Cảnh báo: Phần Mềm Tự Do có thể không nhất thiết là miễn giấy đăng ký\n"
"và một số có thể bị kiểm soát đăng ký ở nước bạn. Ví dụ, bộ giải mã MP3\n"
"có thể yêu cầu bạn có giấy phép để tăng khả năng sử dụng (hãy xem \n"
"http://www.mp3licensing.com ). Nếu bạn không nắm rõ, hãy tham khảo luật\n"
"nơi bạn ở. "

#: messages.pm:111
#, c-format
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press Enter to reboot."
msgstr ""
"Xin chúc mừng, quá trình cài đặt đã hoàn thành.\n"
"Hãy đĩa khởi động ra và nhấn Enter để khởi động lại."

#: messages.pm:113
#, c-format
msgid ""
"For information on fixes which are available for this release of Mageia,\n"
"consult the Errata available from:\n"
"%s"
msgstr ""
"Về thông tin sửa lỗi hiện có cho các phiên bản Mageia,\n"
"hãy xem Errata tại:\n"
"%s"

#: messages.pm:115
#, c-format
msgid ""
"Information on configuring your system is available in the post\n"
"install chapter of the Official Mageia User's Guide."
msgstr ""
"Chi tiết về cấu hình hệ thống nằm trong chương Sau Cài Đặt của\n"
"bản Hướng dẫn Sử dụng Chính thức (Official Mageia User's Guide)."

#: modules/interactive.pm:19
#, fuzzy, c-format
msgid "This driver has no configuration parameter!"
msgstr "Cấu hình UPS driver"

#: modules/interactive.pm:22
#, c-format
msgid "Module configuration"
msgstr "Cấu hình module"

#: modules/interactive.pm:22
#, c-format
msgid "You can configure each parameter of the module here."
msgstr "Có thể cấu hình từng tham số của module tại đây."

#: modules/interactive.pm:64
#, c-format
msgid "Found %s interfaces"
msgstr "Tìm thấy các giao diện %s"

#: modules/interactive.pm:65
#, c-format
msgid "Do you have another one?"
msgstr "Bạn có giao diện khác nữa không?"

#: modules/interactive.pm:66
#, c-format
msgid "Do you have any %s interfaces?"
msgstr "Bạn có giao diện %s nào không?"

#: modules/interactive.pm:72
#, c-format
msgid "See hardware info"
msgstr "Xem thông tin phần cứng"

#: modules/interactive.pm:83
#, c-format
msgid "Installing driver for USB controller"
msgstr "Cài đặt driver cho USB controller"

#: modules/interactive.pm:84
#, c-format
msgid "Installing driver for firewire controller \"%s\""
msgstr "Cài đặt driver cho firewire controller \"%s\""

#: modules/interactive.pm:85
#, c-format
msgid "Installing driver for hard disk drive controller \"%s\""
msgstr "Cài đặt driver cho hard disk drive controller \"%s\""

#: modules/interactive.pm:86
#, c-format
msgid "Installing driver for ethernet controller \"%s\""
msgstr "Cài đặt driver cho ethernet controller \"%s\""

#. -PO: the first %s is the card type (scsi, network, sound,...)
#. -PO: the second is the vendor+model name
#: modules/interactive.pm:97
#, c-format
msgid "Installing driver for %s card %s"
msgstr "Đang cài đặt driver cho card %s %s"

#: modules/interactive.pm:100
#, c-format
msgid "Configuring Hardware"
msgstr ""

#: modules/interactive.pm:111
#, 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 ""
"Bây giờ bạn có thể cung cấp các tùy chọn của nó tới module %s.\n"
"Lưu ý: bất kỳ địa chỉ nào nên được nhập với tiền tố 0x như '0x123'"

#: modules/interactive.pm:117
#, 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 ""
"Bây giờ bạn có thể gửi tùy chọn đến module %s.\n"
"Tùy chọn có dạng thức ``tên=giá trị tên2=giá trị2 ...''.\n"
"Ví dụ, ``io=0x300 irq=7''"

#: modules/interactive.pm:119
#, c-format
msgid "Module options:"
msgstr "Tùy chọn của module:"

#. -PO: the %s is the driver type (scsi, network, sound,...)
#: modules/interactive.pm:132
#, c-format
msgid "Which %s driver should I try?"
msgstr "Nên chạy thử driver %s nào?"

#: modules/interactive.pm:141
#, 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 ""
"Trong một số trường hợp, driver %s cần thêm thông tin để hoạt động\n"
"đúng cách, mặc dù không có thì nó vẫn có thể hoạt động bình thường. Bạn có "
"muốn\n"
"chỉ rõ tùy chọn bổ sung cho nó hoặc để driver tự thăm dò thông tin mà\n"
"nó cần? Đôi khi, sự thăm dò làm máy tính bị của bạn treo, nhưng nó sẽ\n"
"không gây hư hỏng nào."

#: modules/interactive.pm:145
#, c-format
msgid "Autoprobe"
msgstr "Thăm dò tự động"

#: modules/interactive.pm:145
#, c-format
msgid "Specify options"
msgstr "Định rõ tùy chọn"

#: modules/interactive.pm:157
#, c-format
msgid ""
"Loading module %s failed.\n"
"Do you want to try again with other parameters?"
msgstr ""
"Nạp module %s không được.\n"
"Bạn có muốn thử lại với các tham số khác?"

#: mygtk2.pm:1222
#, fuzzy, c-format
msgid "Are you sure you want to quit?"
msgstr "Có muốn nhấn lên nút này không?"

#: mygtk2.pm:1563 mygtk2.pm:1564
#, c-format
msgid "Password is trivial to guess"
msgstr ""

#: mygtk2.pm:1542
#, c-format
msgid "Password should be resistant to basic attacks"
msgstr ""

#: mygtk2.pm:1543 mygtk2.pm:1544
#, fuzzy, c-format
msgid "Password seems secure"
msgstr "Mật Khẩu người dùng"

#: partition_table.pm:428
#, c-format
msgid "mount failed: "
msgstr "Không gắn kết được: "

#: partition_table.pm:540
#, c-format
msgid "Extended partition not supported on this platform"
msgstr "Phân vùng mở rộng không được hỗ trợ trên nền này"

#: partition_table.pm:558
#, c-format
msgid ""
"You have a hole in your partition table but I cannot use it.\n"
"The only solution is to move your primary partitions to have the hole next "
"to the extended partitions."
msgstr ""
"Có một lỗ trống trong bảng phân vùng của bạn nhưng chương trình không\n"
"sử dụng được. Chỉ có giải pháp là chuyển các phân vùng chính đầu tiên để đưa "
"lỗ trống về sau các phân vùng mở rộng"

#: partition_table/raw.pm:296
#, c-format
msgid ""
"Something bad is happening on your hard disk 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 ""
"Xảy ra vấn đề hỏng hóc gì đó trên đĩa của bạn. \n"
"Không kiểm tra được tính toàn vẹn của dữ liệu. \n"
"Điều này có nghĩa là việc ghi bất kỳ cái gì lên đĩa sẽ không chuẩn nữa."

#: pkgs.pm:254 pkgs.pm:257 pkgs.pm:270
#, c-format
msgid "Unused packages removal"
msgstr ""

#: pkgs.pm:254
#, c-format
msgid "Finding unused hardware packages..."
msgstr ""

#: pkgs.pm:257
#, c-format
msgid "Finding unused localization packages..."
msgstr ""

#: pkgs.pm:271
#, c-format
msgid ""
"We have detected that some packages are not needed for your system "
"configuration."
msgstr ""

#: pkgs.pm:272
#, c-format
msgid "We will remove the following packages, unless you choose otherwise:"
msgstr ""

#: pkgs.pm:275 pkgs.pm:276
#, fuzzy, c-format
msgid "Unused hardware support"
msgstr "bật hỗ trợ radio"

#: pkgs.pm:279 pkgs.pm:280
#, c-format
msgid "Unused localization"
msgstr ""

#: raid.pm:43
#, c-format
msgid "Cannot add a partition to _formatted_ RAID %s"
msgstr "Không thể thêm một phân vùng vào _formatted_ RAID %s"

#: raid.pm:166
#, c-format
msgid "Not enough partitions for RAID level %d\n"
msgstr "Không đủ các phân vùng cho mức độ RAID %d\n"

#: scanner.pm:96
#, c-format
msgid "Could not create directory /usr/share/sane/firmware!"
msgstr "Không thể tạo thư mục /usr/share/sane/firmware!"

#: scanner.pm:107
#, c-format
msgid "Could not create link /usr/share/sane/%s!"
msgstr "Không thể tạo link /usr/share/sane/%s!"

#: scanner.pm:114
#, c-format
msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
msgstr "Không thể sao chép tập tin firmware %s to /usr/share/sane/firmware!"

#: scanner.pm:121
#, c-format
msgid "Could not set permissions of firmware file %s!"
msgstr "Không thể đặt quyền hạn cho tập tin firmware %s!"

#: scanner.pm:200
#, c-format
msgid "Scannerdrake"
msgstr "Scannerdrake"

#: scanner.pm:201
#, c-format
msgid "Could not install the packages needed to share your scanner(s)."
msgstr "Không thể cài đặt các gói để chia sẻ máy quét của bạn."

#: scanner.pm:202
#, c-format
msgid "Your scanner(s) will not be available for non-root users."
msgstr "Máy quét của bạn sẽ không được truy cập bởi người dùng thông thường."

#: security/help.pm:11
#, fuzzy, c-format
msgid "Accept bogus IPv4 error messages."
msgstr "Chấp nhận các thông điệp báo lỗi giả của IPv4"

#: security/help.pm:13
#, fuzzy, c-format
msgid "Accept broadcasted icmp echo."
msgstr "Chấp nhận broadcasted icmp echo"

#: security/help.pm:15
#, fuzzy, c-format
msgid "Accept icmp echo."
msgstr "Chấp nhận icmp echo"

#: security/help.pm:17
#, fuzzy, c-format
msgid "Allow autologin."
msgstr "Cho phép/Cấm đăng nhập tự động."

#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
#: security/help.pm:21
#, fuzzy, c-format
msgid ""
"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
"\n"
"If set to \"None\", no issues are allowed.\n"
"\n"
"Else only /etc/issue is allowed."
msgstr ""
"Nếu đặt là \"Toàn Bộ\", /etc/issue và /etc/issue.net được phép tồn tại.\n"
"\n"
"Nếu đặt là Không, không có mục nào được phép.\n"
"\n"
"Nếu khác đi thì chỉ cho phép /etc/issue."

#: security/help.pm:27
#, fuzzy, c-format
msgid "Allow reboot by the console user."
msgstr "Cho phép/Cấm khởi động lại bằng người dùng từ console."

#: security/help.pm:29
#, fuzzy, c-format
msgid "Allow remote root login."
msgstr "Cho phép đăng nhập root từ xa"

#: security/help.pm:31
#, fuzzy, c-format
msgid "Allow direct root login."
msgstr "Cho phép/Cấm đăng nhập root trực tiếp."

#: security/help.pm:33
#, fuzzy, c-format
msgid ""
"Allow the list of users on the system on display managers (kdm and gdm)."
msgstr ""
"Cho phép/Cấm danh sách người dùng trong hệ thống trên các trình quản lý hiển "
"thị (KDM và GDM)."

#: security/help.pm:35
#, fuzzy, c-format
msgid ""
"Allow to export display when\n"
"passing from the root account to the other users.\n"
"\n"
"See pam_xauth(8) for more details.'"
msgstr ""
"Cho phép/Cấm xuất ra màn hình khi\n"
"chuyển từ tài khoản root sang người dùng khác.\n"
"\n"
"Xem pam_xauth(8) để biết thêm thông tin.'"

#: security/help.pm:40
#, fuzzy, c-format
msgid ""
"Allow X connections:\n"
"\n"
"- \"All\" (all connections are allowed),\n"
"\n"
"- \"Local\" (only connection from local machine),\n"
"\n"
"- \"None\" (no connection)."
msgstr ""
"Cho phép/Cấm kết nối X:\n"
"\n"
"- Toàn Bộ (cho phép mọi kết nối),\n"
"\n"
"- Cục Bộ (chỉ cho kết nối từ máy cục bộ),\n"
"\n"
"- Không (không có kết nối)."

#: security/help.pm:48
#, c-format
msgid ""
"The argument specifies if clients are authorized to connect\n"
"to the X server from the network on the tcp port 6000 or not."
msgstr ""
"Đối số định ra nếu các client được chứng thực để kết\n"
"nối tới X server từ mạng trên cổng tcp 6000 hay không."

#. -PO: here "ALL", "Local" and "None" are values in a pull-down menu; translate them the same as they're
#: security/help.pm:53
#, fuzzy, c-format
msgid ""
"Authorize:\n"
"\n"
"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
"set to \"ALL\",\n"
"\n"
"- only local ones if set to \"Local\"\n"
"\n"
"- none if set to \"None\".\n"
"\n"
"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
"(5))."
msgstr ""
"Cho phép:\n"
"\n"
"- mọi dịch vụ được điều khiển bởi tcp_wrappers (hãy xem hosts.deny(5) man "
"page) nếu đặt là \"Toàn Bộ\",\n"
"\n"
"- chỉ các máy cục bộ nếu đặt là \"Cục Bộ\"\n"
"\n"
"- không nếu đặt là \"Không\".\n"
"\n"
"Để cho phép dịch vụ bạn cần, dùng /etc/hosts.allow (hãy xem hosts.allow(5))."

#: security/help.pm:63
#, c-format
msgid ""
"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
"symlink /etc/security/msec/server to point to\n"
"/etc/security/msec/server.<SERVER_LEVEL>.\n"
"\n"
"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
"add a service if it is present in the file during the installation of\n"
"packages."
msgstr ""
"Nếu SERVER_LEVEL (hoặc thiếu SECURE_LEVEL)\n"
"là lớn hơn 3 trong /etc/security/msec/security.conf,\n"
"hãy tạo symlink /etc/security/msec/server\n"
"để chỉ tới /etc/security/msec/server.<SERVER_LEVEL>.\n"
"\n"
"/etc/security/msec/server được dùng bởi chkconfig --add\n"
"để quyết định thêm dịch vụ nếu nó hiện diện trong tập tin\n"
"trong khi cài đặt các gói."

#: security/help.pm:72
#, fuzzy, c-format
msgid ""
"Enable 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 ""
"Bật/Tắt crontab và at cho người dùng.\n"
"\n"
"Đặt người dùng được phép vào /etc/cron.allow và /etc/at.allow (hãy xem man at"
"(1)\n"
"và crontab(1))."

#: security/help.pm:77
#, fuzzy, c-format
msgid "Enable syslog reports to console 12"
msgstr "Bật/Tắt báo cáo syslog đến console 12"

#: security/help.pm:79
#, fuzzy, c-format
msgid ""
"Enable name resolution spoofing protection.  If\n"
"\"%s\" is true, also reports to syslog."
msgstr ""
"Bật/Tắt việc bảo vệ spoofing độ phân giải tên. Nếu\n"
"\"%s\" là true, cũng báo cáo vào syslog."

#: security/help.pm:80
#, c-format
msgid "Security Alerts:"
msgstr "Cảnh Báo Bảo Mật:"

#: security/help.pm:82
#, fuzzy, c-format
msgid "Enable IP spoofing protection."
msgstr "Bật chạy việc bảo vệ IP spoofing"

#: security/help.pm:84
#, fuzzy, c-format
msgid "Enable libsafe if libsafe is found on the system."
msgstr "Bật chạy libsafe nếu libsafe được tìm thấy trong hệ thống"

#: security/help.pm:86
#, fuzzy, c-format
msgid "Enable the logging of IPv4 strange packets."
msgstr "Cho phép tạo bản ghi (log) các gói IPv4 lạ."

#: security/help.pm:88
#, fuzzy, c-format
msgid "Enable msec hourly security check."
msgstr "Bật chạy việc kiểm tra bảo mật hàng giờ của msec"

#: security/help.pm:90
#, fuzzy, c-format
msgid ""
"Enable su only from members of the wheel group. If set to no, allows su from "
"any user."
msgstr ""
"Chỉ cho phép su từ các thành viên của nhóm wheel hay cho phép su từ mọi "
"người dùng."

#: security/help.pm:92
#, c-format
msgid "Use password to authenticate users."
msgstr "Dùng mật khẩu để chứng thực người dùng."

#: security/help.pm:94
#, fuzzy, c-format
msgid "Activate Ethernet cards promiscuity check."
msgstr "Kích hoạt/Tắt việc kiểm tra tính hỗn nhiên của ethernet card."

#: security/help.pm:96
#, fuzzy, c-format
msgid "Activate daily security check."
msgstr "Kích hoạt/Tắt việc kiểm tra bảo mật hàng ngày."

#: security/help.pm:98
#, fuzzy, c-format
msgid "Enable sulogin(8) in single user level."
msgstr "Bật/Tắt sulogin(8) ở mức độ người dùng đơn lẻ."

#: security/help.pm:100
#, c-format
msgid "Add the name as an exception to the handling of password aging by msec."
msgstr "Thêm tên như là phần trừ ra cho việc xử lý thời hạn mật khẩu bởi msec."

#: security/help.pm:102
#, c-format
msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
msgstr ""
"Đặt gia hạn cho mật khẩu là số ngày \"tối đa\" và trì hoãn thay đổi thành "
"\"không hoạt động\"."

#: security/help.pm:104
#, c-format
msgid "Set the password history length to prevent password reuse."
msgstr "Đặt độ dài lược sử của mật khẩu để tránh dùng lại mật khẩu."

#: security/help.pm:106
#, c-format
msgid ""
"Set the password minimum length and minimum number of digit and minimum "
"number of capitalized letters."
msgstr ""
"Đặt độ dài tối thiểu của mật khẩu và số tối thiểu các số và số tối thiểu các "
"chữ cái viết hoa."

#: security/help.pm:108
#, fuzzy, c-format
msgid "Set the root's file mode creation mask."
msgstr "Đặt root umask."

#: security/help.pm:109
#, c-format
msgid "if set to yes, check open ports."
msgstr "nết đặt thành có, kiểm tra các cổng mở."

#: security/help.pm:110
#, c-format
msgid ""
"if set to yes, check for:\n"
"\n"
"- empty passwords,\n"
"\n"
"- no password in /etc/shadow\n"
"\n"
"- for users with the 0 id other than root."
msgstr ""
"nếu đặt là có, kiểm tra: \n"
"\n"
"- mật khẩu trống,\n"
"\n"
"- không có mật khẩu trong /etc/shadow\n"
"\n"
"- các người dùng với id 0 mà không phải root."

#: security/help.pm:117
#, c-format
msgid "if set to yes, check permissions of files in the users' home."
msgstr ""
"nếu đặt là có, kiểm tra gán quyền hạn của các tập tin trong thư mục home của "
"người dùng."

#: security/help.pm:118
#, c-format
msgid "if set to yes, check if the network devices are in promiscuous mode."
msgstr ""
"nếu đặt là có, kiểm tra xem các thiết bị mạng có ở chế độ ngẫu nhiên không."

#: security/help.pm:119
#, c-format
msgid "if set to yes, run the daily security checks."
msgstr "nếu đặt là có, chạy các kiểm tra bảo mật hàng ngày."

#: security/help.pm:120
#, c-format
msgid "if set to yes, check additions/removals of sgid files."
msgstr ""
"nết đặt thành có, hãy kiểm tra các phần thêm/phần gỡ bỏ của các tập tin sgid."

#: security/help.pm:121
#, c-format
msgid "if set to yes, check empty password in /etc/shadow."
msgstr "nếu đặt là có, kiểm tra mật khẩu trống rỗng trong /etc/shadow."

#: security/help.pm:122
#, c-format
msgid "if set to yes, verify checksum of the suid/sgid files."
msgstr "nếu đặt là có, thẩm tra checksum của các tập tin suid/sgid."

#: security/help.pm:123
#, c-format
msgid "if set to yes, check additions/removals of suid root files."
msgstr "nếu đặt là có, kiểm tra việc thêm/gỡ bỏ của các tập tin root suid."

#: security/help.pm:124
#, c-format
msgid "if set to yes, report unowned files."
msgstr "nếu đặt là có, báo cáo các tập tin vô chủ."

#: security/help.pm:125
#, c-format
msgid "if set to yes, check files/directories writable by everybody."
msgstr ""
"nếu đặt thành có, cho phép khả năng ghi vào tập tin/thư mục cho mọi người."

#: security/help.pm:126
#, c-format
msgid "if set to yes, run chkrootkit checks."
msgstr "nếu đặt là có, chạy kiểm tra chkrootkit."

#: security/help.pm:127
#, c-format
msgid ""
"if set, send the mail report to this email address else send it to root."
msgstr ""
"nếu đặt, gửi thư báo cáo tới địa chỉ email này, nếu không đặt thì gửi đến "
"root."

#: security/help.pm:128
#, c-format
msgid "if set to yes, report check result by mail."
msgstr "nếu đặt thành có, báo cáo kết quả kiểm tra bằng mail."

#: security/help.pm:129
#, c-format
msgid "Do not send mails if there's nothing to warn about"
msgstr "Không thể gửi mail nếu không có gì để cảnh báo"

#: security/help.pm:130
#, c-format
msgid "if set to yes, run some checks against the rpm database."
msgstr "nếu đặt là có, chạy kiểm tra đối với cơ sở dữ liệu rpm."

#: security/help.pm:131
#, c-format
msgid "if set to yes, report check result to syslog."
msgstr "nếu đặt là có, báo cáo kết quả kiểm tra tới syslog."

#: security/help.pm:132
#, c-format
msgid "if set to yes, reports check result to tty."
msgstr "nếu đặt là có, báo cáo kết quả kiểm tra tới tty."

#: security/help.pm:134
#, c-format
msgid "Set shell commands history size. A value of -1 means unlimited."
msgstr "Đặt kích thước lược sử các lệnh shell. Giá trị là 1 sẽ là vô giới hạn."

#: security/help.pm:136
#, c-format
msgid "Set the shell timeout. A value of zero means no timeout."
msgstr "Đặt thời hạn shell. Giá trị bằng 0 sẽ là không có thời hạn."

#: security/help.pm:136
#, c-format
msgid "Timeout unit is second"
msgstr "Đơn vị timeout là giây"

#: security/help.pm:138
#, fuzzy, c-format
msgid "Set the user's file mode creation mask."
msgstr "Đặt umask của người dùng."

#: security/l10n.pm:11
#, c-format
msgid "Accept bogus IPv4 error messages"
msgstr "Chấp nhận các thông điệp báo lỗi giả của IPv4"

#: security/l10n.pm:12
#, c-format
msgid "Accept broadcasted icmp echo"
msgstr "Chấp nhận broadcasted icmp echo"

#: security/l10n.pm:13
#, c-format
msgid "Accept icmp echo"
msgstr "Chấp nhận icmp echo"

#: security/l10n.pm:15
#, c-format
msgid "/etc/issue* exist"
msgstr "/etc/issue* tồn tại"

#: security/l10n.pm:16
#, c-format
msgid "Reboot by the console user"
msgstr "Khởi động lại bằng người dùng console"

#: security/l10n.pm:17
#, c-format
msgid "Allow remote root login"
msgstr "Cho phép đăng nhập root từ xa"

#: security/l10n.pm:18
#, c-format
msgid "Direct root login"
msgstr "Đăng nhập root trực tiếp"

#: security/l10n.pm:19
#, c-format
msgid "List users on display managers (kdm and gdm)"
msgstr "Liệt kê người dùng trên các trình quản lý hiển thị (kdm và gdm)."

#: security/l10n.pm:20
#, c-format
msgid "Export display when passing from root to the other users"
msgstr "Xuất ra màn hình khi chuyển từ root sang người dùng khác"

#: security/l10n.pm:21
#, c-format
msgid "Allow X Window connections"
msgstr "Cho phép kết nối tới X Window"

#: security/l10n.pm:22
#, c-format
msgid "Authorize TCP connections to X Window"
msgstr "Cho phép kết nối TCP vào X Window"

#: security/l10n.pm:23
#, c-format
msgid "Authorize all services controlled by tcp_wrappers"
msgstr "Cho phép mọi dịch vụ được điều khiển bởi tcp_wrappers"

#: security/l10n.pm:24
#, c-format
msgid "Chkconfig obey msec rules"
msgstr "Chkconfig tuân theo các quy tắc của msec"

#: security/l10n.pm:25
#, c-format
msgid "Enable \"crontab\" and \"at\" for users"
msgstr "Cho phép chạy \"crontab\"  \"at\" cho người dùng"

#: security/l10n.pm:26
#, c-format
msgid "Syslog reports to console 12"
msgstr "Syslog báo cáo đến console 12"

#: security/l10n.pm:27
#, c-format
msgid "Name resolution spoofing protection"
msgstr "Chống giả mạo diễn giải tên"

#: security/l10n.pm:28
#, c-format
msgid "Enable IP spoofing protection"
msgstr "Bật chạy việc bảo vệ IP spoofing"

#: security/l10n.pm:29
#, c-format
msgid "Enable libsafe if libsafe is found on the system"
msgstr "Bật chạy libsafe nếu libsafe được tìm thấy trong hệ thống"

#: security/l10n.pm:30
#, c-format
msgid "Enable the logging of IPv4 strange packets"
msgstr "Cho phép tạo bản ghi (log) các gói IPv4 lạ."

#: security/l10n.pm:31
#, c-format
msgid "Enable msec hourly security check"
msgstr "Bật chạy việc kiểm tra bảo mật hàng giờ của msec"

#: security/l10n.pm:32
#, fuzzy, c-format
msgid "Enable su only from the wheel group members"
msgstr ""
"Chỉ cho phép su từ các thành viên của nhóm wheel hay cho phép mọi người dùng"

#: security/l10n.pm:33
#, c-format
msgid "Use password to authenticate users"
msgstr "Dùng mật khẩu để chứng thực người dùng"

#: security/l10n.pm:34
#, c-format
msgid "Ethernet cards promiscuity check"
msgstr "Kiểm tra tính hỗn nhiên của ethernet card"

#: security/l10n.pm:35
#, c-format
msgid "Daily security check"
msgstr "Kiểm tra bảo mật hàng ngày"

#: security/l10n.pm:36
#, c-format
msgid "Sulogin(8) in single user level"
msgstr "Sulogin(8) ở mức độ người dùng đơn lẻ."

#: security/l10n.pm:37
#, c-format
msgid "No password aging for"
msgstr "Không có thời hạn mật khẩu cho"

#: security/l10n.pm:38
#, c-format
msgid "Set password expiration and account inactivation delays"
msgstr "Đặt thời hạn mật khẩu và trì hoãn việc bất hoạt tài khoản"

#: security/l10n.pm:39
#, c-format
msgid "Password history length"
msgstr "Độ dài lược sử mật khẩu"

#: security/l10n.pm:40
#, c-format
msgid "Password minimum length and number of digits and upcase letters"
msgstr "Độ dài tối thiểu của mật khẩu, số các chữ số và chữ cái hoa"

#: security/l10n.pm:41
#, c-format
msgid "Root umask"
msgstr "Root umask"

#: security/l10n.pm:42
#, c-format
msgid "Shell history size"
msgstr "Kích thước lược sử của shell"

#: security/l10n.pm:43
#, c-format
msgid "Shell timeout"
msgstr "Thời hạn của Shell"

#: security/l10n.pm:44
#, c-format
msgid "User umask"
msgstr "Umask người dùng"

#: security/l10n.pm:45
#, c-format
msgid "Check open ports"
msgstr "Kiểm tra các cổng mở"

#: security/l10n.pm:46
#, c-format
msgid "Check for unsecured accounts"
msgstr "Kiểm tra các tài khoản không bảo mật"

#: security/l10n.pm:47
#, c-format
msgid "Check permissions of files in the users' home"
msgstr ""
"Kiểm tra gán quyền hạn của các tập tin trong thư mục home của người dùng"

#: security/l10n.pm:48
#, c-format
msgid "Check if the network devices are in promiscuous mode"
msgstr "Kiểm tra nếu các thiết bị mạng ở chế độ hỗn nhiên"

#: security/l10n.pm:49
#, c-format
msgid "Run the daily security checks"
msgstr "Chạy kiểm tra bảo mật hàng ngày"

#: security/l10n.pm:50
#, c-format
msgid "Check additions/removals of sgid files"
msgstr "Kiểm tra phần thêm/gỡ bỏ của các tập tin sgid"

#: security/l10n.pm:51
#, c-format
msgid "Check empty password in /etc/shadow"
msgstr "Kiểm tra mật khẩu trống trong /etc/shadow"

#: security/l10n.pm:52
#, c-format
msgid "Verify checksum of the suid/sgid files"
msgstr "Thẩm tra checksum của các tập tin suid/sgid"

#: security/l10n.pm:53
#, c-format
msgid "Check additions/removals of suid root files"
msgstr "Kiểm tra việc thêm/gỡ bỏ của các tập tin suid của root"

#: security/l10n.pm:54
#, c-format
msgid "Report unowned files"
msgstr "Báo cáo các tập tin vô chủ"

#: security/l10n.pm:55
#, c-format
msgid "Check files/directories writable by everybody"
msgstr ""
"Mọi người dùng được phép kiểm tra các tập tin/thư mục có thể ghi vào được."

#: security/l10n.pm:56
#, c-format
msgid "Run chkrootkit checks"
msgstr "Chạy kiểm tra chkrootkit"

#: security/l10n.pm:57
#, c-format
msgid "Do not send empty mail reports"
msgstr ""

#: security/l10n.pm:58
#, c-format
msgid "If set, send the mail report to this email address else send it to root"
msgstr ""
"Nếu đặt, gửi thư báo cáo tới địa chỉ email này, nếu không đặt thì gửi đến "
"root"

#: security/l10n.pm:59
#, c-format
msgid "Report check result by mail"
msgstr "Báo cáo kết quả kiểm tra bằng thư."

#: security/l10n.pm:60
#, c-format
msgid "Run some checks against the rpm database"
msgstr "Chạy một số kiểm tra đối với cơ sở dữ liệu rpm"

#: security/l10n.pm:61
#, c-format
msgid "Report check result to syslog"
msgstr "Báo cáo kết quả kiểm tra tới syslog"

#: security/l10n.pm:62
#, c-format
msgid "Reports check result to tty"
msgstr "Báo cáo kết quả kiểm tra tới tty"

#: security/level.pm:10
#, c-format
msgid "Disable msec"
msgstr ""

#: security/level.pm:11
#, c-format
msgid "Standard"
msgstr "Chuẩn"

#: security/level.pm:12
#, fuzzy, c-format
msgid "Secure"
msgstr "Bảo mật"

#: security/level.pm:52
#, c-format
msgid ""
"This level is to be used with care, as it disables all additional security\n"
"provided by msec. Use it only when you want to take care of all aspects of "
"system security\n"
"on your own."
msgstr ""

#: security/level.pm:55
#, 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 ""
"Đây là mức bảo mật chuẩn được khuyến cáo cho máy tính sẽ được nối với "
"Internet theo kiểu máy khách."

#: security/level.pm:56
#, 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 ""
"Với mức bảo mật này, có thể sử dụng hệ thống này làm máy chủ. Mức\n"
"độ bảo mật bây giờ đủ cao để sử dụng hệ thống làm máy chủ, cho phép\n"
"các máy khách kết nối vào. Lưu ý: nếu máy tính này chỉ là một máy khách trên "
"Internet, tốt hơn là bạn nên chọn mức bảo mật thấp hơn."

#: security/level.pm:63
#, c-format
msgid "DrakSec Basic Options"
msgstr "Tùy Chọn Cơ Bản Của DrakSec"

#: security/level.pm:66
#, c-format
msgid "Please choose the desired security level"
msgstr "Hãy chọn mức bảo mật mong muốn"

#. -PO: this string is used to properly format "<security level>: <level description>"
#: security/level.pm:70
#, c-format
msgid "%s: %s"
msgstr ""

#: security/level.pm:73
#, c-format
msgid "Security Administrator:"
msgstr "Người Quản Trị Bảo Mật:"

#: security/level.pm:74
#, c-format
msgid "Login or email:"
msgstr ""

#: services.pm:18
#, c-format
msgid "Listen and dispatch ACPI events from the kernel"
msgstr ""

#: services.pm:19
#, c-format
msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
msgstr "Chạy hệ thống âm thanh ALSA (Advanced Linux Sound Architecture)"

#: services.pm:20
#, c-format
msgid "Anacron is a periodic command scheduler."
msgstr "Anacron một lịch trình lệnh định kỳ"

#: 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 được dùng để theo dõi tình trạng pin và ghi nó qua  syslog.\n"
"Nó cũng được dùng để tắt máy tính khi pin yếu."

#: 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 ""
"Chạy các lệnh trong lịch trình theo thời gian ấn định,\n"
"và chạy các loạt lệnh (batch commands) khi tải trung bình đủ thấp."

#: services.pm:25
#, c-format
msgid "Avahi is a ZeroConf daemon which implements an mDNS stack"
msgstr ""

#: services.pm:26
#, c-format
msgid "Set CPU frequency settings"
msgstr ""

#: services.pm:27
#, 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 là một chương trình UNIX chuẩn để chạy các chương trình do người\n"
"dùng chỉ định trong lịch trình. vixie cron đưa các số tính năng vào cron "
"UNIX cơ\n"
"sở, bao gồm các tính năng bảo mật tốt hơn và các tùy chọn cấu hình mạnh hơn."

#: services.pm:30
#, c-format
msgid ""
"Common UNIX Printing System (CUPS) is an advanced printer spooling system"
msgstr ""

#: services.pm:31
#, c-format
msgid "Launches the graphical display manager"
msgstr ""

#: services.pm:32
#, 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 là daemon theo dõi tập tin. Nó nhận báo cáo khi các tập tin thay đổi.\n"
"Nó được GNOME và KDE sử dụng"

#: services.pm:34
#, c-format
msgid ""
"G15Daemon allows users access to all extra keys by decoding them and \n"
"pushing them back into the kernel via the linux UINPUT driver. This driver "
"must be loaded \n"
"before g15daemon can be used for keyboard access. The G15 LCD is also "
"supported. By default, \n"
"with no other clients active, g15daemon will display a clock. Client "
"applications and \n"
"scripts can access the LCD via a simple API."
msgstr ""

#: services.pm:39
#, c-format
msgid ""
"GPM adds mouse support to text-based Linux applications such the\n"
"Midnight Commander. It also allows mouse-based console cut-and-paste "
"operations,\n"
"and includes support for pop-up menus on the console."
msgstr ""
"GPM đưa hỗ trợ chuột vào các ứng dụng Linux dựa trên văn bản như là\n"
"Midnight Commander. Nó cũng cho phép tính năng cắt-và-dán bằng chuột trong,\n"
"console và hỗ trợ cho các menu bật lên trong console."

#: services.pm:42
#, c-format
msgid "HAL is a daemon that collects and maintains information about hardware"
msgstr ""

#: services.pm:43
#, c-format
msgid ""
"HardDrake runs a hardware probe, and optionally configures\n"
"new/changed hardware."
msgstr ""
"HardDrake sẽ chạy để khảo sát các phần cứng, và tùy ý cấu hình các\n"
"phần cứng mới/thay đổi."

#: services.pm:45
#, c-format
msgid ""
"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
"Apache là một chương trình máy chủ World Wide Web. Nó dùng để\n"
"phục vụ các tập tin HTML và CGI."

#: services.pm:46
#, c-format
msgid ""
"The internet superserver daemon (commonly called inetd) starts a\n"
"variety of other internet services as needed. It is responsible for "
"starting\n"
"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
"disables\n"
"all of the services it is responsible for."
msgstr ""
"Daemon siêu máy chủ internet (thường gọi là inetd) để chạy các\n"
"dịch vụ internet khác khi cần. Nó chịu trách nhiệm cho nhiều\n"
"dịch vụ, bao gồm telnet, ftp, rsh, và rlogin. Khi tắt inetd thì nó\n"
"sẽ tắt mọi dịch vụ mà nó đảm nhiệm."

#: services.pm:50
#, c-format
msgid "Automates a packet filtering firewall with ip6tables"
msgstr ""

#: services.pm:51
#, c-format
msgid "Automates a packet filtering firewall with iptables"
msgstr ""

#: services.pm:52
#, c-format
msgid ""
"Evenly distributes IRQ load across multiple CPUs for enhanced performance"
msgstr ""

#: services.pm:53
#, 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 ""
"Gói này để nạp ánh xạ bàn phím đã chọn được thiết lập\n"
"trong /etc/sysconfig/keyboard. Dùng chọn lựa này bằng tiện ích kbdconfig.\n"
"Bạn nên để nó hoạt động cho hầu hết các máy tính."

#: services.pm:56
#, c-format
msgid ""
"Automatic regeneration of kernel header in /boot for\n"
"/usr/include/linux/{autoconf,version}.h"
msgstr ""
"Sự tự động tái-sinh thành của header nhân trên /boot cho\n"
"/usr/include/linux/{autoconf,version}.h"

#: services.pm:58
#, c-format
msgid "Automatic detection and configuration of hardware at boot."
msgstr "Tự động dò tìm và cấu hình phần cứng khi boot"

#: services.pm:59
#, c-format
msgid "Tweaks system behavior to extend battery life"
msgstr ""

#: services.pm:60
#, c-format
msgid ""
"Linuxconf will sometimes arrange to perform various tasks\n"
"at boot-time to maintain the system configuration."
msgstr ""
"Linuxconf thỉng thoảng sẽ sắp xếp lại để thực hiện nhiều tác vụ\n"
"vào thời gian boot để duy trì cấu hình hệ thống."

#: services.pm:62
#, 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 là một daemon in ấn giúp cho lpr hoạt động tốt. Về cơ\n"
"bản, nó cũng là một server xử lý các hoạt động in ấn của máy in."

#: services.pm:64
#, c-format
msgid ""
"Linux Virtual Server, used to build a high-performance and highly\n"
"available server."
msgstr ""
"Máy chủ ảo Linux , được dùng để xây dựng các máy chủ có độ thực\n"
"thi cao và tính sẵn sàng cao."

#: services.pm:66
#, c-format
msgid "Monitors the network (Interactive Firewall and wireless"
msgstr ""

#: services.pm:67
#, c-format
msgid "Software RAID monitoring and management"
msgstr ""

#: services.pm:68
#, c-format
msgid ""
"DBUS is a daemon which broadcasts notifications of system events and other "
"messages"
msgstr ""

#: services.pm:69
#, c-format
msgid "Enables MSEC security policy on system startup"
msgstr ""

#: services.pm:70
#, c-format
msgid ""
"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
"names to IP addresses."
msgstr ""
"Tên BIND là một máy chủ phụ trách tên miền (DNS), nó xử lý việc chuyển tên "
"các máy chủ thành các địa chỉ IP."

#: services.pm:71
#, c-format
msgid "Initializes network console logging"
msgstr ""

#: services.pm:72
#, c-format
msgid ""
"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
"Manager/Windows), and NCP (NetWare) mount points."
msgstr ""
"Gắn kết và bỏ gắn kết mọi điểm gắn kết của hệ thống tập tin\n"
"mạng (NFS), SMB (trình quản trị LAN/Windows), NCP (NetWare)."

#: services.pm:74
#, c-format
msgid ""
"Activates/Deactivates all network interfaces configured to start\n"
"at boot time."
msgstr ""
"Kích hoạt/Bất hoạt mọi giao diện mạng đã thiết lập khi\n"
"khởi động."

#: services.pm:76
#, c-format
msgid "Requires network to be up if enabled"
msgstr ""

#: services.pm:77
#, c-format
msgid "Wait for the hotplugged network to be up"
msgstr ""

#: services.pm:78
#, 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 là một giao thức phổ biến để chia sẻ tập tin qua mạng TCP/IP.\n"
"Dịch vụ này cho phép máy chủ NFS hoạt động, nó được cấu hình trong\n"
"tệp /etc/exports."

#: services.pm:81
#, 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 là một giao thức phổ biến để chia sẻ tập tin qua mạng\n"
"TCP/IP. Dịch vụ này cho phép khóa chức năng của tập tin NFS ."

#: services.pm:83
#, c-format
msgid "Synchronizes system time using the Network Time Protocol (NTP)"
msgstr ""

#: services.pm:84
#, c-format
msgid ""
"Automatically switch on numlock key locker under console\n"
"and Xorg at boot."
msgstr ""
"Tự động bật khoá numlock dưới console\n"
"và  Xorg khi boot."

#: services.pm:86
#, c-format
msgid "Support the OKI 4w and compatible winprinters."
msgstr "Hỗ trợ OKI 4w và các các máy in tương thích Windows."

#: services.pm:87
#, c-format
msgid "Checks if a partition is close to full up"
msgstr ""

#: services.pm:88
#, c-format
msgid ""
"PCMCIA support is usually to support things like ethernet and\n"
"modems in laptops.  It will not get started unless configured so it is safe "
"to have\n"
"it installed on machines that do not need it."
msgstr ""
"Hỗ trợ PCMCIA thường dùng cho các thiết bị như là ethernet và\n"
"modem của máy xách tay. Nó không hoạt động nếu chưa cấu hình.Vì\n"
"vậy, cài đặt nó không ảnh hưởng gì về  mặt an toàn nếu không dùng nó."

#: services.pm:91
#, 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 ""
"Bảng ánh xạ cổng (portmapper) quản lý kết nối RPC sử dụng các giao\n"
"thức như là NFS và NIS. Máy chủ ánh xạ cổng phải chạy trên các máy tính\n"
"có chức năng máy chủ dùng các giao thức theo cơ chế RPC."

#: services.pm:94
#, c-format
msgid "Reserves some TCP ports"
msgstr ""

#: services.pm:95
#, c-format
msgid ""
"Postfix is a Mail Transport Agent, which is the program that moves mail from "
"one machine to another."
msgstr ""
"Postfix là chương trình vận chuyển thư, nó chuyển thư từ máy tính này sang "
"máy tính khác."

#: services.pm:96
#, c-format
msgid ""
"Saves and restores system entropy pool for higher quality random\n"
"number generation."
msgstr ""
"Lưu và khôi phục entropy pool của hệ thống để cho hoạt động\n"
"sinh số ngẫu nhiên có chất lượng cao."

#: services.pm:98
#, c-format
msgid ""
"Assign raw devices to block devices (such as hard disk drive\n"
"partitions), for the use of applications such as Oracle or DVD players"
msgstr ""
"Chỉ định các thiết bị thô (raw) cho các thiết bị khối (ví dụ như\n"
"phân vùng đĩa cứng), để sử dụng các ứng dụng như Oracle hay trình chơi DVD"

#: services.pm:100
#, fuzzy, c-format
msgid "Nameserver information manager"
msgstr "Thông tin đĩa cứng"

#: services.pm:101
#, c-format
msgid ""
"The routed daemon allows for automatic IP router table updated via\n"
"the RIP protocol. While RIP is widely used on small networks, more complex\n"
"routing protocols are needed for complex networks."
msgstr ""
"Daemon định tuyến cho phép bảng định tuyến IP tự động được cập nhật\n"
"bằng giao thức RIP. Khi RIP đang được dùng rỗng rãi ở các mạng nhỏ, sẽ cần\n"
"thêm các giao thức định tuyến phức tạp cho các mạng phức tạp."

#: services.pm:104
#, c-format
msgid ""
"The rstat protocol allows users on a network to retrieve\n"
"performance metrics for any machine on that network."
msgstr ""
"Giao thức RSTAT cho phép người dùng trên mạng gọi các\n"
"thực thi metric cho bất kỳ máy nào trên mạng đó."

#: services.pm:106
#, fuzzy, c-format
msgid ""
"Syslog is the facility by which many daemons use to log messages to various "
"system log files.  It is a good idea to always run rsyslog."
msgstr ""
"Syslog là phương tiện thuận lợi mà nhiều daemons dùng để ghi các\n"
"thông điệp vào các tập tin log hệ thống. Nên chạy syslog thường xuyên."

#: services.pm:107
#, c-format
msgid ""
"The rusers protocol allows users on a network to identify who is\n"
"logged in on other responding machines."
msgstr ""
"Giao thức RUSERS cho phép người dùng trên mạng nhận ra ai\n"
"đăng nhập vào tại các máy đang đáp ứng khác."

#: services.pm:109
#, c-format
msgid ""
"The rwho protocol lets remote users get a list of all of the users\n"
"logged into a machine running the rwho daemon (similar to finger)."
msgstr ""
"Giao thức RWHO cho phép người dùng từ xa có danh sách toàn bộ người\n"
"dùng đăng nhập vào một máy đang chạy daemon rwho (tương tự finger)."

#: services.pm:111
#, c-format
msgid ""
"SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..."
msgstr ""

#: services.pm:112
#, c-format
msgid "Packet filtering firewall"
msgstr ""

#: services.pm:113
#, c-format
msgid ""
"The SMB/CIFS protocol enables to share access to files & printers and also "
"integrates with a Windows Server domain"
msgstr ""

#: services.pm:114
#, c-format
msgid "Launch the sound system on your machine"
msgstr "Chạy hệ thống âm thanh trên máy tính của bạn"

#: services.pm:115
#, c-format
msgid "layer for speech analysis"
msgstr ""

#: services.pm:116
#, c-format
msgid ""
"Secure Shell is a network protocol that allows data to be exchanged over a "
"secure channel between two computers"
msgstr ""

#: services.pm:117
#, 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 là phương tiện thuận lợi mà nhiều daemons dùng để ghi các\n"
"thông điệp vào các tập tin log hệ thống. Nên chạy syslog thường xuyên."

#: services.pm:119
#, c-format
msgid "Moves the generated persistent udev rules to /etc/udev/rules.d"
msgstr ""

#: services.pm:120
#, c-format
msgid "Load the drivers for your usb devices."
msgstr "Tải các drivers cho thiết bị usb của bạn."

#: services.pm:121
#, c-format
msgid "A lightweight network traffic monitor"
msgstr ""

#: services.pm:122
#, c-format
msgid "Starts the X Font Server."
msgstr ""

#: services.pm:123
#, c-format
msgid "Starts other deamons on demand."
msgstr ""

#: services.pm:152
#, c-format
msgid "Printing"
msgstr "In ấn"

#: services.pm:155
#, c-format
msgid "Internet"
msgstr "Internet"

#: services.pm:160
#, c-format
msgid ""
"_: Keep these entry short\n"
"Networking"
msgstr "Chạy mạng"

#: services.pm:162
#, c-format
msgid "System"
msgstr "Hệ thống"

#: services.pm:168
#, c-format
msgid "Remote Administration"
msgstr "Quản trị từ xa"

#: services.pm:177
#, c-format
msgid "Database Server"
msgstr "Máy chủ Cơ sở Dữ liệu"

#: services.pm:188 services.pm:227
#, c-format
msgid "Services"
msgstr "Dịch vụ"

#: services.pm:188
#, c-format
msgid "Choose which services should be automatically started at boot time"
msgstr "Hãy chọn dịch vụ nào được phép khởi động tự động lúc khởi động máy"

#: services.pm:206
#, c-format
msgid "%d activated for %d registered"
msgstr "%d được kích hoạt để đăng nhập %d"

#: services.pm:243
#, c-format
msgid "running"
msgstr "đang chạy"

#: services.pm:243
#, c-format
msgid "stopped"
msgstr "đã dừng"

#: services.pm:248
#, c-format
msgid "Services and daemons"
msgstr "Các dịch vụ và deamon"

#: services.pm:254
#, c-format
msgid ""
"No additional information\n"
"about this service, sorry."
msgstr ""
"Xin lỗi, không có thông tin\n"
"thêm về dịch vụ này."

#: services.pm:259 ugtk2.pm:924
#, c-format
msgid "Info"
msgstr "Thông tin"

#: services.pm:262
#, c-format
msgid "Start when requested"
msgstr "Chạy khi có yêu cầu"

#: services.pm:262
#, c-format
msgid "On boot"
msgstr "Đang khởi động"

#: services.pm:280
#, c-format
msgid "Start"
msgstr "Bắt đầu"

#: services.pm:280
#, c-format
msgid "Stop"
msgstr "Dừng"

#: standalone.pm:26
#, c-format
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"the Free Software Foundation; either version 2, or (at your option)\n"
"any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU General Public License for more details.\n"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
"USA.\n"
msgstr ""
"Chương trình này là phần mềm miễn phí; bạn có thể phân phối lại hay\n"
"thay đổi theo các điều khoản của GNU/GPL mà Quỹ Phần Mềm Tự Do\n"
"công bố; với phiên bản 2, hay bất kỳ phiên bản mới nhất nào.\n"
"\n"
"Chương trình này được phân phối với hy vọng là nó có ích,\n"
"nhưng Không Có Bất Kỳ Bảo Đảm Nào; thậm chí không có bảo đảm về\n"
"Khả Năng Thương Mại hay Thích Hợp Với Mục Đích Đặc Biệt. Hãy xem\n"
"GNU/GPL để biết thêm chi tiết.\n"
"\n"
"Bạn nên nhận lấy một bản sao của GNU/GPL đi kèm theo\n"
"chương trình; nếu không có, xin viết thư tới: Free Software\n"
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
"USA.\n"

#: standalone.pm:45
#, 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"
"Chương trình Sao Lưu và Khôi Phục\n"
"\n"
"--default             : lưu các thư mục mặc định.\n"
"--debug               : hiển thị mọi thông báo gỡ lỗi.\n"
"--show-conf           : danh sách tập tin hay thư mục để sao lưu.\n"
"--config-info         : giải thích các tùy chọn của tập tin cấu hình (cho "
"chế độ không có X).\n"
"--daemon              : dùng cấu hình daemon. \n"
"--help                : hiện thông điệp này.\n"
"--version             : hiện số hiệu phiên bản.\n"

#: standalone.pm:57
#, c-format
msgid ""
"[--boot]\n"
"OPTIONS:\n"
"  --boot            - enable to configure boot loader\n"
"default mode: offer to configure autologin feature"
msgstr ""
"[--boot]\n"
"Tùy chọn:\n"
"  --boot            - cho phép cấu hình trình nạp khởi động\n"
"chế độ mặc định: cho phép cấu hình đăng nhập tự động"

#: standalone.pm:61
#, fuzzy, c-format
msgid ""
"[OPTIONS] [PROGRAM_NAME]\n"
"\n"
"OPTIONS:\n"
"  --help            - print this help message.\n"
"  --report          - program should be one of %s tools\n"
"  --incident        - program should be one of %s tools"
msgstr ""
"[Tùy_Chọn] [Tên_Chương_Trình]\n"
"\n"
"Tùy Chọn:\n"
"  --help            - in thông điệp trợ giúp này.\n"
"  --report          - Chương trình nên là loại công cụ của Mageia\n"
"  --incident        - Chương trình nên là loại công cụ của Mageia"

#: standalone.pm:67
#, 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             - Đồ thuật \"bổ sung giao diện mạng\" \n"
"  --del             - Đồ thuật \"xóa giao diện mạng\" \n"
"  --skip-wizard     - quản lý kết nối\n"
"  --internet        - cấu hình internet\n"
"  --wizard          - giống --add"

#: standalone.pm:73
#, c-format
msgid ""
"\n"
"Font Importation and monitoring application\n"
"\n"
"OPTIONS:\n"
"--windows_import : import from all available windows partitions.\n"
"--xls_fonts      : show all fonts that already exist from xls\n"
"--install        : accept any font file and any directory.\n"
"--uninstall      : uninstall any font or any directory of font.\n"
"--replace        : replace all font if already exist\n"
"--application    : 0 none application.\n"
"                 : 1 all application available supported.\n"
"                 : name_of_application like  so for staroffice \n"
"                 : and gs for ghostscript for only this one."
msgstr ""
"\n"
"Nhập phông chữ và giám sát chương trình\n"
"\n"
"Tùy chọn:\n"
"                                     \n"
"--windows_import : nhập từ mọi phân vùng windows hiện có.\n"
"--xls_fonts      : hiện mọi phông đã tồn tại từ xls\n"
"--install        : chấp nhận bất kỳ tập tin phông và thư mục nào.\n"
"--uninstall      : gỡ cài đặt bấy kỳ phông hay thư mục chứa phông nào.\n"
"--replace        : thay thế mọi phông đã đang tồn tại\n"
"--application    : 0 không ứng dụng.\n"
"                 : 1 mọi ứng dụng hiện có được hỗ trợ.\n"
"                 : tên_của_ứng dụng như thế cho staroffice \n"
"                 : và gs cho ghostscript cho mỗi cái này."

#: standalone.pm:88
#, fuzzy, c-format
msgid ""
"[OPTIONS]...\n"
"%s 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 ""
"[Tùy Chọn]...\n"
"Chương Trình Cấu Hình Mageia Terminal Server\n"
"--enable         : bật chạy MTS\n"
"--disable        : tắt MTS\n"
"--start          : chạy MTS\n"
"--stop           : dừng MTS\n"
"--adduser        : thêm một người dùng đang có vào MTS (yêu cầu tên người "
"dùng)\n"
"--deluser        : xóa người dùng đang có khỏi MTS (yêu cầu tên người dùng)\n"
"--addclient      : thêm máy khách vào MTS (yêu cầu địa chỉ MAC, IP, tên ảnh "
"nbi)\n"
"--delclient      : xóa máy khách khỏi MTS (yêu cầu địa chỉ MAC, IP, tên ảnh "
"nbi)"

#: standalone.pm:100
#, c-format
msgid "[keyboard]"
msgstr "[bàn phím]"

#: standalone.pm:101
#, c-format
msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"

#: standalone.pm:102
#, c-format
msgid ""
"[OPTIONS]\n"
"Network & Internet connection and monitoring application\n"
"\n"
"--defaultintf interface : show this interface by default\n"
"--connect : connect to internet if not already connected\n"
"--disconnect : disconnect to internet if already connected\n"
"--force : used with (dis)connect : force (dis)connection.\n"
"--status : returns 1 if connected 0 otherwise, then exit.\n"
"--quiet : do not be interactive. To be used with (dis)connect."
msgstr ""
"[Tùy Chọn]\n"
"Kết Nối Mạng & Internet và giám sát ứng dụng\n"
"\n"
"--defaultintf interface : hiển thị giao tiếp này theo mặc định\n"
"--connect : kết nối vào internet nếu chưa sẵn có\n"
"--disconnect : ngắt kết nối internet nếu đã kết nối rồi\n"
"--force : được dùng với (ngắt)kết nối : ép buộc (ngắt)kết nối.\n"
"--status : trả về 1 nếu connected 0 otherwise, sau đó thoát ra.\n"
"--quiet : không tương tác. Được dùng với (ngắt)kết nối."

#: standalone.pm:112
#, fuzzy, c-format
msgid ""
"[OPTION]...\n"
"  --no-confirmation      do not ask first confirmation question in %s Update "
"mode\n"
"  --no-verify-rpm        do not verify packages signatures\n"
"  --changelog-first      display changelog before filelist in the "
"description window\n"
"  --merge-all-rpmnew     propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
"[Tùy Chọn]...\n"
"  --no-confirmation      không hỏi câu khẳng định trước trong chế độ Mageia "
"Update\n"
"  --no-verify-rpm        không kiểm tra chữ ký các gói\n"
"  --changelog-first      hiển thị bản ghi thay đổi trước danh sách tập tin "
"trong cửa sổ mô tả\n"
"  --merge-all-rpmnew     đề nghị hợp nhất mọi tập tin được thấy .rpmnew/."
"rpmsave"

#: standalone.pm:117
#, c-format
msgid ""
"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
"usbtable] [--dynamic=dev]"
msgstr ""
"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
"usbtable] [--dynamic=dev]"

#: standalone.pm:118
#, c-format
msgid ""
" [everything]\n"
"       XFdrake [--noauto] monitor\n"
"       XFdrake resolution"
msgstr ""
" [everything]\n"
"       XFdrake [--noauto] monitor\n"
"       XFdrake resolution"

#: standalone.pm:154
#, c-format
msgid ""
"\n"
"Usage: %s  [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
"testing] [-v|--version] "
msgstr ""
"\n"
"Cách dùng: %s  [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
"testing] [-v|--version] "

#: timezone.pm:161 timezone.pm:162
#, fuzzy, c-format
msgid "All servers"
msgstr "Thêm máy chủ"

#: timezone.pm:198
#, c-format
msgid "Global"
msgstr ""

#: timezone.pm:201
#, fuzzy, c-format
msgid "Africa"
msgstr "Nam Phi"

#: timezone.pm:202
#, fuzzy, c-format
msgid "Asia"
msgstr "Áo"

#: timezone.pm:203
#, c-format
msgid "Europe"
msgstr ""

#: timezone.pm:204
#, fuzzy, c-format
msgid "North America"
msgstr "Nam Phi"

#: timezone.pm:205
#, fuzzy, c-format
msgid "Oceania"
msgstr "Macedonia"

#: timezone.pm:206
#, fuzzy, c-format
msgid "South America"
msgstr "Nam Phi"

#: timezone.pm:215
#, c-format
msgid "Hong Kong"
msgstr "Hong Kong"

#: timezone.pm:252
#, c-format
msgid "Russian Federation"
msgstr "Russian Federation"

#: timezone.pm:260
#, c-format
msgid "Yugoslavia"
msgstr "Yugoslavia"

#: ugtk2.pm:812
#, c-format
msgid "Is this correct?"
msgstr "Có đúng không?"

#: ugtk2.pm:874
#, c-format
msgid "You have chosen a file, not a directory"
msgstr "Bạn đã chọn một tập tin, không chọn thư mục"

#: wizards.pm:96
#, c-format
msgid ""
"%s is not installed\n"
"Click \"Next\" to install or \"Cancel\" to quit"
msgstr ""
"%s chưa được cài đặt\n"
"Nhấn \"Tiếp theo\" để cài đặt hoặc \"Bỏ qua\" để thoát"

#: wizards.pm:100
#, c-format
msgid "Installation failed"
msgstr "Không cài đặt được"

#~ msgid ""
#~ "Launch packet filtering for Linux kernel 2.2 series, to set\n"
#~ "up a firewall to protect your machine from network attacks."
#~ msgstr ""
#~ "Bắt đầu lọc các gói cho chuỗi nhân 2.2, để cài đặt\n"
#~ "bức tường lửa để bảo vệ máy tính của bạn khỏi các cuộc tấn công từ "
#~ "network."

#~ msgid "File sharing"
#~ msgstr "Chia se File"

#~ msgid "Restrict command line options"
#~ msgstr "Các tùy chọn dòng lệnh hạn chế"

#~ msgid "restrict"
#~ msgstr "hạn chế"

#~ msgid ""
#~ "Option ``Restrict command line options'' is of no use without a password"
#~ msgstr ""
#~ "Không sử dụng được tùy chọn ``Tùy chọn dòng lệnh hạn chế'' không có mật "
#~ "khẩu"

#~ msgid "Use an encrypted filesystem"
#~ msgstr "Sử dụng mã hóa filesystem"

#~ msgid ""
#~ "To ensure data integrity after resizing the partition(s), \n"