summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive.pm
blob: 0fc9a4b5557784ff92b343392d43553213ec1ef8 (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
package interactive; # $Id$

use diagnostics;
use strict;

#-######################################################################################
#- misc imports
#-######################################################################################
use common;
use do_pkgs;

#- minimal example using interactive:
#
#- > use lib qw(/usr/lib/libDrakX);
#- > use interactive;
#- > my $in = interactive->vnew;
#- > $in->ask_okcancel('title', 'question');
#- > $in->exit;

#- ask_from_ takes global options ($common):
#-  title                => window title
#-  messages             => message displayed in the upper part of the window
#-  ok                   => force the name of the "Ok"/"Next" button
#-  cancel               => force the name of the "Cancel"/"Previous" button
#-  focus_cancel         => force focus on the "Cancel" button
#-  focus_first          => (deprecated) force focus on the first entry
#-  ok_disabled          => function returning wether {ok} should be disabled (grayed)
#-  validate             => function called when {ok} is pressed. If it returns false, the first entry is focused, otherwise it quits
#-  advanced             => (deprecated) function called when the "advanced" expander is toggled
#-  advanced_messages    => (deprecated) message displayed when "Advanced" is pressed
#-  advanced_label       => (deprecated) force the name of the "Advanced" button
#-  advanced_label_close => (deprecated) force the name of the "Basic" button
#-  advanced_state       => (deprecated) if set to 1, force the "Advanced" part of the dialog to be opened initially
#-  callbacks            => (deprecated) functions called when something happen: complete advanced ok_disabled

#- ask_from_ takes a list of entries with fields:
#-  val      => reference to the value
#-  label    => description
#-  title    => a boolean: whether the label should be displayed as a title (see GNOME's HIG)
#-  icon     => icon to put before the description
#-  help     => tooltip
#-  advanced => (deprecated) wether it is shown in by default or only in advanced mode
#-  focus_out => function called when the entry is focused out
#-  changed  => function called when the entry is modified
#-  validate => function called when "Ok" is pressed. If it returns false, this entry is focused, otherwise it quits
#-  disabled => function returning wether it should be disabled (grayed)
#-  focus    => function returning wether it should be focused
#-  gtk      => gtk preferences
#-  type     => 
#-     button => (with clicked or clicked_may_quit)
#-               (type defaults to button if clicked or clicked_may_quit is there)
#-               (val need not be a reference) (if clicked_may_quit return true, it's as if "Ok" was pressed)
#-     label => (val need not be a reference) (type defaults to label if val is not a reference) 
#-     bool (with "text" or "image" (which overrides text) giving an image filename)
#-     range (with min, max, SpinButton)
#-     combo (with list, not_edit, format)
#-     list (with list, icon2f (aka icon), separator (aka tree), format (aka pre_format function),
#-           help can be a hash or a function,
#-           tree_expanded boolean telling wether the tree should be wide open by default
#-           quit_if_double_click boolean
#-           allow_empty_list disables the special cases for 0 and 1 element lists
#-           image2f is a subroutine which takes a value of the list as parameter, and returns image_file_name
#-     entry (the default) (with hidden)
#-     expander (with text, expanded, message, children(a list of sub entries))
#
#- heritate from this class and you'll get all made interactivity for same steps.
#- for this you need to provide
#- - ask_from_listW(o, title, messages, arrayref, default) returns one string of arrayref
#-
#- where
#- - o is the object
#- - title is a string
#- - messages is an refarray of strings
#- - default is an optional string (default is in arrayref)
#- - arrayref is an arrayref of strings
#- - arrayref2 contains booleans telling the default state,
#-
#- ask_from_list and ask_from_list_ are wrappers around ask_from_biglist and ask_from_smalllist
#-
#- ask_from_list_ just translate arrayref before calling ask_from_list and untranslate the result
#-
#- ask_from_listW should handle differently small lists and big ones.
#-


#-######################################################################################
#- OO Stuff
#-######################################################################################
our @ISA = qw(do_pkgs);

sub new($) {
    my ($type) = @_;

    bless {}, ref($type) || $type;
}

sub vnew {
    my ($_type, $o_su, $o_icon) = @_;
    my $su = $o_su eq "su";
    if ($ENV{INTERACTIVE_HTTP}) {
	require interactive::http;
	return interactive::http->new;
    }
    require c;
    if ($su) {
	$ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
	$su = '' if $::testing || $ENV{TESTING};
    }
    require_root_capability() if $su;
    if (check_for_xserver()) {
	eval { require interactive::gtk };
	if (!$@) {
	    my $o = interactive::gtk->new;
	    if ($o_icon && $o_icon ne 'default' && !$::isWizard) { $o->{icon} = $o_icon } else { undef $o->{icon} }
	    return $o;
	} elsif ($::testing) {
	    die;
	}
    }

    require interactive::curses;
    interactive::curses->new;
}

sub ok { N_("Ok") }
sub cancel { N_("Cancel") }

sub markup_parse {
    my ($s) = @_;
    my @l;
    my @attrs;

    while ($s) {
	if ($s =~ s!^<(\w+)(\s+[^>]*?)?>!!s) {
	    push @attrs, [ $1, $2 ];
	} elsif ($s =~ s!^</(\w+)>!!) {
	    my $previous = pop @attrs;
	    $previous->[0] eq $1 or return;
	} elsif ($s =~ s!^(&(amp|lt|gt);)!!) {
	    push @l, [ $1, @attrs ];
	} elsif ($s =~ s!^([^<>&]+)!!s) {
	    push @l, [ $1, @attrs ];
	} else {
	    return;
	}
    }
    markup_simplify(\@l);
    \@l;
}

sub markup_simplify {
    my ($l) = @_;
    foreach (@$l) {
	my ($s, @attrs) = @$_;
	my %attrs = map {
	    my ($tag, $attrs) = @$_;
	    my $long = { b => { weight => "bold" },
			 i => { style => "italic" },
			 big => { size => 'larger' },
		      }->{$tag};   
	    $long ? %$long : map { /^(.*?)=['"]?(.*?)['"]?$/ } split(' ', $attrs);
	} @attrs;

	$s = +{ '&amp;' => '&', '&lt;' => '<', '&gt;' => '>' }->{$s} || $s;

	@$_ = ($s, if_(%attrs, \%attrs));
    }
}

sub markup_remove {
    my ($s) = @_;
    if (my $l = markup_parse($s)) {
	join('', map { $_->[0] } @$l);
    } else {
	$s;
    }
}

#- drop markup as fallback
sub adapt_markup {
    my ($_o, $s) = @_;
    markup_remove($s);
}

sub enter_console {}
sub leave_console {}
sub suspend {}
sub resume {}
sub end {}
sub exit {
    if ($::isStandalone) {
        require standalone;
        standalone::exit($_[0]);
    } else {
        exit($_[0]);
    }
}


#-######################################################################################
#- Interactive functions
#-######################################################################################
sub ask_warn {
    my ($o, $title, $message, $o_icon) = @_;
    ask_warn_($o, { title => $title, messages => $message, icon => $o_icon });
}
sub ask_yesorno {
    my ($o, $title, $message, $b_def) = @_;
    ask_yesorno_($o, { title => $title, messages => $message }, $b_def);
}
sub ask_okcancel {
    my ($o, $title, $message, $b_def, $o_icon) = @_;
    ask_okcancel_($o, { title => $title, messages => $message, icon => $o_icon }, $b_def);
}

sub ask_warn_ {
    my ($o, $common) = @_;
    ask_from_listf_raw_no_check($o, $common, \&translate, [ $o->ok ]);
}

sub ask_yesorno_ {
    my ($o, $common, $b_def) = @_;
    $common->{cancel} = '';
    ask_from_listf_raw($o, $common, \&translate, [ N_("Yes"), N_("No") ], $b_def ? "Yes" : "No") eq "Yes";
}

sub ask_okcancel_ {
    my ($o, $common, $b_def) = @_;

    if ($::isWizard) {
	$common->{focus_cancel} = !$b_def;
    	ask_from_no_check($o, $common, []);
    } else {
	ask_from_listf_raw($o, $common, \&translate, [ $o->ok, $o->cancel ], $b_def ? $o->ok : $o->cancel) eq $o->ok;
    }
}

sub ask_filename {
    my ($o, $common) = @_;
    $common->{want_a_dir} = 0;
    $o->ask_fileW($common);
}

sub ask_directory {
    my ($o, $common) = @_;
    $common->{want_a_dir} = 1;
    $o->ask_fileW($common);
}

#- predecated
sub ask_file {
    my ($o, $title, $o_dir) = @_;
    $o->ask_fileW({ title => $title, want_a_dir => 0, directory => $o_dir });
}

sub ask_fileW {
    my ($o, $common) = @_;
    $o->ask_from_entry($common->{title}, $common->{message} || N("Choose a file"));
}

sub ask_from_list {
    my ($o, $title, $message, $l, $o_def) = @_;
    ask_from_listf($o, $title, $message, undef, $l, $o_def);
}

sub ask_from_list_ {
    my ($o, $title, $message, $l, $o_def) = @_;
    ask_from_listf($o, $title, $message, \&translate, $l, $o_def);
}

sub ask_from_listf_ {
    my ($o, $title, $message, $f, $l, $o_def) = @_;
    ask_from_listf($o, $title, $message, sub { translate($f->(@_)) }, $l, $o_def);
}
sub ask_from_listf {
    my ($o, $title, $message, $f, $l, $o_def) = @_;
    ask_from_listf_raw($o, { title => $title, messages => $message }, $f, $l, $o_def);
}
sub ask_from_listf_raw {
    my ($_o, $_common, $_f, $l, $_o_def) = @_;
    @$l == 0 and die "ask_from_list: empty list\n" . backtrace();
    @$l == 1 and return $l->[0];
    goto &ask_from_listf_raw_no_check;
}

sub ask_from_listf_raw_no_check {
    my ($o, $common, $f, $l, $o_def) = @_;

    if (@$l <= ($::isWizard ? 1 : 2)) {
	my ($ok, $cancel) = map { $_ && may_apply($f, $_) } @$l;
	if (length "$ok$cancel" < 70) {
	    my $ret = eval {
		put_in_hash($common, { ok => $ok, 
				       if_($cancel, cancel => $cancel, focus_cancel => $o_def eq $l->[1]) });
		ask_from_no_check($o, $common, []) ? $l->[0] : $l->[1];
	    };
	    die if $@ && $@ !~ /^wizcancel/;
	    return $@ ? undef : $ret;
	}
    }
    ask_from_no_check($o, $common, [ { val => \$o_def, type => 'list', list => $l, format => $f } ]) && $o_def;
}

sub ask_from_treelist {
    my ($o, $title, $message, $separator, $l, $o_def) = @_;
    ask_from_treelistf($o, $title, $message, $separator, undef, $l, $o_def);
}
sub ask_from_treelist_ {
    my ($o, $title, $message, $separator, $l, $o_def) = @_;
    my $transl = sub { join '|', map { translate($_) } split(quotemeta($separator), $_[0]) }; 
    ask_from_treelistf($o, $title, $message, $separator, $transl, $l, $o_def);
}
sub ask_from_treelistf {
    my ($o, $title, $message, $separator, $f, $l, $o_def) = @_;
    ask_from($o, $title, $message, [ { val => \$o_def, separator => $separator, list => $l, format => $f, sort => 1 } ]) or return;
    $o_def;
}

sub ask_many_from_list {
    my ($o, $title, $message, @l) = @_;
    @l = grep { @{$_->{list}} } @l or return '';
    foreach my $h (@l) {
	$h->{e}{$_} = {
	    text => may_apply($h->{label}, $_),
	    val => $h->{val} ? $h->{val}->($_) : do {
		my $i =
		  $h->{value} ? $h->{value}->($_) : 
		    $h->{values} ? member($_, @{$h->{values}}) : 0;
		\$i;
	    },
	    type => 'bool',
	    help => may_apply($h->{help}, $_, ''),
	    icon => may_apply($h->{icon2f}, $_, ''),
	} foreach @{$h->{list}};
	if ($h->{sort}) {
	    $h->{list} = [ sort { $h->{e}{$a}{text} cmp $h->{e}{$b}{text} } @{$h->{list}} ];
	}
    }
    $o->ask_from($title, $message, [ map { my $h = $_; map { $h->{e}{$_} } @{$h->{list}} } @l ]) or return;

    @l = map {
	my $h = $_;
	[ grep { ${$h->{e}{$_}{val}} } @{$h->{list}} ];
    } @l;
    wantarray() ? @l : $l[0];
}

sub ask_from_entry {
    my ($o, $title, $message, %callback) = @_;
    first(ask_from_entries($o, $title, $message, [''], %callback));
}
sub ask_from_entries {
    my ($o, $title, $message, $l, %callback) = @_;

    my @l = map { my $i = ''; { label => $_, val => \$i } } @$l;

    $o->ask_from_({ title => $title, messages => $message, %callback, 
		    focus_first => 1 }, \@l) or return;
    map { ${$_->{val}} } @l;
}

sub ask_from__add_modify_remove {
    my ($o, $title, $message, $l, %callback) = @_;
    die "ask_from__add_modify_remove only handles one item" if @$l != 1;

    $callback{$_} or internal_error("missing callback $_") foreach qw(Add Modify Remove);

    if ($o->can('ask_from__add_modify_removeW')) {
	$o->ask_from__add_modify_removeW($title, $message, $l, %callback);
    } else {
	my $e = $l->[0];
	my $chosen_element;
	put_in_hash($e, { allow_empty_list => 1, val => \$chosen_element, type => 'list' });

	while (1) {
	    my $continue;
	    my @l = (@$l, 
		     map { my $s = $_; { val => translate($_), clicked_may_quit => sub { 
					     my $r = $callback{$s}->($chosen_element);
					     defined $r or return;
					     $continue = 1;
					 } } }
		     N_("Add"), if_(@{$e->{list}} > 0, N_("Modify"), N_("Remove")));
	    $o->ask_from_({ title => $title, messages => $message, %callback }, \@l) or return;
	    return 1 if !$continue;
	}
    }
}


#- can get a hash of callback: validate
#- moreove if you pass a hash with a field list -> combo
#- if you pass a hash with a field hidden -> emulate stty -echo
sub ask_from {
    my ($o, $title, $message, $l, %callback) = @_;
    ask_from_($o, { title => $title, messages => $message, %callback }, $l);
}


sub _normalize_entry {
    my ($o, $e) = @_;

    if (my $li = $e->{list}) {
	ref($e->{val}) =~ /SCALAR|REF/ or internal_error($e->{val} ? "field {val} must be a reference (it is $e->{val})" : "field {val} is mandatory");	#-#
	if ($e->{sort} || @$li > 10 && !exists $e->{sort}) {
	    my @l2 = map { may_apply($e->{format}, $_) } @$li;
	    my @places = sort { $l2[$a] cmp $l2[$b] } 0 .. $#l2;
	    $e->{list} = $li = [ map { $li->[$_] } @places ];
	}
	$e->{type} = 'iconlist' if $e->{icon2f};
	$e->{type} = 'treelist' if $e->{separator} && $e->{type} ne 'combo';
	add2hash_($e, { not_edit => 1 });
	$e->{type} ||= 'combo';

	if (!$e->{not_edit}) {
	    die q(when using "not_edit" you must use strings, not a data structure) if ref(${$e->{val}}) || any { ref $_ } @$li;
	}
	if ($e->{type} ne 'combo' || $e->{not_edit}) {
	    ${$e->{val}} = $li->[0] if !member(may_apply($e->{format}, ${$e->{val}}), map { may_apply($e->{format}, $_) } @$li);
	}
    } elsif ($e->{type} eq 'range') {
	$e->{min} <= $e->{max} or die "bad range min $e->{min} > max $e->{max} (called from " . join(':', caller()) . ")";
	${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
    } elsif ($e->{type} eq 'button' || $e->{clicked} || $e->{clicked_may_quit}) {
	$e->{type} = 'button';
	$e->{clicked_may_quit} ||= $e->{clicked} ? sub { $e->{clicked}(); 0 } : sub {};	    
	$e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
    } elsif (!$e->{type} && !$e->{val}) {
	$e->{type} = 'only_label';
	$e->{val} = \ (my $_v = $o->adapt_markup(delete $e->{label}));
    } elsif ($e->{type} eq 'label' || !ref($e->{val})) {
	$e->{type} = 'label';
	$e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
    } elsif ($e->{type} eq 'expander') {
	_normalize_entries($o, $e->{children});
    } else {
	$e->{type} ||= 'entry';
    }
    $e->{label} = $o->adapt_markup($e->{label}) if $e->{label};
}

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

    ref($l) eq 'ARRAY' or internal_error('ask_from_normalize');

    _normalize_entry($o, $_) foreach @$l;

    #- do not display empty lists and one element lists
    @$l = grep { 
	if ($_->{list} && $_->{not_edit} && !$_->{allow_empty_list}) {
	    if (!@{$_->{list}}) {
		eval {
		    require 'log.pm'; #- "require log" causes some pb, perl thinking that "log" is the log() function
		    log::l("ask_from_normalize: empty list for $_->{label}\n" . backtrace());
		};
	    }
	    @{$_->{list}} > 1;
	} else {
	    1;
	}
    } @$l;
}

sub ask_from_normalize {
    my ($o, $common, $l) = @_;

    if ($common->{focus_first}) {
	if (my $e = find { $_->{val} } @$l) {
	    $e->{focus} = sub { 1 };
	}
    }

    _normalize_entries($o, $l);

    if (!$common->{title} && $::isStandalone) {
	($common->{title} = $0) =~ s|.*/||;
    }
    $common->{interactive_help} ||= $o->{interactive_help};
    $common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
    $common->{advanced_label} ||= N("Advanced");
    $common->{advanced_label_close} and log::l("advanced_label_close is not used anymore");
    $common->{$_} = $common->{$_} ? [ map { $o->adapt_markup($_) } deref($common->{$_}) ] : [] 
      foreach qw(messages advanced_messages);

    if ($common->{callbacks}) {
	$common->{callbacks}{changed} and internal_error(q(global "changed" callback is not handled anymore, use a per-entry changed callback));
	$common->{callbacks}{focus_out} and internal_error(q(global "focus_out" callback is not handled anymore, use a per-entry focus_out callback));
	add2hash($common, delete $common->{callbacks});
    }
    if (my $complete = delete $common->{complete}) {
	$common->{validate} = sub { !first($complete->()) };
    }
    add2hash_($common, { validate => sub { 1 } });
}

sub migrate_advanced {
    my ($common, $l) = @_;
    my ($l1, $l2) = partition { !$_->{advanced} } @$l;
    my $advanced_message = join("\n", @{$common->{advanced_messages}});
    [ @$l1, if_(@$l2, { type => 'expander', 
			if_($advanced_message, message => $advanced_message),
			text => $common->{advanced_label},
			expanded => $common->{advanced_state},
			children => $l2,
		    }) ];
}

sub ask_from_ {
    my ($o, $common, $l) = @_;
    ask_from_normalize($o, $common, $l);
    @$l or return 1;
    $common->{cancel} = '' if !defined wantarray();
    ask_from_real($o, $common, $l);
}
sub ask_from_no_check {
    my ($o, $common, $l) = @_;
    ask_from_normalize($o, $common, $l);
    $common->{cancel} = '' if !defined wantarray();
    my $l_ = migrate_advanced($common, $l);
    $o->ask_fromW($common, $l_);
}
sub ask_from_real {
    my ($o, $common, $l) = @_;
    my $l_ = migrate_advanced($common, $l);
    my $v = $o->ask_fromW($common, $l_);

    foreach my $e (@$l) {
	if ($e->{type} eq 'range') {
	    ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
	}
    }

    %$common = ();
    $v;
}


sub ask_browse_tree_info {
    my ($o, $title, $message, $common) = @_;
    $common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
    add2hash_($common, { ok => $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok"), 
			 cancel => $::isWizard ? N("Previous") : N("Cancel") });
    add2hash_($common, { title => $title, message => $message });
    add2hash_($common, { grep_allowed_to_toggle      => sub { @_ },
			 grep_unselected             => sub { grep { $common->{node_state}($_) eq 'unselected' } @_ },
			 check_interactive_to_toggle => sub { 1 },
			 toggle_nodes                => sub {
			     my ($set_state, @nodes) = @_;
			     my $new_state = !$common->{grep_unselected}($nodes[0]) ? 'selected' : 'unselected';
			     $set_state->($_, $new_state) foreach @nodes;
			 },
		       });
    $o->ask_browse_tree_info_refW($common);
}
sub ask_browse_tree_info_refW { #- default definition, do not use with too many items (memory consuming)
    my ($o, $common) = @_;
    my ($l, $v, $h) = ([], [], {});
    $common->{build_tree}(sub {
			      my ($node) = $common->{grep_allowed_to_toggle}(@_);
			      if (my $state = $node && $common->{node_state}($node)) {
				  push @$l, $node;
				  $state eq 'selected' and push @$v, $node;
				  $h->{$node} = $state eq 'selected';
			      }
			  }, 'flat');
    add2hash_($common, { list   => $l, #- TODO interactivity of toggle is missing
			 values => $v,
			 help   => sub { $common->{get_info}($_[0]) },
		       });
    my ($new_v) = $o->ask_many_from_list($common->{title}, $common->{message}, $common) or return;
    $common->{toggle_nodes}(sub {}, grep { ! delete $h->{$_} } @$new_v);
    $common->{toggle_nodes}(sub {}, grep { $h->{$_} } keys %$h);
    1;
}

sub wait_message {
    my ($o, $title, $message, $b_temp) = @_;

    my $w = $o->wait_messageW($title, N("Please wait"), $message);
    push @tempory::objects, $w if $b_temp;
    my $b = before_leaving { $o->wait_message_endW($w) };

    #- enable access through set
    MDK::Common::Func::add_f4before_leaving(sub { $o->wait_message_nextW($_[1], $w) }, $b, 'set');
    $b;
}


sub wait_message_with_progress_bar {
    my ($in, $o_title) = @_;

    my $w = $in->wait_message($o_title, '');
    my $last_msg;
    $w, sub {
	my ($msg, $current, $total) = @_;
	if ($msg) {
	    $w->set($last_msg = $msg);
	}
	if ($total) {
	    $w or internal_error('You must first give some text to display');
	    $w->set(join("\n", $last_msg, "$current / $total"));
	}
    };
}

sub kill() {}



sub helper_separator_tree_to_tree {
    my ($separator, $list, $formatted_list) = @_;
    my $sep = quotemeta $separator;
    my $tree = {};
    
    each_index {
	my @l = split $sep;
	my $leaf = pop @l;
	my $node = $tree;
	foreach (@l) {
	    $node = $node->{$_} ||= do {
		my $r = {};
		push @{$node->{_order_}}, $_;
		$r;
	    };
	}
	push @{$node->{_leaves_}}, [ $leaf, $list->[$::i] ];
	();
    } @$formatted_list;

    $tree;
}


sub interactive_help_sub_get_id {
    my ($o, $id) = @_;
    eval { $o->interactive_help_has_id($id) }
      && sub { $o->interactive_help_get_id($id) };
}

sub interactive_help_sub_display_id {
    my ($o, $id) = @_;
    eval { $o->interactive_help_has_id($id) }
      && sub { $o->ask_warn(N("Help"), $o->interactive_help_get_id($id)) };
}

1;
27' href='#n3427'>3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 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
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
#
# Translators:
# Danny Zeng <danny@zeng.com.cn>, 2000,2002
# Funda Wang <fundawang@linux.net.cn>, 2002-2005
# Jesse Kuang <kjx@mandriva.com>, 2002
# 汤诗语 <shiyu@mandriva.org>, 2003-2004,2008
msgid ""
msgstr ""
"Project-Id-Version: Mageia\n"
"POT-Creation-Date: 2016-02-09 00:37+0100\n"
"PO-Revision-Date: 2015-02-13 05:25+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mageia/"
"language/zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#: any.pm:262 any.pm:970 diskdrake/interactive.pm:646
#: diskdrake/interactive.pm:870 diskdrake/interactive.pm:932
#: diskdrake/interactive.pm:1050 diskdrake/interactive.pm:1282
#: diskdrake/interactive.pm:1340 do_pkgs.pm:342 do_pkgs.pm:387
#: interactive.pm:712 pkgs.pm:293
#, c-format
msgid "Please wait"
msgstr "请稍候"

#: any.pm:262
#, c-format
msgid "Bootloader installation in progress"
msgstr "启动引导程序安装中"

#: any.pm:273
#, c-format
msgid ""
"LILO wants to assign a new Volume ID to drive %s.  However, changing\n"
"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
"error.\n"
"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
"\n"
"Assign a new Volume ID?"
msgstr ""
"LILO 想要为驱动器 %s 指定新卷 ID。但是, 更改 Windows NT、2000 或 XP 启动盘的"
"卷 ID 将会导致 Windows 的严重错误。这对于 Windows 95/98, 或者是 Windows NT 的"
"数据磁盘不会造成任何问题。\n"
"\n"
"要指定新卷 ID 吗?"

#: any.pm:284
#, c-format
msgid "Installation of bootloader failed. The following error occurred:"
msgstr "安装系统引导程序失败。出现下列错误:"

#: any.pm:324
#, 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 ""
"您决定在一个分区上安装启动引导程序。\n"
"那么在用于启动的硬盘上您应该已经有一个安装启动引导程序(例如: System "
"Commander)。\n"
"\n"
"您要用哪个硬盘启动?"

#: any.pm:335
#, c-format
msgid "Bootloader Installation"
msgstr "引导程序安装"

#: any.pm:339
#, c-format
msgid "Where do you want to install the bootloader?"
msgstr "您希望启动引导程序安装到哪里?"

#: any.pm:355
#, c-format
msgid "First sector (MBR) of drive %s"
msgstr "驱动器 %s 的第一扇区(MBR)"

#: any.pm:357
#, c-format
msgid "First sector of drive (MBR)"
msgstr "驱动器的第一扇区(MBR)"

#: any.pm:359
#, c-format
msgid "First sector of the root partition"
msgstr "根分区的第一扇区"

#: any.pm:361
#, c-format
msgid "On Floppy"
msgstr "在软盘上"

#: any.pm:363 pkgs.pm:289 ugtk2.pm:526 ugtk3.pm:602
#, c-format
msgid "Skip"
msgstr "跳过"

#: any.pm:391
#, c-format
msgid "Boot Style Configuration"
msgstr "启动风格配置"

#: any.pm:405
#, c-format
msgid "Bootloader main options"
msgstr "引导程序的主要选项"

#: any.pm:409
#, c-format
msgid "Bootloader"
msgstr "引导程序"

#: any.pm:410
#, c-format
msgid "Bootloader to use"
msgstr "要使用的引导程序"

#: any.pm:413
#, c-format
msgid "Boot device"
msgstr "启动设备"

#: any.pm:416
#, c-format
msgid "Main options"
msgstr "主选项"

#: any.pm:417
#, c-format
msgid "Delay before booting default image"
msgstr "启动默认映像前的延迟"

#: any.pm:418
#, c-format
msgid "Enable ACPI"
msgstr "启用 ACPI"

#: any.pm:419
#, c-format
msgid "Enable SMP"
msgstr "启用 SMP"

#: any.pm:420
#, c-format
msgid "Enable APIC"
msgstr "启用 APIC"

#: any.pm:422
#, c-format
msgid "Enable Local APIC"
msgstr "启用本地 APIC"

#: any.pm:423 security/level.pm:63
#, c-format
msgid "Security"
msgstr "安全"

#: any.pm:424 any.pm:898 any.pm:917 authentication.pm:249
#: diskdrake/smbnfs_gtk.pm:181
#, c-format
msgid "Password"
msgstr "密码"

#: any.pm:427 authentication.pm:260
#, c-format
msgid "The passwords do not match"
msgstr "两次密码不符"

#: any.pm:427 authentication.pm:260 diskdrake/interactive.pm:1509
#, c-format
msgid "Please try again"
msgstr "请再试一次"

#: any.pm:429
#, c-format
msgid "You cannot use a password with %s"
msgstr "您在 %s 时不能使用密码"

#: any.pm:433 any.pm:901 any.pm:919 authentication.pm:250
#, c-format
msgid "Password (again)"
msgstr "密码(请再输一次)"

#: any.pm:498
#, c-format
msgid "Image"
msgstr "映像"

#: any.pm:499 any.pm:511
#, c-format
msgid "Root"
msgstr "根目录"

#: any.pm:500 any.pm:636
#, c-format
msgid "Append"
msgstr "追加"

#: any.pm:502
#, c-format
msgid "Xen append"
msgstr "追加 Xen"

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

#: any.pm:505 any.pm:637
#, c-format
msgid "Video mode"
msgstr "显示模式"

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

#: any.pm:507
#, c-format
msgid "Network profile"
msgstr "网络配置文件"

#: any.pm:515 diskdrake/interactive.pm:411
#, c-format
msgid "Label"
msgstr "标签"

#: any.pm:517 any.pm:634 harddrake/v4l.pm:438
#, c-format
msgid "Default"
msgstr "默认"

#: any.pm:525
#, c-format
msgid "Empty label not allowed"
msgstr "标签不能为空"

#: any.pm:526
#, c-format
msgid "You must specify a kernel image"
msgstr "您必须指定一个内核映像"

#: any.pm:526
#, c-format
msgid "You must specify a root partition"
msgstr "您必须指定根目录所在分区"

#: any.pm:527
#, c-format
msgid "This label is already used"
msgstr "这个名字已经被使用"

#: any.pm:545
#, c-format
msgid "Which type of entry do you want to add?"
msgstr "要添加的条目是什么类型?"

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

#: any.pm:546
#, c-format
msgid "Other OS (Windows...)"
msgstr "其它操作系统(Windows...)"

#: any.pm:593 any.pm:631
#, c-format
msgid "Bootloader Configuration"
msgstr "引导程序配置"

#: any.pm:594
#, c-format
msgid ""
"Here are the entries on your boot menu so far.\n"
"You can create additional entries or change the existing ones."
msgstr ""
"引导菜单中现有下列条目。\n"
"您可以创建额外的条目或是更改已存在的条目。"

#: any.pm:857
#, c-format
msgid "access to X programs"
msgstr "允许使用 X 应用程序"

#: any.pm:858
#, c-format
msgid "access to rpm tools"
msgstr "允许使用 rpm 工具"

#: any.pm:859
#, c-format
msgid "allow \"su\""
msgstr "允许使用“su”指令"

#: any.pm:860
#, c-format
msgid "access to administrative files"
msgstr "允许访问系统设置文件"

#: any.pm:861
#, c-format
msgid "access to network tools"
msgstr "允许使用网络工具"

#: any.pm:862
#, c-format
msgid "access to compilation tools"
msgstr "允许使用编译工具"

#: any.pm:868
#, c-format
msgid "(already added %s)"
msgstr "(已经添加了 %s)"

#: any.pm:874
#, c-format
msgid "Please give a user name"
msgstr "请给出用户名"

#: any.pm:875
#, c-format
msgid ""
"The user name must start with a lower case letter followed by only lower "
"cased letters, numbers, `-' and `_'"
msgstr "用户名只能包含小写字母、数字、“-”和“_”"

#: any.pm:876
#, c-format
msgid "The user name is too long"
msgstr "该用户名太长"

#: any.pm:877
#, c-format
msgid "This user name has already been added"
msgstr "该用户名已经存在"

#: any.pm:883 any.pm:921
#, c-format
msgid "User ID"
msgstr "用户 ID"

#: any.pm:883 any.pm:922
#, c-format
msgid "Group ID"
msgstr "组 ID"

#: any.pm:884
#, c-format
msgid "%s must be a number"
msgstr "%s 必须是数字"

#: any.pm:885
#, c-format
msgid "%s should be above 1000. Accept anyway?"
msgstr "%s 应该大于 1000。仍然接受吗?"

#: any.pm:889
#, c-format
msgid "User management"
msgstr "用户管理"

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

#: any.pm:897 authentication.pm:236
#, c-format
msgid "Set administrator (root) password"
msgstr "设定管理员(root)密码"

#: any.pm:903
#, c-format
msgid "Enter a user"
msgstr "输入一个用户"

#: any.pm:905
#, c-format
msgid "Icon"
msgstr "图标"

#: any.pm:908
#, c-format
msgid "Real name"
msgstr "真实姓名"

#: any.pm:915
#, c-format
msgid "Login name"
msgstr "登录名"

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

#: any.pm:970
#, c-format
msgid "Please wait, adding media..."
msgstr "正在添加介质,请稍候..."

#: any.pm:1003 security/l10n.pm:14
#, c-format
msgid "Autologin"
msgstr "自动登录"

#: any.pm:1004
#, c-format
msgid "I can set up your computer to automatically log on one user."
msgstr "您可在此设定启动时自动以某用户的身份登入系统。"

#: any.pm:1005
#, c-format
msgid "Use this feature"
msgstr "使用此特性"

#: any.pm:1006
#, c-format
msgid "Choose the default user:"
msgstr "选择默认的用户:"

#: any.pm:1007
#, c-format
msgid "Choose the window manager to run:"
msgstr "选择要运行的窗口管理程序:"

#: any.pm:1018 any.pm:1032 any.pm:1101
#, c-format
msgid "Release Notes"
msgstr "版本通告"

#: any.pm:1039 any.pm:1394 interactive/gtk.pm:820
#, c-format
msgid "Close"
msgstr "关闭"

#: any.pm:1087
#, c-format
msgid "License agreement"
msgstr "许可协议"

#: any.pm:1089 diskdrake/dav.pm:27 mygtk2.pm:1229 mygtk3.pm:1283
#, c-format
msgid "Quit"
msgstr "退出"

#: any.pm:1096
#, c-format
msgid "Do you accept this license ?"
msgstr "您接受此许可协议吗?"

#: any.pm:1097
#, c-format
msgid "Accept"
msgstr "接受"

#: any.pm:1097
#, c-format
msgid "Refuse"
msgstr "拒绝"

#: any.pm:1123 any.pm:1186
#, c-format
msgid "Please choose a language to use"
msgstr "请选择要使用的语言。"

#: any.pm:1151
#, 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 ""
"%s 可以支持多种语言。请选择您想要安装的语言。\n"
"安装完成并重新启动系统后它们就可以使用。"

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

#: any.pm:1154
#, c-format
msgid "Multiple languages"
msgstr "多语言"

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

#: any.pm:1164 any.pm:1195
#, c-format
msgid "Old compatibility (non UTF-8) encoding"
msgstr "使用旧的编码方式(非 UTF-8)"

#: any.pm:1165
#, c-format
msgid "All languages"
msgstr "全部语言"

#: any.pm:1187
#, c-format
msgid "Language choice"
msgstr "语言选择"

#: any.pm:1241
#, c-format
msgid "Country / Region"
msgstr "国家/地区"

#: any.pm:1242
#, c-format
msgid "Please choose your country"
msgstr "请选择您的国家/地区。"

#: any.pm:1244
#, c-format
msgid "Here is the full list of available countries"
msgstr "在此列出了可用的全部国家/地区"

#: any.pm:1245
#, c-format
msgid "Other Countries"
msgstr "其它国家"

#: any.pm:1245 interactive.pm:491 interactive/gtk.pm:444
#, c-format
msgid "Advanced"
msgstr "高级"

#: any.pm:1251
#, c-format
msgid "Input method:"
msgstr "输入法:"

#: any.pm:1254
#, c-format
msgid "None"
msgstr "无"

#: any.pm:1339
#, c-format
msgid "No sharing"
msgstr "禁止共享"

#: any.pm:1339
#, c-format
msgid "Allow all users"
msgstr "允许所有用户使用"

#: any.pm:1339
#, c-format
msgid "Custom"
msgstr "自定义"

#: any.pm:1343
#, c-format
msgid ""
"Would you like to allow users to share some of their directories?\n"
"Allowing this will permit users to simply click on \"Share\" in konqueror "
"and nautilus.\n"
"\n"
"\"Custom\" permit a per-user granularity.\n"
msgstr ""
"您想要允许用户能共享他们自己的目录吗?\n"
"选择允许, 用户将只需在 Konqueror 和 Nautilus 中单击“共享”即可开放共享。\n"
"“自定义”允许按照不同用户细分设置。\n"

#: any.pm:1355
#, c-format
msgid ""
"NFS: the traditional Unix file sharing system, with less support on Mac and "
"Windows."
msgstr "NFS: 传统的 Unix 文件共享系统, Mac 和 Windows 上支持较少。"

#: any.pm:1358
#, c-format
msgid ""
"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
"systems."
msgstr "SMB: Windows、MacOS X 和其它现代 Linux 系统所用的文件共享系统。"

#: any.pm:1366
#, c-format
msgid ""
"You can export using NFS or SMB. Please select which you would like to use."
msgstr "您可以使用 NFS 或 Samba 导出。请选择您想要使用的协议。"

#: any.pm:1394
#, c-format
msgid "Launch userdrake"
msgstr "运行“Drak 用户管理”"

#: any.pm:1396
#, c-format
msgid ""
"The per-user sharing uses the group \"fileshare\". \n"
"You can use userdrake to add a user to this group."
msgstr ""
"按用户设置的共享, 使用组“fileshare”。\n"
"您可以使用“Drak 用户管理”将用户添加到此组中。"

#: any.pm:1503
#, c-format
msgid ""
"You need to logout and back in again for changes to take effect. Press OK to "
"logout now."
msgstr "您需要注销后重新登录才能让更改生效。单击确定立即注销。"

#: any.pm:1507
#, c-format
msgid "You need to log out and back in again for changes to take effect"
msgstr "您需要注销后重新登录才能让更改生效"

#: any.pm:1542
#, c-format
msgid "Timezone"
msgstr "时区"

#: any.pm:1542
#, c-format
msgid "Which is your timezone?"
msgstr "您所在的时区?"

#: any.pm:1565 any.pm:1567
#, c-format
msgid "Date, Clock & Time Zone Settings"
msgstr "日期、时钟和时区设置"

#: any.pm:1568
#, c-format
msgid "What is the best time?"
msgstr "最适合的时间是几点?"

#: any.pm:1572
#, c-format
msgid "%s (hardware clock set to UTC)"
msgstr "%s (硬件时钟设定为 GMT)"

#: any.pm:1573
#, c-format
msgid "%s (hardware clock set to local time)"
msgstr "%s (硬件时钟设定为本地时间)"

#: any.pm:1575
#, c-format
msgid "NTP Server"
msgstr "NTP 服务器"

#: any.pm:1576
#, c-format
msgid "Automatic time synchronization (using NTP)"
msgstr "自动时间同步(使用 NTP)"

#: authentication.pm:24
#, c-format
msgid "Local file"
msgstr "本地文件"

#: 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 "智能卡"

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

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

#: authentication.pm:65
#, c-format
msgid "Local file:"
msgstr "本地文件:"

#: authentication.pm:65
#, c-format
msgid ""
"Use local for all authentication and information user tell in local file"
msgstr "使用本地文件进行身份验证,并使用本地文件获取用户信息"

#: 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 ""
"通知您的计算机使用 LDAP 进行某些或全部身份验证。LDAP 能够在您的组织中巩固特定"
"类型的信息。"

#: 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 ""
"允许您通过公共的密码和组文件在同一个网络信息服务(NIS)域中运行一组计算机。"

#: authentication.pm:68
#, c-format
msgid "Windows Domain:"
msgstr "Windows 域:"

#: authentication.pm:68
#, c-format
msgid ""
"Winbind allows the system to retrieve information and authenticate users in "
"a Windows domain."
msgstr "Winbind 允许系统从 Windows 域中获取信息并验证用户的身份。"

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

#: authentication.pm:69
#, c-format
msgid "With Kerberos and LDAP for authentication in Active Directory Server "
msgstr "使用 Kerboros 和 LDAP 在活动目录服务器中进行身份验证"

#: 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
#, c-format
msgid "Welcome to the Authentication Wizard"
msgstr "欢迎使用身份验证向导"

#: authentication.pm:109
#, c-format
msgid ""
"You have selected LDAP authentication. Please review the configuration "
"options below "
msgstr "您选择了 LDAP 身份验证。请查看下列配置选项"

#: authentication.pm:111 authentication.pm:166
#, c-format
msgid "LDAP Server"
msgstr "LDAP 服务器"

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

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

#: authentication.pm:115 authentication.pm:170
#, c-format
msgid "Use encrypt connection with TLS "
msgstr "使用 TLS 加密的连接"

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

#: authentication.pm:118 authentication.pm:151
#, c-format
msgid "Use Disconnect mode "
msgstr "使用断开模式"

#: authentication.pm:119 authentication.pm:172
#, c-format
msgid "Use anonymous BIND "
msgstr "使用匿名 BIND"

#: 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 "Bind DN"

#: authentication.pm:122 authentication.pm:174
#, c-format
msgid "Bind Password "
msgstr "Bind 密码"

#: authentication.pm:124
#, c-format
msgid "Advanced path for group "
msgstr "组的高级路径"

#: authentication.pm:126
#, c-format
msgid "Password base"
msgstr "密码基"

#: authentication.pm:127
#, c-format
msgid "Group base"
msgstr "组基"

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

#: authentication.pm:143
#, c-format
msgid ""
"You have selected Kerberos 5 authentication. Please review the configuration "
"options below "
msgstr "您选择了 Kerboros 5 身份验证。请查阅下列配置选项"

#: authentication.pm:145
#, c-format
msgid "Realm "
msgstr "域"

#: authentication.pm:147
#, c-format
msgid "KDCs Servers"
msgstr "KDC 服务器"

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

#: authentication.pm:150
#, c-format
msgid "Use DNS to locate realms"
msgstr "使用 DNS 定位域"

#: authentication.pm:155
#, c-format
msgid "Use local file for users information"
msgstr "用户信息使用本地文件"

#: authentication.pm:156
#, c-format
msgid "Use LDAP for users information"
msgstr "用户信息来自 LDAP"

#: authentication.pm:162
#, c-format
msgid ""
"You have selected Kerberos 5 for authentication, now you must choose the "
"type of users information "
msgstr "您选择了 Kerboros 5 身份验证。现在要选择用户信息的类型"

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

#: authentication.pm:189
#, c-format
msgid ""
"You have selected NIS authentication. Please review the configuration "
"options below "
msgstr "您选择了 NIS 身份验证。请查阅下列配置选项"

#: authentication.pm:191
#, c-format
msgid "NIS Domain"
msgstr "NIS 网域"

#: authentication.pm:192
#, c-format
msgid "NIS Server"
msgstr "NIS 服务器"

#: authentication.pm:213
#, c-format
msgid ""
"You have selected Windows Domain authentication. Please review the "
"configuration options below "
msgstr "您选择了 Windows 域身份验证。请查阅下列配置选项"

#: authentication.pm:217
#, c-format
msgid "Domain Model "
msgstr "域模型"

#: authentication.pm:219
#, c-format
msgid "Active Directory Realm "
msgstr "活动目录域"

#: authentication.pm:220
#, c-format
msgid "DNS Domain"
msgstr "DNS 域"

#: authentication.pm:221
#, c-format
msgid "DC Server"
msgstr "DC 服务器"

#: authentication.pm:235 authentication.pm:251
#, c-format
msgid "Authentication"
msgstr "身份验证"

#: authentication.pm:237
#, c-format
msgid "Authentication method"
msgstr "身份验证方式"

#. -PO: keep this short or else the buttons will not fit in the window
#: authentication.pm:242
#, c-format
msgid "No password"
msgstr "无密码"

#: authentication.pm:263
#, c-format
msgid "This password is too short (it must be at least %d characters long)"
msgstr "这个密码太简单了(至少要有 %d 个字符)"

#: authentication.pm:373
#, c-format
msgid "Cannot use broadcast with no NIS domain"
msgstr "没有 NIS 域无法广播"

#: authentication.pm:860
#, c-format
msgid "Select file"
msgstr "选择文件"

#: authentication.pm:866
#, c-format
msgid "Domain Windows for authentication : "
msgstr "进行身份验证的 Windows 域:"

#: authentication.pm:868
#, c-format
msgid "Domain Admin User Name"
msgstr "域管理员用户名"

#: authentication.pm:869
#, c-format
msgid "Domain Admin Password"
msgstr "域管理员密码"

#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
#: bootloader.pm:1113
#, c-format
msgid ""
"Welcome to the operating system chooser!\n"
"\n"
"Choose an operating system from the list above or\n"
"wait for default boot.\n"
"\n"
msgstr ""
"Welcome to the operating system chooser!\n"
"\n"
"Choose an operating system from the list above or\n"
"wait for default boot.\n"
"\n"

#: bootloader.pm:1278
#, c-format
msgid "LILO with text menu"
msgstr "文本菜单 LILO"

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

#: bootloader.pm:1280
#, c-format
msgid "GRUB with graphical menu"
msgstr "图形菜单 GRUB"

#: bootloader.pm:1281
#, c-format
msgid "GRUB with text menu"
msgstr "文本菜单 GRUB"

#: bootloader.pm:1336
#, c-format
msgid "not enough room in /boot"
msgstr "/boot 中没有足够空间"

#: bootloader.pm:2123
#, c-format
msgid "You cannot install the bootloader on a %s partition\n"
msgstr "%s 分区不能安装启动引导程序\n"

#: bootloader.pm:2298
#, c-format
msgid ""
"Your bootloader configuration must be updated because partition has been "
"renumbered"
msgstr "必须更新您的启动引导程序配置, 因为分区已经重新编号"

#: bootloader.pm:2311
#, c-format
msgid ""
"The bootloader cannot be installed correctly. You have to boot rescue and "
"choose \"%s\""
msgstr "无法正确安装启动引导程序。您需要以抢救方式启动并选择“%s”"

#: bootloader.pm:2312
#, c-format
msgid "Re-install Boot Loader"
msgstr "重新安装启动引导程序"

#: common.pm:271
#, c-format
msgid "B"
msgstr "B"

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

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

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

#: common.pm:271 common.pm:280
#, c-format
msgid "TB"
msgstr "TB"

#. -PO: here, "2:30" is remaining installation time (eg: "2:30" == 2 hour & 30 minutes)
#: common.pm:288
#, c-format
msgid "%02d:%02d"
msgstr ""

#: common.pm:290
#, c-format
msgid "%d minutes"
msgstr "%d 分钟"

#: common.pm:292
#, c-format
msgid "1 minute"
msgstr "1 分钟"

#: common.pm:294
#, c-format
msgid "%d seconds"
msgstr "%d 秒钟"

#: diskdrake/dav.pm:17
#, c-format
msgid ""
"WebDAV is a protocol that allows you to mount a web server's directory\n"
"locally, and treat it like a local filesystem (provided the web server is\n"
"configured as a WebDAV server). If you would like to add WebDAV mount\n"
"points, select \"New\"."
msgstr ""
"WebDAV 是一种协议, 它允许您将 Web 服务器的目录装载到本地, 并将其看作本地的\n"
"文件系统(假设该 Web 服务器已经配置为 WebDAV 服务器)。如果您想要添加 WebDAV\n"
"挂载点, 请选择“新建”。"

#: diskdrake/dav.pm:26
#, c-format
msgid "New"
msgstr "新建"

#: diskdrake/dav.pm:64 diskdrake/interactive.pm:418 diskdrake/smbnfs_gtk.pm:75
#, c-format
msgid "Unmount"
msgstr "卸载"

#: diskdrake/dav.pm:65 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:76
#, c-format
msgid "Mount"
msgstr "挂载"

#: diskdrake/dav.pm:66
#, c-format
msgid "Server"
msgstr "服务器"

#: diskdrake/dav.pm:67 diskdrake/interactive.pm:408
#: diskdrake/interactive.pm:723 diskdrake/interactive.pm:741
#: diskdrake/interactive.pm:745 diskdrake/removable.pm:23
#: diskdrake/smbnfs_gtk.pm:79
#, c-format
msgid "Mount point"
msgstr "挂载点"

#: diskdrake/dav.pm:68 diskdrake/interactive.pm:410
#: diskdrake/interactive.pm:1177 diskdrake/removable.pm:24
#: diskdrake/smbnfs_gtk.pm:80
#, c-format
msgid "Options"
msgstr "选项"

#: diskdrake/dav.pm:69 interactive.pm:390 interactive/gtk.pm:456
#, c-format
msgid "Remove"
msgstr "删除"

#: diskdrake/dav.pm:70 diskdrake/hd_gtk.pm:214 diskdrake/removable.pm:26
#: diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151
#, c-format
msgid "Done"
msgstr "完成"

#: diskdrake/dav.pm:79 diskdrake/hd_gtk.pm:146 diskdrake/hd_gtk.pm:321
#: diskdrake/interactive.pm:245 diskdrake/interactive.pm:258
#: diskdrake/interactive.pm:456 diskdrake/interactive.pm:531
#: diskdrake/interactive.pm:549 diskdrake/interactive.pm:554
#: diskdrake/interactive.pm:713 diskdrake/interactive.pm:1016
#: diskdrake/interactive.pm:1068 diskdrake/interactive.pm:1225
#: diskdrake/interactive.pm:1238 diskdrake/interactive.pm:1241
#: diskdrake/interactive.pm:1509 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:49
#: do_pkgs.pm:54 do_pkgs.pm:79 do_pkgs.pm:103 do_pkgs.pm:108 do_pkgs.pm:142
#: fsedit.pm:256 interactive/http.pm:117 interactive/http.pm:118
#: modules/interactive.pm:19 scanner.pm:94 scanner.pm:105 scanner.pm:112
#: scanner.pm:119 wizards.pm:95 wizards.pm:99 wizards.pm:121
#, c-format
msgid "Error"
msgstr "错误"

#: diskdrake/dav.pm:87
#, c-format
msgid "Please enter the WebDAV server URL"
msgstr "请输入 WebDAV 服务器的 URL"

#: diskdrake/dav.pm:91
#, c-format
msgid "The URL must begin with http:// or https://"
msgstr "URL 应该是以 http:// 或 https:// 开头"

#: diskdrake/dav.pm:107 diskdrake/hd_gtk.pm:456 diskdrake/interactive.pm:304
#: diskdrake/interactive.pm:391 diskdrake/interactive.pm:601
#: diskdrake/interactive.pm:816 diskdrake/interactive.pm:881
#: diskdrake/interactive.pm:1048 diskdrake/interactive.pm:1090
#: diskdrake/interactive.pm:1091 diskdrake/interactive.pm:1325
#: diskdrake/interactive.pm:1363 diskdrake/interactive.pm:1508 do_pkgs.pm:45
#: do_pkgs.pm:74 do_pkgs.pm:100 do_pkgs.pm:137
#, c-format
msgid "Warning"
msgstr "警告"

#: diskdrake/dav.pm:107
#, c-format
msgid "Are you sure you want to delete this mount point?"
msgstr "您确定想要删除此挂载点吗?"

#: diskdrake/dav.pm:125
#, c-format
msgid "Server: "
msgstr "服务器: "

#: diskdrake/dav.pm:126 diskdrake/interactive.pm:501
#: diskdrake/interactive.pm:1387 diskdrake/interactive.pm:1469
#, c-format
msgid "Mount point: "
msgstr "挂载点: "

#: diskdrake/dav.pm:127 diskdrake/interactive.pm:1476
#, c-format
msgid "Options: %s"
msgstr "选项: %s"

#: diskdrake/hd_gtk.pm:61 diskdrake/interactive.pm:299
#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:113
#: fs/partitioning_wizard.pm:66 fs/partitioning_wizard.pm:256
#: fs/partitioning_wizard.pm:264 fs/partitioning_wizard.pm:299
#: fs/partitioning_wizard.pm:455 fs/partitioning_wizard.pm:518
#: fs/partitioning_wizard.pm:603 fs/partitioning_wizard.pm:606
#, c-format
msgid "Partitioning"
msgstr "分区"

#: diskdrake/hd_gtk.pm:74
#, c-format
msgid "Click on a partition, choose a filesystem type then choose an action"
msgstr "点击分区,选择文件系统类型,然后选择操作"

#: diskdrake/hd_gtk.pm:125 diskdrake/interactive.pm:1198
#: diskdrake/interactive.pm:1208 diskdrake/interactive.pm:1263
#, c-format
msgid "Read carefully"
msgstr "请仔细阅读!"

#: diskdrake/hd_gtk.pm:125
#, c-format
msgid "Please make a backup of your data first"
msgstr "请事先备份您的数据"

#: diskdrake/hd_gtk.pm:126 diskdrake/interactive.pm:238
#, c-format
msgid "Exit"
msgstr "退出"

#: diskdrake/hd_gtk.pm:126
#, c-format
msgid "Continue"
msgstr "继续"

#: diskdrake/hd_gtk.pm:209 fs/partitioning_wizard.pm:579 interactive.pm:778
#: interactive/gtk.pm:812 interactive/gtk.pm:830 interactive/gtk.pm:862
#: ugtk2.pm:934 ugtk3.pm:1032
#, c-format
msgid "Help"
msgstr "帮助"

#: diskdrake/hd_gtk.pm:255
#, c-format
msgid ""
"You have one big Microsoft Windows partition.\n"
"I suggest you first resize that partition\n"
"(click on it, then click on \"Resize\")"
msgstr ""
"您有一个很大的 Microsoft Windows 分区。\n"
"我建议您先重新设置这个分区的大小\n"
"(点中它, 然后按“改变大小”)"

#: diskdrake/hd_gtk.pm:257
#, c-format
msgid "Please click on a partition"
msgstr "请单击一个分区"

#: diskdrake/hd_gtk.pm:271 diskdrake/smbnfs_gtk.pm:63
#, c-format
msgid "Details"
msgstr "细节"

#: diskdrake/hd_gtk.pm:321
#, c-format
msgid "No hard disk drives found"
msgstr "没有发现硬盘"

#: diskdrake/hd_gtk.pm:360
#, c-format
msgid "Unknown"
msgstr "未知"

#: diskdrake/hd_gtk.pm:427
#, c-format
msgid "Ext4"
msgstr "Ext4"

#: diskdrake/hd_gtk.pm:427 fs/partitioning_wizard.pm:425
#, c-format
msgid "XFS"
msgstr "XFS"

#: diskdrake/hd_gtk.pm:427 fs/partitioning_wizard.pm:425
#, c-format
msgid "Swap"
msgstr "交换"

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

#: diskdrake/hd_gtk.pm:428 fs/partitioning_wizard.pm:426 services.pm:195
#, c-format
msgid "Other"
msgstr "其它"

#: diskdrake/hd_gtk.pm:428 diskdrake/interactive.pm:1393
#: fs/partitioning_wizard.pm:426
#, c-format
msgid "Empty"
msgstr "空"

#: diskdrake/hd_gtk.pm:435
#, c-format
msgid "Filesystem types:"
msgstr "文件系统类型: "

#: diskdrake/hd_gtk.pm:456
#, c-format
msgid "This partition is already empty"
msgstr "此分区已经为空"

#: diskdrake/hd_gtk.pm:465
#, c-format
msgid "Use ``Unmount'' first"
msgstr "请先“Unmount”"

#: diskdrake/hd_gtk.pm:465
#, c-format
msgid "Use ``%s'' instead (in expert mode)"
msgstr "用“%s”代替(在专家模式中)"

#: diskdrake/hd_gtk.pm:465 diskdrake/interactive.pm:409
#: diskdrake/interactive.pm:640 diskdrake/removable.pm:25
#: diskdrake/removable.pm:48
#, c-format
msgid "Type"
msgstr "类型"

#: diskdrake/interactive.pm:209
#, c-format
msgid "Choose another partition"
msgstr "选择其它分区"

#: diskdrake/interactive.pm:209
#, c-format
msgid "Choose a partition"
msgstr "选择分区"

#: diskdrake/interactive.pm:271 diskdrake/interactive.pm:382
#: interactive/curses.pm:532
#, c-format
msgid "More"
msgstr "更多"

#: diskdrake/interactive.pm:279 diskdrake/interactive.pm:292
#: diskdrake/interactive.pm:1309 mygtk2.pm:1228 mygtk3.pm:1282
#, c-format
msgid "Confirmation"
msgstr "确认"

#: diskdrake/interactive.pm:279
#, c-format
msgid "Continue anyway?"
msgstr "仍然继续吗?"

#: diskdrake/interactive.pm:284
#, c-format
msgid "Quit without saving"
msgstr "退出而不保存更改"

#: diskdrake/interactive.pm:284
#, c-format
msgid "Quit without writing the partition table?"
msgstr "退出而不保存分区表吗?"

#: diskdrake/interactive.pm:292
#, c-format
msgid "Do you want to save the /etc/fstab modifications?"
msgstr "您想要保存 /etc/fstab 修改吗?"

#: diskdrake/interactive.pm:299 fs/partitioning_wizard.pm:299
#, c-format
msgid "You need to reboot for the partition table modifications to take effect"
msgstr "对分区表的更改要等到重新启动后才能生效"

#: diskdrake/interactive.pm:304
#, c-format
msgid ""
"You should format partition %s.\n"
"Otherwise no entry for mount point %s will be written in fstab.\n"
"Quit anyway?"
msgstr ""
"您应该格式化分区 %s\n"
"否则, 将无法在 fstab 中写入挂载点 %s 的任何信息。\n"
"仍然退出吗?"

#: diskdrake/interactive.pm:317
#, c-format
msgid "Clear all"
msgstr "全部清除"

#: diskdrake/interactive.pm:318
#, c-format
msgid "Auto allocate"
msgstr "自动分配"

#: diskdrake/interactive.pm:324
#, c-format
msgid "Toggle to normal mode"
msgstr "切换到正常模式"

#: diskdrake/interactive.pm:324
#, c-format
msgid "Toggle to expert mode"
msgstr "切换到专家模式"

#: diskdrake/interactive.pm:336
#, c-format
msgid "Hard disk drive information"
msgstr "硬盘信息"

#: diskdrake/interactive.pm:371
#, c-format
msgid "All primary partitions are used"
msgstr "主分区数目已经满了"

#: diskdrake/interactive.pm:372
#, c-format
msgid "I cannot add any more partitions"
msgstr "我无法再添加任何分区了"

#: diskdrake/interactive.pm:373
#, c-format
msgid ""
"To have more partitions, please delete one to be able to create an extended "
"partition"
msgstr "如果需要更多的分区, 请删除一个主分区以创建扩展分区"

#: diskdrake/interactive.pm:384
#, c-format
msgid "Reload partition table"
msgstr "重新读取分区表"

#: diskdrake/interactive.pm:391
#, c-format
msgid "Detailed information"
msgstr "详细信息"

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

#: diskdrake/interactive.pm:412 diskdrake/interactive.pm:829
#, c-format
msgid "Resize"
msgstr "改变大小"

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

#: diskdrake/interactive.pm:415 diskdrake/interactive.pm:979
#, c-format
msgid "Add to RAID"
msgstr "加入 RAID"

#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:998
#, c-format
msgid "Add to LVM"
msgstr "加入 LVM"

#: diskdrake/interactive.pm:417
#, c-format
msgid "Use"
msgstr "使用"

#: diskdrake/interactive.pm:419
#, c-format
msgid "Delete"
msgstr "删除"

#: diskdrake/interactive.pm:420
#, c-format
msgid "Remove from RAID"
msgstr "从 RAID 中移除"

#: diskdrake/interactive.pm:421
#, c-format
msgid "Remove from LVM"
msgstr "从 LVM 中移除"

#: diskdrake/interactive.pm:422
#, c-format
msgid "Remove from dm"
msgstr "从 dm 中移除"

#: diskdrake/interactive.pm:423
#, c-format
msgid "Modify RAID"
msgstr "修改 RAID"

#: diskdrake/interactive.pm:424
#, c-format
msgid "Use for loopback"
msgstr "用于回环"

#: diskdrake/interactive.pm:434
#, c-format
msgid "Create"
msgstr "新建"

#: diskdrake/interactive.pm:456
#, c-format
msgid "Failed to mount partition"
msgstr "挂载分区失败"

#: diskdrake/interactive.pm:490 diskdrake/interactive.pm:492
#, c-format
msgid "Create a new partition"
msgstr "创建一个新分区"

#: diskdrake/interactive.pm:494
#, c-format
msgid "Start sector: "
msgstr "开始扇区: "

#: diskdrake/interactive.pm:497 diskdrake/interactive.pm:1083
#, c-format
msgid "Size in MB: "
msgstr "大小(MB): "

#: diskdrake/interactive.pm:499 diskdrake/interactive.pm:1084
#, c-format
msgid "Filesystem type: "
msgstr "文件系统类型: "

#: diskdrake/interactive.pm:509
#, c-format
msgid "Preference: "
msgstr "首选项: "

#: diskdrake/interactive.pm:512
#, c-format
msgid "Logical volume name "
msgstr "逻辑卷标"

#: diskdrake/interactive.pm:514
#, c-format
msgid "Encrypt partition"
msgstr "加密分区"

#: diskdrake/interactive.pm:515
#, c-format
msgid "Encryption key "
msgstr "加密密钥"

#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:1513
#, c-format
msgid "Encryption key (again)"
msgstr "加密密钥(再输入一次)"

#: diskdrake/interactive.pm:528 diskdrake/interactive.pm:1509
#, c-format
msgid "The encryption keys do not match"
msgstr "两次加密密钥不符"

#: diskdrake/interactive.pm:529
#, c-format
msgid "Missing encryption key"
msgstr "缺少加密密钥"

#: diskdrake/interactive.pm:549
#, 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 ""
"您无法创建新分区\n"
"(您超过了允许的主分区数量)。\n"
"请先删除一个主分区, 然后创建一个扩展分区。"

#: diskdrake/interactive.pm:601
#, c-format
msgid "Remove the loopback file?"
msgstr "删除回环(loopback)文件?"

#: diskdrake/interactive.pm:621
#, c-format
msgid ""
"After changing type of partition %s, all data on this partition will be lost"
msgstr "在改变分区表 %s 的类型之后, 在这个分区上的所有资料将要被清除"

#: diskdrake/interactive.pm:637
#, c-format
msgid "Change partition type"
msgstr "更改分区类型"

#: diskdrake/interactive.pm:639 diskdrake/removable.pm:47
#, c-format
msgid "Which filesystem do you want?"
msgstr "您希望使用哪种文件系统?"

#: diskdrake/interactive.pm:646
#, c-format
msgid "Switching from %s to %s"
msgstr "从 %s 切换到 %s"

#: diskdrake/interactive.pm:681
#, c-format
msgid "Set volume label"
msgstr "设定卷标"

#: diskdrake/interactive.pm:683
#, c-format
msgid "Beware, this will be written to disk as soon as you validate!"
msgstr "小心,当您确定之后,这一内容将会立即写入磁盘!"

#: diskdrake/interactive.pm:684
#, c-format
msgid "Beware, this will be written to disk only after formatting!"
msgstr "小心,格式化之后这一内容将会立即写入磁盘!"

#: diskdrake/interactive.pm:686
#, c-format
msgid "Which volume label?"
msgstr "哪个卷标?"

#: diskdrake/interactive.pm:687
#, c-format
msgid "Label:"
msgstr "标签:"

#: diskdrake/interactive.pm:708
#, c-format
msgid "Where do you want to mount the loopback file %s?"
msgstr "您想把回环(loopback)文件 %s 挂载到哪里?"

#: diskdrake/interactive.pm:709
#, c-format
msgid "Where do you want to mount device %s?"
msgstr "您想把设备 %s 挂载到哪里?"

#: diskdrake/interactive.pm:714
#, c-format
msgid ""
"Cannot unset mount point as this partition is used for loop back.\n"
"Remove the loopback first"
msgstr ""
"无法取消设定的挂载点, 因为该分区正用于回环。\n"
"请先删除回环"

#: diskdrake/interactive.pm:744
#, c-format
msgid "Where do you want to mount %s?"
msgstr "您想把 %s 挂载到哪里?"

#: diskdrake/interactive.pm:774 diskdrake/interactive.pm:870
#: fs/partitioning_wizard.pm:143 fs/partitioning_wizard.pm:225
#, c-format
msgid "Resizing"
msgstr "改变大小"

#: diskdrake/interactive.pm:774
#, c-format
msgid "Computing FAT filesystem bounds"
msgstr "计算 FAT 文件系统的边界"

#: diskdrake/interactive.pm:816
#, c-format
msgid "This partition is not resizeable"
msgstr "无法更改此分区的大小"

#: diskdrake/interactive.pm:821
#, c-format
msgid "All data on this partition should be backed up"
msgstr "应该先备份在这个分区上的所有数据"

#: diskdrake/interactive.pm:823
#, c-format
msgid "After resizing partition %s, all data on this partition will be lost"
msgstr "改变分区 %s 的大小之后, 这个分区上现有的所有资料将被清除"

#: diskdrake/interactive.pm:830
#, c-format
msgid "Choose the new size"
msgstr "选择新的大小"

#: diskdrake/interactive.pm:831
#, c-format
msgid "New size in MB: "
msgstr "新大小(MB): "

#: diskdrake/interactive.pm:832
#, c-format
msgid "Minimum size: %s MB"
msgstr "最小大小:%s MB"

#: diskdrake/interactive.pm:833
#, c-format
msgid "Maximum size: %s MB"
msgstr "最大大小:%s MB"

#: diskdrake/interactive.pm:881 fs/partitioning_wizard.pm:233
#, 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 ""
"为了保证更改分区大小之后的数据完整性, 在您下次启动进入 Microsoft Windows® 时"
"可能会自动运行文件系统检查"

#: diskdrake/interactive.pm:947 diskdrake/interactive.pm:1504
#, c-format
msgid "Filesystem encryption key"
msgstr "文件系统加密密钥"

#: diskdrake/interactive.pm:948
#, c-format
msgid "Enter your filesystem encryption key"
msgstr "输入您的文件系统加密密钥"

#: diskdrake/interactive.pm:949 diskdrake/interactive.pm:1512
#, c-format
msgid "Encryption key"
msgstr "加密密钥"

#: diskdrake/interactive.pm:956
#, c-format
msgid "Invalid key"
msgstr "无效的密钥"

#: diskdrake/interactive.pm:979
#, c-format
msgid "Choose an existing RAID to add to"
msgstr "选择加入一个已存在的 RAID"

#: diskdrake/interactive.pm:981 diskdrake/interactive.pm:1000
#, c-format
msgid "new"
msgstr "新建"

#: diskdrake/interactive.pm:998
#, c-format
msgid "Choose an existing LVM to add to"
msgstr "选择加入一个已存在的 LVM"

#: diskdrake/interactive.pm:1010 diskdrake/interactive.pm:1019
#, c-format
msgid "LVM name"
msgstr "LVM 名称"

#: diskdrake/interactive.pm:1011
#, c-format
msgid "Enter a name for the new LVM volume group"
msgstr "输入新 LVM 卷组的名称"

#: diskdrake/interactive.pm:1016
#, c-format
msgid "\"%s\" already exists"
msgstr "“%s”已经存在"

#: diskdrake/interactive.pm:1048
#, c-format
msgid ""
"Physical volume %s is still in use.\n"
"Do you want to move used physical extents on this volume to other volumes?"
msgstr ""
"物理卷 %s 仍在使用中。\n"
"您是否想要将此卷上已用的物理扩展分区移动到其它卷上?"

#: diskdrake/interactive.pm:1050
#, c-format
msgid "Moving physical extents"
msgstr "移动物理扩展分区"

#: diskdrake/interactive.pm:1068
#, c-format
msgid "This partition cannot be used for loopback"
msgstr "这个分区不能被用于回环"

#: diskdrake/interactive.pm:1081
#, c-format
msgid "Loopback"
msgstr "回环"

#: diskdrake/interactive.pm:1082
#, c-format
msgid "Loopback file name: "
msgstr "回环文件名: "

#: diskdrake/interactive.pm:1087
#, c-format
msgid "Give a file name"
msgstr "给一个文件名"

#: diskdrake/interactive.pm:1090
#, c-format
msgid "File is already used by another loopback, choose another one"
msgstr "文件已经被另一个回环使用, 请另外选择一个"

#: diskdrake/interactive.pm:1091
#, c-format
msgid "File already exists. Use it?"
msgstr "文件已经存在。使用现有的文件吗?"

#: diskdrake/interactive.pm:1123 diskdrake/interactive.pm:1126
#, c-format
msgid "Mount options"
msgstr "挂载选项"

#: diskdrake/interactive.pm:1133
#, c-format
msgid "Various"
msgstr "杂项"

#: diskdrake/interactive.pm:1179
#, c-format
msgid "device"
msgstr "设备"

#: diskdrake/interactive.pm:1180
#, c-format
msgid "level"
msgstr "级别"

#: diskdrake/interactive.pm:1181
#, c-format
msgid "chunk size in KiB"
msgstr "组块大小(KB)"

#: diskdrake/interactive.pm:1199
#, c-format
msgid "Be careful: this operation is dangerous."
msgstr "小心: 该操作有危险。"

#: diskdrake/interactive.pm:1216
#, c-format
msgid "Partitioning Type"
msgstr "分区类型"

#: diskdrake/interactive.pm:1216
#, c-format
msgid "What type of partitioning?"
msgstr "何种分区类型?"

#: diskdrake/interactive.pm:1254
#, c-format
msgid "You'll need to reboot before the modification can take effect"
msgstr "修改要等到重新启动后才能生效"

#: diskdrake/interactive.pm:1263
#, c-format
msgid "Partition table of drive %s is going to be written to disk"
msgstr "驱动器 %s 的分区表将会写入磁盘中!"

#: diskdrake/interactive.pm:1282 fs/format.pm:107 fs/format.pm:114
#, c-format
msgid "Formatting partition %s"
msgstr "正在格式化分区 %s"

#: diskdrake/interactive.pm:1295
#, c-format
msgid "After formatting partition %s, all data on this partition will be lost"
msgstr "格式化分区 %s 之后, 该分区上的所有数据都将丢失"

#: diskdrake/interactive.pm:1309 fs/partitioning.pm:48
#, c-format
msgid "Check for bad blocks?"
msgstr "是否检查坏磁块?"

#: diskdrake/interactive.pm:1324
#, c-format
msgid "Move files to the new partition"
msgstr "移动文件到新分区"

#: diskdrake/interactive.pm:1324
#, c-format
msgid "Hide files"
msgstr "隐藏文件"

#: diskdrake/interactive.pm:1325
#, c-format
msgid ""
"Directory %s already contains data\n"
"(%s)\n"
"\n"
"You can either choose to move the files into the partition that will be "
"mounted there or leave them where they are (which results in hiding them by "
"the contents of the mounted partition)"
msgstr ""
"目录 %s 已经包含数据\n"
"(%s)\n"
"\n"
"您可以选择将文件移动到即将挂载到该目录的分区,或者将其保留在原地(这将导致这些"
"文件因为其它分区被挂载被隐藏)"

#: diskdrake/interactive.pm:1340
#, c-format
msgid "Moving files to the new partition"
msgstr "移动文件到新分区"

#: diskdrake/interactive.pm:1344
#, c-format
msgid "Copying %s"
msgstr "复制 %s"

#: diskdrake/interactive.pm:1348
#, c-format
msgid "Removing %s"
msgstr "删除 %s"

#: diskdrake/interactive.pm:1362
#, c-format
msgid "partition %s is now known as %s"
msgstr "分区 %s 现在被识别为 %s"

#: diskdrake/interactive.pm:1363
#, c-format
msgid "Partitions have been renumbered: "
msgstr "分区已被重新编号: "

#: diskdrake/interactive.pm:1388 diskdrake/interactive.pm:1453
#, c-format
msgid "Device: "
msgstr "设备: "

#: diskdrake/interactive.pm:1389
#, c-format
msgid "Volume label: "
msgstr "卷标: "

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

#: diskdrake/interactive.pm:1391
#, c-format
msgid "DOS drive letter: %s (just a guess)\n"
msgstr "DOS 下的盘符: %s(只是猜测)\n"

#: diskdrake/interactive.pm:1395 diskdrake/interactive.pm:1472
#, c-format
msgid "Type: "
msgstr "类型: "

#: diskdrake/interactive.pm:1397
#, c-format
msgid "Start: sector %s\n"
msgstr "开始: 第 %s 扇区\n"

#: diskdrake/interactive.pm:1399
#, c-format
msgid "Size: %s (%s%% of disk)"
msgstr ""

#: diskdrake/interactive.pm:1401
#, c-format
msgid "Size: %s"
msgstr "大小: %s"

#: diskdrake/interactive.pm:1403
#, c-format
msgid ", %s sectors"
msgstr ", %s 扇区"

#: diskdrake/interactive.pm:1405
#, c-format
msgid "Cylinder %d to %d\n"
msgstr "柱面 %d  %d\n"

#: diskdrake/interactive.pm:1406
#, c-format
msgid "Number of logical extents: %d\n"
msgstr "逻辑分区数:%d\n"

#: diskdrake/interactive.pm:1407
#, c-format
msgid "Formatted\n"
msgstr "已格式化\n"

#: diskdrake/interactive.pm:1408
#, c-format
msgid "Not formatted\n"
msgstr "未格式化\n"

#: diskdrake/interactive.pm:1409
#, c-format
msgid "Mounted\n"
msgstr "已挂载\n"

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

#: diskdrake/interactive.pm:1412
#, c-format
msgid "Encrypted"
msgstr "已加密"

#: diskdrake/interactive.pm:1414
#, c-format
msgid " (mapped on %s)"
msgstr " (已映射为 %s)"

#: diskdrake/interactive.pm:1415
#, c-format
msgid " (to map on %s)"
msgstr "  (应映射为 %s)"

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

#: diskdrake/interactive.pm:1423
#, c-format
msgid ""
"Loopback file(s):\n"
"   %s\n"
msgstr ""
"回环文件: \n"
"   %s\n"

#: diskdrake/interactive.pm:1424
#, c-format
msgid ""
"Partition booted by default\n"
"    (for MS-DOS boot, not for lilo)\n"
msgstr ""
"预设的启动分区\n"
"    (给 MS-DOS 启动用的, 跟 lilo 无关)\n"

#: diskdrake/interactive.pm:1426
#, c-format
msgid "Level %s\n"
msgstr "级别 %s\n"

#: diskdrake/interactive.pm:1427
#, c-format
msgid "Chunk size %d KiB\n"
msgstr "组块大小 %d KB\n"

#: diskdrake/interactive.pm:1428
#, c-format
msgid "RAID-disks %s\n"
msgstr "RAID 磁盘 %s\n"

#: diskdrake/interactive.pm:1430
#, c-format
msgid "Loopback file name: %s"
msgstr "回环文件名称: %s"

#: diskdrake/interactive.pm:1433
#, c-format
msgid ""
"\n"
"Chances are, this partition is\n"
"a Driver partition. You should\n"
"probably leave it alone.\n"
msgstr ""
"\n"
"此分区很可能是驱动器分区。\n"
"您最好请不要更改它。\n"

#: diskdrake/interactive.pm:1436
#, c-format
msgid ""
"\n"
"This special Bootstrap\n"
"partition is for\n"
"dual-booting your system.\n"
msgstr ""
"\n"
"该 Bootstrap 分区特别\n"
"是保留给双重启动系统。\n"

#: diskdrake/interactive.pm:1445
#, c-format
msgid "Free space on %s (%s)"
msgstr "%s (%s) 上的空闲空间"

#: diskdrake/interactive.pm:1454
#, c-format
msgid "Read-only"
msgstr "只读"

#: diskdrake/interactive.pm:1455
#, c-format
msgid "Size: %s\n"
msgstr "大小: %s\n"

#: diskdrake/interactive.pm:1456
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr "硬盘参数: %s 柱面, %s 磁头, %s 扇区\n"

#: diskdrake/interactive.pm:1457
#, c-format
msgid "Name: "
msgstr "名称: "

#: diskdrake/interactive.pm:1458
#, c-format
msgid "Medium type: "
msgstr "介质类型: "

#: diskdrake/interactive.pm:1459
#, c-format
msgid "LVM-disks %s\n"
msgstr "LVM 磁盘 %s\n"

#: diskdrake/interactive.pm:1460
#, c-format
msgid "Partition table type: %s\n"
msgstr "分区表类型: %s\n"

#: diskdrake/interactive.pm:1461
#, c-format
msgid "on channel %d id %d\n"
msgstr "通道 %d id %d\n"

#: diskdrake/interactive.pm:1505
#, c-format
msgid "Choose your filesystem encryption key"
msgstr "选择该文件系统的加密密钥"

#: diskdrake/interactive.pm:1508
#, c-format
msgid "This encryption key is too simple (must be at least %d characters long)"
msgstr "这个加密密钥太简单了(至少要有 %d 个字符)"

#: diskdrake/interactive.pm:1515
#, c-format
msgid "Encryption algorithm"
msgstr "加密算法"

#: diskdrake/removable.pm:46
#, c-format
msgid "Change type"
msgstr "更改类型"

#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:120 interactive.pm:675
#: interactive/curses.pm:267 interactive/http.pm:104 interactive/http.pm:160
#: interactive/stdio.pm:39 interactive/stdio.pm:148 mygtk2.pm:846
#: mygtk2.pm:1229 mygtk3.pm:899 mygtk3.pm:1283 ugtk2.pm:415 ugtk2.pm:517
#: ugtk2.pm:526 ugtk2.pm:810 ugtk3.pm:503 ugtk3.pm:593 ugtk3.pm:602
#: ugtk3.pm:908
#, c-format
msgid "Cancel"
msgstr "取消"

#: diskdrake/smbnfs_gtk.pm:164
#, c-format
msgid "Cannot login using username %s (bad password?)"
msgstr "不能使用用户名 %s 登录(密码错误?)"

#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
#, c-format
msgid "Domain Authentication Required"
msgstr "需要域认证"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Which username"
msgstr "哪个用户名"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Another one"
msgstr "另一个"

#: diskdrake/smbnfs_gtk.pm:178
#, c-format
msgid ""
"Please enter your username, password and domain name to access this host."
msgstr "要访问此主机, 请输入您的用户名、密码和域名"

#: diskdrake/smbnfs_gtk.pm:180
#, c-format
msgid "Username"
msgstr "用户名"

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

#: diskdrake/smbnfs_gtk.pm:206
#, c-format
msgid "Search servers"
msgstr "搜索服务器"

#: diskdrake/smbnfs_gtk.pm:211
#, c-format
msgid "Search for new servers"
msgstr "搜索新服务器"

#: do_pkgs.pm:45 do_pkgs.pm:100
#, c-format
msgid "The package %s needs to be installed. Do you want to install it?"
msgstr "需要安装软件包 %s。您同意安装吗?"

#: do_pkgs.pm:49 do_pkgs.pm:79 do_pkgs.pm:103 do_pkgs.pm:142
#, c-format
msgid "Could not install the %s package!"
msgstr "无法安装 %s 软件包!"

#: do_pkgs.pm:54 do_pkgs.pm:108
#, c-format
msgid "Mandatory package %s is missing"
msgstr "无法找到必需的软件包 %s"

#: do_pkgs.pm:74 do_pkgs.pm:137
#, c-format
msgid "The following packages need to be installed:\n"
msgstr "下列软件包需要安装: \n"

#: do_pkgs.pm:342
#, c-format
msgid "Installing packages..."
msgstr "正在安装软件包..."

#: do_pkgs.pm:387 pkgs.pm:293
#, c-format
msgid "Removing packages..."
msgstr "正在删除软件包..."

#: 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 ""
"发生错误!新建文件系统时找不到可用的设备。请检查您的硬件以确定问题的原因"

#: fs/any.pm:71 fs/partitioning_wizard.pm:75
#, c-format
msgid "You must have a ESP FAT32 partition mounted in /boot/EFI"
msgstr "您必须有一个ESP FAT32分区载入 /boot/EFI"

#: fs/format.pm:111
#, c-format
msgid "Creating and formatting file %s"
msgstr "正在创建和格式化文件 %s"

#: fs/format.pm:131
#, c-format
msgid "I do not know how to set label on %s with type %s"
msgstr "不知道如何设定 %2$s 类型的 %1$s 卷标"

#: fs/format.pm:143
#, c-format
msgid "setting label on %s failed, is it formatted?"
msgstr "设定 %s 的卷标失败,该卷是否已格式化?"

#: fs/format.pm:184
#, c-format
msgid "I do not know how to format %s in type %s"
msgstr "不知道如何将 %s 格式化成 %s 类型"

#: fs/format.pm:189 fs/format.pm:191
#, c-format
msgid "%s formatting of %s failed"
msgstr "%s 格式化 %s 失败"

#: fs/loopback.pm:24
#, c-format
msgid "Circular mounts %s\n"
msgstr "循环装载 %s\n"

#: fs/mount.pm:85
#, c-format
msgid "Mounting partition %s"
msgstr "正在挂载分区 %s"

#: fs/mount.pm:87
#, c-format
msgid "mounting partition %s in directory %s failed"
msgstr "将分区 %s 挂载于目录 %s 失败"

#: fs/mount.pm:92 fs/mount.pm:109
#, c-format
msgid "Checking %s"
msgstr "正在检查 %s"

#: fs/mount.pm:126 partition_table.pm:397
#, c-format
msgid "error unmounting %s: %s"
msgstr "卸载 %s 出错: %s"

#: fs/mount.pm:141
#, c-format
msgid "Enabling swap partition %s"
msgstr "正在启用 swap 分区 %s"

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

#: fs/mount_options.pm:116
#, c-format
msgid "Flush write cache on file close"
msgstr "关闭文件时清空缓存"

#: fs/mount_options.pm:118
#, c-format
msgid "Enable group disk quota accounting and optionally enforce limits"
msgstr "启用群组磁盘配额记账及可选强制限制"

#: fs/mount_options.pm:120
#, 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 ""
"不在此文件系统更新 inode 访问次数\n"
"(例如, 为了加速对新闻服务器的新闻池的访问)"

#: fs/mount_options.pm:123
#, 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 ""
"以更有效的方式更新文件系统中的 inode 访问次数\n"
"(例如, 为了加速对新闻服务器的新闻池的访问)。"

#: fs/mount_options.pm:126
#, c-format
msgid ""
"Can only be mounted explicitly (i.e.,\n"
"the -a option will not cause the filesystem to be mounted)."
msgstr ""
"只能显式装载。\n"
"(即, -a 选项将不会装载文件系统)"

#: fs/mount_options.pm:129
#, c-format
msgid "Do not interpret character or block special devices on the filesystem."
msgstr "不解释文件系统中的字符或特殊块设备。"

#: fs/mount_options.pm:131
#, 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 ""
"不允许在装载的文件系统上执行任何二进制文件。\n"
"此选项对于特定服务器可能非常有用, 比如服务器所包含的文件系统中包含其它\n"
"架构的二进制文件。"

#: fs/mount_options.pm:135
#, c-format
msgid ""
"Do not allow set-user-identifier or set-group-identifier\n"
"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
"have suidperl(1) installed.)"
msgstr ""
"不允许 set-user-identifier 或 set-group-identifier 位生效。\n"
"(这可能比较安全, 如果您安装了 suidperl(1) 则不太安全。)"

#: fs/mount_options.pm:139
#, c-format
msgid "Mount the filesystem read-only."
msgstr "以只读装载文件系统。"

#: fs/mount_options.pm:141
#, c-format
msgid "All I/O to the filesystem should be done synchronously."
msgstr "所有到文件系统的输入/输出都应该是同步完成的。"

#: fs/mount_options.pm:143
#, c-format
msgid "Allow every user to mount and umount the filesystem."
msgstr "允许每个用户挂载和卸载文件系统。"

#: fs/mount_options.pm:145
#, c-format
msgid "Allow an ordinary user to mount the filesystem."
msgstr "允许普通用户挂载文件系统。"

#: fs/mount_options.pm:147
#, c-format
msgid "Enable user disk quota accounting, and optionally enforce limits"
msgstr "启用用户磁盘配额记账及可选强制限制"

#: fs/mount_options.pm:149
#, c-format
msgid "Support \"user.\" extended attributes"
msgstr "支持“user.”扩展属性"

#: fs/mount_options.pm:151
#, c-format
msgid "Give write access to ordinary users"
msgstr "给普通用户以写权限"

#: fs/mount_options.pm:153
#, c-format
msgid "Give read-only access to ordinary users"
msgstr "给普通用户以只读权限"

#: fs/mount_point.pm:87
#, c-format
msgid "Duplicate mount point %s"
msgstr "重复的挂载点 %s"

#: fs/mount_point.pm:102
#, c-format
msgid "No partition available"
msgstr "没有可用的硬盘分区"

#: fs/mount_point.pm:105
#, c-format
msgid "Scanning partitions to find mount points"
msgstr "正在扫描各个分区以查找挂载点"

#: fs/mount_point.pm:112
#, c-format
msgid "Choose the mount points"
msgstr "选择挂载点"

#: fs/partitioning.pm:46
#, c-format
msgid "Choose the partitions you want to format"
msgstr "选择您要格式化的分区"

#: fs/partitioning.pm:75
#, c-format
msgid ""
"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
"you can lose data)"
msgstr "检查文件系统 %s 失败。您想修复错误吗?(注意, 有可能丢失数据)"

#: fs/partitioning.pm:78
#, c-format
msgid "Not enough swap space to fulfill installation, please add some"
msgstr "交换空间太少, 无法完成安装, 请扩大交换分区。"

#: fs/partitioning_wizard.pm:66
#, 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 ""
"必须指定一个根分区。\n"
"请先创建一个 Linux 分区(或在图中单击现有的一个)。\n"
"然后在列表里选择“挂载点”, 设为“/”。"

#: fs/partitioning_wizard.pm:72
#, c-format
msgid ""
"You do not have a swap partition.\n"
"\n"
"Continue anyway?"
msgstr ""
"您还没有交换分区。\n"
"\n"
"要继续吗?"

#: fs/partitioning_wizard.pm:107
#, c-format
msgid "Use free space"
msgstr "使用空闲空间"

#: fs/partitioning_wizard.pm:109
#, c-format
msgid "Not enough free space to allocate new partitions"
msgstr "没有足够空闲空间分配给新分区"

#: fs/partitioning_wizard.pm:117
#, c-format
msgid "Use existing partitions"
msgstr "使用现存的分区"

#: fs/partitioning_wizard.pm:119
#, c-format
msgid "There is no existing partition to use"
msgstr "没有可使用的现存分区"

#: fs/partitioning_wizard.pm:143
#, c-format
msgid "Computing the size of the Microsoft Windows® partition"
msgstr "正在计算 Microsoft Windows® 分区的大小"

#: fs/partitioning_wizard.pm:179
#, c-format
msgid "Use the free space on a Microsoft Windows® partition"
msgstr "使用在 Microsoft Windows® 分区上的空闲空间"

#: fs/partitioning_wizard.pm:183
#, c-format
msgid "Which partition do you want to resize?"
msgstr "您需要改变哪个分区的大小?"

#: fs/partitioning_wizard.pm:186
#, 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 ""
"您的 Microsoft Windows® 分区有太多碎片, 请重新启动, 进入 Microsoft Windows®, "
"运行磁盘碎片整理程序, 然后重新开始安装 %s"

#: fs/partitioning_wizard.pm:193
#, c-format
msgid "Failed to find the partition to resize (%d choices)"
msgstr ""

#: fs/partitioning_wizard.pm:200
#, c-format
msgid ""
"WARNING!\n"
"\n"
"\n"
"Your Microsoft Windows® partition will be now resized.\n"
"\n"
"\n"
"Be careful: this operation is dangerous. If you have not already done so, "
"you first need to exit the installation, run \"chkdsk c:\" from a Command "
"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
"optionally run defrag, then restart the installation. You should also backup "
"your data.\n"
"\n"
"\n"
"When sure, press %s."
msgstr ""
"警告!\n"
"\n"
"\n"
"DrakX 现在要调整您的 Microsoft Windows®  分区的大小。\n"
"\n"
"\n"
"请小心: 此操作十分危险。为安全起见, 您应该先退出安装程序, 在 Microsoft "
"Windows®  的命令提示符状态下运行“chkdsk c:”(注意, 只运行图形化程序“磁盘扫描程"
"序”是不够的, 请确定在命令提示符状态下使用“chkdsk”。)另外, 还建议您运行磁盘碎"
"片整理程序。然后重新启动本安装程序。您还应该备份您的数据。\n"
"\n"
"\n"
"一切就绪后, 请按“%s”。"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: fs/partitioning_wizard.pm:209 fs/partitioning_wizard.pm:583
#: interactive.pm:674 interactive/curses.pm:270 ugtk2.pm:519 ugtk3.pm:595
#, c-format
msgid "Next"
msgstr "下一步"

#: fs/partitioning_wizard.pm:215
#, c-format
msgid "Partitionning"
msgstr "分区"

#: fs/partitioning_wizard.pm:215
#, c-format
msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
msgstr "您将保留多少空间给 Microsoft Windows® 分区 %s?"

#: fs/partitioning_wizard.pm:216
#, c-format
msgid "Size"
msgstr "大小"

#: fs/partitioning_wizard.pm:225
#, c-format
msgid "Resizing Microsoft Windows® partition"
msgstr "改变 Microsoft Windows® 分区大小"

#: fs/partitioning_wizard.pm:230
#, c-format
msgid "FAT resizing failed: %s"
msgstr "FAT 调整大小失败: %s"

#: fs/partitioning_wizard.pm:246
#, c-format
msgid "There is no FAT partition to resize (or not enough space left)"
msgstr "没有 FAT 分区用来调整大小(或者没有足够剩余空间)"

#: fs/partitioning_wizard.pm:251
#, c-format
msgid "Remove Microsoft Windows®"
msgstr "删除 Microsoft Windows®"

#: fs/partitioning_wizard.pm:251
#, c-format
msgid "Erase and use entire disk"
msgstr "清除并使用整个磁盘"

#: fs/partitioning_wizard.pm:255
#, c-format
msgid ""
"You have more than one hard disk drive, which one do you want the installer "
"to use?"
msgstr "您有不只一个硬盘, 您要在哪个上面安装系统?"

#: fs/partitioning_wizard.pm:263 fsedit.pm:648
#, c-format
msgid "ALL existing partitions and their data will be lost on drive %s"
msgstr "磁盘 %s 上现存的所有分区及其资料将被清除"

#: fs/partitioning_wizard.pm:273
#, c-format
msgid "Custom disk partitioning"
msgstr "自定义磁盘分区"

#: fs/partitioning_wizard.pm:279
#, c-format
msgid "Use fdisk"
msgstr "使用 fdisk"

#: fs/partitioning_wizard.pm:282
#, c-format
msgid ""
"You can now partition %s.\n"
"When you are done, do not forget to save using `w'"
msgstr ""
"您现在可以在 %s 上分区。\n"
"做完之后, 不要忘记用“w”命令保存您的修改"

#: fs/partitioning_wizard.pm:425
#, c-format
msgid "Ext2/3/4"
msgstr "Ext2/3/4"

#: fs/partitioning_wizard.pm:455 fs/partitioning_wizard.pm:603
#, c-format
msgid "I cannot find any room for installing"
msgstr "我无法找到安装需要的空间"

#: fs/partitioning_wizard.pm:464 fs/partitioning_wizard.pm:610
#, c-format
msgid "The DrakX Partitioning wizard found the following solutions:"
msgstr "DrakX 分区向导找到下列解决办法:"

#: fs/partitioning_wizard.pm:534
#, c-format
msgid "Here is the content of your disk drive "
msgstr "这是您硬盘驱动器的内容 "

#: fs/partitioning_wizard.pm:621
#, c-format
msgid "Partitioning failed: %s"
msgstr "分区失败: %s"

#: fs/type.pm:372
#, c-format
msgid "You cannot use JFS for partitions smaller than 16MB"
msgstr "您不能把 JFS(日志文件系统)用于小于 16 MB 的分区"

#: fs/type.pm:373
#, c-format
msgid "You cannot use ReiserFS for partitions smaller than 32MB"
msgstr "您不能把 ReiserFS 用于小于 32 MB 的分区"

#: fs/type.pm:374
#, fuzzy, c-format
msgid "You cannot use btrfs for partitions smaller than 256MB"
msgstr "您不能把 JFS(日志文件系统)用于小于 16 MB 的分区"

#: fsedit.pm:25
#, c-format
msgid "simple"
msgstr "简单"

#: fsedit.pm:29
#, c-format
msgid "with /usr"
msgstr "有 /usr"

#: fsedit.pm:34
#, c-format
msgid "server"
msgstr "服务器"

#: fsedit.pm:147
#, c-format
msgid "BIOS software RAID detected on disks %s. Activate it?"
msgstr "磁盘 %s 检测到了 BIOS 软件 RAID。激活吗?"

#: fsedit.pm:257
#, 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 ""
"我无法读取设备 %s 的分区表, 这个分区表破坏得太严重了 :(\n"
"我可以尝试清除坏分区(所有的数据将被清除!), 然后继续。\n"
"另外一个解决办法是禁止 DrakX 修改分区表。\n"
"(错误是 %s)\n"
"\n"
"您同意清除所有分区吗?\n"

#: fsedit.pm:440
#, c-format
msgid "Mount points must begin with a leading /"
msgstr "挂载点必需要以 / 为开头"

#: fsedit.pm:441
#, c-format
msgid "Mount points should contain only alphanumerical characters"
msgstr "挂载点只能包含字母和数字"

#: fsedit.pm:442
#, c-format
msgid "There is already a partition with mount point %s\n"
msgstr "已经有一个分区的挂载点是 %s\n"

#: fsedit.pm:447
#, 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 ""
"您选择了把软件 RAID 分区作为根(/)。\n"
"如果没有一个 /boot 分区, 各种启动引导程序都无法处理这种情况。\n"
"所以, 请增加一个 /boot 分区。"

#: fsedit.pm:453
#, c-format
msgid ""
"Metadata version unsupported for a boot partition. Please be sure to add a "
"separate /boot partition."
msgstr ""
"启动分区不支持元数据版本。\n"
"所以, 请增加一个单独的 /boot 分区。"

#: fsedit.pm:461
#, c-format
msgid ""
"You've selected a software RAID partition as /boot.\n"
"No bootloader is able to handle this."
msgstr ""

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

#: fsedit.pm:472
#, 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 ""

#: fsedit.pm:478 fsedit.pm:496
#, c-format
msgid "You cannot use an encrypted filesystem for mount point %s"
msgstr "挂载点 %s 不能使用用加密的文件系统"

#: fsedit.pm:482
#, c-format
msgid ""
"You cannot use the LVM Logical Volume for mount point %s since it spans "
"physical volumes"
msgstr "您不能为挂载点 %s 使用 LVM 逻辑卷,因为该卷跨越了多个物理卷"

#: fsedit.pm:484
#, 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 ""

#: fsedit.pm:488 fsedit.pm:490
#, c-format
msgid "This directory should remain within the root filesystem"
msgstr "这个目录应该保留在根文件系统中"

#: fsedit.pm:492 fsedit.pm:494
#, c-format
msgid ""
"You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount "
"point\n"
msgstr "这个挂载点需要一个真正的文件系统(ext2/ext3、reiserfs、xfs 或 jfs)\n"

#: fsedit.pm:562
#, c-format
msgid "Not enough free space for auto-allocating"
msgstr "没有足够的空闲空间供自动分配"

#: fsedit.pm:564
#, c-format
msgid "Nothing to do"
msgstr "不做任何事"

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

#: harddrake/data.pm:72
#, c-format
msgid "RAID controllers"
msgstr "RAID 控制器"

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

#: harddrake/data.pm:93
#, c-format
msgid "Card readers"
msgstr "读卡器"

#: harddrake/data.pm:102
#, c-format
msgid "Firewire controllers"
msgstr "火线控制器"

#: harddrake/data.pm:111
#, c-format
msgid "PCMCIA controllers"
msgstr "PCMCIA 控制器"

#: harddrake/data.pm:120
#, c-format
msgid "SCSI controllers"
msgstr "SCSI 控制器"

#: harddrake/data.pm:129
#, c-format
msgid "USB controllers"
msgstr "USB 控制器"

#: harddrake/data.pm:138
#, c-format
msgid "USB ports"
msgstr "USB 端口"

#: harddrake/data.pm:147
#, c-format
msgid "SMBus controllers"
msgstr "SMBus 控制器"

#: harddrake/data.pm:156
#, c-format
msgid "Bridges and system controllers"
msgstr "桥接和系统控制器"

#: harddrake/data.pm:168
#, c-format
msgid "Floppy"
msgstr "软盘"

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

#: harddrake/data.pm:194
#, c-format
msgid "Hard Disk"
msgstr "硬盘"

#: harddrake/data.pm:204
#, c-format
msgid "USB Mass Storage Devices"
msgstr "USB 大容量存储设备"

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

#: harddrake/data.pm:223
#, c-format
msgid "CD/DVD burners"
msgstr "CD/DVD 刻录机"

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

#: harddrake/data.pm:243
#, c-format
msgid "Tape"
msgstr "磁带机"

#: harddrake/data.pm:254
#, c-format
msgid "AGP controllers"
msgstr "AGP 控制器"

#: harddrake/data.pm:263
#, c-format
msgid "Videocard"
msgstr "显示卡"

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

#: harddrake/data.pm:280
#, c-format
msgid "Tvcard"
msgstr "电视卡"

#: harddrake/data.pm:290
#, c-format
msgid "Other MultiMedia devices"
msgstr "其它多媒体设备"

#: harddrake/data.pm:299
#, c-format
msgid "Soundcard"
msgstr "声卡"

#: harddrake/data.pm:313
#, c-format
msgid "Webcam"
msgstr "摄像头"

#: harddrake/data.pm:328
#, c-format
msgid "Processors"
msgstr "处理器"

#: harddrake/data.pm:338
#, c-format
msgid "ISDN adapters"
msgstr "ISDN 适配器"

#: harddrake/data.pm:349
#, c-format
msgid "USB sound devices"
msgstr "USB 声音设备"

#: harddrake/data.pm:358
#, c-format
msgid "Radio cards"
msgstr "无线电卡"

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

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

#: harddrake/data.pm:385
#, c-format
msgid "Bluetooth devices"
msgstr "蓝牙设备"

#: harddrake/data.pm:394
#, c-format
msgid "Ethernetcard"
msgstr "以太网卡"

#: harddrake/data.pm:412
#, c-format
msgid "Modem"
msgstr "调制解调器"

#: harddrake/data.pm:422
#, c-format
msgid "ADSL adapters"
msgstr "ADSL 适配器"

#: harddrake/data.pm:434
#, c-format
msgid "Memory"
msgstr "内存"

#: harddrake/data.pm:443
#, c-format
msgid "Printer"
msgstr "打印机"

#. -PO: these are joysticks controllers:
#: harddrake/data.pm:457
#, c-format
msgid "Game port controllers"
msgstr "游戏控制器"

#: harddrake/data.pm:466
#, c-format
msgid "Joystick"
msgstr "游戏杆"

#: harddrake/data.pm:476
#, c-format
msgid "Keyboard"
msgstr "键盘"

#: harddrake/data.pm:490
#, c-format
msgid "Tablet and touchscreen"
msgstr "手写板和触摸屏"

#: harddrake/data.pm:499
#, c-format
msgid "Mouse"
msgstr "鼠标"

#: harddrake/data.pm:514
#, c-format
msgid "Biometry"
msgstr "生物统计"

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

#: harddrake/data.pm:531
#, c-format
msgid "Scanner"
msgstr "扫描仪"

#: harddrake/data.pm:542
#, c-format
msgid "Unknown/Others"
msgstr "未知/其它"

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

#: harddrake/sound.pm:80
#, c-format
msgid "No known driver"
msgstr "没有已知驱动程序"

#: harddrake/sound.pm:81
#, c-format
msgid "There's no known driver for your sound card (%s)"
msgstr "没有已知的驱动程序可以用在您的声卡(%s)上"

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

#: harddrake/sound.pm:115
#, c-format
msgid "Use Glitch-Free mode"
msgstr "使用无干扰模式"

#: harddrake/sound.pm:121
#, c-format
msgid "Reset sound mixer to default values"
msgstr "将混音器重置为默认值"

#: harddrake/sound.pm:125
#, c-format
msgid "Troubleshooting"
msgstr "疑难解答"

#: harddrake/sound.pm:132
#, c-format
msgid "No alternative driver"
msgstr "没有替代的驱动程序"

#: harddrake/sound.pm:133
#, c-format
msgid ""
"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
"currently uses \"%s\""
msgstr "没有已知的 OSS/ALSA 替代驱动程序可以用在您的声卡(%s)上, 现正使用“%s”"

#: harddrake/sound.pm:140
#, c-format
msgid "Sound configuration"
msgstr "声音配置"

#: harddrake/sound.pm:143
#, c-format
msgid "Your card uses the \"%s\" driver"
msgstr ""

#: harddrake/sound.pm:155
#, c-format
msgid "Sound troubleshooting"
msgstr "声音疑难解决"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: harddrake/sound.pm:158
#, c-format
msgid ""
"Below are some basic tips to help debug audio problems, but for accurate and "
"up-to-date tips and tricks, please see:\n"
"\n"
"https://wiki.mageia.org/en/Support:DebuggingSoundProblems\n"
"\n"
"\n"
"\n"
"- General Recommendation: Enable PulseAudio. If you have opted to not to use "
"PulseAudio, we would strongly advise you enable it. For the vast majority of "
"desktop use cases, PulseAudio is the recommended and best supported option.\n"
"\n"
"\n"
"\n"
"- \"kmix\" (KDE), \"gnome-control-center sound\" (GNOME) and \"pavucontrol"
"\" (generic) will launch graphical applications to allow you to view your "
"sound devices and adjust volume levels\n"
"\n"
"\n"
"- \"ps aux | grep pulseaudio\" will check that PulseAudio is running.\n"
"\n"
"\n"
"- \"pactl stat\" will check that you can connect to the PulseAudio daemon "
"correctly.\n"
"\n"
"\n"
"- \"pactl list sink-inputs\" will tell you which programs are currently "
"playing sound via PulseAudio.\n"
"\n"
"\n"
"- \"systemctl status osspd.service\" will tell you the current state of the "
"OSS Proxy Daemon. This is used to enable sound from legacy applications "
"which use the OSS sound API. You should install the \"ossp\" package if you "
"need this functionality.\n"
"\n"
"\n"
"- \"pacmd ls\" will give you a LOT of debug information about the current "
"state of your audio.\n"
"\n"
"\n"
"- \"lspcidrake -v | grep -i audio\" will tell you which low-level driver "
"your card uses by default.\n"
"\n"
"\n"
"- \"/usr/sbin/lsmod | grep snd\" will enable you to check which sound "
"related kernel modules (drivers) are loaded.\n"
"\n"
"\n"
"- \"alsamixer -c 0\" will give you a text-based mixer to the low level ALSA "
"mixer controls for first sound card\n"
"\n"
"\n"
"- \"/usr/sbin/fuser -v /dev/snd/pcm* /dev/dsp\" will tell which programs are "
"currently using the sound card directly (normally this should only show "
"PulseAudio)\n"
msgstr ""

#: harddrake/v4l.pm:12
#, c-format
msgid "Auto-detect"
msgstr "自动检测"

#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
#, c-format
msgid "Unknown|Generic"
msgstr "未知|通用"

#: harddrake/v4l.pm:130
#, c-format
msgid "Unknown|CPH05X (bt878) [many vendors]"
msgstr "未知|CPH05X (bt878) [很多厂家] "

#: harddrake/v4l.pm:131
#, c-format
msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr "未知|CPH06X (bt878) [很多厂家]"

#: harddrake/v4l.pm: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 ""
"对于大多数现代的电视卡, GNU/Linux 内核的 bttv 模块能自动检测正确的参数。\n"
"如果自动检测不适合您的卡, 您可以在这里强制设定正确的调协器及卡的类型。只有必"
"要时才设置电视卡参数。"

#: harddrake/v4l.pm:478
#, c-format
msgid "Card model:"
msgstr "卡的型号: "

#: harddrake/v4l.pm:479
#, c-format
msgid "Tuner type:"
msgstr "调谐器类型: "

#: interactive.pm:119 interactive.pm:674 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
#: mygtk3.pm:899 ugtk2.pm:421 ugtk2.pm:519 ugtk2.pm:810 ugtk2.pm:833
#: ugtk3.pm:509 ugtk3.pm:595 ugtk3.pm:908 ugtk3.pm:931
#, c-format
msgid "Ok"
msgstr "确定"

#: interactive.pm:219 modules/interactive.pm:72 ugtk2.pm:809 ugtk3.pm:907
#: wizards.pm:156
#, c-format
msgid "Yes"
msgstr "是"

#: interactive.pm:219 modules/interactive.pm:72 ugtk2.pm:809 ugtk3.pm:907
#: wizards.pm:156
#, c-format
msgid "No"
msgstr "否"

#: interactive.pm:253
#, c-format
msgid "Choose a file"
msgstr "选择文件"

#: interactive.pm:390 interactive/gtk.pm:456
#, c-format
msgid "Add"
msgstr "添加"

#: interactive.pm:390 interactive/gtk.pm:456
#, c-format
msgid "Modify"
msgstr "修改"

#: interactive.pm:674 interactive/curses.pm:270 ugtk2.pm:519 ugtk3.pm:595
#, c-format
msgid "Finish"
msgstr "完成"

#: interactive.pm:675 interactive/curses.pm:267 ugtk2.pm:517 ugtk3.pm:593
#, c-format
msgid "Previous"
msgstr "上一步"

#: interactive/curses.pm:576 ugtk2.pm:870 ugtk3.pm:968
#, c-format
msgid "No file chosen"
msgstr "未选择文件"

#: interactive/curses.pm:580 ugtk2.pm:874 ugtk3.pm:972
#, c-format
msgid "You have chosen a directory, not a file"
msgstr "您选择了目录,而非文件"

#: interactive/curses.pm:582 ugtk2.pm:876 ugtk3.pm:974
#, c-format
msgid "No such directory"
msgstr "无此目录"

#: interactive/curses.pm:582 ugtk2.pm:876 ugtk3.pm:974
#, c-format
msgid "No such file"
msgstr "非本地文件"

#: interactive/gtk.pm:596
#, c-format
msgid "Beware, Caps Lock is enabled"
msgstr "注意,Caps Lock 已开启"

#: interactive/stdio.pm:29 interactive/stdio.pm:154
#, c-format
msgid "Bad choice, try again\n"
msgstr "错误的选择, 请重试\n"

#: interactive/stdio.pm:30 interactive/stdio.pm:155
#, c-format
msgid "Your choice? (default %s) "
msgstr "您的选择?(默认为 %s)"

#: interactive/stdio.pm:54
#, c-format
msgid ""
"Entries you'll have to fill:\n"
"%s"
msgstr ""
"您需要填写这些项目:\n"
"%s"

#: interactive/stdio.pm:70
#, c-format
msgid "Your choice? (0/1, default `%s') "
msgstr "您的选择?(0/1, 默认 %s)"

#: interactive/stdio.pm:97
#, c-format
msgid "Button `%s': %s"
msgstr "按钮“%s”:%s"

#: interactive/stdio.pm:98
#, c-format
msgid "Do you want to click on this button?"
msgstr "您希望单击此按钮吗?"

#: interactive/stdio.pm:110
#, c-format
msgid "Your choice? (default `%s'%s) "
msgstr "您的选择?(默认“%s%s)"

#: interactive/stdio.pm:110
#, c-format
msgid " enter `void' for void entry"
msgstr "输入“void”如果那一项没有内容"

#: interactive/stdio.pm:128
#, c-format
msgid "=> There are many things to choose from (%s).\n"
msgstr "=> 您可以从(%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 ""
"请输入需要修改的项目前面的数字, \n"
"按 Enter 继续。\n"
"您的选择?"

#: interactive/stdio.pm:144
#, c-format
msgid ""
"=> Notice, a label changed:\n"
"%s"
msgstr ""
"=> 注意, 一个标签改变了: \n"
"%s"

#: interactive/stdio.pm:151
#, c-format
msgid "Re-submit"
msgstr "重新提交"

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

#: lang.pm:301
#, c-format
msgid "Andorra"
msgstr "安道尔"

#: lang.pm:302 timezone.pm:237
#, c-format
msgid "United Arab Emirates"
msgstr "阿拉伯联合酋长国"

#: lang.pm:303
#, c-format
msgid "Afghanistan"
msgstr "阿富汗"

#: lang.pm:304
#, c-format
msgid "Antigua and Barbuda"
msgstr "安提瓜和巴布达"

#: lang.pm:305
#, c-format
msgid "Anguilla"
msgstr "安圭拉"

#: lang.pm:306
#, c-format
msgid "Albania"
msgstr "阿尔巴尼亚"

#: lang.pm:307
#, c-format
msgid "Armenia"
msgstr "亚美尼亚"

#: lang.pm:308
#, c-format
msgid "Netherlands Antilles"
msgstr "荷属安的列斯"

#: lang.pm:309
#, c-format
msgid "Angola"
msgstr "安哥拉"

#: lang.pm:310
#, c-format
msgid "Antarctica"
msgstr "南极洲"

#: lang.pm:311 timezone.pm:282
#, c-format
msgid "Argentina"
msgstr "阿根廷"

#: lang.pm:312
#, c-format
msgid "American Samoa"
msgstr "美属萨摩亚"

#: lang.pm:313 mirror.pm:22 timezone.pm:240
#, c-format
msgid "Austria"
msgstr "奥地利"

#: lang.pm:314 mirror.pm:21 timezone.pm:278
#, c-format
msgid "Australia"
msgstr "澳大利亚"

#: lang.pm:315
#, c-format
msgid "Aruba"
msgstr "阿鲁巴"

#: lang.pm:316
#, c-format
msgid "Azerbaijan"
msgstr "阿塞拜疆"

#: lang.pm:317
#, c-format
msgid "Bosnia and Herzegovina"
msgstr "波黑"

#: lang.pm:318
#, c-format
msgid "Barbados"
msgstr "巴巴多斯"

#: lang.pm:319 timezone.pm:222
#, c-format
msgid "Bangladesh"
msgstr "孟加拉"

#: lang.pm:320 mirror.pm:23 timezone.pm:242
#, c-format
msgid "Belgium"
msgstr "比利时"

#: lang.pm:321
#, c-format
msgid "Burkina Faso"
msgstr "布基纳法索"

#: lang.pm:322 timezone.pm:243
#, c-format
msgid "Bulgaria"
msgstr "保加利亚"

#: lang.pm:323
#, c-format
msgid "Bahrain"
msgstr "巴林"

#: lang.pm:324
#, c-format
msgid "Burundi"
msgstr "布隆迪"

#: lang.pm:325
#, c-format
msgid "Benin"
msgstr "贝宁"

#: lang.pm:326
#, c-format
msgid "Bermuda"
msgstr "百慕大"

#: lang.pm:327
#, c-format
msgid "Brunei Darussalam"
msgstr "文莱达鲁萨兰国"

#: lang.pm:328
#, c-format
msgid "Bolivia"
msgstr "玻利维亚"

#: lang.pm:329 mirror.pm:24 timezone.pm:283
#, c-format
msgid "Brazil"
msgstr "巴西"

#: lang.pm:330
#, c-format
msgid "Bahamas"
msgstr "巴哈马"

#: lang.pm:331
#, c-format
msgid "Bhutan"
msgstr "不丹"

#: lang.pm:332
#, c-format
msgid "Bouvet Island"
msgstr "布维岛"

#: lang.pm:333
#, c-format
msgid "Botswana"
msgstr "博茨瓦纳"

#: lang.pm:334 timezone.pm:241
#, c-format
msgid "Belarus"
msgstr "白俄罗斯"

#: lang.pm:335
#, c-format
msgid "Belize"
msgstr "伯利兹"

#: lang.pm:336 mirror.pm:25 timezone.pm:272
#, c-format
msgid "Canada"
msgstr "加拿大"

#: lang.pm:337
#, c-format
msgid "Cocos (Keeling) Islands"
msgstr "科科斯群岛"

#: lang.pm:338
#, c-format
msgid "Congo (Kinshasa)"
msgstr "刚果(金沙萨)"

#: lang.pm:339
#, c-format
msgid "Central African Republic"
msgstr "中非共和国"

#: lang.pm:340
#, c-format
msgid "Congo (Brazzaville)"
msgstr "刚果(布拉柴维尔)"

#: lang.pm:341 mirror.pm:49 timezone.pm:266
#, c-format
msgid "Switzerland"
msgstr "瑞士"

#: lang.pm:342
#, c-format
msgid "Cote d'Ivoire"
msgstr "科特迪瓦"

#: lang.pm:343
#, c-format
msgid "Cook Islands"
msgstr "库克群岛"

#: lang.pm:344 timezone.pm:284
#, c-format
msgid "Chile"
msgstr "智利"

#: lang.pm:345
#, c-format
msgid "Cameroon"
msgstr "喀麦隆"

#: lang.pm:346 timezone.pm:223
#, c-format
msgid "China"
msgstr "中国"

#: lang.pm:347
#, c-format
msgid "Colombia"
msgstr "哥伦比亚"

#: lang.pm:348 mirror.pm:26
#, c-format
msgid "Costa Rica"
msgstr "哥斯达黎加"

#: lang.pm:349
#, c-format
msgid "Serbia & Montenegro"
msgstr "塞尔维亚和黑山"

#: lang.pm:350
#, c-format
msgid "Cuba"
msgstr "古巴"

#: lang.pm:351
#, c-format
msgid "Cape Verde"
msgstr "佛得角"

#: lang.pm:352
#, c-format
msgid "Christmas Island"
msgstr "圣诞岛"

#: lang.pm:353
#, c-format
msgid "Cyprus"
msgstr "塞浦路斯"

#: lang.pm:354 mirror.pm:27 timezone.pm:244
#, c-format
msgid "Czech Republic"
msgstr "捷克共和国"

#: lang.pm:355 mirror.pm:32 timezone.pm:249
#, c-format
msgid "Germany"
msgstr "德国"

#: lang.pm:356
#, c-format
msgid "Djibouti"
msgstr "吉布提"

#: lang.pm:357 mirror.pm:28 timezone.pm:245
#, c-format
msgid "Denmark"
msgstr "丹麦"

#: lang.pm:358
#, c-format
msgid "Dominica"
msgstr "多米尼加"

#: lang.pm:359
#, c-format
msgid "Dominican Republic"
msgstr "多米尼加共和国"

#: lang.pm:360
#, c-format
msgid "Algeria"
msgstr "阿尔及利亚"

#: lang.pm:361
#, c-format
msgid "Ecuador"
msgstr "厄瓜多尔"

#: lang.pm:362 mirror.pm:29 timezone.pm:246
#, c-format
msgid "Estonia"
msgstr "爱沙尼亚"

#: lang.pm:363
#, c-format
msgid "Egypt"
msgstr "埃及"

#: lang.pm:364
#, c-format
msgid "Western Sahara"
msgstr "西撒哈拉"

#: lang.pm:365
#, c-format
msgid "Eritrea"
msgstr "厄立特里亚"

#: lang.pm:366 mirror.pm:47 timezone.pm:264
#, c-format
msgid "Spain"
msgstr "西班牙"

#: lang.pm:367
#, c-format
msgid "Ethiopia"
msgstr "埃塞俄比亚"

#: lang.pm:368 mirror.pm:30 timezone.pm:247
#, c-format
msgid "Finland"
msgstr "芬兰"

#: lang.pm:369
#, c-format
msgid "Fiji"
msgstr "斐济"

#: lang.pm:370
#, c-format
msgid "Falkland Islands (Malvinas)"
msgstr "福克兰群岛(马尔维纳斯)"

#: lang.pm:371
#, c-format
msgid "Micronesia"
msgstr "密克罗尼西亚"

#: lang.pm:372
#, c-format
msgid "Faroe Islands"
msgstr "法罗群岛"

#: lang.pm:373 mirror.pm:31 timezone.pm:248
#, c-format
msgid "France"
msgstr "法国"

#: lang.pm:374
#, c-format
msgid "Gabon"
msgstr "加蓬"

#: lang.pm:375 timezone.pm:268
#, c-format
msgid "United Kingdom"
msgstr "英国"

#: lang.pm:376
#, c-format
msgid "Grenada"
msgstr "格林纳达"

#: lang.pm:377
#, c-format
msgid "Georgia"
msgstr "乔治亚"

#: lang.pm:378
#, c-format
msgid "French Guiana"
msgstr "法属圭亚那"

#: lang.pm:379
#, c-format
msgid "Ghana"
msgstr "加纳"

#: lang.pm:380
#, c-format
msgid "Gibraltar"
msgstr "直布罗陀"

#: lang.pm:381
#, c-format
msgid "Greenland"
msgstr "格陵兰"

#: lang.pm:382
#, c-format
msgid "Gambia"
msgstr "冈比亚"

#: lang.pm:383
#, c-format
msgid "Guinea"
msgstr "几内亚"

#: lang.pm:384
#, c-format
msgid "Guadeloupe"
msgstr "瓜德洛普"

#: lang.pm:385
#, c-format
msgid "Equatorial Guinea"
msgstr "赤道几内亚"

#: lang.pm:386 mirror.pm:33 timezone.pm:250
#, c-format
msgid "Greece"
msgstr "希腊"

#: lang.pm:387
#, c-format
msgid "South Georgia and the South Sandwich Islands"
msgstr "南乔治亚岛和南桑德韦奇岛"

#: lang.pm:388 timezone.pm:273
#, c-format
msgid "Guatemala"
msgstr "危地马拉"

#: lang.pm:389
#, c-format
msgid "Guam"
msgstr "关岛"

#: lang.pm:390
#, c-format
msgid "Guinea-Bissau"
msgstr "几内亚比绍"

#: lang.pm:391
#, c-format
msgid "Guyana"
msgstr "圭亚那"

#: lang.pm:392
#, c-format
msgid "Hong Kong SAR (China)"
msgstr "中国香港"

#: lang.pm:393
#, c-format
msgid "Heard and McDonald Islands"
msgstr "赫德和麦克唐纳群岛"

#: lang.pm:394
#, c-format
msgid "Honduras"
msgstr "洪都拉斯"

#: lang.pm:395
#, c-format
msgid "Croatia"
msgstr "克罗地亚"

#: lang.pm:396
#, c-format
msgid "Haiti"
msgstr "海地"

#: lang.pm:397 mirror.pm:34 timezone.pm:251
#, c-format
msgid "Hungary"
msgstr "匈牙利"

#: lang.pm:398 timezone.pm:226
#, c-format
msgid "Indonesia"
msgstr "印度尼西亚"

#: lang.pm:399 mirror.pm:35 timezone.pm:252
#, c-format
msgid "Ireland"
msgstr "爱尔兰"

#: lang.pm:400 mirror.pm:36 timezone.pm:228
#, c-format
msgid "Israel"
msgstr "以色列"

#: lang.pm:401 timezone.pm:225
#, c-format
msgid "India"
msgstr "印度"

#: lang.pm:402
#, c-format
msgid "British Indian Ocean Territory"
msgstr "英属印度洋地区"

#: lang.pm:403
#, c-format
msgid "Iraq"
msgstr "伊拉克"

#: lang.pm:404 timezone.pm:227
#, c-format
msgid "Iran"
msgstr "伊朗"

#: lang.pm:405
#, c-format
msgid "Iceland"
msgstr "冰岛"

#: lang.pm:406 mirror.pm:37 timezone.pm:253
#, c-format
msgid "Italy"
msgstr "意大利"

#: lang.pm:407
#, c-format
msgid "Jamaica"
msgstr "牙买加"

#: lang.pm:408
#, c-format
msgid "Jordan"
msgstr "约旦"

#: lang.pm:409 mirror.pm:38 timezone.pm:229
#, c-format
msgid "Japan"
msgstr "日本"

#: lang.pm:410
#, c-format
msgid "Kenya"
msgstr "肯尼亚"

#: lang.pm:411
#, c-format
msgid "Kyrgyzstan"
msgstr "吉尔吉斯斯坦"

#: lang.pm:412
#, c-format
msgid "Cambodia"
msgstr "柬埔寨"

#: lang.pm:413
#, c-format
msgid "Kiribati"
msgstr "基里巴斯"

#: lang.pm:414
#, c-format
msgid "Comoros"
msgstr "科摩罗"

#: lang.pm:415
#, c-format
msgid "Saint Kitts and Nevis"
msgstr "圣基茨和尼维斯"

#: lang.pm:416
#, c-format
msgid "Korea (North)"
msgstr "朝鲜"

#: lang.pm:417 timezone.pm:230
#, c-format
msgid "Korea"
msgstr "韩国"

#: lang.pm:418
#, c-format
msgid "Kuwait"
msgstr "科威特"

#: lang.pm:419
#, c-format
msgid "Cayman Islands"
msgstr "开曼群岛"

#: lang.pm:420
#, c-format
msgid "Kazakhstan"
msgstr "哈萨克斯坦"

#: lang.pm:421
#, c-format
msgid "Laos"
msgstr "老挝"

#: lang.pm:422
#, c-format
msgid "Lebanon"
msgstr "黎巴嫩"

#: lang.pm:423
#, c-format
msgid "Saint Lucia"
msgstr "圣卢西亚"

#: lang.pm:424
#, c-format
msgid "Liechtenstein"
msgstr "列支敦士登"

#: lang.pm:425
#, c-format
msgid "Sri Lanka"
msgstr "斯里兰卡"

#: lang.pm:426
#, c-format
msgid "Liberia"
msgstr "利比里亚"

#: lang.pm:427
#, c-format
msgid "Lesotho"
msgstr "莱索托"

#: lang.pm:428 timezone.pm:254
#, c-format
msgid "Lithuania"
msgstr "立陶宛"

#: lang.pm:429 timezone.pm:255
#, c-format
msgid "Luxembourg"
msgstr "卢森堡"

#: lang.pm:430
#, c-format
msgid "Latvia"
msgstr "拉脱维亚"

#: lang.pm:431
#, c-format
msgid "Libya"
msgstr "利比亚"

#: lang.pm:432
#, c-format
msgid "Morocco"
msgstr "摩洛哥"

#: lang.pm:433
#, c-format
msgid "Monaco"
msgstr "摩纳哥"

#: lang.pm:434
#, c-format
msgid "Moldova"
msgstr "摩尔多瓦"

#: lang.pm:435
#, c-format
msgid "Madagascar"
msgstr "马达加斯加"

#: lang.pm:436
#, c-format
msgid "Marshall Islands"
msgstr "马绍尔群岛"

#: lang.pm:437
#, c-format
msgid "Macedonia"
msgstr "马其顿"

#: lang.pm:438
#, c-format
msgid "Mali"
msgstr "马里"

#: lang.pm:439
#, c-format
msgid "Myanmar"
msgstr "缅甸"

#: lang.pm:440
#, c-format
msgid "Mongolia"
msgstr "蒙古"

#: lang.pm:441
#, c-format
msgid "Northern Mariana Islands"
msgstr "北马里亚那岛"

#: lang.pm:442
#, c-format
msgid "Martinique"
msgstr "马提尼克"

#: lang.pm:443
#, c-format
msgid "Mauritania"
msgstr "毛里塔尼亚"

#: lang.pm:444
#, c-format
msgid "Montserrat"
msgstr "蒙特塞拉特"

#: lang.pm:445
#, c-format
msgid "Malta"
msgstr "马耳他"

#: lang.pm:446
#, c-format
msgid "Mauritius"
msgstr "毛里求斯"

#: lang.pm:447
#, c-format
msgid "Maldives"
msgstr "马尔代夫"

#: lang.pm:448
#, c-format
msgid "Malawi"
msgstr "马拉维"

#: lang.pm:449 timezone.pm:274
#, c-format
msgid "Mexico"
msgstr "墨西哥"

#: lang.pm:450 timezone.pm:231
#, c-format
msgid "Malaysia"
msgstr "马来西亚"

#: lang.pm:451
#, c-format
msgid "Mozambique"
msgstr "莫桑比克"

#: lang.pm:452
#, c-format
msgid "Namibia"
msgstr "纳米比亚"

#: lang.pm:453
#, c-format
msgid "New Caledonia"
msgstr "新喀里多尼亚"

#: lang.pm:454
#, c-format
msgid "Niger"
msgstr "尼日尔"

#: lang.pm:455
#, c-format
msgid "Norfolk Island"
msgstr "诺福克岛"

#: lang.pm:456
#, c-format
msgid "Nigeria"
msgstr "尼日利亚"

#: lang.pm:457
#, c-format
msgid "Nicaragua"
msgstr "尼加拉瓜"

#: lang.pm:458 mirror.pm:39 timezone.pm:256
#, c-format
msgid "Netherlands"
msgstr "荷兰"

#: lang.pm:459 mirror.pm:41 timezone.pm:257
#, c-format
msgid "Norway"
msgstr "挪威"

#: lang.pm:460
#, c-format
msgid "Nepal"
msgstr "尼泊尔"

#: lang.pm:461
#, c-format
msgid "Nauru"
msgstr "瑙鲁"

#: lang.pm:462
#, c-format
msgid "Niue"
msgstr "纽埃"

#: lang.pm:463 mirror.pm:40 timezone.pm:279
#, c-format
msgid "New Zealand"
msgstr "新西兰"

#: lang.pm:464
#, c-format
msgid "Oman"
msgstr "阿曼"

#: lang.pm:465
#, c-format
msgid "Panama"
msgstr "巴拿马"

#: lang.pm:466
#, c-format
msgid "Peru"
msgstr "秘鲁"

#: lang.pm:467
#, c-format
msgid "French Polynesia"
msgstr "法属玻利尼西亚"

#: lang.pm:468
#, c-format
msgid "Papua New Guinea"
msgstr "巴布亚新几内亚"

#: lang.pm:469 timezone.pm:232
#, c-format
msgid "Philippines"
msgstr "菲律宾"

#: lang.pm:470
#, c-format
msgid "Pakistan"
msgstr "巴基斯坦"

#: lang.pm:471 mirror.pm:42 timezone.pm:258
#, c-format
msgid "Poland"
msgstr "波兰"

#: lang.pm:472
#, c-format
msgid "Saint Pierre and Miquelon"
msgstr "圣皮埃尔岛及密克隆岛"

#: lang.pm:473
#, c-format
msgid "Pitcairn"
msgstr "皮特克恩"

#: lang.pm:474
#, c-format
msgid "Puerto Rico"
msgstr "波多黎各"

#: lang.pm:475
#, c-format
msgid "Palestine"
msgstr "巴勒斯坦"

#: lang.pm:476 mirror.pm:43 timezone.pm:259
#, c-format
msgid "Portugal"
msgstr "葡萄牙"

#: lang.pm:477
#, c-format
msgid "Paraguay"
msgstr "巴拉圭"

#: lang.pm:478
#, c-format
msgid "Palau"
msgstr "帕劳"

#: lang.pm:479
#, c-format
msgid "Qatar"
msgstr "卡塔尔"

#: lang.pm:480
#, c-format
msgid "Reunion"
msgstr "留尼旺"

#: lang.pm:481 timezone.pm:260
#, c-format
msgid "Romania"
msgstr "罗马尼亚"

#: lang.pm:482 mirror.pm:44
#, c-format
msgid "Russia"
msgstr "俄罗斯"

#: lang.pm:483
#, c-format
msgid "Rwanda"
msgstr "卢旺达"

#: lang.pm:484
#, c-format
msgid "Saudi Arabia"
msgstr "沙特阿拉伯"

#: lang.pm:485
#, c-format
msgid "Solomon Islands"
msgstr "所罗门群岛"

#: lang.pm:486
#, c-format
msgid "Seychelles"
msgstr "塞舌尔"

#: lang.pm:487
#, c-format
msgid "Sudan"
msgstr "苏丹"

#: lang.pm:488 mirror.pm:48 timezone.pm:265
#, c-format
msgid "Sweden"
msgstr "瑞典"

#: lang.pm:489 timezone.pm:233
#, c-format
msgid "Singapore"
msgstr "新加坡"

#: lang.pm:490
#, c-format
msgid "Saint Helena"
msgstr "圣·海伦娜"

#: lang.pm:491 timezone.pm:263
#, c-format
msgid "Slovenia"
msgstr "斯洛文尼亚"

#: lang.pm:492
#, c-format
msgid "Svalbard and Jan Mayen Islands"
msgstr "斯马尔巴特和扬马延岛"

#: lang.pm:493 mirror.pm:45 timezone.pm:262
#, c-format
msgid "Slovakia"
msgstr "斯洛伐克"

#: lang.pm:494
#, c-format
msgid "Sierra Leone"
msgstr "塞拉利昂"

#: lang.pm:495
#, c-format
msgid "San Marino"
msgstr "圣马力诺"

#: lang.pm:496
#, c-format
msgid "Senegal"
msgstr "塞内加尔"

#: lang.pm:497
#, c-format
msgid "Somalia"
msgstr "索马里"

#: lang.pm:498
#, c-format
msgid "Suriname"
msgstr "苏里南"

#: lang.pm:499
#, c-format
msgid "Sao Tome and Principe"
msgstr "圣多美和普林西比"

#: lang.pm:500
#, c-format
msgid "El Salvador"
msgstr "萨尔瓦多"

#: lang.pm:501
#, c-format
msgid "Syria"
msgstr "叙利亚"

#: lang.pm:502
#, c-format
msgid "Swaziland"
msgstr "斯威士兰"

#: lang.pm:503
#, c-format
msgid "Turks and Caicos Islands"
msgstr "特克斯和凯科斯群岛"

#: lang.pm:504
#, c-format
msgid "Chad"
msgstr "乍得"

#: lang.pm:505
#, c-format
msgid "French Southern Territories"
msgstr "法国南方属地"

#: lang.pm:506
#, c-format
msgid "Togo"
msgstr "多哥"

#: lang.pm:507 mirror.pm:51 timezone.pm:235
#, c-format
msgid "Thailand"
msgstr "泰国"

#: lang.pm:508
#, c-format
msgid "Tajikistan"
msgstr "塔吉克斯坦"

#: lang.pm:509
#, c-format
msgid "Tokelau"
msgstr "托克劳群岛"

#: lang.pm:510
#, c-format
msgid "East Timor"
msgstr "东帝汶"

#: lang.pm:511
#, c-format
msgid "Turkmenistan"
msgstr "土库曼斯坦"

#: lang.pm:512
#, c-format
msgid "Tunisia"
msgstr "突尼斯"

#: lang.pm:513
#, c-format
msgid "Tonga"
msgstr "汤加"

#: lang.pm:514 timezone.pm:236
#, c-format
msgid "Turkey"
msgstr "土耳其"

#: lang.pm:515
#, c-format
msgid "Trinidad and Tobago"
msgstr "特立尼达和多巴哥岛"

#: lang.pm:516
#, c-format
msgid "Tuvalu"
msgstr "图瓦卢"

#: lang.pm:517 mirror.pm:50 timezone.pm:234
#, c-format
msgid "Taiwan"
msgstr "中国台湾"

#: lang.pm:518 timezone.pm:219
#, c-format
msgid "Tanzania"
msgstr "坦桑尼亚"

#: lang.pm:519 timezone.pm:267
#, c-format
msgid "Ukraine"
msgstr "乌克兰"

#: lang.pm:520
#, c-format
msgid "Uganda"
msgstr "乌干达"

#: lang.pm:521
#, c-format
msgid "United States Minor Outlying Islands"
msgstr "美属本土外岛屿"

#: lang.pm:522 mirror.pm:52 timezone.pm:275
#, c-format
msgid "United States"
msgstr "美国"

#: lang.pm:523
#, c-format
msgid "Uruguay"
msgstr "乌拉圭"

#: lang.pm:524
#, c-format
msgid "Uzbekistan"
msgstr "乌兹别克斯坦"

#: lang.pm:525
#, c-format
msgid "Vatican"
msgstr "梵蒂冈"

#: lang.pm:526
#, c-format
msgid "Saint Vincent and the Grenadines"
msgstr "圣文森特和格林纳丁斯"

#: lang.pm:527
#, c-format
msgid "Venezuela"
msgstr "委内瑞拉"

#: lang.pm:528
#, c-format
msgid "Virgin Islands (British)"
msgstr "英属维京群岛"

#: lang.pm:529
#, c-format
msgid "Virgin Islands (U.S.)"
msgstr "美属维京群岛"

#: lang.pm:530
#, c-format
msgid "Vietnam"
msgstr "越南"

#: lang.pm:531
#, c-format
msgid "Vanuatu"
msgstr "瓦努阿图"

#: lang.pm:532
#, c-format
msgid "Wallis and Futuna"
msgstr "瓦利斯和富图纳群岛"

#: lang.pm:533
#, c-format
msgid "Samoa"
msgstr "萨摩亚"

#: lang.pm:534
#, c-format
msgid "Yemen"
msgstr "也门"

#: lang.pm:535
#, c-format
msgid "Mayotte"
msgstr "马约特岛"

#: lang.pm:536 mirror.pm:46 timezone.pm:218
#, c-format
msgid "South Africa"
msgstr "南非"

#: lang.pm:537
#, c-format
msgid "Zambia"
msgstr "赞比亚"

#: lang.pm:538
#, c-format
msgid "Zimbabwe"
msgstr "津巴布韦"

#: lang.pm:1511
#, c-format
msgid "Welcome to %s"
msgstr "欢迎使用 %s"

#: lvm.pm:128
#, c-format
msgid "Moving used physical extents to other physical volumes failed"
msgstr "将已用的物理卷扩展分区移动到其它物理卷失败"

#: lvm.pm:194
#, c-format
msgid "Physical volume %s is still in use"
msgstr "物理卷 %s 仍在使用中"

#: lvm.pm:204
#, c-format
msgid "Remove the logical volumes first\n"
msgstr "请先删除逻辑卷\n"

#: lvm.pm:248
#, c-format
msgid "The bootloader can't handle /boot on multiple physical volumes"
msgstr "引导程序无法识别多个物理卷上的 /boot"

#. -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 "简介"

#: 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 ""
"Mageia 发行版中提供的操作系统和各种程序在此后简称为“本软件产品”。软件产品包括"
"但不限于 Mageia 许可商或供应商提供的与 Mageia 发行版的操作系统和各个部分有关"
"的程序、方法、规则和文档。"

#: messages.pm:27
#, c-format
msgid "1. License Agreement"
msgstr "1. 许可协议"

#: 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 ""
"请仔细阅读此文档。此文档是您与 Mageia 之间关于本软件产品的一个许可协议。如果"
"您安装、复制或使用本软件产品, 即表明您接受并完全同意遵守本许可协议的内容和条"
"件。如果您不同意本许可协议中的任何部分, 您将无权安装、复制或使用本软件产品任"
"何试图不遵守本许可协议的内容和条件, 而安装、复制或使用本软件产品的行为都是非"
"法的, 并将导致本许可协议赋予您的各种权利立即作废, 根据许可协议的条款, 您将必"
"须立即销毁本软件产品的任何副本。"

#: messages.pm:41
#, c-format
msgid "2. Limited Warranty"
msgstr "2. 有限担保"

#. -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 "
"of liability for \n"
"consequential or incidental damages, the above limitation may not apply to "
"you."
msgstr ""
"本软件产品和附带的文档是一经发表即“不再修改”, 在法律允许的范围内没有任何担"
"保。在法律允许的范围内 Mageia 对因使用或不能使用本软件产品而引起的特定、偶"
"然、直接、间接的无论任何损失(包括但不限于生意的丧失、生意的中断、财务损失、因"
"法院裁决产生的法律费用和处罚或其他因此产生的损失)将不承担责任, 即使 Mageia 已"
"经被告知有发生这种损失的可能性。\n"
"\n"
"在某些国家中关于拥有和使用被禁止的软件的有限责任\n"
"\n"
"在法律允许的范围内 Mageia 或其分销者对因拥有或使用, 或从任何 Mageia 的网站下"
"载在某些国家中被当地法律禁止或限制的软件而引起的特定、偶然、直接、间接的无论"
"任何损失 (包括但不限于生意的丧失、生意的中断、财务损失、因法院裁决产生的法律"
"费用和处罚或其他因此产生的损失)将不承担责任。这种有限责任适用但不限于本软件产"
"品所包括的强大数据加密组件。"

#: messages.pm:68
#, c-format
msgid "3. The GPL License and Related Licenses"
msgstr "3. GPL 许可协议和其它有关协议"

#: messages.pm:70
#, 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 ""

#: messages.pm:79
#, c-format
msgid "4. Intellectual Property Rights"
msgstr "4. 知识产权"

#: 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 ""
"本软件产品的各个组件的所有权利属于它们各自的作者, 并受到所有可适用于软件程序"
"的知识产权和版权法律的保护。Mageia 保留对本软件产品进行全面或部分的更改或调整"
"的权利, 不论采用任何方法, 不论出于任何目的。\n"
"“Mageia”和相关的标志是 %s 的商标。"

#: messages.pm:88
#, c-format
msgid "5. Governing Laws"
msgstr "5. 适用法律"

#: 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 ""
"如果本协议的任何部分被法院裁定为无效、非法或不适用, 该部分将被排除在本协议之"
"外。您仍然需要遵守本协议的其它可使用的部分。本协议的内容和条件受法国法律管"
"辖。有关本协议的任何争议最好在法庭外解决。作为最后的手段, 争议将被提交法国巴"
"黎适当的法院审理。对本文档有任何疑问, 请联系 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 ""
"警告: 自由软件并不一定是没有专利的, 一些自由软件可能包含一些在您的国家享有专"
"利的成分。比方说, MP3 解码器在用作更多用途时可能需要许可证(请参看 http://www."
"mp3licensing.com 以获得更多信息)。如果您对专利是否适用于您感到疑惑, 请查看当"
"地的法律。"

#: messages.pm:111
#, c-format
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press Enter to reboot."
msgstr "恭喜。安装完成了。请取出启动介质, 然后按 Enter 重新启动。"

#: 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 ""
"要了解此版本 Mageia 的修订, 请访问以下勘误表: \n"
"%s关于安装后如何配置您的系统, 请查看 Mageia 官方用户手册。"

#: messages.pm:115
#, c-format
msgid ""
"After rebooting and logging into Mageia, you will see the MageiaWelcome "
"screen.\n"
"It is full of very useful information and links."
msgstr ""

#: modules/interactive.pm:19
#, c-format
msgid "This driver has no configuration parameter!"
msgstr "此驱动程序无配置参数!"

#: modules/interactive.pm:22
#, c-format
msgid "Module configuration"
msgstr "模块配置"

#: modules/interactive.pm:22
#, c-format
msgid "You can configure each parameter of the module here."
msgstr "您可以配置模块的各个参数。"

#: modules/interactive.pm:64
#, c-format
msgid "Found %s interfaces"
msgstr "找到 %s 网卡"

#: modules/interactive.pm:65
#, c-format
msgid "Do you have another one?"
msgstr "您有其它的吗?"

#: modules/interactive.pm:66
#, c-format
msgid "Do you have any %s interfaces?"
msgstr "您还有其它 %s 网卡吗?"

#: modules/interactive.pm:72
#, c-format
msgid "See hardware info"
msgstr "查看硬件信息"

#: modules/interactive.pm:83
#, c-format
msgid "Installing driver for USB controller"
msgstr "正在安装 USB 控制器的驱动程序"

#: modules/interactive.pm:84
#, c-format
msgid "Installing driver for firewire controller \"%s\""
msgstr "正在安装火线控制器 \"%s\" 的驱动程序"

#: modules/interactive.pm:85
#, c-format
msgid "Installing driver for hard disk drive controller \"%s\""
msgstr "正在安装硬盘控制器 \"%s\" 的驱动程序"

#: modules/interactive.pm:86
#, c-format
msgid "Installing driver for ethernet controller \"%s\""
msgstr "正在安装以太网控制器 \"%s\" 的驱动程序"

#. -PO: the first %s is the card type (scsi, network, sound,...)
#. -PO: the second is the vendor+model name
#: modules/interactive.pm:97
#, c-format
msgid "Installing driver for %s card %s"
msgstr "正在安装 %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 ""
"您现在可以提供模块 %s 的参数。\n"
"注意要输入内存地址请使用 0x 前缀, 如“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 ""
"现在给模块 %s 指定它的选项。\n"
"选项的格式是“name=value name2=value2...”\n"
"例如, “io=0x300 irq=7”"

#: modules/interactive.pm:119
#, c-format
msgid "Module options:"
msgstr "模块参数: "

#. -PO: the %s is the driver type (scsi, network, sound,...)
#: modules/interactive.pm:132
#, c-format
msgid "Which %s driver should I try?"
msgstr "尝试使用哪个 %s 驱动程序?"

#: 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 ""
"有时候需要给 %s 驱动程序指定额外的信息才能正常运行, 尽管通常不需要。\n"
"您可以在这里指定一些额外的选项, 也可以让驱动程序探测您的机器, 自动\n"
"确定需要的信息。偶尔会发生机器在探测中停止反应, 不过这不会损坏什么。\n"
"您决定怎么做?"

#: modules/interactive.pm:145
#, c-format
msgid "Autoprobe"
msgstr "自动探测"

#: modules/interactive.pm:145
#, c-format
msgid "Specify options"
msgstr "指定选项"

#: modules/interactive.pm:157
#, c-format
msgid ""
"Loading module %s failed.\n"
"Do you want to try again with other parameters?"
msgstr ""
"模块 %s 加载失败。\n"
"您要尝试其它的参数吗?"

#: mygtk2.pm:1229 mygtk3.pm:1283
#, c-format
msgid "Are you sure you want to quit?"
msgstr ""

#: mygtk2.pm:1570 mygtk2.pm:1571 mygtk3.pm:1650 mygtk3.pm:1651
#, c-format
msgid "Password is trivial to guess"
msgstr "密码很容易猜到"

#: mygtk2.pm:1572 mygtk3.pm:1652
#, c-format
msgid "Password should be resistant to basic attacks"
msgstr "密码可抵御常见攻击"

#: mygtk2.pm:1573 mygtk2.pm:1574 mygtk3.pm:1653 mygtk3.pm:1654
#, c-format
msgid "Password seems secure"
msgstr "密码好像安全"

#: partition_table.pm:403
#, c-format
msgid "mount failed: "
msgstr "挂载失败: "

#: partition_table.pm:529
#, 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 ""
"分区表里有一段是空的, 可是我没法使用它。\n"
"唯一的办法是移动您的主分区, 把空闲部分换到与扩展分区相邻的位置。"

#: partition_table/raw.pm:293
#, 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 ""
"您的硬盘有严重问题。\n"
"一次数据完整性检查失败了。\n"
"这意味着, 如果继续往硬盘里写入任何东西, 硬盘将可能随时坏掉, 损坏数据"

#: pkgs.pm:260 pkgs.pm:263 pkgs.pm:276
#, c-format
msgid "Unused packages removal"
msgstr "删除不需要的软件包"

#: pkgs.pm:260
#, c-format
msgid "Finding unused hardware packages..."
msgstr "正在查找不需要的硬件软件包..."

#: pkgs.pm:263
#, c-format
msgid "Finding unused localization packages..."
msgstr "正在查找不需要的本地化软件包..."

#: pkgs.pm:277
#, c-format
msgid ""
"We have detected that some packages are not needed for your system "
"configuration."
msgstr "我们检测到您的系统配置无需下列软件包。"

#: pkgs.pm:278
#, c-format
msgid "We will remove the following packages, unless you choose otherwise:"
msgstr "我们将会删除这些软件包,而您可以在进行之前对其微调:"

#: pkgs.pm:281 pkgs.pm:282
#, c-format
msgid "Unused hardware support"
msgstr "未使用的硬件支持"

#: pkgs.pm:285 pkgs.pm:286
#, c-format
msgid "Unused localization"
msgstr "未使用的本地化"

#: raid.pm:59
#, c-format
msgid "Cannot add a partition to _formatted_ RAID %s"
msgstr "无法加入一个分区到已经格式化的硬盘阵列 %s"

#: raid.pm:200
#, c-format
msgid "Not enough partitions for RAID level %d\n"
msgstr "没有足够的分区建立 %d 级的硬盘阵列\n"

#: scanner.pm:95
#, c-format
msgid "Could not create directory /usr/share/sane/firmware!"
msgstr "无法创建目录 /usr/share/sane/firmware!"

#: scanner.pm:106
#, c-format
msgid "Could not create link /usr/share/sane/%s!"
msgstr "无法创建链接 /usr/share/sane/%s!"

#: scanner.pm:113
#, c-format
msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
msgstr "无法将固件文件 %s 复制到 /usr/share/sane/firmware!"

#: scanner.pm:120
#, c-format
msgid "Could not set permissions of firmware file %s!"
msgstr "无法设定固件文件 %s 的权限!"

#: scanner.pm:199
#, c-format
msgid "Scannerdrake"
msgstr "Drak 扫描仪"

#: scanner.pm:200
#, c-format
msgid "Could not install the packages needed to share your scanner(s)."
msgstr "无法安装共享您的扫描仪所需的软件包。"

#: scanner.pm:201
#, c-format
msgid "Your scanner(s) will not be available for non-root users."
msgstr "您的扫描仪将无法被非 root 用户使用。"

#: security/help.pm:11
#, c-format
msgid "Accept bogus IPv4 error messages."
msgstr "接受有错的 IPv4 错误消息。"

#: security/help.pm:13
#, c-format
msgid "Accept broadcasted icmp echo."
msgstr "接受广播 ICMP 回应。"

#: security/help.pm:15
#, c-format
msgid "Accept icmp echo."
msgstr "接受 icmp 回应。"

#: security/help.pm:17
#, c-format
msgid "Allow autologin."
msgstr "允许自动登录。"

#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
#: security/help.pm:21
#, c-format
msgid ""
"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
"\n"
"If set to \"None\", no issues are allowed.\n"
"\n"
"Else only /etc/issue is allowed."
msgstr ""
"如果设为 ALL, 则允许 /etc/issue 和 /etc/issue.net 存在。\n"
"\n"
"如果设为 NONE, 则不允许任何 issue。\n"
"\n"
"否则只能允许 /etc/issue。"

#: security/help.pm:27
#, c-format
msgid "Allow reboot by the console user."
msgstr "允许控制台用户重新启动。"

#: security/help.pm:29
#, c-format
msgid "Allow remote root login."
msgstr "允许远程 root 登录。"

#: security/help.pm:31
#, c-format
msgid "Allow direct root login."
msgstr "允许直接 root 登录。"

#: security/help.pm:33
#, fuzzy, c-format
msgid ""
"Allow the list of users on the system on display managers (kdm and gdm)."
msgstr "允许系统中的用户列表显示在管理器(sddm 或 gdm)上。"

#: security/help.pm:35
#, 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 ""
"允许从 root 账户传递给其它用户时导出显示。\n"
"\n"
"请查看 pam_xauth(8) 中的细节。"

#: security/help.pm:40
#, 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 ""
"允许 X 连接:\n"
"\n"
"- 所有(允许所有连接), \n"
"\n"
"- 本地(只允许本地连接), \n"
"\n"
"- 无(禁止所有连接)。"

#: security/help.pm:48
#, c-format
msgid ""
"The argument specifies if clients are authorized to connect\n"
"to the X server from the network on the tcp port 6000 or not."
msgstr "参数指定了客户端要要通过 TCP 端口 6000 连接到 X 服务器是否要认证。"

#. -PO: here "ALL", "Local" and "None" are values in a pull-down menu; translate them the same as they're
#: security/help.pm:53
#, c-format
msgid ""
"Authorize:\n"
"\n"
"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
"set to \"ALL\",\n"
"\n"
"- only local ones if set to \"Local\"\n"
"\n"
"- none if set to \"None\".\n"
"\n"
"To authorize the services you need, use /etc/hosts.allow (see hosts."
"allow(5))."
msgstr ""
"认证:\n"
"\n"
"- 如果设为“ALL”, 则认证所有被 tcp_wrappers 控制的服务(参看 hosts.deny(5) man "
"page);\n"
"\n"
"- 如果设为“LOCAL”, 则仅对本地服务;\n"
"\n"
"- 如果设为“NONE”, 则不认证任何服务。\n"
"\n"
"要认证您需要的服务, 请使用 /etc/hosts.allow(参看 hosts.allow(5))。"

#: security/help.pm:63
#, c-format
msgid ""
"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
"symlink /etc/security/msec/server to point to\n"
"/etc/security/msec/server.<SERVER_LEVEL>.\n"
"\n"
"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
"add a service if it is present in the file during the installation of\n"
"packages."
msgstr ""
"如果 /etc/security/msec/security.conf 中的 SERVER_LEVEL(若不存在就是\n"
"SECURE_LEVEL)大于 3 的话, 就创建指向 /etc/security/msec/server."
"<SERVER_LEVEL>\n"
"的符号链接 /etc/security/msec/server。\n"
"\n"
"chkconfig --add 会使用 /etc/security/msec/server 来决定在安装包中出现文\n"
"件时, 决定是否要添加服务。"

#: security/help.pm:72
#, 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 ""
"启用用户的 crontab 和 at。\n"
"\n"
"将允许的用户放在 /etc/cron.allow 和 /etc/at.allow(参看 at(1) 和 crontab(1) "
"的 man)。"

#: security/help.pm:77
#, c-format
msgid "Enable syslog reports to console 12"
msgstr "在 12 号控制台上启用系统日志报告"

#: security/help.pm:79
#, c-format
msgid ""
"Enable name resolution spoofing protection.  If\n"
"\"%s\" is true, also reports to syslog."
msgstr ""
"启用名称解析欺骗保护。如果“%s”为 true, \n"
"还同时报告到系统日志。"

#: security/help.pm:80
#, c-format
msgid "Security Alerts:"
msgstr "安全警告: "

#: security/help.pm:82
#, c-format
msgid "Enable IP spoofing protection."
msgstr "启用 IP 欺骗保护。"

#: security/help.pm:84
#, c-format
msgid "Enable libsafe if libsafe is found on the system."
msgstr "启用 libsafe, 若在系统中发现 libsafe。"

#: security/help.pm:86
#, c-format
msgid "Enable the logging of IPv4 strange packets."
msgstr "启用 IPv4 异常包日志。"

#: security/help.pm:88
#, c-format
msgid "Enable msec hourly security check."
msgstr "启用 msec 每小时安全检查。"

#: security/help.pm:90
#, c-format
msgid ""
"Enable su only from members of the wheel group. If set to no, allows su from "
"any user."
msgstr "只对 whell 组成员启用 su。如果设置为否,则允许任何用户 su。"

#: security/help.pm:92
#, c-format
msgid "Use password to authenticate users."
msgstr "使用密码认证用户。"

#: security/help.pm:94
#, c-format
msgid "Activate Ethernet cards promiscuity check."
msgstr "激活以太网卡混用检查。"

#: security/help.pm:96
#, c-format
msgid "Activate daily security check."
msgstr "激活每日安全检查。"

#: security/help.pm:98
#, c-format
msgid "Enable sulogin(8) in single user level."
msgstr "在单用户级别上启用 sulogin(8)。"

#: security/help.pm:100
#, c-format
msgid "Add the name as an exception to the handling of password aging by msec."
msgstr "将 name 添加为 msec 处理密码时效的例外。"

#: security/help.pm:102
#, c-format
msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
msgstr "将密码时效设置为“max”天, 将延迟更改为“不活动”。"

#: security/help.pm:104
#, c-format
msgid "Set the password history length to prevent password reuse."
msgstr "设置密码历史长度以避免密码重用。"

#: security/help.pm:106
#, c-format
msgid ""
"Set the password minimum length and minimum number of digit and minimum "
"number of capitalized letters."
msgstr "设置密码最短长度, 数字的最少个数, 大写字母的最少个数。"

#: security/help.pm:108
#, c-format
msgid "Set the root's file mode creation mask."
msgstr "设置 root 的文件模式创建 mask。"

#: security/help.pm:109
#, c-format
msgid "if set to yes, check open ports."
msgstr "如果设为 yes, 就会检查打开的端口。"

#: security/help.pm:110
#, c-format
msgid ""
"if set to yes, check for:\n"
"\n"
"- empty passwords,\n"
"\n"
"- no password in /etc/shadow\n"
"\n"
"- for users with the 0 id other than root."
msgstr ""
"如果设为 yes, 就会检查:\n"
"\n"
"- 空密码, \n"
"\n"
"- /etc/shadow 中没有密码\n"
"\n"
"- 并非 root 但 id 为 0 的用户。"

#: security/help.pm:117
#, c-format
msgid "if set to yes, check permissions of files in the users' home."
msgstr "如果设为 yes, 就会在用户 home 里检查文件的允许权限。"

#: security/help.pm:118
#, c-format
msgid "if set to yes, check if the network devices are in promiscuous mode."
msgstr "如果设为 yes, 就会检查网络设备是否工作在混乱状态下。"

#: security/help.pm:119
#, c-format
msgid "if set to yes, run the daily security checks."
msgstr "如果设为 yes, 就会运行每日安全检查。"

#: security/help.pm:120
#, c-format
msgid "if set to yes, check additions/removals of sgid files."
msgstr "如果设为 yes, 就会在 sgid 文件中检查添加/删除。"

#: security/help.pm:121
#, c-format
msgid "if set to yes, check empty password in /etc/shadow."
msgstr "如果设为 yes, 就会 /etc/shadow 中的空密码。"

#: security/help.pm:122
#, c-format
msgid "if set to yes, verify checksum of the suid/sgid files."
msgstr "如果设为 yes, 就会校验 suid/sgid 文件的校验和。"

#: security/help.pm:123
#, c-format
msgid "if set to yes, check additions/removals of suid root files."
msgstr "如果设为 yes, 就会检查 suid root 文件的添加/删除。"

#: security/help.pm:124
#, c-format
msgid "if set to yes, report unowned files."
msgstr "如果设为 yes, 就会报告无主文件。"

#: security/help.pm:125
#, c-format
msgid "if set to yes, check files/directories writable by everybody."
msgstr "如果设为 yes, 就会每个人都检查可写的文件/文件夹。"

#: security/help.pm:126
#, c-format
msgid "if set to yes, run chkrootkit checks."
msgstr "如果设为 yes, 就会运行 chkrootkit 检查。"

#: security/help.pm:127
#, c-format
msgid ""
"if set, send the mail report to this email address else send it to root."
msgstr "如果设置, 发送邮件报告到这个邮箱地址, 或者发给 root。"

#: security/help.pm:128
#, c-format
msgid "if set to yes, report check result by mail."
msgstr "如果设为 yes, 就会通过邮件报告检测结果。"

#: security/help.pm:129
#, c-format
msgid "Do not send mails if there's nothing to warn about"
msgstr "如果没有可警告的, 则不发送邮件"

#: security/help.pm:130
#, c-format
msgid "if set to yes, run some checks against the rpm database."
msgstr "如果设为 yes, 就会用和 rpm 数据库冲突的方式进行一些检查。"

#: security/help.pm:131
#, c-format
msgid "if set to yes, report check result to syslog."
msgstr "如果设为 yes, 就会将检查结果报告给系统日志。"

#: security/help.pm:132
#, c-format
msgid "if set to yes, reports check result to tty."
msgstr "如果设为 yes, 就会给 tty 报告检测结果。"

#: security/help.pm:134
#, c-format
msgid "Set shell commands history size. A value of -1 means unlimited."
msgstr "设置 shell 命令历史大小。-1 表示没有限制。"

#: security/help.pm:136
#, c-format
msgid "Set the shell timeout. A value of zero means no timeout."
msgstr "设置 shell 超时。若设为 0, 则为没有超时。"

#: security/help.pm:136
#, c-format
msgid "Timeout unit is second"
msgstr "超时单位为秒"

#: security/help.pm:138
#, c-format
msgid "Set the user's file mode creation mask."
msgstr "设置用户文件的模式创建 mask。"

#: security/l10n.pm:11
#, c-format
msgid "Accept bogus IPv4 error messages"
msgstr "接受 bogus IPv4 错误消息"

#: security/l10n.pm:12
#, c-format
msgid "Accept broadcasted icmp echo"
msgstr "接受广播 ICMP 回应"

#: security/l10n.pm:13
#, c-format
msgid "Accept icmp echo"
msgstr "接受 icmp 回应"

#: security/l10n.pm:15
#, c-format
msgid "/etc/issue* exist"
msgstr "/etc/issue* 存在"

#: security/l10n.pm:16
#, c-format
msgid "Reboot by the console user"
msgstr "控制台用户可重新启动"

#: security/l10n.pm:17
#, c-format
msgid "Allow remote root login"
msgstr "允许远程 root 登录"

#: security/l10n.pm:18
#, c-format
msgid "Direct root login"
msgstr "直接 root 登录"

#: security/l10n.pm:19
#, fuzzy, c-format
msgid "List users on display managers (kdm and gdm)"
msgstr "在显示管理器上列出用户(sddm 或 gdm)"

#: security/l10n.pm:20
#, c-format
msgid "Export display when passing from root to the other users"
msgstr "从 root 传递给其他用户时导出显示"

#: security/l10n.pm:21
#, c-format
msgid "Allow X Window connections"
msgstr "允许 X Window 连接"

#: security/l10n.pm:22
#, c-format
msgid "Authorize TCP connections to X Window"
msgstr "认证 TCP 连接 X Window"

#: security/l10n.pm:23
#, c-format
msgid "Authorize all services controlled by tcp_wrappers"
msgstr "认证全部由 tcp_wrappers 控制的服务"

#: security/l10n.pm:24
#, c-format
msgid "Chkconfig obey msec rules"
msgstr "Chkconfig 遵从 msec 规则"

#: security/l10n.pm:25
#, c-format
msgid "Enable \"crontab\" and \"at\" for users"
msgstr "启用用户的“crontab”和“at”"

#: security/l10n.pm:26
#, c-format
msgid "Syslog reports to console 12"
msgstr "将系统日志报告到控制台 12 "

#: security/l10n.pm:27
#, c-format
msgid "Name resolution spoofing protection"
msgstr "名称解析欺骗保护"

#: security/l10n.pm:28
#, c-format
msgid "Enable IP spoofing protection"
msgstr "启用 IP 欺骗保护"

#: security/l10n.pm:29
#, c-format
msgid "Enable libsafe if libsafe is found on the system"
msgstr "启用 libsafe, 若在系统中发现 libsafe"

#: security/l10n.pm:30
#, c-format
msgid "Enable the logging of IPv4 strange packets"
msgstr "启用 IPv4 异常包日志"

#: security/l10n.pm:31
#, c-format
msgid "Enable msec hourly security check"
msgstr "启用 msec 每小时安全检查"

#: security/l10n.pm:32
#, c-format
msgid "Enable su only from the wheel group members"
msgstr "只对 wheel 组成员启用 su"

#: security/l10n.pm:33
#, c-format
msgid "Use password to authenticate users"
msgstr "使用密码验证用户"

#: security/l10n.pm:34
#, c-format
msgid "Ethernet cards promiscuity check"
msgstr "以太网卡混用检查"

#: security/l10n.pm:35
#, c-format
msgid "Daily security check"
msgstr "每日安全检查"

#: security/l10n.pm:36
#, c-format
msgid "Sulogin(8) in single user level"
msgstr "在单用户级别上 Sulogin(8)"

#: security/l10n.pm:37
#, c-format
msgid "No password aging for"
msgstr "没有密码时效"

#: security/l10n.pm:38
#, c-format
msgid "Set password expiration and account inactivation delays"
msgstr "设置密码过期和账户停用的时间"

#: security/l10n.pm:39
#, c-format
msgid "Password history length"
msgstr "密码历史长度"

#: security/l10n.pm:40
#, c-format
msgid "Password minimum length and number of digits and upcase letters"
msgstr "密码的最短长度以及数字和大写字母的最少数量"

#: security/l10n.pm:41
#, c-format
msgid "Root umask"
msgstr "Root umask"

#: security/l10n.pm:42
#, c-format
msgid "Shell history size"
msgstr "Shell 历史大小"

#: security/l10n.pm:43
#, c-format
msgid "Shell timeout"
msgstr "Shell 超时"

#: security/l10n.pm:44
#, c-format
msgid "User umask"
msgstr "用户 umask"

#: security/l10n.pm:45
#, c-format
msgid "Check open ports"
msgstr "检测开放的端口"

#: security/l10n.pm:46
#, c-format
msgid "Check for unsecured accounts"
msgstr "检查不安全的账户"

#: security/l10n.pm:47
#, c-format
msgid "Check permissions of files in the users' home"
msgstr "检查用户主目录中文件的权限"

#: security/l10n.pm:48
#, c-format
msgid "Check if the network devices are in promiscuous mode"
msgstr "检查网络设备是否工作在混乱状态下"

#: security/l10n.pm:49
#, c-format
msgid "Run the daily security checks"
msgstr "运行每日安全检查"

#: security/l10n.pm:50
#, c-format
msgid "Check additions/removals of sgid files"
msgstr "检查 sgid 文件的添加/删除"

#: security/l10n.pm:51
#, c-format
msgid "Check empty password in /etc/shadow"
msgstr "检查 /etc/shadow 中的空密码"

#: security/l10n.pm:52
#, c-format
msgid "Verify checksum of the suid/sgid files"
msgstr "校验 suid/sgid 文件的校验和"

#: security/l10n.pm:53
#, c-format
msgid "Check additions/removals of suid root files"
msgstr "检查 suid root 文件的添加/删除"

#: security/l10n.pm:54
#, c-format
msgid "Report unowned files"
msgstr "报告无主文件"

#: security/l10n.pm:55
#, c-format
msgid "Check files/directories writable by everybody"
msgstr "检查每人可写的文件/目录"

#: security/l10n.pm:56
#, c-format
msgid "Run chkrootkit checks"
msgstr "运行 chkrootkit 检查"

#: security/l10n.pm:57
#, c-format
msgid "Do not send empty mail reports"
msgstr "不发送空的邮件报告"

#: security/l10n.pm:58
#, c-format
msgid "If set, send the mail report to this email address else send it to root"
msgstr "如果设置, 就将邮件报告发送到这个邮箱地址, 或者发给 root"

#: security/l10n.pm:59
#, c-format
msgid "Report check result by mail"
msgstr "通过邮件报告检测结果"

#: security/l10n.pm:60
#, c-format
msgid "Run some checks against the rpm database"
msgstr "对 rpm 数据库执行一些检查"

#: security/l10n.pm:61
#, c-format
msgid "Report check result to syslog"
msgstr "将检查结果报告给系统日志(syslog)"

#: security/l10n.pm:62
#, c-format
msgid "Reports check result to tty"
msgstr "将检查结果报告给 tty"

#: security/level.pm:10
#, c-format
msgid "Disable msec"
msgstr "禁用 msec"

#: security/level.pm:11
#, c-format
msgid "Standard"
msgstr "标准"

#: security/level.pm:12
#, c-format
msgid "Secure"
msgstr "安全"

#: 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 ""
"此级别应小心使用,因为该级别将会禁用 msec 提供的全部额外安全性。请仅当您将"
"自\n"
"行维护系统安全时才使用此级别。"

#: 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 ""
"标准安全级别: \n"
"推荐在作为客户连接互联网的电脑上使用。"

#: 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 ""
"使用这个安全级别, 此系统可以作为服务器使用。\n"
"拥有足够的安全性, 系统可以作为服务器接受来自众多客户的连接。注意: 如果您的机"
"器不在互联网上提供服务, 请选择一个较低级别。"

#: security/level.pm:63
#, c-format
msgid "DrakSec Basic Options"
msgstr "“Drak 安全管理”基本选项"

#: security/level.pm:66
#, c-format
msgid "Please choose the desired security level"
msgstr "请选择期望的安全级别"

#. -PO: this string is used to properly format "<security level>: <level description>"
#: security/level.pm:70
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: security/level.pm:73
#, c-format
msgid "Security Administrator:"
msgstr "安全管理员:"

#: 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 "启动 ALSA(高级 Linux 声音体系)声音系统"

#: services.pm:20
#, c-format
msgid "Anacron is a periodic command scheduler."
msgstr "Anacron 一个命令定期调度程序。"

#: services.pm:21
#, c-format
msgid ""
"apmd is used for monitoring battery status and logging it via syslog.\n"
"It can also be used for shutting down the machine when the battery is low."
msgstr ""
"apmd 监视电池状态, 并通过 syslog 作记录。\n"
"它还能用来在电池不足时关闭机器。"

#: services.pm:23
#, c-format
msgid ""
"Runs commands scheduled by the at command at the time specified when\n"
"at was run, and runs batch commands when the load average is low enough."
msgstr ""
"使用 at 命令可以在指定时间运行您的命令。\n"
"还可以在平均负载足够低的时候运行批处理命令。"

#: services.pm:25
#, c-format
msgid "Avahi is a ZeroConf daemon which implements an mDNS stack"
msgstr ""

#: services.pm:26
#, c-format
msgid "An NTP client/server"
msgstr ""

#: services.pm:27
#, c-format
msgid "Set CPU frequency settings"
msgstr ""

#: services.pm:28
#, c-format
msgid ""
"cron is a standard UNIX program that runs user-specified programs\n"
"at periodic scheduled times. vixie cron adds a number of features to the "
"basic\n"
"UNIX cron, including better security and more powerful configuration options."
msgstr ""
"cron 是一个标准的 UNIX 程序, 它可以定期的执行用户指定的程序。\n"
"vixie cron 在基本的 UNIX cron 上增加了一些特性, 包括改进的安全性, \n"
"和更强大的配置选项。"

#: services.pm:31
#, c-format
msgid ""
"Common UNIX Printing System (CUPS) is an advanced printer spooling system"
msgstr "CUPS 是高级打印机管理系统"

#: services.pm:32
#, c-format
msgid "Launches the graphical display manager"
msgstr "调用图形化显示服务器"

#: services.pm:33
#, c-format
msgid ""
"FAM is a file monitoring daemon. It is used to get reports when files "
"change.\n"
"It is used by GNOME and KDE"
msgstr ""
"FAM 是文件监视守护程序。它可在文件发生变化时给出报告。\n"
"GNOME 和 KDE 都要使用它"

#: services.pm:35
#, 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:40
#, c-format
msgid ""
"GPM adds mouse support to text-based Linux applications such the\n"
"Midnight Commander. It also allows mouse-based console cut-and-paste "
"operations,\n"
"and includes support for pop-up menus on the console."
msgstr ""
"GPM 为基于文本的 Linux 应用程序提供对鼠标的支持, 如 MC 命令解释器。\n"
"它同时提供了利用鼠标的控制台复制并粘贴操作, 还支持控制台上的弹出式\n"
"菜单。"

#: services.pm:43
#, c-format
msgid "HAL is a daemon that collects and maintains information about hardware"
msgstr "HAL 守护程序将收集并维护关于硬件的信息"

#: services.pm:44
#, c-format
msgid ""
"HardDrake runs a hardware probe, and optionally configures\n"
"new/changed hardware."
msgstr "HardDrake 进行硬件检测, 还可以配置新增/变化的硬件。"

#: services.pm:46
#, c-format
msgid ""
"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr "Apache 是一台万维网服务器。它提供 HTML 文件和 CGI 等服务。"

#: services.pm:47
#, c-format
msgid ""
"The internet superserver daemon (commonly called inetd) starts a\n"
"variety of other internet services as needed. It is responsible for "
"starting\n"
"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
"disables\n"
"all of the services it is responsible for."
msgstr ""
"超级互联网后台服务器(常称作 inetd)在需要时启动各种其它的互联网服务。\n"
"它负责响应多种服务, 包括 telnet、ftp、rsh 和 rlogin。\n"
"禁止 inetd 就同时禁止了它负责的所有服务。"

#: services.pm:51
#, c-format
msgid "Automates a packet filtering firewall with ip6tables"
msgstr ""

#: services.pm:52
#, c-format
msgid "Automates a packet filtering firewall with iptables"
msgstr ""

#: services.pm:53
#, c-format
msgid ""
"Evenly distributes IRQ load across multiple CPUs for enhanced performance"
msgstr ""

#: services.pm:54
#, c-format
msgid ""
"This package loads the selected keyboard map as set in\n"
"/etc/sysconfig/keyboard.  This can be selected using the kbdconfig utility.\n"
"You should leave this enabled for most machines."
msgstr ""
"这个程序按照 /etc/sysconfig/keyboard 的设定加载选择的键盘映射。\n"
"您可以使用 kbdconfig 工具修改这个设定。对大多数机器, 应该开启这个服务。"

#: services.pm:57
#, c-format
msgid ""
"Automatic regeneration of kernel header in /boot for\n"
"/usr/include/linux/{autoconf,version}.h"
msgstr ""
"自动重新生成 /boot 下的\n"
"/usr/include/linux/{autoconf,version}.h 头文件"

#: services.pm:59
#, c-format
msgid "Automatic detection and configuration of hardware at boot."
msgstr "启动时自动监测和配置硬件。"

#: services.pm:60
#, c-format
msgid "Tweaks system behavior to extend battery life"
msgstr ""

#: services.pm:61
#, c-format
msgid ""
"Linuxconf will sometimes arrange to perform various tasks\n"
"at boot-time to maintain the system configuration."
msgstr "Linuxconf 在开机时会执行一些任务来维护系统配置。"

#: services.pm:63
#, c-format
msgid ""
"lpd is the print daemon required for lpr to work properly. It is\n"
"basically a server that arbitrates print jobs to printer(s)."
msgstr ""
"lpd 是保证 lpr 正常工作的后台打印服务。这个服务器的基本功能是\n"
"把打印服务指引到相应的打印机。"

#: services.pm:65
#, c-format
msgid ""
"Linux Virtual Server, used to build a high-performance and highly\n"
"available server."
msgstr "Linux 虚拟服务器, 用来构架高效和高可用系统。"

#: services.pm:67
#, c-format
msgid "Monitors the network (Interactive Firewall and wireless"
msgstr ""

#: services.pm:68
#, c-format
msgid "Software RAID monitoring and management"
msgstr ""

#: services.pm:69
#, c-format
msgid ""
"DBUS is a daemon which broadcasts notifications of system events and other "
"messages"
msgstr "DBUS 守护程序将广播通知系统事件以及其它消息"

#: services.pm:70
#, c-format
msgid "Enables MSEC security policy on system startup"
msgstr ""

#: services.pm:71
#, c-format
msgid ""
"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
"names to IP addresses."
msgstr "named(BIND) 是一个域名服务器(DNS), 用来把主机名解析成 IP 地址。"

#: services.pm:72
#, c-format
msgid "Initializes network console logging"
msgstr ""

#: services.pm:73
#, c-format
msgid ""
"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
"Manager/Windows), and NCP (NetWare) mount points."
msgstr ""
"加载和卸载所有网络文件系统(NFS), SMB(Lan\n"
"Manager/Windows), 和 NCP(NetWare)加载点。"

#: services.pm:75
#, c-format
msgid ""
"Activates/Deactivates all network interfaces configured to start\n"
"at boot time."
msgstr "激活/禁止所有配置为开机就启动的网络接口。"

#: services.pm:77
#, c-format
msgid "Requires network to be up if enabled"
msgstr ""

#: services.pm:78
#, c-format
msgid "Wait for the hotplugged network to be up"
msgstr ""

#: services.pm:79
#, c-format
msgid ""
"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
"This service provides NFS server functionality, which is configured via the\n"
"/etc/exports file."
msgstr ""
"NFS 是常用的通过 TCP/IP 网络共享文件的协议。\n"
"这个服务提供了 NFS 服务器功能, 可以通过\n"
"/etc/exports 文件配置。"

#: services.pm:82
#, c-format
msgid ""
"NFS is a popular protocol for file sharing across TCP/IP\n"
"networks. This service provides NFS file locking functionality."
msgstr ""
"NFS 是常用的通过 TCP/IP 网络共享文件的协议。\n"
"这个服务提供了 NFS 文件锁定功能。"

#: services.pm:84
#, c-format
msgid "Synchronizes system time using the Network Time Protocol (NTP)"
msgstr "使用网络时间协议(NTP)同步系统时间"

#: services.pm:85
#, c-format
msgid ""
"Automatically switch on numlock key locker under console\n"
"and Xorg at boot."
msgstr "开机时为控制台和 Xorg 自动设置 NumLock。"

#: services.pm:87
#, c-format
msgid "Support the OKI 4w and compatible winprinters."
msgstr "支持 OKI 4w 及其兼容的视窗打印机。"

#: services.pm:88
#, c-format
msgid "Checks if a partition is close to full up"
msgstr ""

#: services.pm:89
#, c-format
msgid ""
"PCMCIA support is usually to support things like ethernet and\n"
"modems in laptops.  It will not get started unless configured so it is safe "
"to have\n"
"it installed on machines that do not need it."
msgstr ""
"PCMCIA 支持通常用于在笔记本电脑中添加\n"
"以太网卡或者调制解调器。如果没有配置它不会启动, \n"
"所以不必担心它。"

#: services.pm:92
#, c-format
msgid ""
"The portmapper manages RPC connections, which are used by\n"
"protocols such as NFS and NIS. The portmap server must be running on "
"machines\n"
"which act as servers for protocols which make use of the RPC mechanism."
msgstr ""
"portmapper 管理各种 RPC 连接, 像 NFS 和 NIS 这些协议会用到它。\n"
"如果您的电脑将要提供利用用 RPC 机制协议的服务, 就必须运行 portmap 服务器。"

#: services.pm:95
#, c-format
msgid "Reserves some TCP ports"
msgstr ""

#: services.pm:96
#, c-format
msgid ""
"Postfix is a Mail Transport Agent, which is the program that moves mail from "
"one machine to another."
msgstr ""
"Postfix 是一个邮件传递代理, 这个程序帮助您把电子邮件从\n"
"一台机器送到另一台。"

#: services.pm:97
#, c-format
msgid ""
"Saves and restores system entropy pool for higher quality random\n"
"number generation."
msgstr "保存和恢复系统的熵池, 可以产生更高品质的随机数。"

#: services.pm:99
#, 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 ""
"将 RAW 设备指定为块设备(如硬盘分区), \n"
"以便供 Oracle 或 DVD 播放机之类的程序使用"

#: services.pm:101
#, c-format
msgid "Nameserver information manager"
msgstr ""

#: services.pm:102
#, c-format
msgid ""
"The routed daemon allows for automatic IP router table updated via\n"
"the RIP protocol. While RIP is widely used on small networks, more complex\n"
"routing protocols are needed for complex networks."
msgstr ""
"后台服务 routed 允许通过 RIP 协议自动更新的 IP 路由表。在小型网络上广泛的\n"
"采用 RIP, 然而在更复杂的网络上需要更复杂的路由协议。"

#: services.pm:105
#, c-format
msgid ""
"The rstat protocol allows users on a network to retrieve\n"
"performance metrics for any machine on that network."
msgstr "rstat 协议允许网络上的用户获取网络上任何机器的性能指标。"

#: services.pm:107
#, 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 ""

#: services.pm:108
#, c-format
msgid ""
"The rusers protocol allows users on a network to identify who is\n"
"logged in on other responding machines."
msgstr "rusers 协议允许网络上的用户确认在其它作出应答的机器上有哪些用户登录。"

#: services.pm:110
#, c-format
msgid ""
"The rwho protocol lets remote users get a list of all of the users\n"
"logged into a machine running the rwho daemon (similar to finger)."
msgstr ""
"rwho 协议使远程的用户可以得到运行了 rwho 后台服务的\n"
"机器上所有登录用户的清单(类似 finger)。"

#: services.pm:112
#, c-format
msgid ""
"SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..."
msgstr "SANE 允许访问扫描仪、摄像头等设备。"

#: services.pm:113
#, c-format
msgid "Packet filtering firewall"
msgstr ""

#: services.pm:114
#, c-format
msgid "Packet filtering firewall for IPv6"
msgstr ""

#: services.pm:115
#, c-format
msgid ""
"The SMB/CIFS protocol enables to share access to files & printers and also "
"integrates with a Windows Server domain"
msgstr "SMB/CIFS 协议用户访问共享的文件和打印机,并且与 Windows Server 域集成"

#: services.pm:116
#, c-format
msgid "Launch the sound system on your machine"
msgstr "启动计算机上的声音系统"

#: services.pm:117
#, c-format
msgid "layer for speech analysis"
msgstr ""

#: services.pm:118
#, c-format
msgid ""
"Secure Shell is a network protocol that allows data to be exchanged over a "
"secure channel between two computers"
msgstr "安全 Shell (SSH)网络协议允许在两台计算机之间通过安全通道交换数据"

#: services.pm:119
#, c-format
msgid ""
"Syslog is the facility by which many daemons use to log messages\n"
"to various system log files.  It is a good idea to always run syslog."
msgstr ""
"Syslog 是这样一个设施, 很多其它的后台服务利用它在各种系统日志文件\n"
"中记录日志消息。一直运行 syslog 是个好主意。"

#: services.pm:121
#, c-format
msgid "Moves the generated persistent udev rules to /etc/udev/rules.d"
msgstr ""

#: services.pm:122
#, c-format
msgid "Load the drivers for your usb devices."
msgstr "装入您 USB 设备的驱动程序。"

#: services.pm:123
#, c-format
msgid "A lightweight network traffic monitor"
msgstr ""

#: services.pm:124
#, c-format
msgid "Starts the X Font Server."
msgstr "启动 X 字体服务器。"

#: services.pm:125
#, c-format
msgid "Starts other deamons on demand."
msgstr "按需启动其它守护程序。"

#: services.pm:154
#, c-format
msgid "Printing"
msgstr "打印"

#: services.pm:157
#, c-format
msgid "Internet"
msgstr "互联网"

#: services.pm:162
#, c-format
msgid ""
"_: Keep these entry short\n"
"Networking"
msgstr "联网"

#: services.pm:164
#, c-format
msgid "System"
msgstr "系统"

#: services.pm:170
#, c-format
msgid "Remote Administration"
msgstr "远程管理"

#: services.pm:179
#, c-format
msgid "Database Server"
msgstr "数据库服务器"

#: services.pm:190 services.pm:227
#, c-format
msgid "Services"
msgstr "服务"

#: services.pm:190
#, c-format
msgid "Choose which services should be automatically started at boot time"
msgstr "选择开机时自动启动的服务"

#: services.pm:208
#, c-format
msgid "%d activated for %d registered"
msgstr "%2$d 项已注册, %1$d 项已激活"

#: services.pm:231
#, c-format
msgid "running"
msgstr "运行中"

#: services.pm:231
#, c-format
msgid "stopped"
msgstr "已停止"

#: services.pm:236
#, c-format
msgid "Services and daemons"
msgstr "服务和守护程序"

#: services.pm:242
#, c-format
msgid ""
"No additional information\n"
"about this service, sorry."
msgstr "没有该服务的附加信息。"

#: services.pm:249
#, c-format
msgid "Start when requested"
msgstr "请求时启动"

#: services.pm:249
#, c-format
msgid "On boot"
msgstr "启动时"

#: services.pm:266
#, c-format
msgid "Start"
msgstr "启动"

#: services.pm:266
#, c-format
msgid "Stop"
msgstr "停止"

#: standalone.pm:27
#, 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 ""
"这个程序是自由软件;您可以重新发布, 或修改它, 只要您遵守来自 Free Software\n"
" Foundation 自由软件基金会的 GNU General Public License 通用公共许可证第 2\n"
" 版, 或者更新的版本。\n"
"\n"
"我们发行这个软件是希望它有用, 但是不提供任何担保;不保证它适合任何普通或特\n"
"定的用途。细节见 GNU General Public License 通用公共许可证。\n"
"\n"
"您应该随同本软件得到一份 GNU General Public License 通用公共许可证;如果没\n"
"有, 请写信给自由软件基金会, 地址是 Free Software Foundation, Inc., \n"
"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"

#: standalone.pm:46
#, c-format
msgid ""
"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
"Backup and Restore application\n"
"\n"
"--default             : save default directories.\n"
"--debug               : show all debug messages.\n"
"--show-conf           : list of files or directories to backup.\n"
"--config-info         : explain configuration file options (for non-X "
"users).\n"
"--daemon              : use daemon configuration. \n"
"--help                : show this message.\n"
"--version             : show version number.\n"
msgstr ""
"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
"备份和恢复程序\n"
"\n"
"--default             :保存默认目录。\n"
"--debug               :显示全部调试信息。\n"
"--show-conf           :列出要备份的文件或目录。\n"
"--config-info         :解释配置文件选项(对非 X 用户)。\n"
"--daemon              :使用守护程序设置。\n"
"--help                :显示此信息。\n"
"--version             :显示版本号。\n"

#: standalone.pm:58
#, c-format
msgid ""
"[--boot]\n"
"OPTIONS:\n"
"  --boot            - enable to configure boot loader\n"
"default mode: offer to configure autologin feature"
msgstr ""
"[--boot]\n"
"选项:\n"
"  --boot            - 启用配置引导程序\n"
"默认模式: 可配置自动登录特性"

#: standalone.pm:62
#, 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 ""

#: standalone.pm:68
#, c-format
msgid ""
"[--add]\n"
"  --add             - \"add a network interface\" wizard\n"
"  --del             - \"delete a network interface\" wizard\n"
"  --skip-wizard     - manage connections\n"
"  --internet        - configure internet\n"
"  --wizard          - like --add"
msgstr ""
"[--add]\n"
"  --add             - “添加网卡”向导\n"
"  --del             - “删除网卡”向导\n"
"  --skip-wizard     - 管理连接\n"
"  --internet        - 配置 Internet\n"
"  --wizard          - 同 --add"

#: standalone.pm:74
#, c-format
msgid ""
"\n"
"Font Importation and monitoring application\n"
"\n"
"OPTIONS:\n"
"--windows_import : import from all available windows partitions.\n"
"--xls_fonts      : show all fonts that already exist from xls\n"
"--install        : accept any font file and any directory.\n"
"--uninstall      : uninstall any font or any directory of font.\n"
"--replace        : replace all font if already exist\n"
"--application    : 0 none application.\n"
"                 : 1 all application available supported.\n"
"                 : name_of_application like  so for staroffice \n"
"                 : and gs for ghostscript for only this one."
msgstr ""
"\n"
"字体导入和监视程序\n"
"\n"
"选项:\n"
"--windows_import :从所有可用的 Windows 分区中导入字体。\n"
"--xls_fonts      :显示已经存在于 xls 中的全部字体\n"
"--install        :接受任何字体文件和任何目录。\n"
"--uninstall      :卸载任何字体或任何字体目录。\n"
"--replace        :若字体存在则替换\n"
"--application    :0 无应用程序。\n"
"                 :1 支持所有应用程序。\n"
"                 :应用程序名, 如 so 代表 staroffice \n"
"                 :gs 代表 ghostscript, 仅在此处可用。"

#: standalone.pm:89
#, 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 ""

#: standalone.pm:101
#, c-format
msgid "[keyboard]"
msgstr "[键盘]"

#: standalone.pm:102
#, c-format
msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"

#: standalone.pm:103
#, c-format
msgid ""
"[OPTIONS]\n"
"Network & Internet connection and monitoring application\n"
"\n"
"--defaultintf interface : show this interface by default\n"
"--connect : connect to internet if not already connected\n"
"--disconnect : disconnect to internet if already connected\n"
"--force : used with (dis)connect : force (dis)connection.\n"
"--status : returns 1 if connected 0 otherwise, then exit.\n"
"--quiet : do not be interactive. To be used with (dis)connect."
msgstr ""
"[选项]\n"
"网络和互联网连接配置和监视程序\n"
"\n"
"--defaultintf interface: 默认显示此界面\n"
"--connect: 如果没有连接到互联网则连接\n"
"--disconnect: 如果已经连接到互联网则断开\n"
"--force: 用于连接/断开: 强制连接/断开。\n"
"--status: 如果连接则返回 1 否则返回 0, 然后退出。\n"
"--quiet: 不进行交互。用于断开连接。"

#: standalone.pm:113
#, 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 ""

#: standalone.pm:118
#, 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:119
#, c-format
msgid ""
" [everything]\n"
"       XFdrake [--noauto] monitor\n"
"       XFdrake resolution"
msgstr ""
" [所有内容]\n"
"       XFdrake [--noauto] 显示器\n"
"       XFdrake 分辨率"

#: standalone.pm:156
#, c-format
msgid ""
"\n"
"Usage: %s  [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
"testing] [-v|--version] "
msgstr ""
"\n"
"用法:%s  [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] "
"[-v|--version] "

#: timezone.pm:170 timezone.pm:171
#, c-format
msgid "All servers"
msgstr "全部服务器"

#: timezone.pm:207
#, c-format
msgid "Global"
msgstr "全球"

#: timezone.pm:210
#, c-format
msgid "Africa"
msgstr "非洲"

#: timezone.pm:211
#, c-format
msgid "Asia"
msgstr "亚洲"

#: timezone.pm:212
#, c-format
msgid "Europe"
msgstr "欧洲"

#: timezone.pm:213
#, c-format
msgid "North America"
msgstr "北美洲"

#: timezone.pm:214
#, c-format
msgid "Oceania"
msgstr "大洋洲"

#: timezone.pm:215
#, c-format
msgid "South America"
msgstr "南美洲"

#: timezone.pm:224
#, c-format
msgid "Hong Kong"
msgstr "香港"

#: timezone.pm:261
#, c-format
msgid "Russian Federation"
msgstr "俄联邦"

#: timezone.pm:269
#, c-format
msgid "Yugoslavia"
msgstr "南斯拉夫"

#: ugtk2.pm:810 ugtk3.pm:908
#, c-format
msgid "Is this correct?"
msgstr "这样正确吗?"

#: ugtk2.pm:872 ugtk3.pm:970
#, c-format
msgid "You have chosen a file, not a directory"
msgstr "您选择了文件,而非目录"

#: ugtk2.pm:922 ugtk3.pm:1020
#, c-format
msgid "Info"
msgstr "信息"

#: wizards.pm:95
#, c-format
msgid ""
"%s is not installed\n"
"Click \"Next\" to install or \"Cancel\" to quit"
msgstr ""
"%s 未安装\n"
"请点击“下一步”进行安装, 或者点击“取消”退出"

#: wizards.pm:99
#, c-format
msgid "Installation failed"
msgstr "安装失败"

#~ msgid "Please Wait... Applying the configuration"
#~ msgstr "请稍候...正在应用配置"

#~ msgid ""
#~ "OSS (Open Sound System) was the first sound API. It's an OS independent "
#~ "sound API (it's available on most UNIX(tm) systems) but it's a very basic "
#~ "and limited API.\n"
#~ "What's more, OSS drivers all reinvent the wheel.\n"
#~ "\n"
#~ "ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
#~ "which\n"
#~ "supports quite a large range of ISA, USB and PCI cards.\n"
#~ "\n"
#~ "It also provides a much higher API than OSS.\n"
#~ "\n"
#~ "To use alsa, one can either use:\n"
#~ "- the old compatibility OSS API\n"
#~ "- the new ALSA API that provides many enhanced features but requires "
#~ "using the ALSA library.\n"
#~ msgstr ""
#~ "OSS(开放声音系统)是第一个声音 API。这是一个与操作系统无关的声音 API(在绝大"
#~ "多数 UNIX 系统可用), 但是它非常基础且 API 也受到很大限制。\n"
#~ "更重要的是, OSS 驱动程序需要彻底的重新开发。\n"
#~ "\n"
#~ "ALSA(高级 Linux 声音体系)是一个模块化架构, 它支持大量的 ISA、USB 和 PCI 声"
#~ "卡。\n"
#~ "\n"
#~ "它提供的 API 比 OSS 高级得多。\n"
#~ "\n"
#~ "要使用 alsa, 您可以获得:\n"
#~ "- 与旧的 OSS 兼容的 API\n"
#~ "- 新的 ALSA API 带来许多增强特性, 但这需要使用 ALSA 库。\n"

#~ msgid "Driver:"
#~ msgstr "驱动程序: "

#~ msgid "Let me pick any driver"
#~ msgstr "让我挑选任意驱动"

#~ msgid "Choosing an arbitrary driver"
#~ msgstr "选择其它驱动"