summaryrefslogtreecommitdiffstats
path: root/perl-install/diskdrake/interactive.pm
blob: 3ecdcb317ec9e00d78ca67f64ea17c5a6f24248b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
package diskdrake::interactive; # $Id$

use diagnostics;
use strict;
use utf8;

use common;
use fs::type;
use fs::loopback;
use fs::format;
use fs::mount_options;
use fs;
use partition_table;
use partition_table::raw;
use detect_devices;
use run_program;
use devices;
use fsedit;
use raid;
use any;
use log;


=begin

=head1 SYNOPSYS

struct part {
  int active            # one of { 0 | 0x80 }  x86 only, primary only
  int start             # in sectors
  int size              # in sectors
  int pt_type           # 0x82, 0x83, 0x6 ...
  string fs_type        # 'ext2', 'nfs', ...
  string type_name      # 'Linux RAID', 'Linux Logical Volume Manager', ...

  int part_number       # 1 for hda1...
  string device         # 'hda5', 'sdc1' ...
  string device_LABEL   # volume label. LABEL=xxx or /dev/disk/by-label/xxx can be used in fstab instead of the device
  string device_UUID    # volume UUID. UUID=xxx or /dev/disk/by-uuid/xxx can be used in fstab instead of the device
  bool prefer_device_LABEL # should the {device_LABEL} or the {device} be used in fstab
  bool prefer_device_UUID # should the {device_UUID} or the {device} be used in fstab
  bool prefer_device    # should the {device} be used in fstab
  bool faked_device     # false if {device} is a real device, true for nfs/smb/dav/none devices. If the field does not exist, we do not know
  bool device_LABEL_changed # true if device_LABEL is different from the one on the disk

  string rootDevice     # 'sda', 'hdc' ... (can also be a VG_name)
  string real_mntpoint  # directly on real /, '/tmp/hdimage' ...
  string mntpoint       # '/', '/usr' ...
  string options        # 'defaults', 'noauto'
  string device_windobe # 'C', 'D' ...
  string encrypt_key    # [0-9A-Za-z./]{20,}
  string comment        # comment to have in fstab
  string volume_label   #

  bool is_removable     # is the partition on a removable drive
  bool isMounted

  bool isFormatted
  bool notFormatted
    #  isFormatted                  means the device is formatted
    # !isFormatted &&  notFormatted means the device is not formatted
    # !isFormatted && !notFormatted means we do not know which state we're in

  string raid       # for partitions of type isRawRAID and which isPartOfRAID, the raid device
  string lvm        # partition used as a PV for the VG with {lvm} as VG_name  #-#
  loopback loopback[]   # loopback living on this partition

  string dmcrypt_key
  string dm_name
  bool dm_active

  # internal
  string real_device     # '/dev/loop0', '/dev/loop1' ... (used for encrypted loopback)

  # internal CHS (Cylinder/Head/Sector)
  int start_cyl, start_head, start_sec, end_cyl, end_head, end_sec,
}

struct part_allocate inherits part {
  int maxsize        # in sectors (alike "size")
  int min_hd_size    # in sectors (do not allocate if the drive is smaller than the given size)
  int ratio          #
  string hd          # 'hda', 'hdc'
  string parts       # for creating raid partitions. eg: 'foo bar' where 'foo' and 'bar' are mntpoint
}

struct part_raid inherits part {
  string chunk-size  # in KiB, usually '64'
  string level       # one of { 0, 1, 4, 5, 'linear' }
  string UUID

  part disks[]

  # invalid: active, start, rootDevice, device_windobe?, CHS
}

struct part_dmcrypt inherits part {
  string dmcrypt_name

  # rootDevice is special here: it is the device hosting the dm
}

struct part_loopback inherits part {
  string loopback_file   # absolute file name which is relative to the partition
  part loopback_device   # where the loopback file live

  # device is special here: it is the absolute filename of the loopback file.

  # invalid: active, start, rootDevice, device_windobe, CHS
}

struct part_lvm inherits part {
  # invalid: active, start, device_windobe, CHS
  string lv_name
}


struct partition_table_elem {
  part normal[]     #
  part extended     # the main/next extended
  part raw[4]       # primary partitions
}

struct geom {
  int heads
  int sectors
  int cylinders
  int totalcylinders # for SUN, forget it
  int start          # always 0, forget it
}

struct hd {
  int totalsectors      # size in sectors
  string device         # 'hda', 'sdc' ...
  string device_alias   # 'cdrom', 'floppy' ...
  string media_type     # one of { 'hd', 'cdrom', 'fd', 'tape' }
  string capacity       # contain of the strings of { 'burner', 'DVD' }
  string info           # name of the hd, eg: 'QUANTUM ATLAS IV 9 WLS'

  bool readonly         # is it allowed to modify the partition table
  bool getting_rid_of_readonly_allowed # is it forbidden to write because the partition table is badly handled, or is it because we MUST not change the partition table
  bool isDirty          # does it need to be written to the disk
  list will_tell_kernel # list of actions to tell to the kernel so that it knows the new partition table
  bool rebootNeeded     # happens when a kernel reread failed
  list partitionsRenumbered # happens when you
                            # - remove an extended partition which is not the last one
                            # - add an extended partition which is the first extended partition
  list allPartitionsRenumbered # used to update bootloader configuration
  int bus, id

  bool is_removable     # is it a removable drive

  partition_table_elem primary
  partition_table_elem extended[]

  geom geom

  # internal
  string prefix         # for some RAID arrays device=>c0d0 and prefix=>c0d0p
  string file           # '/dev/hda' ...
}

struct hd_lvm inherits hd {
  int PE_size           # block size (granularity, similar to cylinder size on x86)
  string VG_name        # VG name

  part_lvm disks[]

  # invalid: bus, id, extended, geom
}

struct raw_hd inherits hd {
  string fs_type       # 'ext2', 'nfs', ...
  string mntpoint   # '/', '/usr' ...
  string options    # 'defaults', 'noauto'

  # invalid: isDirty, will_tell_kernel, rebootNeeded, primary, extended
}

struct all_hds {
  hd hds[]
  hd_lvm lvms[]
  part_raid raids[]
  part_dmcrypt dmcrypts[]
  part_loopback loopbacks[]
  raw_hd raw_hds[]
  raw_hd nfss[]
  raw_hd smbs[]
  raw_hd davs[]
  raw_hd special[]

  # internal: if fstab_to_string($all_hds) eq current_fstab then no need to save
  string current_fstab
}


=cut


sub main {
    my ($in, $all_hds, $do_force_reload) = @_;

    if ($in->isa('interactive::gtk')) {
	require diskdrake::hd_gtk;
	goto &diskdrake::hd_gtk::main;
    }

    my ($current_part, $current_hd);

    while (1) {
	my $choose_txt = $current_part ? N_("Choose another partition") : N_("Choose a partition");
	my $parts_and_holes = [ fs::get::fstab_and_holes($all_hds) ];
	my $choose_part = sub {
	    $current_part = $in->ask_from_listf('diskdrake', translate($choose_txt),
						sub {
						    my $hd = fs::get::part2hd($_[0] || return, $all_hds);
						    format_part_info_short($hd, $_[0]);
						}, $parts_and_holes, $current_part) || return;
	    $current_hd = fs::get::part2hd($current_part, $all_hds);
	};

	$choose_part->() if !$current_part;
	return if !$current_part;

	my %actions = my @actions = (
            if_($current_part,
          (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $current_part, $all_hds) } } part_possible_actions($in, $current_hd, $current_part, $all_hds)),
		'____________________________' => sub {},
            ),
            if_(@$parts_and_holes > 1, $choose_txt => $choose_part),
	    if_($current_hd,
	  (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $all_hds) } } hd_possible_actions_interactive($in, $current_hd, $all_hds)),
	    ),
	  (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $all_hds) } } general_possible_actions($in, $all_hds)),
        );
	my ($actions) = list2kv(@actions);
	my $a;
	if ($current_part) {
	    $in->ask_from_({
			    cancel => N("Exit"),
			    title => 'diskdrake',
			    messages => format_part_info($current_hd, $current_part),
			   },
			   [ { val => \$a, list => $actions, format => \&translate, type => 'list', sort => 0, gtk => { use_boxradio => 0 } } ]) or last;
	    my $v = eval { $actions{$a}() };
	    if (my $err = $@) {
		$in->ask_warn(N("Error"), formatError($err));
	    }
	    if ($v eq 'force_reload') {
		$all_hds = $do_force_reload->();
	    }
	    $current_hd = $current_part = '' if !is_part_existing($current_part, $all_hds);
	} else {
	    $choose_part->();
	}
	partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
    }
    return if eval { Done($in, $all_hds) };
    if (my $err = $@) {
    	$in->ask_warn(N("Error"), formatError($err));
    }
    goto &main;
}




################################################################################
# general actions
################################################################################
sub general_possible_actions {
    my ($_in, $_all_hds) = @_;
    if_($::isInstall, N_("More"));
}

sub Done {
    my ($in, $all_hds) = @_;
    eval { raid::verify($all_hds->{raids}) };
    if (my $err = $@) {
	$::expert or die;
	$in->ask_okcancel(N("Confirmation"), [ formatError($err), N("Continue anyway?") ]) or return;
    }
    foreach (@{$all_hds->{hds}}) {
	if (!write_partitions($in, $_, 'skip_check_rebootNeeded')) {
	    return if !$::isStandalone;
	    $in->ask_yesorno(N("Quit without saving"), N("Quit without writing the partition table?"), 1) or return;
	}
    }
    foreach (@{$all_hds->{raids}}) {
        raid::make($all_hds->{raids}, $_);
    }
    if (!$::isInstall) {
	my $new = fs::fstab_to_string($all_hds);
	if ($new ne $all_hds->{current_fstab} && $in->ask_yesorno(N("Confirmation"), N("Do you want to save /etc/fstab modifications"), 1)) {
	    $all_hds->{current_fstab} = $new;
	    fs::write_fstab($all_hds);
	}
	update_bootloader_for_renumbered_partitions($in, $all_hds);

	if (any { $_->{rebootNeeded} } @{$all_hds->{hds}}) {
	    $in->ask_warn(N("Partitioning"), N("You need to reboot for the partition table modifications to take place"));
	    tell_wm_and_reboot();
	}
    }
    if (my $part = find { $_->{mntpoint} && !maybeFormatted($_) } fs::get::fstab($all_hds)) {
	$in->ask_okcancel(N("Warning"), N("You should format partition %s.
Otherwise no entry for mount point %s will be written in fstab.
Quit anyway?", $part->{device}, $part->{mntpoint})) or return if $::isStandalone;
    }
    1;
}

################################################################################
# per-hd actions
################################################################################
sub hd_possible_actions_base {
    my ($hd) = @_;
    (
     if_(!$hd->{readonly} || $hd->{getting_rid_of_readonly_allowed}, N_("Clear all")),
     if_(!$hd->{readonly} && $::isInstall, N_("Auto allocate")),
    );
}

sub hd_possible_actions_extra {
    my ($_hd) = @_;
    $::expert ? N_("Toggle to normal mode") : N_("Toggle to expert mode");
}


sub hd_possible_actions {
    my ($_in, $hd, $_all_hds) = @_;
    hd_possible_actions_base($hd);
    hd_possible_actions_extra($hd);
}

sub hd_possible_actions_interactive {
    my ($_in, $_hd, $_all_hds) = @_;
    &hd_possible_actions, N_("Hard drive information");
}

sub Clear_all {
    my ($in, $hd, $all_hds) = @_;
    return if detect_devices::is_xbox(); #- do not let them wipe the OS
    my @parts = partition_table::get_normal_parts($hd);
    foreach (@parts) {
	RemoveFromLVM($in, $hd, $_, $all_hds) if isPartOfLVM($_);
	RemoveFromRAID($in, $hd, $_, $all_hds) if isPartOfRAID($_);
	RemoveFromDm($in, $hd, $_, $all_hds) if $_->{dm_active};
    }
    if (isLVM($hd)) {
	lvm::lv_delete($hd, $_) foreach @parts;
    } else {
	$hd->{readonly} = 0; #- give a way out of readonly-ness. only allowed when getting_rid_of_readonly_allowed
	$hd->{getting_rid_of_readonly_allowed} = 0; #- we don't need this flag anymore
	fsedit::partition_table_clear_and_initialize($all_hds->{lvms}, $hd, $in);
    }
}

sub Auto_allocate {
    my ($in, $hd, $all_hds) = @_;
    my $suggestions = partitions_suggestions($in) or return;

    my %all_hds_ = %$all_hds;
    $all_hds_{hds} = [ sort { $a == $hd ? -1 : 1 } fs::get::hds($all_hds) ];

    eval { fsedit::auto_allocate(\%all_hds_, $suggestions) };
    if ($@) {
	$@ =~ /partition table already full/ or die;

	$in->ask_warn("", [
			   N("All primary partitions are used"),
			   N("I can not add any more partitions"),
			   N("To have more partitions, please delete one to be able to create an extended partition"),
			  ]);
    }
}

sub More {
    my ($in, $_hd) = @_;

    my $r;
    $in->ask_from(N("More"), '',
	    [
	     { val => N("Reload partition table"), clicked_may_quit => sub { $r = 'force_reload'; 1 } },
	    ],
    ) && $r;
}

sub Hd_info {
    my ($in, $hd) = @_;
    $in->ask_warn(N("Warning"), [ N("Detailed information"), format_hd_info($hd) ]);
}

################################################################################
# per-part actions
################################################################################

sub part_possible_actions {
    my ($_in, $hd, $part, $all_hds) = @_;
    $part or return;

    my %actions = my @l = (
        N_("View")             => '!isSwap && !isNonMountable && maybeFormatted',
        N_("Mount point")      => '$part->{real_mntpoint} || (!isBusy && !isSwap && !isNonMountable)',
        N_("Type")             => '!isBusy && $::expert && (!readonly || $part->{pt_type} == 0x83)',
        N_("Options")          => '!isSwap($part) && !isNonMountable && $::expert',
        N_("Label")            => '!isNonMountable && $::expert && fs::format::canEditLabel($part)',
        N_("Resize")	       => '!isBusy && !readonly && !isSpecial || isLVM($hd) && LVM_resizable',
        N_("Format")           => '!isBusy && !isRawLVM && !isPartOfLVM && (!readonly && ($::expert || $::isStandalone) || fs::type::isRawLUKS($part))',
        N_("Mount")            => '!isBusy && (hasMntpoint || isSwap) && maybeFormatted && ($::expert || $::isStandalone)',
        N_("Add to RAID")      => '!isBusy && isRawRAID && (!isSpecial || isRAID)',
        N_("Add to LVM")       => '!isBusy && isRawLVM',
        N_("Use")              => '!isBusy && fs::type::isRawLUKS($part) && !$part->{notFormatted}',
        N_("Unmount")          => '!$part->{real_mntpoint} && isMounted',
        N_("Delete")	       => '!isBusy && !readonly',
        N_("Remove from RAID") => 'isPartOfRAID',
        N_("Remove from LVM")  => 'isPartOfLVM',
        N_("Remove from dm")   => '$part->{dm_active}',
        N_("Modify RAID")      => 'canModifyRAID',
        N_("Use for loopback") => '!$part->{real_mntpoint} && isMountableRW && !isSpecial && hasMntpoint && maybeFormatted && $::expert',
    );
    my ($actions_names) = list2kv(@l);
    my $_all_hds = $all_hds; #- help perl_checker know the $all_hds *is* used in the macro below
    my %macros = (
	readonly => '$hd->{readonly}',
        hasMntpoint => '$part->{mntpoint}',
	LVM_resizable => 'member($part->{fs_type}, qw(reiserfs xfs ext3 ext4 btrfs))',
	canModifyRAID => 'isPartOfRAID($part) && !isMounted(fs::get::device2part($part->{raid}, $all_hds->{raids}))',
    );
    if (isEmpty($part)) {
	if_(!$hd->{readonly}, N_("Create"));
    } elsif ($part->{pt_type} == 0xbf && detect_devices::is_xbox()) {
        #- XBox OS partitions, do not allow anything
        return;
    } else {
        grep {
    	    my $cond = $actions{$_};
    	    while (my ($k, $v) = each %macros) {
    	        $cond =~ s/$k/qq(($v))/e;
    	    }
    	    $cond =~ s/(^|[^:\$]) \b ([a-z]\w{3,}) \b ($|[\s&\)])/$1 . $2 . '($part)' . $3/exg;
    	    eval $cond;
        } @$actions_names;
    }
}

sub View {
    my ($in, $hd, $part, $all_hds) = @_;
    my $handle = any::inspect($part, $::prefix);
    if ($handle) {
      $in->ask_directory({'directory'=>$handle->{dir}});
    } else {
      $in->ask_warn(N("Error"), N("Failed to mount partition"));
    }
}

#- in case someone use diskdrake only to create partitions,
#- ie without assigning a mount point,
#- do not suggest mount points anymore
my $do_suggest_mount_point = $::isInstall;

sub Create {
    my ($in, $hd, $part, $all_hds) = @_;
    my ($def_start, $def_size, $max) = ($part->{start}, $part->{size}, $part->{start} + $part->{size});

    $part->{maxsize} = $part->{size}; $part->{size} = 0;
    if (fsedit::suggest_part($part, $all_hds)) {
	$part->{mntpoint} = '' if !$do_suggest_mount_point;
    } else {
	$part->{size} = $part->{maxsize};
	fs::type::suggest_fs_type($part, defaultFS());
    }
    if (isLVM($hd)) {
	lvm::suggest_lv_name($hd, $part);
    }

    #- update adjustment for start and size, take into account the minimum partition size
    #- including one less sector for start due to a capacity to increase the adjustement by
    #- one.
    my ($primaryOrExtended, $migrate_files);
    my $type_name = fs::type::part2type_name($part);
    my $mb_size = to_Mb($part->{size});
    my $has_startsector = ($::expert || arch() !~ /i.86/) && !isLVM($hd);
    my $use_dmcrypt;
    my $requested_type;

    $in->ask_from(N("Create a new partition"), '',
        [
         { label => N("Create a new partition"), title => 1 },
           if_($has_startsector,
         { label => N("Start sector: "), val => \$part->{start}, min => $def_start, max => ($max - min_partition_size($hd)),
	   type => 'range', SpinButton => $::expert, changed => sub { $mb_size = min($mb_size, to_Mb($max - $part->{start})) } },
           ),
         { label => N("Size in MB: "), val => \$mb_size, min => to_Mb(min_partition_size($hd)), max => to_Mb($def_size),
	   type => 'range', SpinButton => $::expert, changed => sub { $part->{start} = min($part->{start}, $max - $mb_size * 2048) } },
         { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert, $hd) ],
	   sort => 0, if_($::expert, gtk => { wrap_width => 2 }, do_not_ellipsize => 1) },
         { label => N("Mount point: "), val => \$part->{mntpoint}, list => [ fsedit::suggestions_mntpoint($all_hds), '' ],
           disabled => sub { my $p = fs::type::type_name2subpart($type_name); isSwap($p) || isNonMountable($p) }, type => 'combo', not_edit => 0,
         },
           if_($::expert && $hd->hasExtended,
         { label => N("Preference: "), val => \$primaryOrExtended, list => [ '', "Extended", "Primary", if_($::expert, "Extended_0x85") ] },
           ),
	   if_($::expert && isLVM($hd),
	 { label => N("Logical volume name "), val => \$part->{lv_name}, list => [ qw(root swap usr home var), '' ], sort => 0, not_edit => 0 },
           ),
	 { label => N("Encrypt partition"), type => 'bool', val => \$use_dmcrypt },
	 { label => N("Encryption key "), val => \$part->{dmcrypt_key}, disabled => sub { !$use_dmcrypt }, hidden => 1, weakness_check => 1 },
	 { label => N("Encryption key (again)"), val => \$part->{dmcrypt_key2}, disabled => sub { !$use_dmcrypt }, hidden => 1 },
        ], complete => sub {
	    $part->{size} = from_Mb($mb_size, min_partition_size($hd), $max - $part->{start}); #- need this to be able to get back the approximation of using MB
	    $do_suggest_mount_point = 0 if !$part->{mntpoint};
	    put_in_hash($part, fs::type::type_name2subpart($type_name));
	    $part->{mntpoint} = '' if isNonMountable($part);
	    $part->{mntpoint} = 'swap' if isSwap($part);
	    fs::mount_options::set_default($part, ignore_is_removable => 1);

	    # if user asked to encrypt the partition, use dm-crypt and create requested fs inside
	    if ($use_dmcrypt) {
		my $err;
		$err = N("The encryption keys do not match") unless ($part->{dmcrypt_key} eq $part->{dmcrypt_key2});
		$err = N("Missing encryption key") unless ($part->{dmcrypt_key});
		if ($err) {
		    $in->ask_warn(N("Error"), $err);
		    return 1;
	        }
		$requested_type = $type_name;
		$type_name = 'Encrypted';
	    }

	    put_in_hash($part, fs::type::type_name2subpart($type_name));
	    check($in, $hd, $part, $all_hds) or return 1;
	    $migrate_files = need_migration($in, $part->{mntpoint}) or return 1;

	    my $seen;
	    eval {
		catch_cdie { fsedit::add($hd, $part, $all_hds, { force => 1, primaryOrExtended => $primaryOrExtended }) }
		  sub { $seen = 1; $in->ask_okcancel('', formatError($@)) };
	    };
	    if (my $err = $@) {
		if ($err =~ /raw_add/ && $hd->hasExtended && !$hd->{primary}{extended}) {
		    $in->ask_warn(N("Error"), N("You can not create a new partition
(since you reached the maximal number of primary partitions).
First remove a primary partition and create an extended partition."));
		    return 0;
		} else {
		    $in->ask_warn(N("Error"), formatError($err)) if !$seen;
		    return 1;
		}
	    }
	    0;
	},
    ) or return;

    if ($use_dmcrypt) {
	write_partitions($in, $hd) or return;
	# Initialize it and format it
	dmcrypt_format($in, $hd, $part, $all_hds);
	my $p = find { $part->{dm_name} eq $_->{dmcrypt_name} } @{$all_hds->{dmcrypts}};
	my $p2 = fs::type::type_name2subpart($requested_type);
        $p->{fs_type} = $p2->{fs_type};
	$p->{type_name} = $requested_type;
	$p->{mntpoint} = $part->{mntpoint};
	$part->{mntpoint} = '';
	if ($::isStandalone) {
	    fs::format::check_package_is_installed_format($in->do_pkgs, $p->{fs_type}) or log::l("Missing package");
	}
	if ($::expert && !member($p->{fs_type}, 'reiserfs', 'reiser4', 'xfs', 'hfs', 'ntfs', 'ntfs-3g')) {
	    $p->{toFormatCheck} = $in->ask_yesorno(N("Confirmation"), N("Check bad blocks?"));
	}
	$p->{isFormatted} = 0; #- force format;
	# Wait for the newly created device to appear before formatting it
	my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
	fs::format::part($all_hds, $p, $wait_message) unless isRawLVM($p);
    }

    warn_if_renumbered($in, $hd);

    if ($migrate_files eq 'migrate') {
        # FIXME check encrypt case
	format_($in, $hd, $part, $all_hds) or return;
	migrate_files($in, $hd, $part);
	fs::mount::part($part);
    }
}

sub Delete {
    my ($in, $hd, $part, $all_hds) = @_;
    if (fs::type::isLUKS($part)) {
	my $p = find { $_->{dm_name} eq $part->{dmcrypt_name} } partition_table::get_normal_parts($hd);
	RemoveFromDm($in, $hd, $p, $all_hds);
	$part = $p;
    }
    if (isRAID($part)) {
	raid::delete($all_hds->{raids}, $part);
    } elsif (isLVM($hd)) {
	lvm::lv_delete($hd, $part);
    } elsif (isLoopback($part)) {
	my $f = "$part->{loopback_device}{mntpoint}$part->{loopback_file}";
	if (-e $f && $in->ask_yesorno(N("Warning"), N("Remove the loopback file?"))) {
	    unlink $f;
	}
	my $l = $part->{loopback_device}{loopback};
	@$l = grep { $_ != $part } @$l;
	delete $part->{loopback_device}{loopback} if @$l == 0;
	fsedit::recompute_loopbacks($all_hds);
    } else {
	if (arch() =~ /ppc/) {
	    undef $partition_table::mac::bootstrap_part if isAppleBootstrap($part) && ($part->{device} = $partition_table::mac::bootstrap_part);
	}
	partition_table::remove($hd, $part);
	warn_if_renumbered($in, $hd);
    }
}

sub Type {
    my ($in, $hd, $part) = @_;

    my $warned;
    my $warn = sub {
	$warned = 1;
	if (maybeFormatted($part)) {
	    ask_alldatawillbelost($in, $part, N_("After changing type of partition %s, all data on this partition will be lost"));
	} else {
	    1;
	}
    };

    #- for ext2/ext3, warn after choosing as ext2->ext3 and ext*->ext4 can be achieved without loosing any data :)
    member($part->{fs_type}, qw(ext2 ext3)) || $part->{fs_type} =~ /ntfs/ or $warn->() or return;

    my @types = fs::type::type_names($::expert, $hd);

    #- when readonly, Type() is allowed only when changing {fs_type} but not {pt_type}
    #- eg: switching between ext2, ext3, ext4, reiserfs...
    @types = grep { fs::type::type_name2pt_type($_) == $part->{pt_type} } @types if $hd->{readonly};

    my $type_name = fs::type::part2type_name($part);
    $in->ask_from_({ title => N("Change partition type") },
		  [
		   { label => N("Which filesystem do you want?"), title => 1 },
		   { label => N("Type"), val => \$type_name, type => 'list', list => \@types, sort => 1, do_not_ellipsize => 1,
		     focus => sub { 1 }, not_edit => 1, gtk => { wrap_width => 2 } } ]) or return;

    my $type = $type_name && fs::type::type_name2subpart($type_name);

    if ($part->{fs_type} eq 'ext2' && $type->{fs_type} eq 'ext3') {
	my $_w = $in->wait_message(N("Please wait"), N("Switching from %s to %s", 'ext2', $type->{fs_type}));
	if (run_program::run("tune2fs", "-j", devices::make($part->{device}))) {
	    put_in_hash($part, $type);
	    set_isFormatted($part, 1); #- assume that if tune2fs works, partition is formatted

	    #- disable the fsck (do not do it together with -j in case -j fails?)
	    fs::format::disable_forced_fsck($part->{device});
	    return;
	}
    } elsif (member($part->{fs_type}, qw(ext2 ext3)) && $type->{fs_type} eq 'ext4') {
	# FIXME enable some nice flags
	put_in_hash($part, $type);
	return;
    } elsif ($type->{fs_type} =~ /ntfs/ && $part->{fs_type} =~ /ntfs/) {
	if ($type->{fs_type} eq 'ntfs-3g') {
	    local $::prefix = ''; # For draklive-install
	    $in->do_pkgs->ensure_binary_is_installed('ntfs-3g', 'mount.ntfs-3g') or return;
	}
	put_in_hash($part, $type);
	return;
    }
    #- either we switch to non-ext3 or switching losslessly to ext3 failed
    $warned or $warn->() or return;

    if (defined $type) {
	check_type($in, $type, $hd, $part) and fsedit::change_type($type, $hd, $part);
    }
}

sub Label {
    my ($in, $_hd, $part) = @_;
    my $new_label = $part->{device_LABEL} || "";

    write_partitions($in, $_hd) or return;

    $in->ask_from(N("Set volume label"),
                  maybeFormatted($part) ? 
                    N("Beware, this will be written to disk as soon as you validate!")
                    : N("Beware, this will be written to disk only after formatting!"),
                  [
		   { label => N("Which volume label?"), title => 1 },
		   { label => N("Label:"), val => \$new_label } ]) or return;

    fs::format::check_package_is_installed_label($in->do_pkgs, $part->{fs_type}) or return;
    $part->{prefer_device_LABEL} = to_bool($part->{device_LABEL}) && !isLVM($part);
    return if $new_label eq $part->{device_LABEL};
    $part->{device_LABEL} = $new_label;
    $part->{device_LABEL_changed} = 1;
    fs::format::clean_label($part);
    fs::format::write_label($part);
}

sub Mount_point {
    my ($in, $hd, $part, $all_hds) = @_;

    my $migrate_files;
    my $mntpoint = $part->{mntpoint} || do {
	my $part_ = { %$part };
	if (fsedit::suggest_part($part_, $all_hds)) {
	    fs::get::has_mntpoint('/', $all_hds) || $part_->{mntpoint} eq '/boot' ? $part_->{mntpoint} : '/';
	} else { '' }
    };
    my $msg = isLoopback($part) ? N("Where do you want to mount the loopback file %s?", $part->{loopback_file}) :
			    N("Where do you want to mount device %s?", $part->{device});
    $in->ask_from_({
		     callbacks => {
		         complete => sub {
	    !isPartOfLoopback($part) || $mntpoint or $in->ask_warn(N("Error"),
N("Can not unset mount point as this partition is used for loop back.
Remove the loopback first")), return 1;
	    $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
    	    $migrate_files = need_migration($in, $mntpoint) or return 1;
	    0;
	} },
	},
	[
	  { label => $msg, title => 1 },
	  { label => N("Mount point"), val => \$mntpoint,
	    list => [ uniq(if_($mntpoint, $mntpoint), fsedit::suggestions_mntpoint($all_hds), '') ],
	    focus => sub { 1 },
	    not_edit => 0 } ],
    ) or return;
    $part->{mntpoint} = $mntpoint;

    if ($migrate_files eq 'migrate') {
	format_($in, $hd, $part, $all_hds) or return;
	migrate_files($in, $hd, $part);
	fs::mount::part($part);
    }
}
sub Mount_point_raw_hd {
    my ($in, $part, $all_hds, @propositions) = @_;

    my $mntpoint = $part->{mntpoint} || shift @propositions;
    $in->ask_from(
        N("Mount point"),
        '',
	[
	 { label => N("Where do you want to mount %s?", $part->{device}), title => 1 },
	 { label => N("Mount point"), val => \$mntpoint,
	    list => [ if_($mntpoint, $mntpoint), '', @propositions ],
	    not_edit => 0 } ],
	complete => sub {
	    $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
	    0;
	}
    ) or return;
    $part->{mntpoint} = $mntpoint;
}

sub Resize {
    my ($in, $hd, $part) = @_;
    my (%nice_resize);
    my $low_part = $part;

    if (isLUKS($part)) {
	$low_part = find { $_->{dm_name} eq $part->{dmcrypt_name} } partition_table::get_normal_parts($hd);
    }

    my ($min, $max) = (min_partition_size($hd), max_partition_resize($hd, $low_part));

    if (maybeFormatted($part)) {
	# here we may have a non-formatted or a formatted partition
	# -> doing as if it was formatted

	if ($part->{fs_type} eq 'vfat') {
	    write_partitions($in, $hd) or return;
	    #- try to resize without losing data
	    my $_w = $in->wait_message(N("Resizing"), N("Computing FAT filesystem bounds"));

	    require resize_fat::main;
	    $nice_resize{fat} = resize_fat::main->new($part->{device}, devices::make($part->{device}));
	    $min = max($min, $nice_resize{fat}->min_size);
	    $max = min($max, $nice_resize{fat}->max_size);
	} elsif (member($part->{fs_type}, qw(ext2 ext3 ext4))) {
	    write_partitions($in, $hd) or return;
	    require diskdrake::resize_ext2;
	    if ($nice_resize{ext2} = diskdrake::resize_ext2->new($part->{device}, devices::make($part->{device}))) {
		$min = max($min, $nice_resize{ext2}->min_size);
	    } else {
		delete $nice_resize{ext2};
	    }
	} elsif ($part->{fs_type} =~ /ntfs/) {
	    write_partitions($in, $hd) or return;
	    require diskdrake::resize_ntfs;
	    diskdrake::resize_ntfs::check_prog($in) or return;
	    $nice_resize{ntfs} = diskdrake::resize_ntfs->new($part->{device}, devices::make($part->{device}));
	    $min = $nice_resize{ntfs}->min_size or delete $nice_resize{ntfs};
	} elsif ($part->{fs_type} eq 'reiserfs') {
	    write_partitions($in, $hd) or return;
	    if ($part->{isMounted}) {
		$nice_resize{reiserfs} = 1;
		$min = $part->{size}; #- ensure the user can only increase
	    } elsif (defined(my $free = fs::df($part))) {
		$nice_resize{reiserfs} = 1;
		$min = max($min, $part->{size} - $free);
	    }
	} elsif ($part->{fs_type} eq 'xfs' && isLVM($hd) && $::isStandalone && $part->{isMounted}) {
	    $min = $part->{size}; #- ensure the user can only increase
	    $nice_resize{xfs} = 1;
	} elsif ($part->{fs_type} eq 'btrfs') {
	    write_partitions($in, $hd) or return;
	    if (defined(my $free = fs::df($part))) {
	        $nice_resize{btrfs} = 1;
		$min = max($min, $part->{size} - $free);
	    }
	}
	#- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
	#- this save at least a cylinder (less than 8Mb).
	$min += partition_table::raw::cylinder_size($hd);
	$min >= $max and return $in->ask_warn(N("Warning"), N("This partition is not resizeable"));

	#- for these, we have tools to resize partition table
	#- without losing data (or at least we hope so :-)
	if (%nice_resize) {
	    ask_alldatamaybelost($in, $part, N_("All data on this partition should be backed-up")) or return;
	} else {
	    ask_alldatawillbelost($in, $part, N_("After resizing partition %s, all data on this partition will be lost")) or return;
	}
    }

    my $mb_size = to_Mb($part->{size});
    my ($gmin, $gmax) = (to_Mb($min), to_Mb($max));
    $in->ask_from(N("Resize"), '', [
		   { label => N("Choose the new size"), title => 1 },
		   { label => N("New size in MB: "), val => \$mb_size, min => $gmin, max => $gmax, type => 'range', SpinButton => $::expert },
		   { label => N("Minimum size: %s MB", $gmin) },
		   { label => N("Maximum size: %s MB", $gmax) },
		]) or return;


    my $size = from_Mb($mb_size, $min, $max);
    $part->{size} == $size and return;

    my $oldsize = $part->{size};
    $low_part->{size} = $part->{size} = $size;
    $hd->adjustEnd($low_part);

    undef $@;
    my $_b = before_leaving { $@ and $part->{size} = $oldsize };

    my $adjust = sub {
	my ($write_partitions) = @_;

	if (isLVM($hd)) {
	    lvm::lv_resize($low_part, $oldsize);
	} else {
	    if ($write_partitions && isLUKS($part)) {
		run_program::run('cryptsetup', 'luksClose', $part->{dmcrypt_name}) or die ("Failed to resize partition, maybe it is mounted");
	    }
	    partition_table::will_tell_kernel($hd, resize => $low_part);
	    partition_table::adjust_local_extended($hd, $low_part);
	    partition_table::adjust_main_extended($hd);
	    write_partitions($in, $hd) or return if $write_partitions && %nice_resize;
	    if ($write_partitions && isLUKS($part)) {
		fs::dmcrypt::open_part([], $low_part);
	    }
	}
	1;
    };

    $adjust->(1) or return if $size > $oldsize;

    my $wait = $in->wait_message(N("Please wait"), N("Resizing"));

    if ($nice_resize{fat}) {
	local *log::l = sub { $wait->set(join(' ', @_)) };
	$nice_resize{fat}->resize($part->{size});
    } elsif ($nice_resize{ext2}) {
	$nice_resize{ext2}->resize($part->{size});
    } elsif ($nice_resize{ntfs}) {
	log::l("ntfs resize to $part->{size} sectors");
	$nice_resize{ntfs}->resize($part->{size});
	$wait = undef;
	$in->ask_warn(N("Warning"), N("To ensure data integrity after resizing the partition(s),
filesystem checks will be run on your next boot into Microsoft Windows®"));
    } elsif ($nice_resize{reiserfs}) {
	log::l("reiser resize to $part->{size} sectors");
	run_program::run_or_die('resize_reiserfs', '-f', '-q', '-s' . int($part->{size}/2) . 'K', devices::make($part->{device}));
    } elsif ($nice_resize{xfs}) {
	#- happens only with mounted LVM, see above
	run_program::run_or_die("xfs_growfs", $part->{mntpoint});
    } elsif ($nice_resize{btrfs}) {
        my $dir = "/tmp/tmp_resize_btrfs.$$";
	if ($part->{isMounted}) {
	    $dir = ($::prefix || '') . $part->{mntpoint};
	} else {
	    mkdir_p($dir);
	    fs::mount::mount(devices::make($part->{device}), $dir, $part->{fs_type});
	}
	if (!run_program::run("btrfsctl", "-r", $part->{size}*512, $dir)) {
	    $nice_resize{btrfs} = undef;
	    if (!$part->{isMounted}) {
		fs::mount::umount($dir);
		unlink($dir);
	    }
        }
    }

    if (%nice_resize) {
	set_isFormatted($part, 1);
    } else {
	set_isFormatted($part, 0);
	partition_table::verifyParts($hd) if !isLVM($hd);
	$part->{mntpoint} = '' if isNonMountable($part); #- mainly for ntfs, which we can not format
    }

    $adjust->(0) if $size < $oldsize;
}

sub Format {
    my ($in, $hd, $part, $all_hds) = @_;
    format_($in, $hd, $part, $all_hds);
}
sub Mount {
    my ($in, $hd, $part) = @_;

    ensure_we_have_encrypt_key_if_needed($in, $part) or return;
    write_partitions($in, $hd) or return;

    my $w;
    fs::mount::part($part, 0, sub {
        	my ($msg) = @_;
        	$w ||= $in->wait_message(N("Please wait"), $msg);
        	$w->set($msg);
    });
}

sub dmcrypt_open {
    my ($in, $_hd, $part, $all_hds) = @_;
    $part->{dm_name} ||= do {
	my $s = $part->{device};
	$s =~ s/[^\w]/_/g;
	"crypt_$s";
    };

    if (!$part->{dmcrypt_key}) {
	$in->ask_from_({
	    title => N("Filesystem encryption key"),
	    messages => N("Enter your filesystem encryption key"),
        }, [ { label => N("Encryption key"), val => \$part->{dmcrypt_key},
	       hidden => 1, focus => sub { 1 } } ]) or return;
    }

    eval { fs::dmcrypt::open_part($all_hds->{dmcrypts}, $part) };
    if ($@) {
	delete $part->{dmcrypt_key};
	die(($? >> 8) == 255 ? N("Invalid key") : $@);
    }
}

sub Add2RAID {
    my ($in, $_hd, $part, $all_hds) = @_;
    my $raids = $all_hds->{raids};

    my $md_part = $in->ask_from_listf(N("Add to RAID"), N("Choose an existing RAID to add to"),
				      sub { ref($_[0]) ? $_[0]{device} : $_[0] },
				      [ @$raids, N_("new") ]) or return;

    if (ref($md_part)) {
	raid::add($md_part, $part);
	raid::write_conf($raids) if $::isStandalone;
    } else {
	raid::check_prog($in) or return;
	my $md_part = raid::new($raids, disks => [ $part ]);
	modifyRAID($in, $raids, $md_part) or return raid::delete($raids, $md_part);
    }
}
sub Add2LVM {
    my ($in, $hd, $part, $all_hds) = @_;
    my $lvms = $all_hds->{lvms};
    my @lvm_names = map { $_->{VG_name} } @$lvms;
    write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;

    my $lvm = $in->ask_from_listf_(N("Add to LVM"), N("Choose an existing LVM to add to"),
				  sub { ref($_[0]) ? $_[0]{VG_name} : $_[0] },
				  [ @$lvms, N_("new") ]) or return;
    require lvm;
    if (!ref $lvm) {
	# create new lvm
	my $n = 0;
	while (member("vg$n", @lvm_names)) {
	    $n++;
	}

	my $name = "vg$n";
	$in->ask_from_({ title => N("LVM name"), 
			messages => N("Enter a name for the new LVM volume group"),
		       	focus_first => 1,
			ok_disabled => sub { !$name },
			validate => sub {
				member($name, @lvm_names) or return 1;
				$in->ask_warn(N("Error"), N("\"%s\" already exists", $name));
				return 0;
			} },
			[{label=>N("LVM name"),val=> \$name}]) or return;

	$lvm = new lvm($name);
	push @$lvms, $lvm;
    }
    raid::make($all_hds->{raids}, $part) if isRAID($part);
    lvm::check($in->do_pkgs) if $::isStandalone;
    lvm::add_to_VG($part, $lvm);
}
sub Unmount {
    my ($_in, $_hd, $part) = @_;
    fs::mount::umount_part($part);
}
sub RemoveFromRAID {
    my ($_in, $_hd, $part, $all_hds) = @_;
    raid::removeDisk($all_hds->{raids}, $part);
}
sub RemoveFromDm {
    my ($_in, $_hd, $part, $all_hds) = @_;
    fs::dmcrypt::close_part($all_hds->{dmcrypts}, $part);
}
sub RemoveFromLVM {
    my ($in, $_hd, $part, $all_hds) = @_;
    isPartOfLVM($part) or die;
    my ($lvm, $other_lvms) = partition { $_->{VG_name} eq $part->{lvm} } @{$all_hds->{lvms}};
    if (@{$lvm->[0]{disks}} > 1) {
	my ($used, $_total) = lvm::pv_physical_extents($part);
	if ($used) {
	    $in->ask_yesorno(N("Warning"), N("Physical volume %s is still in use.
Do you want to move used physical extents on this volume to other volumes?", $part->{device})) or return;
	    my $_w = $in->wait_message(N("Please wait"), N("Moving physical extents"));
	    lvm::pv_move($part);
	}
	lvm::vg_reduce($lvm->[0], $part);
    } else {
	lvm::vg_destroy($lvm->[0]);
	$all_hds->{lvms} = $other_lvms;
    }
}
sub ModifyRAID {
    my ($in, $_hd, $part, $all_hds) = @_;
    modifyRAID($in, $all_hds->{raids}, fs::get::device2part($part->{raid}, $all_hds->{raids}));
}
sub Loopback {
    my ($in, $hd, $real_part, $all_hds) = @_;

    write_partitions($in, $hd) or return;

    my $handle = any::inspect($real_part) or $in->ask_warn(N("Error"), N("This partition can not be used for loopback")), return;

    my ($min, $max) = (1, fs::loopback::getFree($handle->{dir}, $real_part));
    $max = min($max, 1 << (31 - 9)) if $real_part->{fs_type} eq 'vfat'; #- FAT does not handle file size bigger than 2GB
    my $part = { maxsize => $max, size => 0, loopback_device => $real_part, notFormatted => 1 };
    if (!fsedit::suggest_part($part, $all_hds)) {
	$part->{size} = $part->{maxsize};
	fs::type::suggest_fs_type($part, defaultFS());
    }
    delete $part->{mntpoint}; # we do not want the suggested mntpoint

    my $type_name = fs::type::part2type_name($part);
    my $mb_size = to_Mb($part->{size});
    $in->ask_from(N("Loopback"), '', [
		  { label => N("Loopback file name: "), val => \$part->{loopback_file} },
		  { label => N("Size in MB: "), val => \$mb_size, min => to_Mb($min), max => to_Mb($max), type => 'range', SpinButton => $::expert },
		  { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert, $hd) ], not_edit => !$::expert, sort => 0 },
             ],
	     complete => sub {
		 $part->{loopback_file} or $in->ask_warn(N("Give a file name"), N("Give a file name")), return 1, 0;
		 $part->{loopback_file} =~ s|^([^/])|/$1|;
		 if (my $size = fs::loopback::verifFile($handle->{dir}, $part->{loopback_file}, $real_part)) {
		     $size == -1 and $in->ask_warn(N("Warning"), N("File is already used by another loopback, choose another one")), return 1, 0;
		     $in->ask_yesorno(N("Warning"), N("File already exists. Use it?")) or return 1, 0;
		     delete $part->{notFormatted};
		     $part->{size} = divide($size, 512);
		 } else {
		     $part->{size} = from_Mb($mb_size, $min, $max);
		 }
		 0;
	     }) or return;
    put_in_hash($part, fs::type::type_name2subpart($type_name));
    push @{$real_part->{loopback}}, $part;
    fsedit::recompute_loopbacks($all_hds);
}

sub Options {
    my ($in, $hd, $part, $all_hds) = @_;

    my @simple_options = qw(users noauto username= password=);

    my (undef, $user_implies) = fs::mount_options::list();
    my ($options, $unknown) = fs::mount_options::unpack($part);
    my %help = fs::mount_options::help();

    my %callbacks = (
	# we don't want both user and users
	user => sub { $options->{users} = 0; $options->{$_} = $options->{user} foreach @$user_implies },
	users => sub { $options->{user} = 0; $options->{$_} = $options->{users} foreach @$user_implies },
	# we don't want both relatime and noatime
	relatime => sub { $options->{noatime} = 0 },
	noatime => sub { $options->{relatime} = 0 },
    );


    $in->ask_from(N("Mount options"),
		  '',
		  [
		    { label => N("Mount options"), title => 1 },
		   (map {
			 { label => $_, text => scalar warp_text(formatAlaTeX($help{$_}), 60), val => \$options->{$_}, hidden => scalar(/password/),
			   advanced => !$part->{rootDevice} && !member($_, @simple_options), if_(!/=$/, type => 'bool'),
			   if_($callbacks{$_}, changed => $callbacks{$_}),
		       };
		     } keys %$options),
		    { label => N("Various"), val => \$unknown, advanced => 1 },
		  ],
		  complete => sub {
		      if (($options->{usrquota} || $options->{grpquota}) && !$::isInstall) {
			  $in->do_pkgs->ensure_binary_is_installed('quota', 'quotacheck');
		      }
		  }) or return;

    fs::mount_options::pack($part, $options, $unknown);
    1;
}


{
    no strict;
    *{'Toggle to normal mode'} = sub() { $::expert = 0 };
    *{'Toggle to expert mode'} = sub() { $::expert = 1 };
    *{'Clear all'} = \&Clear_all;
    *{'Auto allocate'} = \&Auto_allocate;
    *{'Mount point'} = \&Mount_point;
    *{'Modify RAID'} = \&ModifyRAID;
    *{'Add to RAID'} = \&Add2RAID;
    *{'Remove from RAID'} = \&RemoveFromRAID;
    *{'Use'} = \&dmcrypt_open;
    *{'Remove from dm'} = \&RemoveFromDm;
    *{'Add to LVM'} = \&Add2LVM;
    *{'Remove from LVM'} = \&RemoveFromLVM;
    *{'Use for loopback'} = \&Loopback;
    *{'Hard drive information'} = \&Hd_info;
}


################################################################################
# helpers
################################################################################

sub is_part_existing {
    my ($part, $all_hds) = @_;
    $part && any { fsedit::are_same_partitions($part, $_) } fs::get::fstab_and_holes($all_hds);
}

sub modifyRAID {
    my ($in, $raids, $md_part) = @_;
    my $new_device = $md_part->{device};
    $in->ask_from(N("Options"), '',
		  [
{ label => N("device"), val => \$new_device, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 },
{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 6 10 linear) ] },
{ label => N("chunk size in KiB"), val => \$md_part->{'chunk-size'} },
		  ],
		 ) or return;
    raid::change_device($md_part, $new_device);
    raid::updateSize($md_part); # changing the raid level changes the size available
    raid::write_conf($raids) if $::isStandalone;
    1;
}


sub ask_alldatamaybelost {
    my ($in, $part, $msg) = @_;

    maybeFormatted($part) or return 1;

    #- here we may have a non-formatted or a formatted partition
    #- -> doing as if it was formatted
    $in->ask_okcancel(N("Read carefully"),
		      [ N("Be careful: this operation is dangerous."), sprintf(translate($msg), $part->{device}) ], 1);
}
sub ask_alldatawillbelost {
    my ($in, $part, $msg) = @_;

    maybeFormatted($part) or return 1;

    #- here we may have a non-formatted or a formatted partition
    #- -> doing as if it was formatted
    $in->ask_okcancel(N("Read carefully"), sprintf(translate($msg), $part->{device}), 1);
}

sub partitions_suggestions {
    my ($in) = @_;
    my $t = $::expert ?
      $in->ask_from_list_(N("Partitioning Type"), N("What type of partitioning?"), [ keys %fsedit::suggestions ]) :
      'simple';
    $fsedit::suggestions{$t};
}

sub check_type {
    my ($in, $type, $hd, $part) = @_;
    eval { fs::type::check($type->{fs_type}, $hd, $part) };
    if (my $err = $@) {
	$in->ask_warn(N("Error"), formatError($err));
	return;
    }
    if ($::isStandalone && $type->{fs_type} && fs::format::known_type($type)) {
	fs::format::check_package_is_installed_format($in->do_pkgs, $type->{fs_type}) or return;
    }
    1;
}
sub check_mntpoint {
    my ($in, $mntpoint, $part, $all_hds) = @_;
    my $seen;
    eval {
	catch_cdie { fsedit::check_mntpoint($mntpoint, $part, $all_hds) }
	  sub { $seen = 1; $in->ask_okcancel(N("Error"), formatError($@)) };
    };
    if (my $err = $@) {
	$in->ask_warn(N("Error"), formatError($err)) if !$seen;
	return;
    }
    1;
}
sub check {
    my ($in, $hd, $part, $all_hds) = @_;
    check_type($in, $part, $hd, $part) &&
      check_mntpoint($in, $part->{mntpoint}, $part, $all_hds);
}

sub check_rebootNeeded {
    my ($_in, $hd) = @_;
    $hd->{rebootNeeded} and die N("You'll need to reboot before the modification can take place");
}

sub write_partitions {
    my ($in, $hd, $b_skip_check_rebootNeeded) = @_;
    check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
    $hd->{isDirty} or return 1;
    isLVM($hd) and return 1;

    $in->ask_okcancel(N("Read carefully"), N("Partition table of drive %s is going to be written to disk", $hd->{device}), 1) or return;
    partition_table::write($hd) if !$::testing;
    check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
    # fix resizing's failures due to udev's race when writing the partition table
    run_program::run('udevadm', 'settle') unless $::isInstall;
    1;
}

sub ensure_we_have_encrypt_key_if_needed {
    my ($in, $part) = @_;

    if (fs::type::isRawLUKS($part)) {
	$part->{dmcrypt_key} ||= choose_encrypt_key($in, {}, 'skip_encrypt_algo') or return;
    }
    1;
}

sub dmcrypt_format {
    my ($in, $hd, $part, $all_hds) = @_;
    my $_wait = $in->wait_message(N("Please wait"), N("Formatting partition %s", $part->{device}));
    require fs::dmcrypt;
    fs::dmcrypt::format_part($part);
    # we open it now:
    &dmcrypt_open;
}

sub format_ {
    my ($in, $hd, $part, $all_hds) = @_;

    ensure_we_have_encrypt_key_if_needed($in, $part) or return;
    write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;

    ask_alldatawillbelost($in, $part, N_("After formatting partition %s, all data on this partition will be lost")) or return;

    if (fs::type::isRawLUKS($part)) {
	return &dmcrypt_format;
    }
    if ($::isStandalone) {
	fs::format::check_package_is_installed_format($in->do_pkgs, $part->{fs_type}) or return;
    }
    if ($::expert && !member($part->{fs_type}, 'reiserfs', 'reiser4', 'xfs', 'hfs', 'ntfs', 'ntfs-3g')) {
	$part->{toFormatCheck} = $in->ask_yesorno(N("Confirmation"), N("Check bad blocks?"));
    }
    $part->{isFormatted} = 0; #- force format;
    my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
    fs::format::part($all_hds, $part, $wait_message);
    1;
}

sub need_migration {
    my ($in, $mntpoint) = @_;

    my @l = grep { $_ ne "lost+found" } all($mntpoint);
    if (@l && $::isStandalone) {
	my $choice;
	my @choices = (N_("Move files to the new partition"), N_("Hide files"));
	$in->ask_from(N("Warning"), N("Directory %s already contains data
(%s)

You can either choose to move the files into the partition that will be mounted there or leave them where they are (which results in hiding them by the contents of the mounted partition)",
                         $mntpoint, formatList(5, @l)),
		      [ { val => \$choice, list => \@choices, type => 'list', format => sub { translate($_[0]) } } ]) or return;
	$choice eq $choices[0] ? 'migrate' : 'hide';
    } else {
	'hide';
    }
}

sub migrate_files {
    my ($in, $_hd, $part) = @_;

    my $wait = $in->wait_message(N("Please wait"), N("Moving files to the new partition"));
    my $handle = any::inspect($part, '', 'rw');
    my @l = glob_("$part->{mntpoint}/*");
    foreach (@l) {
	$wait->set(N("Copying %s", $_));
	system("cp", "-a", $_, $handle->{dir}) == 0 or die "copying failed";
    }
    foreach (@l) {
	$wait->set(N("Removing %s", $_));
	system("rm", "-rf", $_) == 0 or die "removing files failed";
    }
}

sub warn_if_renumbered {
    my ($in, $hd) = @_;
    my $l = delete $hd->{partitionsRenumbered};
    return if is_empty_array_ref($l);

    push @{$hd->{allPartitionsRenumbered}}, @$l;

    my @l = map {
	my ($old, $new) = @$_;
	N("partition %s is now known as %s", $old, $new) } @$l;
    $in->ask_warn(N("Warning"), join("\n", N("Partitions have been renumbered: "), @l));
}

#- unit of $mb is mega bytes, min and max are in sectors, this
#- function is used to convert back to sectors count the size of
#- a partition ($mb) given from the interface (on Resize or Create).
#- modified to take into account a true bounding with min and max.
sub from_Mb {
    my ($mb, $min, $max) = @_;
    $mb <= to_Mb($min) and return $min;
    $mb >= to_Mb($max) and return $max;
    $mb * 2048;
}

sub to_Mb {
    my ($size_sector) = @_;
    to_int($size_sector / 2048);
}

sub format_part_info {
    my ($hd, $part) = @_;

    my $info = '';

    $info .= N("Mount point: ") . "$part->{mntpoint}\n" if $part->{mntpoint};
    $info .= N("Device: ") . "$part->{device}\n" if $part->{device} && !isLoopback($part);
    $info .= N("Volume label: ") . "$part->{device_LABEL}\n" if $part->{device_LABEL};
    $info .= N("UUID: ") . "$part->{device_UUID}\n" if $::expert && $part->{device_UUID};
    $info .= N("DOS drive letter: %s (just a guess)\n", $part->{device_windobe}) if $part->{device_windobe};
    if (arch() eq "ppc") {
	my $pType = $part->{pType};
	$pType =~ s/[^A-Za-z0-9_]//g;
	$info .= N("Type: ") . $pType . ($::expert ? sprintf " (0x%x)", $part->{pt_type} : '') . "\n";
	if (defined $part->{pName}) {
	    my $pName = $part->{pName};
	    $pName =~ s/[^A-Za-z0-9_]//g;
	    $info .= N("Name: ") . $pName . "\n";
	}
    } elsif (isEmpty($part)) {
	$info .= N("Empty") . "\n";
    } else {
	$info .= N("Type: ") . (fs::type::part2type_name($part) || $part->{fs_type}) . ($::expert ? sprintf " (0x%x)", $part->{pt_type} : '') . "\n";
    }
    $info .= N("Start: sector %s\n", $part->{start}) if $::expert && !isSpecial($part) && !isLVM($hd);
    $info .= N("Size: %s", formatXiB($part->{size}, 512));
    $info .= sprintf " (%s%%)", int 100 * $part->{size} / $hd->{totalsectors} if $hd->{totalsectors};
    $info .= N(", %s sectors", $part->{size}) if $::expert;
    $info .= "\n";
    $info .= N("Cylinder %d to %d\n", $part->{start} / $hd->cylinder_size, ($part->{start} + $part->{size} - 1) / $hd->cylinder_size) if ($::expert || isEmpty($part)) && !isSpecial($part) && !isLVM($hd) && $hd->cylinder_size;
    $info .= N("Number of logical extents: %d\n", $part->{size} / $hd->cylinder_size) if $::expert && isLVM($hd);
    $info .= N("Formatted\n") if $part->{isFormatted};
    $info .= N("Not formatted\n") if !$part->{isFormatted} && $part->{notFormatted};
    $info .= N("Mounted\n") if $part->{isMounted};
    $info .= N("RAID %s\n", $part->{raid}) if isPartOfRAID($part);
    if (fs::type::isRawLUKS($part) || fs::type::isLUKS($part)) {
	$info .= N("Encrypted")."\n";
	if (fs::type::isRawLUKS($part)) {
	    $info .= ($part->{dm_active} && $part->{dm_name} ? N(" (mapped on %s)", $part->{dm_name}) :
		$part->{dm_name} ? N(" (to map on %s)", $part->{dm_name}) :
		N(" (inactive)")) . "\n";
	}
    }
    if (isPartOfLVM($part)) {
	$info .= sprintf "LVM %s\n", $part->{lvm};
	$info .= sprintf "Used physical extents %d / %d\n", lvm::pv_physical_extents($part);
    }
    $info .= N("Loopback file(s):\n   %s\n", join(", ", map { $_->{loopback_file} } @{$part->{loopback}})) if isPartOfLoopback($part);
    $info .= N("Partition booted by default\n    (for MS-DOS boot, not for lilo)\n") if $part->{active} && $::expert;
    if (isRAID($part)) {
	$info .= N("Level %s\n", $part->{level});
	$info .= N("Chunk size %d KiB\n", $part->{'chunk-size'});
	$info .= N("RAID-disks %s\n", join ", ", map { $_->{device} } @{$part->{disks}});
    } elsif (isLoopback($part)) {
	$info .= N("Loopback file name: %s", $part->{loopback_file});
    }
    if (isApple($part)) {
	$info .= N("\nChances are, this partition is\na Driver partition. You should\nprobably leave it alone.\n");
    }
    if (isAppleBootstrap($part)) {
	$info .= N("\nThis special Bootstrap\npartition is for\ndual-booting your system.\n");
    }
    # restrict the length of the lines
    $info =~ s/(.{60}).*/$1.../mg;
    $info;
}

sub format_part_info_short {
    my ($hd, $part) = @_;
    isEmpty($part) ? N("Free space on %s (%s)", $hd->{device}, formatXiB($part->{size}, 512))
                   : partition_table::description($part);
}

sub format_hd_info {
    my ($hd) = @_;

    my $info = '';
    $info .= N("Device: ") . "$hd->{device}\n";
    $info .= N("Read-only") . "\n" if $hd->{readonly};
    $info .= N("Size: %s\n", formatXiB($hd->{totalsectors}, 512)) if $hd->{totalsectors};
    $info .= N("Geometry: %s cylinders, %s heads, %s sectors\n", $hd->{geom}{cylinders}, $hd->{geom}{heads}, $hd->{geom}{sectors}) if $::expert && $hd->{geom};
    $info .= N("Name: ") . $hd->{info} . "\n" if $hd->{info};
    $info .= N("Medium type: ") . $hd->{media_type} . "\n" if $hd->{media_type} && $::expert;
    $info .= N("LVM-disks %s\n", join ", ", map { $_->{device} } @{$hd->{disks}}) if isLVM($hd) && $hd->{disks};
    $info .= N("Partition table type: %s\n", $1) if $::expert && ref($hd) =~ /_([^_]+)$/;
    $info .= N("on channel %d id %d\n", $hd->{channel}, $hd->{id}) if $::expert && exists $hd->{channel};
    $info;
}

sub format_raw_hd_info {
    my ($raw_hd) = @_;

    my $info = '';
    $info .= N("Mount point: ") . "$raw_hd->{mntpoint}\n" if $raw_hd->{mntpoint};
    $info .= format_hd_info($raw_hd);
    if (!isEmpty($raw_hd)) {
	$info .= N("Type: ") . (fs::type::part2type_name($raw_hd) || $raw_hd->{fs_type}) . "\n";
    }
    if (my $s = $raw_hd->{options}) {
	$s =~ s/password=([^\s,]*)/'password=' . ('x' x length($1))/e;
	$info .= N("Options: %s", $s);
    }
    $info;
}

#- get the minimal size of partition in sectors to help diskdrake on
#- limit cases, include a cylinder + start of a eventually following
#- logical partition.
sub min_partition_size { $_[0]->cylinder_size + 2*$_[0]{geom}{sectors} }

sub max_partition_resize {
    my ($hd, $part) = @_;
    if (isLVM($hd)) {
	$part->{size} + fs::get::vg_free_space($hd);
    } else {
	partition_table::next_start($hd, $part) - $part->{start};
    }
}

sub choose_encrypt_key {
    my ($in, $options, $skip_encrypt_algo) = @_;

    my ($encrypt_key, $encrypt_key2);
    my @algorithms = map { "AES$_" } 128, 196, 256, 512, 1024, 2048;
    my $encrypt_algo = $options->{'encryption='} || "AES128";

    $in->ask_from_(
		       {
         title => N("Filesystem encryption key"),
	 messages => N("Choose your filesystem encryption key"),
	 callbacks => {
	     complete => sub {
		 length $encrypt_key < 6 and $in->ask_warn(N("Warning"), N("This encryption key is too simple (must be at least %d characters long)", 6)), return 1,0;
		 $encrypt_key eq $encrypt_key2 or $in->ask_warn(N("Error"), [ N("The encryption keys do not match"), N("Please try again") ]), return 1,1;
		 return 0;
        } } }, [
{ label => N("Encryption key"), val => \$encrypt_key,  hidden => 1, focus => sub { 1 } },
{ label => N("Encryption key (again)"), val => \$encrypt_key2, hidden => 1 },
if_(!$skip_encrypt_algo,
{ label => N("Encryption algorithm"), type => 'list', val => \$encrypt_algo, list => \@algorithms },
),
    ]) or return;

    $skip_encrypt_algo ? $encrypt_key : ($encrypt_key, $encrypt_algo);
}


sub tell_wm_and_reboot() {
    my ($wm, $pid) = any::running_window_manager();

    if (!$wm) {
	system('reboot');
    } else {
	any::ask_window_manager_to_logout_then_do($wm, $pid, 'reboot');
    }
}

sub update_bootloader_for_renumbered_partitions {
    my ($in, $all_hds) = @_;
    my @renumbering = map { @{$_->{allPartitionsRenumbered} || []} } @{$all_hds->{hds}} or return;

    require bootloader;
    bootloader::update_for_renumbered_partitions($in, \@renumbering, $all_hds);
}
" "Ao activar esta opção, os utilizadores têm apenas que clicar em \"Partilhar" "\" no konqueror e nautilus.\n" "\n" "\"Personalizado\" permite várias escolhas por cada utilizador.\n" #: any.pm:1340 #, c-format msgid "" "NFS: the traditional Unix file sharing system, with less support on Mac and " "Windows." msgstr "" "NFS: o sistema de partilha de ficheiros tradicional Unix, com menos suporte " "em Mac e Windows." #: any.pm:1343 #, c-format msgid "" "SMB: a file sharing system used by Windows, Mac OS X and many modern Linux " "systems." msgstr "" "SMB: um sistema de partilha de ficheiros usado pelo Windows, Mac OS X e " "muitos sistemas Linux modernos." #: any.pm:1351 #, c-format msgid "" "You can export using NFS or SMB. Please select which you would like to use." msgstr "Pode exportar usando NFS ou SMB. Por favor indique o que deseja usar." #: any.pm:1379 #, c-format msgid "Launch userdrake" msgstr "Executar userdrake" #: any.pm:1381 #, c-format msgid "" "The per-user sharing uses the group \"fileshare\". \n" "You can use userdrake to add a user to this group." msgstr "" "A partilha por utilizador usa o grupo \"fileshare\". \n" "Pode usar o userdrake para adicionar um utilizador a este grupo." #: any.pm:1487 #, c-format msgid "" "You need to logout and back in again for changes to take effect. Press OK to " "logout now." msgstr "" "Precisa sair da sessão e voltar para que as alterações surtam efeito. Prima " "OK para sair agora." #: any.pm:1491 #, c-format msgid "You need to log out and back in again for changes to take effect" msgstr "" "Precisa sair da sessão e voltar novamente para que as mudanças surtam efeito" #: any.pm:1526 #, c-format msgid "Timezone" msgstr "Fuso horário" #: any.pm:1526 #, c-format msgid "Which is your timezone?" msgstr "Qual é o seu fuso horário?" #: any.pm:1549 any.pm:1551 #, c-format msgid "Date, Clock & Time Zone Settings" msgstr "Definições de Data, Hora e Fuso Horário" #: any.pm:1552 #, c-format msgid "What is the best time?" msgstr "Qual é a melhor hora?" #: any.pm:1556 #, c-format msgid "%s (hardware clock set to UTC)" msgstr "%s (relógio da máquina definido para UTC)" #: any.pm:1557 #, c-format msgid "%s (hardware clock set to local time)" msgstr "%s (relógio da máquina definido para hora local)" #: any.pm:1559 #, c-format msgid "NTP Server" msgstr "Servidor NTP" #: any.pm:1560 #, c-format msgid "Automatic time synchronization (using NTP)" msgstr "Sincronização automática da hora (com NTP)" #: authentication.pm:24 #, c-format msgid "Local file" msgstr "Ficheiro local" #: 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 "Cartão Smart" #: authentication.pm:28 authentication.pm:216 #, c-format msgid "Windows Domain" msgstr "Domínio Windows" #: authentication.pm:29 #, c-format msgid "Kerberos 5" msgstr "Kerberos 5" #: authentication.pm:63 #, c-format msgid "Local file:" msgstr "Ficheiro local:" #: authentication.pm:63 #, c-format msgid "" "Use local for all authentication and information user tell in local file" msgstr "" "Use local para todas as autenticações e informações que o utilizador diz num " "ficheiro local" #: authentication.pm:64 #, c-format msgid "LDAP:" msgstr "LDAP:" #: authentication.pm:64 #, c-format msgid "" "Tells your computer to use LDAP for some or all authentication. LDAP " "consolidates certain types of information within your organization." msgstr "" "Indica ao seu computador para usar LDAP para algumas ou todas as " "autenticações. O LDAP consolida certos tipos de informação na sua " "organização." #: authentication.pm:65 #, c-format msgid "NIS:" msgstr "NIS:" #: authentication.pm:65 #, 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 "" "Permite-lhe correr um grupo de computadores no mesmo domínio de Serviços de " "Informação de Rede com uma senha comum e um ficheiro de grupo." #: authentication.pm:66 #, c-format msgid "Windows Domain:" msgstr "Domínio Windows:" #: authentication.pm:66 #, c-format msgid "" "Winbind allows the system to retrieve information and authenticate users in " "a Windows domain." msgstr "" "O Winbind permite ao sistema obter informação e autenticar utilizadores num " "domínio Windows." #: authentication.pm:67 #, c-format msgid "Kerberos 5 :" msgstr "Kerberos 5 :" #: authentication.pm:67 #, c-format msgid "With Kerberos and Ldap for authentication in Active Directory Server " msgstr "" "Com o Kerberos e o Ldap para autenticação no Servidor de Directório Activo " #: authentication.pm:107 authentication.pm:141 authentication.pm:160 #: authentication.pm:161 authentication.pm:187 authentication.pm:211 #: authentication.pm:896 #, c-format msgid " " msgstr " " #: authentication.pm:108 authentication.pm:142 authentication.pm:188 #: authentication.pm:212 #, c-format msgid "Welcome to the Authentication Wizard" msgstr "Bem-vindo ao Assistente de Autenticação" #: authentication.pm:110 #, c-format msgid "" "You have selected LDAP authentication. Please review the configuration " "options below " msgstr "" "Seleccionou a autenticação LDAP. Por favor reveja as opções de configuração " "em baixo " #: authentication.pm:112 authentication.pm:167 #, c-format msgid "LDAP Server" msgstr "Servidor LDAP" #: authentication.pm:113 authentication.pm:168 #, c-format msgid "Base dn" msgstr "Base dn" #: authentication.pm:114 #, c-format msgid "Fetch base Dn " msgstr "Obter base Dn " #: authentication.pm:116 authentication.pm:171 #, c-format msgid "Use encrypt connection with TLS " msgstr "Usar conexão encriptada com TLS " #: authentication.pm:117 authentication.pm:172 #, c-format msgid "Download CA Certificate " msgstr "Transferir Certificado CA " #: authentication.pm:119 authentication.pm:152 #, c-format msgid "Use Disconnect mode " msgstr "Usar modo Desligado" #: authentication.pm:120 authentication.pm:173 #, c-format msgid "Use anonymous BIND " msgstr "Usar BIND anónimo " #: authentication.pm:121 authentication.pm:124 authentication.pm:126 #: authentication.pm:130 #, c-format msgid " " msgstr " " #: authentication.pm:122 authentication.pm:174 #, c-format msgid "Bind DN " msgstr "Bind DN " #: authentication.pm:123 authentication.pm:175 #, c-format msgid "Bind Password " msgstr "Senha Bind " #: authentication.pm:125 #, c-format msgid "Advanced path for group " msgstr "Localização avançada para o grupo " #: authentication.pm:127 #, c-format msgid "Password base" msgstr "Senha base" #: authentication.pm:128 #, c-format msgid "Group base" msgstr "Grupo base" #: authentication.pm:129 #, c-format msgid "Shadow base" msgstr "Shadow base" #: authentication.pm:144 #, c-format msgid "" "You have selected Kerberos 5 authentication. Please review the configuration " "options below " msgstr "" "Seleccionou a autenticação Kerberos 5. Por favor reveja as opções de " "configuração em baixo " #: authentication.pm:146 #, c-format msgid "Realm " msgstr "Realm " #: authentication.pm:148 #, c-format msgid "KDCs Servers" msgstr "Servidores KDCs" #: authentication.pm:150 #, c-format msgid "Use DNS to locate KDC for the realm" msgstr "Usar DNS para localizar KDC para o realm" #: authentication.pm:151 #, c-format msgid "Use DNS to locate realms" msgstr "Usar DNS para localizar realms" #: authentication.pm:156 #, c-format msgid "Use local file for users information" msgstr "Use um ficheiro local informações dos utilizadores" #: authentication.pm:157 #, c-format msgid "Use Ldap for users information" msgstr "Use Ldap para informação dos utilizadores" #: authentication.pm:163 #, c-format msgid "" "You have selected Kerberos 5 for authentication, now you must choose the " "type of users information " msgstr "" "Seleccionou o Kerberos 5 para autenticação, agora precisa escolher o tipo de " "informação dos utilizadores " #: authentication.pm:169 #, c-format msgid "Fecth base Dn " msgstr "Obter Dn base " #: authentication.pm:190 #, c-format msgid "" "You have selected NIS authentication. Please review the configuration " "options below " msgstr "" "Seleccionou a autenticação NIS. Por favor reveja as opções de configuração " "em baixo " #: authentication.pm:192 #, c-format msgid "NIS Domain" msgstr "Domínio NIS" #: authentication.pm:193 #, c-format msgid "NIS Server" msgstr "Servidor NIS" #: authentication.pm:214 #, c-format msgid "" "You have selected Windows Domain authentication. Please review the " "configuration options below " msgstr "" "Seleccionou a autenticação de Domínio Windows. Por favor reveja as opções de " "configuração em baixo " #: authentication.pm:218 #, c-format msgid "Domain Model " msgstr "Modelo de Domínio " #: authentication.pm:220 #, c-format msgid "Active Directory Realm " msgstr "Directório Realm Activo " #: authentication.pm:221 #, c-format msgid "DNS Domain" msgstr "Domínio DNS" #: authentication.pm:222 #, c-format msgid "DC Server" msgstr "Servidor DC" #: authentication.pm:236 authentication.pm:252 #, c-format msgid "Authentication" msgstr "Autenticação" #: authentication.pm:238 #, c-format msgid "Authentication method" msgstr "Método de autenticação" #. -PO: keep this short or else the buttons will not fit in the window #: authentication.pm:243 #, c-format msgid "No password" msgstr "Sem senha" #: authentication.pm:264 #, c-format msgid "This password is too short (it must be at least %d characters long)" msgstr "Essa senha é demasiado curta (deve pelo menos ter %d caracteres)" #: authentication.pm:375 #, c-format msgid "Can not use broadcast with no NIS domain" msgstr "Não é possível transmitir sem um domínio NIS" #: authentication.pm:891 #, c-format msgid "Select file" msgstr "Seleccionar ficheiro" #: authentication.pm:897 #, c-format msgid "Domain Windows for authentication : " msgstr "Domínio Windows para autenticação: " #: authentication.pm:899 #, c-format msgid "Domain Admin User Name" msgstr "Nome de Utilizador do Administrador de Domínio" #: authentication.pm:900 #, c-format msgid "Domain Admin Password" msgstr "Senha do Administrador de Domínio" # NOTE: this message will be displayed at boot time; that is # only the ascii charset will be available on most machines # so use only 7bit for this message (and do transliteration or # leave it in English, as it is the best for your language) #. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit) #: bootloader.pm:969 #, 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 "" "Bem-vindo ao menu de escolha do sistema operativo!\n" "\n" "Escolha um sistema operativo da lista acima ou\n" "espere pelo arranque predefinido.\n" "\n" #: bootloader.pm:1146 #, c-format msgid "LILO with text menu" msgstr "LILO com menu textual" #: bootloader.pm:1147 #, c-format msgid "GRUB with graphical menu" msgstr "GRUB com menu gráfico" #: bootloader.pm:1148 #, c-format msgid "GRUB with text menu" msgstr "GRUB com menu textual" #: bootloader.pm:1149 #, c-format msgid "Yaboot" msgstr "Yaboot" #: bootloader.pm:1150 #, c-format msgid "SILO" msgstr "SILO" #: bootloader.pm:1232 #, c-format msgid "not enough room in /boot" msgstr "sem espaço suficiente em /boot" #: bootloader.pm:1923 #, c-format msgid "You can not install the bootloader on a %s partition\n" msgstr "Não pode instalar o carregador de arranque numa partição %s\n" #: bootloader.pm:2044 #, c-format msgid "" "Your bootloader configuration must be updated because partition has been " "renumbered" msgstr "" "A configuração do seu carregador de arranque deve ser actualizada pois a " "partição foi renumerada" #: bootloader.pm:2057 #, c-format msgid "" "The bootloader can not be installed correctly. You have to boot rescue and " "choose \"%s\"" msgstr "" "O carregador de arranque não pode ser instalado correctamente. Tem que " "arrancar em modo de emergência e escolher \"%s\"" #: bootloader.pm:2058 #, c-format msgid "Re-install Boot Loader" msgstr "Reinstalar Carregador de Arranque" #: common.pm:142 #, c-format msgid "B" msgstr "B" #: common.pm:142 #, c-format msgid "KB" msgstr "KB" #: common.pm:142 #, c-format msgid "MB" msgstr "MB" #: common.pm:142 #, c-format msgid "GB" msgstr "GB" #: common.pm:142 common.pm:151 #, c-format msgid "TB" msgstr "TB" #: common.pm:159 #, c-format msgid "%d minutes" msgstr "%d minutos" #: common.pm:161 #, c-format msgid "1 minute" msgstr "1 minuto" #: common.pm:163 #, c-format msgid "%d seconds" msgstr "%d segundos" #: common.pm:383 #, c-format msgid "command %s missing" msgstr "comando %s em falta" #: 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 "" "O WebDAV é um protocolo que lhe permite montar um directório de um\n" "servidor web localmente, e trata-lo como um sistema de ficheiros local\n" "(desde que o servidor web esteja configurado como um servidor WebDAV).\n" "Se deseja adicionar pontos de montagem WebDAV, seleccione \"Novo\"." #: diskdrake/dav.pm:25 #, c-format msgid "New" msgstr "Novo" #: diskdrake/dav.pm:63 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:75 #, c-format msgid "Unmount" msgstr "Desmontar" #: diskdrake/dav.pm:64 diskdrake/interactive.pm:410 diskdrake/smbnfs_gtk.pm:76 #, c-format msgid "Mount" msgstr "Montar" #: diskdrake/dav.pm:65 #, c-format msgid "Server" msgstr "Servidor" #: diskdrake/dav.pm:66 diskdrake/interactive.pm:404 #: diskdrake/interactive.pm:674 diskdrake/interactive.pm:692 #: diskdrake/interactive.pm:696 diskdrake/removable.pm:23 #: diskdrake/smbnfs_gtk.pm:79 #, c-format msgid "Mount point" msgstr "Ponto de Montagem" #: diskdrake/dav.pm:67 diskdrake/interactive.pm:406 #: diskdrake/interactive.pm:1098 diskdrake/removable.pm:24 #: diskdrake/smbnfs_gtk.pm:80 #, c-format msgid "Options" msgstr "Opções" #: diskdrake/dav.pm:68 interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Remove" msgstr "Remover" #: diskdrake/dav.pm:69 diskdrake/hd_gtk.pm:187 diskdrake/removable.pm:26 #: diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151 #, c-format msgid "Done" msgstr "Concluído" #: diskdrake/dav.pm:78 diskdrake/hd_gtk.pm:128 diskdrake/hd_gtk.pm:294 #: diskdrake/interactive.pm:247 diskdrake/interactive.pm:260 #: diskdrake/interactive.pm:453 diskdrake/interactive.pm:523 #: diskdrake/interactive.pm:528 diskdrake/interactive.pm:664 #: diskdrake/interactive.pm:917 diskdrake/interactive.pm:968 #: diskdrake/interactive.pm:1144 diskdrake/interactive.pm:1157 #: diskdrake/interactive.pm:1160 diskdrake/interactive.pm:1428 #: diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:23 do_pkgs.pm:28 do_pkgs.pm:44 #: do_pkgs.pm:60 do_pkgs.pm:65 do_pkgs.pm:82 fsedit.pm:246 #: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19 #: scanner.pm:95 scanner.pm:106 scanner.pm:113 scanner.pm:120 wizards.pm:95 #: wizards.pm:99 wizards.pm:121 #, c-format msgid "Error" msgstr "Erro" #: diskdrake/dav.pm:86 #, c-format msgid "Please enter the WebDAV server URL" msgstr "Por favor escolha o URL do servidor WebDAV" #: diskdrake/dav.pm:90 #, c-format msgid "The URL must begin with http:// or https://" msgstr "O URL deve começar com http:// ou https://" #: diskdrake/dav.pm:106 diskdrake/hd_gtk.pm:412 diskdrake/interactive.pm:306 #: diskdrake/interactive.pm:391 diskdrake/interactive.pm:553 #: diskdrake/interactive.pm:755 diskdrake/interactive.pm:813 #: diskdrake/interactive.pm:948 diskdrake/interactive.pm:990 #: diskdrake/interactive.pm:991 diskdrake/interactive.pm:1241 #: diskdrake/interactive.pm:1279 diskdrake/interactive.pm:1427 do_pkgs.pm:19 #: do_pkgs.pm:39 do_pkgs.pm:57 do_pkgs.pm:77 harddrake/sound.pm:442 #, c-format msgid "Warning" msgstr "Aviso" #: diskdrake/dav.pm:106 #, c-format msgid "Are you sure you want to delete this mountpoint?" msgstr "Tem certeza que deseja apagar este ponto de montagem?" #: diskdrake/dav.pm:124 #, c-format msgid "Server: " msgstr "Servidor: " #: diskdrake/dav.pm:125 diskdrake/interactive.pm:496 #: diskdrake/interactive.pm:1303 diskdrake/interactive.pm:1388 #, c-format msgid "Mount point: " msgstr "Ponto de montagem: " #: diskdrake/dav.pm:126 diskdrake/interactive.pm:1395 #, c-format msgid "Options: %s" msgstr "Opções: %s" #: diskdrake/hd_gtk.pm:61 diskdrake/interactive.pm:301 #: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106 #: fs/partitioning_wizard.pm:53 fs/partitioning_wizard.pm:235 #: fs/partitioning_wizard.pm:243 fs/partitioning_wizard.pm:282 #: fs/partitioning_wizard.pm:431 fs/partitioning_wizard.pm:495 #: fs/partitioning_wizard.pm:571 fs/partitioning_wizard.pm:574 #, c-format msgid "Partitioning" msgstr "Particionamento" #: diskdrake/hd_gtk.pm:73 #, c-format msgid "Click on a partition, choose a filesystem type then choose an action" msgstr "" "Clique numa partição, escolha um tipo de sistema de ficheiros e depois " "escolha uma acção" #: diskdrake/hd_gtk.pm:110 diskdrake/interactive.pm:1119 #: diskdrake/interactive.pm:1129 diskdrake/interactive.pm:1182 #, c-format msgid "Read carefully" msgstr "Leia atentamente" #: diskdrake/hd_gtk.pm:110 #, c-format msgid "Please make a backup of your data first" msgstr "Por favor faça primeiro uma salvaguarda dos seus dados" #: diskdrake/hd_gtk.pm:111 diskdrake/interactive.pm:240 #, c-format msgid "Exit" msgstr "Sair" #: diskdrake/hd_gtk.pm:111 #, c-format msgid "Continue" msgstr "Continuar" #: diskdrake/hd_gtk.pm:182 fs/partitioning_wizard.pm:547 interactive.pm:653 #: interactive/gtk.pm:811 interactive/gtk.pm:829 interactive/gtk.pm:850 #: ugtk2.pm:936 #, c-format msgid "Help" msgstr "Ajuda" #: diskdrake/hd_gtk.pm:228 #, 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 "" "Tem uma partição Microsoft Windows grande.\n" "Sugere-se que redimensione primeiro esta partição\n" "(clique na partição, e clique em \"Redimensionar\")" #: diskdrake/hd_gtk.pm:230 #, c-format msgid "Please click on a partition" msgstr "Por favor clique numa partição" #: diskdrake/hd_gtk.pm:244 diskdrake/smbnfs_gtk.pm:63 #, c-format msgid "Details" msgstr "Detalhes" #: diskdrake/hd_gtk.pm:294 #, c-format msgid "No hard drives found" msgstr "Nenhum disco rígido encontrado" #: diskdrake/hd_gtk.pm:321 #, c-format msgid "Unknown" msgstr "Desconhecido" #: diskdrake/hd_gtk.pm:383 #, c-format msgid "Ext4" msgstr "Ext4" #: diskdrake/hd_gtk.pm:383 fs/partitioning_wizard.pm:401 #, c-format msgid "XFS" msgstr "XFS" #: diskdrake/hd_gtk.pm:383 fs/partitioning_wizard.pm:401 #, c-format msgid "Swap" msgstr "Swap" #: diskdrake/hd_gtk.pm:383 fs/partitioning_wizard.pm:401 #, c-format msgid "SunOS" msgstr "SunOS" #: diskdrake/hd_gtk.pm:383 fs/partitioning_wizard.pm:401 #, c-format msgid "HFS" msgstr "HFS" #: diskdrake/hd_gtk.pm:383 fs/partitioning_wizard.pm:401 #, c-format msgid "Windows" msgstr "Windows" #: diskdrake/hd_gtk.pm:384 fs/partitioning_wizard.pm:402 services.pm:184 #, c-format msgid "Other" msgstr "Outro" #: diskdrake/hd_gtk.pm:384 diskdrake/interactive.pm:1318 #: fs/partitioning_wizard.pm:402 #, c-format msgid "Empty" msgstr "Vazio" #: diskdrake/hd_gtk.pm:391 #, c-format msgid "Filesystem types:" msgstr "Tipos de sistemas de ficheiros:" #: diskdrake/hd_gtk.pm:412 #, c-format msgid "This partition is already empty" msgstr "Esta partição já se encontra vazia" #: diskdrake/hd_gtk.pm:421 #, c-format msgid "Use ``Unmount'' first" msgstr "Use primeiro ``Desmontar''" #: diskdrake/hd_gtk.pm:421 #, c-format msgid "Use ``%s'' instead (in expert mode)" msgstr "Use ``%s'' de preferência (em modo avançado)" #: diskdrake/hd_gtk.pm:421 diskdrake/interactive.pm:405 #: diskdrake/interactive.pm:591 diskdrake/removable.pm:25 #: diskdrake/removable.pm:48 #, c-format msgid "Type" msgstr "Tipo" #: diskdrake/interactive.pm:211 #, c-format msgid "Choose another partition" msgstr "Escolha outra partição" #: diskdrake/interactive.pm:211 #, c-format msgid "Choose a partition" msgstr "Escolha uma partição" #: diskdrake/interactive.pm:273 diskdrake/interactive.pm:382 #: interactive/curses.pm:512 #, c-format msgid "More" msgstr "Mais" #: diskdrake/interactive.pm:281 diskdrake/interactive.pm:294 #: diskdrake/interactive.pm:1226 #, c-format msgid "Confirmation" msgstr "Confirmação" #: diskdrake/interactive.pm:281 #, c-format msgid "Continue anyway?" msgstr "Continuar mesmo assim?" #: diskdrake/interactive.pm:286 #, c-format msgid "Quit without saving" msgstr "Sair sem gravar" #: diskdrake/interactive.pm:286 #, c-format msgid "Quit without writing the partition table?" msgstr "Sair sem gravar a tabela de partições?" #: diskdrake/interactive.pm:294 #, c-format msgid "Do you want to save /etc/fstab modifications" msgstr "Deseja gravar as modificações em /etc/fstab?" #: diskdrake/interactive.pm:301 fs/partitioning_wizard.pm:282 #, c-format msgid "You need to reboot for the partition table modifications to take place" msgstr "" "Precisa reiniciar para que as modificações na tabela de partições surtam " "efeito" #: diskdrake/interactive.pm:306 #, c-format msgid "" "You should format partition %s.\n" "Otherwise no entry for mount point %s will be written in fstab.\n" "Quit anyway?" msgstr "" "Deve formatar a partição %s!\n" "Senão nenhuma entrada para o ponto de montagem %s será gravada em fstab.\n" "Sair mesmo assim?" #: diskdrake/interactive.pm:319 #, c-format msgid "Clear all" msgstr "Limpar tudo" #: diskdrake/interactive.pm:320 #, c-format msgid "Auto allocate" msgstr "Auto alocar" #: diskdrake/interactive.pm:326 #, c-format msgid "Toggle to normal mode" msgstr "Alternar para modo normal" #: diskdrake/interactive.pm:326 #, c-format msgid "Toggle to expert mode" msgstr "Alternar para modo avançado" #: diskdrake/interactive.pm:338 #, c-format msgid "Hard drive information" msgstr "Informação dos discos rígidos" #: diskdrake/interactive.pm:371 #, c-format msgid "All primary partitions are used" msgstr "Todas as partições primárias estão usadas" #: diskdrake/interactive.pm:372 #, c-format msgid "I can not add any more partitions" msgstr "Não é possível adicionar mais partições" #: diskdrake/interactive.pm:373 #, c-format msgid "" "To have more partitions, please delete one to be able to create an extended " "partition" msgstr "" "Para ter mais partições, por favor elimine uma para poder criar uma partição " "extendida" #: diskdrake/interactive.pm:384 #, c-format msgid "Reload partition table" msgstr "Recarregar tabela de partições" #: diskdrake/interactive.pm:391 #, c-format msgid "Detailed information" msgstr "Informação detalhada" #: diskdrake/interactive.pm:403 #, c-format msgid "View" msgstr "Ver" #: diskdrake/interactive.pm:408 diskdrake/interactive.pm:768 #, c-format msgid "Resize" msgstr "Redimensionar" #: diskdrake/interactive.pm:409 #, c-format msgid "Format" msgstr "Formatar" #: diskdrake/interactive.pm:411 diskdrake/interactive.pm:878 #, c-format msgid "Add to RAID" msgstr "Adicionar a RAID" #: diskdrake/interactive.pm:412 diskdrake/interactive.pm:899 #, c-format msgid "Add to LVM" msgstr "Adicionar a LVM" #: diskdrake/interactive.pm:413 #, c-format msgid "Use" msgstr "Usar" #: diskdrake/interactive.pm:415 #, c-format msgid "Delete" msgstr "Apagar" #: diskdrake/interactive.pm:416 #, c-format msgid "Remove from RAID" msgstr "Remover de RAID" #: diskdrake/interactive.pm:417 #, c-format msgid "Remove from LVM" msgstr "Remover de LVM" #: diskdrake/interactive.pm:418 #, c-format msgid "Remove from dm" msgstr "Remover do gestor de ecrã" #: diskdrake/interactive.pm:419 #, c-format msgid "Modify RAID" msgstr "Modificar RAID" #: diskdrake/interactive.pm:420 #, c-format msgid "Use for loopback" msgstr "Usar para loopback" #: diskdrake/interactive.pm:431 #, c-format msgid "Create" msgstr "Criar" #: diskdrake/interactive.pm:453 #, c-format msgid "Failed to mount partition" msgstr "Falha ao montar partição" #: diskdrake/interactive.pm:485 diskdrake/interactive.pm:487 #, c-format msgid "Create a new partition" msgstr "Criar nova partição" #: diskdrake/interactive.pm:489 #, c-format msgid "Start sector: " msgstr "Sector inicial: " #: diskdrake/interactive.pm:492 diskdrake/interactive.pm:983 #, c-format msgid "Size in MB: " msgstr "Tamanho em MB: " #: diskdrake/interactive.pm:494 diskdrake/interactive.pm:984 #, c-format msgid "Filesystem type: " msgstr "Tipo do sistema de ficheiros: " #: diskdrake/interactive.pm:500 #, c-format msgid "Preference: " msgstr "Preferência: " #: diskdrake/interactive.pm:503 #, c-format msgid "Logical volume name " msgstr "Nome do volume lógico " #: diskdrake/interactive.pm:523 #, c-format msgid "" "You can not create a new partition\n" "(since you reached the maximal number of primary partitions).\n" "First remove a primary partition and create an extended partition." msgstr "" "Não pode criar uma nova partição\n" "(atingiu o numero máximo de partições primárias).\n" "Primeiro remova uma partição primária e crie uma partição extendida." #: diskdrake/interactive.pm:553 #, c-format msgid "Remove the loopback file?" msgstr "Remover o ficheiro loopback?" #: diskdrake/interactive.pm:575 #, c-format msgid "" "After changing type of partition %s, all data on this partition will be lost" msgstr "" "Após alterar o tipo da partição %s, todos os dados nesta partição serão " "perdidos" #: diskdrake/interactive.pm:588 #, c-format msgid "Change partition type" msgstr "Alterar tipo de partição" #: diskdrake/interactive.pm:590 diskdrake/removable.pm:47 #, c-format msgid "Which filesystem do you want?" msgstr "Que sistema de ficheiros deseja?" #: diskdrake/interactive.pm:597 #, c-format msgid "Switching from %s to %s" msgstr "Mudar de %s para %s" #: diskdrake/interactive.pm:632 #, c-format msgid "Set volume label" msgstr "Definir nome de volume" #: diskdrake/interactive.pm:634 #, c-format msgid "Beware, this will be written to disk as soon as you validate!" msgstr "Cuidado, isto será escrito no disco assim que validar!" #: diskdrake/interactive.pm:635 #, c-format msgid "Beware, this will be written to disk only after formatting!" msgstr "Cuidado, isto será escrito no disco só depois de formatar!" #: diskdrake/interactive.pm:637 #, c-format msgid "Which volume label?" msgstr "Que nome de volume?" #: diskdrake/interactive.pm:638 #, c-format msgid "Label:" msgstr "Nome:" #: diskdrake/interactive.pm:659 #, c-format msgid "Where do you want to mount the loopback file %s?" msgstr "Onde deseja montar o ficheiro loopback %s?" #: diskdrake/interactive.pm:660 #, c-format msgid "Where do you want to mount device %s?" msgstr "Onde deseja montar o dispositivo %s?" #: diskdrake/interactive.pm:665 #, c-format msgid "" "Can not unset mount point as this partition is used for loop back.\n" "Remove the loopback first" msgstr "" "Não pode mudar o ponto de montagem enquanto esta partição for usada para " "loopback.\n" "Remova primeiro o loopback" #: diskdrake/interactive.pm:695 #, c-format msgid "Where do you want to mount %s?" msgstr "Onde deseja montar %s?" #: diskdrake/interactive.pm:719 diskdrake/interactive.pm:802 #: fs/partitioning_wizard.pm:128 fs/partitioning_wizard.pm:204 #, c-format msgid "Resizing" msgstr "A redimensionar" #: diskdrake/interactive.pm:719 #, c-format msgid "Computing FAT filesystem bounds" msgstr "A calcular os limites do sistema de ficheiros FAT" #: diskdrake/interactive.pm:755 #, c-format msgid "This partition is not resizeable" msgstr "Esta partição não é redimensionável" #: diskdrake/interactive.pm:760 #, c-format msgid "All data on this partition should be backed-up" msgstr "Todos os dados desta partição devem ser salvaguardados" #: diskdrake/interactive.pm:762 #, c-format msgid "After resizing partition %s, all data on this partition will be lost" msgstr "" "Após redimensionar a partição %s, todos os dados desta partição serão " "perdidos" #: diskdrake/interactive.pm:769 #, c-format msgid "Choose the new size" msgstr "Escolha o novo tamanho" #: diskdrake/interactive.pm:770 #, c-format msgid "New size in MB: " msgstr "Novo tamanho em MB: " #: diskdrake/interactive.pm:771 #, c-format msgid "Minimum size: %s MB" msgstr "Tamanho mínimo: %s MB" #: diskdrake/interactive.pm:772 #, c-format msgid "Maximum size: %s MB" msgstr "Tamanho máximo: %s MB" #: diskdrake/interactive.pm:813 fs/partitioning_wizard.pm:212 #, c-format msgid "" "To ensure data integrity after resizing the partition(s),\n" "filesystem checks will be run on your next boot into Microsoft Windows®" msgstr "" "Para assegurar a integridade dos dados após redimensionar\n" "a(s) partição(ões), as verificações do sistema de ficheiros serão\n" "executadas na próxima vez que arrancar o Microsoft Windows®" #: diskdrake/interactive.pm:861 diskdrake/interactive.pm:1423 #, c-format msgid "Filesystem encryption key" msgstr "Chave de encriptação do sistema de ficheiros" #: diskdrake/interactive.pm:862 #, c-format msgid "Enter your filesystem encryption key" msgstr "Indiquea sua chave de encriptação do sistema de ficheiros" #: diskdrake/interactive.pm:863 diskdrake/interactive.pm:1431 #, c-format msgid "Encryption key" msgstr "Chave de encriptação" #: diskdrake/interactive.pm:870 #, c-format msgid "Invalid key" msgstr "Chave inválida" #: diskdrake/interactive.pm:878 #, c-format msgid "Choose an existing RAID to add to" msgstr "Escolha um RAID existente para adicionar" #: diskdrake/interactive.pm:880 diskdrake/interactive.pm:901 #, c-format msgid "new" msgstr "novo" #: diskdrake/interactive.pm:899 #, c-format msgid "Choose an existing LVM to add to" msgstr "Escolha um LVM existente para adicionar" #: diskdrake/interactive.pm:911 diskdrake/interactive.pm:920 #, c-format msgid "LVM name" msgstr "Nome LVM" #: diskdrake/interactive.pm:912 #, c-format msgid "Enter a name for the new LVM volume group" msgstr "Indique um nome para o novo grupo do volume LVM" #: diskdrake/interactive.pm:917 #, c-format msgid "\"%s\" already exists" msgstr "\"%s\" já existe" #: diskdrake/interactive.pm:948 #, 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 "" "O volume físico %s ainda está em uso.\n" "Deseja mover as extensões físicas usadas neste volume para outros volumes?" #: diskdrake/interactive.pm:950 #, c-format msgid "Moving physical extents" msgstr "A mover extensões físicas" #: diskdrake/interactive.pm:968 #, c-format msgid "This partition can not be used for loopback" msgstr "Esta partição não pode ser usada para loopback" #: diskdrake/interactive.pm:981 #, c-format msgid "Loopback" msgstr "Loopback" #: diskdrake/interactive.pm:982 #, c-format msgid "Loopback file name: " msgstr "Nome do ficheiro loopback: " #: diskdrake/interactive.pm:987 #, c-format msgid "Give a file name" msgstr "Indique um nome de ficheiro" #: diskdrake/interactive.pm:990 #, c-format msgid "File is already used by another loopback, choose another one" msgstr "O ficheiro já está usado por outro loopback, escolha outro" #: diskdrake/interactive.pm:991 #, c-format msgid "File already exists. Use it?" msgstr "O ficheiro já existe. Deseja usá-lo?" #: diskdrake/interactive.pm:1023 diskdrake/interactive.pm:1026 #, c-format msgid "Mount options" msgstr "Opções de montagem" #: diskdrake/interactive.pm:1033 #, c-format msgid "Various" msgstr "Várias" #: diskdrake/interactive.pm:1100 #, c-format msgid "device" msgstr "dispositivo" #: diskdrake/interactive.pm:1101 #, c-format msgid "level" msgstr "nível" #: diskdrake/interactive.pm:1102 #, c-format msgid "chunk size in KiB" msgstr "tamanho do bloco em KiB" #: diskdrake/interactive.pm:1120 #, c-format msgid "Be careful: this operation is dangerous." msgstr "Atenção: esta operação é perigosa." #: diskdrake/interactive.pm:1135 #, c-format msgid "Partitioning Type" msgstr "Tipo de Particionamento" #: diskdrake/interactive.pm:1135 #, c-format msgid "What type of partitioning?" msgstr "Que tipo de particionamento?" #: diskdrake/interactive.pm:1173 #, c-format msgid "You'll need to reboot before the modification can take place" msgstr "Precisa reiniciar antes que as modificações tenham efeito" #: diskdrake/interactive.pm:1182 #, c-format msgid "Partition table of drive %s is going to be written to disk" msgstr "A tabela de partições do dispositivo %s irá ser escrita no disco" #: diskdrake/interactive.pm:1204 fs/format.pm:99 fs/format.pm:106 #, c-format msgid "Formatting partition %s" msgstr "A formatar a partição %s" #: diskdrake/interactive.pm:1217 #, c-format msgid "After formatting partition %s, all data on this partition will be lost" msgstr "" "Após formatar a partição %s, todos os dados nesta partição serão perdidos" #: diskdrake/interactive.pm:1226 fs/partitioning.pm:48 #, c-format msgid "Check bad blocks?" msgstr "Verificar blocos defeituosos?" #: diskdrake/interactive.pm:1240 #, c-format msgid "Move files to the new partition" msgstr "Mover ficheiros para a nova partição" #: diskdrake/interactive.pm:1240 #, c-format msgid "Hide files" msgstr "Esconder ficheiros" #: diskdrake/interactive.pm:1241 #, 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 "" "O directório %s já contém dados\n" "(%s)\n" "\n" "Pode escolher entre mover os ficheiros para a partição que aí será montada " "ou deixar os ficheiros onde estão (que resultará em esconder os ficheiros " "pelos conteúdos da partição montada)" #: diskdrake/interactive.pm:1256 #, c-format msgid "Moving files to the new partition" msgstr "A mover ficheiros para a nova partição" #: diskdrake/interactive.pm:1260 #, c-format msgid "Copying %s" msgstr "A copiar %s" #: diskdrake/interactive.pm:1264 #, c-format msgid "Removing %s" msgstr "A remover %s" #: diskdrake/interactive.pm:1278 #, c-format msgid "partition %s is now known as %s" msgstr "a partição %s é agora conhecida como %s" #: diskdrake/interactive.pm:1279 #, c-format msgid "Partitions have been renumbered: " msgstr "As partições foram renumeradas: " #: diskdrake/interactive.pm:1304 diskdrake/interactive.pm:1372 #, c-format msgid "Device: " msgstr "Dispositivo: " #: diskdrake/interactive.pm:1305 #, c-format msgid "Volume label: " msgstr "Nome do volume: " #: diskdrake/interactive.pm:1306 #, c-format msgid "UUID: " msgstr "UUID: " #: diskdrake/interactive.pm:1307 #, c-format msgid "DOS drive letter: %s (just a guess)\n" msgstr "Letra do dispositivo DOS: %s (apenas um palpite)\n" #: diskdrake/interactive.pm:1311 diskdrake/interactive.pm:1320 #: diskdrake/interactive.pm:1391 #, c-format msgid "Type: " msgstr "Tipo: " #: diskdrake/interactive.pm:1315 diskdrake/interactive.pm:1376 #, c-format msgid "Name: " msgstr "Nome: " #: diskdrake/interactive.pm:1322 #, c-format msgid "Start: sector %s\n" msgstr "Inicio: sector: %s\n" #: diskdrake/interactive.pm:1323 #, c-format msgid "Size: %s" msgstr "Tamanho: %s" #: diskdrake/interactive.pm:1325 #, c-format msgid ", %s sectors" msgstr ", %s sectores" #: diskdrake/interactive.pm:1327 #, c-format msgid "Cylinder %d to %d\n" msgstr "Cilindro %d para %d\n" #: diskdrake/interactive.pm:1328 #, c-format msgid "Number of logical extents: %d\n" msgstr "Número de extensões lógicas: %d\n" #: diskdrake/interactive.pm:1329 #, c-format msgid "Formatted\n" msgstr "Formatado\n" #: diskdrake/interactive.pm:1330 #, c-format msgid "Not formatted\n" msgstr "Não formatado\n" #: diskdrake/interactive.pm:1331 #, c-format msgid "Mounted\n" msgstr "Montado\n" #: diskdrake/interactive.pm:1332 #, c-format msgid "RAID %s\n" msgstr "RAID %s\n" #: diskdrake/interactive.pm:1334 #, c-format msgid "Encrypted" msgstr "Encripatdo" #: diskdrake/interactive.pm:1334 #, c-format msgid " (mapped on %s)" msgstr "(mapeado em %s)" #: diskdrake/interactive.pm:1335 #, c-format msgid " (to map on %s)" msgstr "(a mapear em %s)" #: diskdrake/interactive.pm:1336 #, c-format msgid " (inactive)" msgstr "(inactivo)" #: diskdrake/interactive.pm:1342 #, c-format msgid "" "Loopback file(s):\n" " %s\n" msgstr "" "Ficheiro(s) loopback:\n" " %s\n" #: diskdrake/interactive.pm:1343 #, c-format msgid "" "Partition booted by default\n" " (for MS-DOS boot, not for lilo)\n" msgstr "" "Partição de arranque predefinida\n" " (para arranque MS-DOS, não para o lilo)\n" #: diskdrake/interactive.pm:1345 #, c-format msgid "Level %s\n" msgstr "Nível %s\n" #: diskdrake/interactive.pm:1346 #, c-format msgid "Chunk size %d KiB\n" msgstr "Tamanho do bloco %d KiB\n" #: diskdrake/interactive.pm:1347 #, c-format msgid "RAID-disks %s\n" msgstr "Discos RAID %s\n" #: diskdrake/interactive.pm:1349 #, c-format msgid "Loopback file name: %s" msgstr "Nome do ficheiro loopback: %s" #: diskdrake/interactive.pm:1352 #, c-format msgid "" "\n" "Chances are, this partition is\n" "a Driver partition. You should\n" "probably leave it alone.\n" msgstr "" "\n" "Provavelmente esta partiçãoé uma partição com controlador.\n" "Não deve mexer na partição.\n" #: diskdrake/interactive.pm:1355 #, c-format msgid "" "\n" "This special Bootstrap\n" "partition is for\n" "dual-booting your system.\n" msgstr "" "\n" "Esta partição especial de arranque\n" "(bootstrap) é para\n" "arranque de vários sistemas.\n" #: diskdrake/interactive.pm:1364 #, c-format msgid "Free space on %s (%s)" msgstr "Espaço livre em %s (%s)" #: diskdrake/interactive.pm:1373 #, c-format msgid "Read-only" msgstr "Apenas-leitura" #: diskdrake/interactive.pm:1374 #, c-format msgid "Size: %s\n" msgstr "Tamanho: %s\n" #: diskdrake/interactive.pm:1375 #, c-format msgid "Geometry: %s cylinders, %s heads, %s sectors\n" msgstr "Geometria: %s cilindros, %s cabeças, %s sectores\n" #: diskdrake/interactive.pm:1377 #, c-format msgid "Medium type: " msgstr "Tipo de média: " #: diskdrake/interactive.pm:1378 #, c-format msgid "LVM-disks %s\n" msgstr "Discos LVM %s\n" #: diskdrake/interactive.pm:1379 #, c-format msgid "Partition table type: %s\n" msgstr "Tipo da tabela de partições: %s\n" #: diskdrake/interactive.pm:1380 #, c-format msgid "on channel %d id %d\n" msgstr "no canal %d id %d\n" #: diskdrake/interactive.pm:1424 #, c-format msgid "Choose your filesystem encryption key" msgstr "Escolha a sua chave de encriptação do sistema de ficheiros" #: diskdrake/interactive.pm:1427 #, c-format msgid "This encryption key is too simple (must be at least %d characters long)" msgstr "" "Esta chave de encriptação é demasiado simples (deve pelo menos ter %d " "caracteres de comprimento)" #: diskdrake/interactive.pm:1428 #, c-format msgid "The encryption keys do not match" msgstr "As chaves de encriptação não correspondem" #: diskdrake/interactive.pm:1432 #, c-format msgid "Encryption key (again)" msgstr "Chave de encriptação (novamente)" #: diskdrake/interactive.pm:1434 #, c-format msgid "Encryption algorithm" msgstr "Algoritmo de encriptação" #: diskdrake/removable.pm:46 #, c-format msgid "Change type" msgstr "Alterar tipo" #: diskdrake/smbnfs_gtk.pm:81 interactive.pm:129 interactive.pm:550 #: interactive/curses.pm:260 interactive/http.pm:104 interactive/http.pm:160 #: interactive/stdio.pm:39 interactive/stdio.pm:148 mygtk2.pm:847 ugtk2.pm:415 #: ugtk2.pm:517 ugtk2.pm:526 ugtk2.pm:812 #, c-format msgid "Cancel" msgstr "Cancelar" #: diskdrake/smbnfs_gtk.pm:164 #, c-format msgid "Can not login using username %s (bad password?)" msgstr "Não é possível autenticar usando nome de utilizador %s (senha errada?)" #: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177 #, c-format msgid "Domain Authentication Required" msgstr "Necessário Autenticação do Domínio" #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Which username" msgstr "Que nome de utilizador" #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Another one" msgstr "Outro" #: diskdrake/smbnfs_gtk.pm:178 #, c-format msgid "" "Please enter your username, password and domain name to access this host." msgstr "" "Por favor indique o seu nome de utilizador, senha e nome de domínio para " "aceder a este servidor." #: diskdrake/smbnfs_gtk.pm:180 #, c-format msgid "Username" msgstr "Nome de utilizador" #: diskdrake/smbnfs_gtk.pm:182 #, c-format msgid "Domain" msgstr "Domínio" #: diskdrake/smbnfs_gtk.pm:206 #, c-format msgid "Search servers" msgstr "Procurar servidores" #: diskdrake/smbnfs_gtk.pm:211 #, c-format msgid "Search new servers" msgstr "Procurar novos servidores" #: do_pkgs.pm:19 do_pkgs.pm:57 #, c-format msgid "The package %s needs to be installed. Do you want to install it?" msgstr "O pacote %s precisa ser instalado. Deseja-o instalar?" #: do_pkgs.pm:23 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:82 #, c-format msgid "Could not install the %s package!" msgstr "Não é possível instalar o pacote %s!" #: do_pkgs.pm:28 do_pkgs.pm:65 #, c-format msgid "Mandatory package %s is missing" msgstr "O pacote principal %s está em falta" #: do_pkgs.pm:39 do_pkgs.pm:77 #, c-format msgid "The following packages need to be installed:\n" msgstr "Os seguintes pacotes precisam ser instalados:\n" #: do_pkgs.pm:241 #, c-format msgid "Installing packages..." msgstr "A instalar pacotes..." #: do_pkgs.pm:287 pkgs.pm:281 #, c-format msgid "Removing packages..." msgstr "A remover pacotes..." #: fs/any.pm:17 #, c-format msgid "" "An error occurred - no valid devices were found on which to create new " "filesystems. Please check your hardware for the cause of this problem" msgstr "" "Ocorreu um erro - nenhum dispositivo válido foi encontrado para criar novos " "sistemas de ficheiros. Por favor verifique no seu material a causa deste " "problema" #: fs/any.pm:75 fs/partitioning_wizard.pm:61 #, c-format msgid "You must have a FAT partition mounted in /boot/efi" msgstr "Precisa ter uma partição FAT montada em /boot/efi" #: fs/format.pm:103 #, c-format msgid "Creating and formatting file %s" msgstr "A criar e formatar o ficheiro %s" #: fs/format.pm:122 #, c-format msgid "I do not know how to set label on %s with type %s" msgstr "Não sei como definir uma etiqueta em %s com tipo %s" #: fs/format.pm:131 #, c-format msgid "setting label on %s failed, is it formatted?" msgstr "falha ao definir etiqueta em %s, está formatado?" #: fs/format.pm:172 #, c-format msgid "I do not know how to format %s in type %s" msgstr "Não se sabe como formatar %s no tipo %s" #: fs/format.pm:177 fs/format.pm:179 #, c-format msgid "%s formatting of %s failed" msgstr "%s formatação de %s falhada" #: fs/loopback.pm:24 #, c-format msgid "Circular mounts %s\n" msgstr "Montagens circulares %s\n" #: fs/mount.pm:85 #, c-format msgid "Mounting partition %s" msgstr "A montar a partição %s" #: fs/mount.pm:86 #, c-format msgid "mounting partition %s in directory %s failed" msgstr "montagem da partição %s no directório %s falhada" #: fs/mount.pm:91 fs/mount.pm:108 #, c-format msgid "Checking %s" msgstr "A verificar %s" #: fs/mount.pm:125 partition_table.pm:405 #, c-format msgid "error unmounting %s: %s" msgstr "erro ao desmontar %s: %s" #: fs/mount.pm:140 #, c-format msgid "Enabling swap partition %s" msgstr "A activar a partição swap %s" #: fs/mount_options.pm:114 #, c-format msgid "Use an encrypted file system" msgstr "Usar sistema de ficheiros encriptado" #: fs/mount_options.pm:116 #, c-format msgid "Flush write cache on file close" msgstr "Eliminar 'cache' de escrita ao fechar ficheiro" #: fs/mount_options.pm:118 #, c-format msgid "Enable group disk quota accounting and optionally enforce limits" msgstr "" "Activar registo da quota de grupo no disco e opcionalmente reforçar limites" #: fs/mount_options.pm:120 #, c-format msgid "" "Do not update inode access times on this file system\n" "(e.g, for faster access on the news spool to speed up news servers)." msgstr "" "Não actualiza os tempos de acesso inode neste sistema de ficheiros\n" "(ex. um acesso mais rápido à fila de notícias para acelerar os servidores de " "noticias)." #: 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 "" "Actualiza os tempos de acesso inode neste sistema de ficheiros de uma\n" "maneira mais eficiente (ex. um acesso mais rápido à fila de notícias para\n" "acelerar os servidores de noticias)." #: fs/mount_options.pm:126 #, c-format msgid "" "Can only be mounted explicitly (i.e.,\n" "the -a option will not cause the file system to be mounted)." msgstr "" "Pode apenas ser montado explicitamente (ou seja, a opção -a\n" "não irá fazer com que o sistema de ficheiros seja montado)." #: fs/mount_options.pm:129 #, c-format msgid "Do not interpret character or block special devices on the file system." msgstr "" "Não interpretar caracteres ou blocos especiais dos dispositivos no sistema " "de ficheiros." #: fs/mount_options.pm:131 #, c-format msgid "" "Do not allow execution of any binaries on the mounted\n" "file system. This option might be useful for a server that has file systems\n" "containing binaries for architectures other than its own." msgstr "" "Não permite a execução de binários no sistema de ficheiros montado.\n" "Esta opção pode ser útil para um servidor que tem um sistema de ficheiros\n" "que contém binários para outras arquitecturas que não a própria." #: 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 "" "Não permite aos bits set-user-identifier ou set-group-identifier\n" "terem efeito. (Isto parece seguro, mas de facto é inseguro se tiver\n" "o suidperl(1) instalado.)" #: fs/mount_options.pm:139 #, c-format msgid "Mount the file system read-only." msgstr "Montar sistema de ficheiros em apenas-leitura." #: fs/mount_options.pm:141 #, c-format msgid "All I/O to the file system should be done synchronously." msgstr "" "Todos as E/S do sistema de ficheiros devem ser feitas sincronizadamente." #: fs/mount_options.pm:143 #, c-format msgid "Allow every user to mount and umount the file system." msgstr "" "Permitir a todos os utilizadores montar e desmontar o sistema de ficheiros." #: fs/mount_options.pm:145 #, c-format msgid "Allow an ordinary user to mount the file system." msgstr "Permitir a um utilizador normal montar o sistema de ficheiros." #: fs/mount_options.pm:147 #, c-format msgid "Enable user disk quota accounting, and optionally enforce limits" msgstr "" "Activar contagem da quota de disco do utilizador, e opcionalmente reforçar " "limites" #: fs/mount_options.pm:149 #, c-format msgid "Support \"user.\" extended attributes" msgstr "Suportar atributos extendidos de \"utilizador.\"" #: fs/mount_options.pm:151 #, c-format msgid "Give write access to ordinary users" msgstr "Dar acesso de escrita a utilizadores normais" #: fs/mount_options.pm:153 #, c-format msgid "Give read-only access to ordinary users" msgstr "Dar acesso de apenas-leitura a utilizadores normais" #: fs/mount_point.pm:80 #, c-format msgid "Duplicate mount point %s" msgstr "Duplicar ponto de montagem %s" #: fs/mount_point.pm:95 #, c-format msgid "No partition available" msgstr "Nenhuma partição disponível" #: fs/mount_point.pm:98 #, c-format msgid "Scanning partitions to find mount points" msgstr "Examinar partições para procurar pontos de montagem" #: fs/mount_point.pm:105 #, c-format msgid "Choose the mount points" msgstr "Escolha os pontos de montagem" #: fs/partitioning.pm:46 #, c-format msgid "Choose the partitions you want to format" msgstr "Escolha as partições que deseja formatar" #: 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 "" "Falha na verificação do sistema de ficheiros %s. Deseja corrigir os erros? " "(atenção, pode perder dados)" #: fs/partitioning.pm:78 #, c-format msgid "Not enough swap space to fulfill installation, please add some" msgstr "" "Sem espaço swap suficiente para concluir a instalação, por favor adicione " "mais" #: fs/partitioning_wizard.pm:53 #, c-format msgid "" "You must have a root partition.\n" "For this, create a partition (or click on an existing one).\n" "Then choose action ``Mount point'' and set it to `/'" msgstr "" "Precisa ter uma partição de raiz.\n" "Para isso, crie uma partição (ou clique numa existente).\n" "Depois escolha a acção ``Ponto de montagem'' e defina-a para `/'" #: fs/partitioning_wizard.pm:58 #, c-format msgid "" "You do not have a swap partition.\n" "\n" "Continue anyway?" msgstr "" "Não tem uma partição swap.\n" "\n" "Continuar mesmo assim?" #: fs/partitioning_wizard.pm:92 #, c-format msgid "Use free space" msgstr "Usar espaço livre" #: fs/partitioning_wizard.pm:94 #, c-format msgid "Not enough free space to allocate new partitions" msgstr "Sem espaço livre suficiente para alocar novas partições" #: fs/partitioning_wizard.pm:102 #, c-format msgid "Use existing partitions" msgstr "Usar partições existentes" #: fs/partitioning_wizard.pm:104 #, c-format msgid "There is no existing partition to use" msgstr "Não existe nenhuma partição para usar" #: fs/partitioning_wizard.pm:128 #, c-format msgid "Computing the size of the Microsoft Windows® partition" msgstr "A calcular o tamanho da partição Microsoft Windows®" #: fs/partitioning_wizard.pm:164 #, c-format msgid "Use the free space on a Microsoft Windows® partition" msgstr "Usar o espaço livre numa partição Microsoft Windows®" #: fs/partitioning_wizard.pm:168 #, c-format msgid "Which partition do you want to resize?" msgstr "Que partição deseja redimensionar?" #: fs/partitioning_wizard.pm:171 #, c-format msgid "" "Your Microsoft Windows® partition is too fragmented. Please reboot your " "computer under Microsoft Windows®, run the ``defrag'' utility, then restart " "the Mandriva Linux installation." msgstr "" "A sua partição Microsoft Windows® está demasiado fragmentada. Por favor " "reinicie o seu computador no Microsoft Windows®, execute o utilitário " "``defrag'', depois recomece a instalação Mandriva Linux." #: fs/partitioning_wizard.pm:179 #, 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 "" "AVISO!\n" "\n" "\n" "A sua partição Microsoft Windows® será agora redimensionada.\n" "\n" "\n" "Atenção: esta operação é perigosa. Se ainda não a tiver feito, deve primeiro " "sair da instalação, executar \"chkdsk c:\" a partir de uma linha de comandos " "no Microsoft Windows® (atenção, não chega apenas executar o programa gráfico " "\"scandisk\", certifique-se que execute numa linda de comandos o \"chkdsk" "\"!), opcionalmente pode correr o defrag, depois reinicie a instalação. Deve " "também salvaguardar os seus dados.\n" "\n" "\n" "Quando tiver certeza, prima %s." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: fs/partitioning_wizard.pm:188 fs/partitioning_wizard.pm:551 #: interactive.pm:549 interactive/curses.pm:263 ugtk2.pm:519 #, c-format msgid "Next" msgstr "Próximo" #: fs/partitioning_wizard.pm:194 #, c-format msgid "Partitionning" msgstr "Particionamento" #: fs/partitioning_wizard.pm:194 #, c-format msgid "Which size do you want to keep for Microsoft Windows® on partition %s?" msgstr "Que tamanho deseja manter para o Microsoft Windows® na partição %s?" #: fs/partitioning_wizard.pm:195 #, c-format msgid "Size" msgstr "Tamanho" #: fs/partitioning_wizard.pm:204 #, c-format msgid "Resizing Microsoft Windows® partition" msgstr "A redimensionar a partição Microsoft Windows®" #: fs/partitioning_wizard.pm:209 #, c-format msgid "FAT resizing failed: %s" msgstr "Redimensionamento FAT falhado: %s" #: fs/partitioning_wizard.pm:225 #, c-format msgid "There is no FAT partition to resize (or not enough space left)" msgstr "Não há partições FAT para redimensionar (ou espaço livre suficiente)" #: fs/partitioning_wizard.pm:230 #, c-format msgid "Remove Microsoft Windows®" msgstr "Remover Microsoft Windows®" #: fs/partitioning_wizard.pm:230 #, c-format msgid "Erase and use entire disk" msgstr "Apagar e usar o disco todo" #: fs/partitioning_wizard.pm:234 #, c-format msgid "You have more than one hard drive, which one do you install linux on?" msgstr "Tem mais que um disco rígido, em que disco deseja instalar o linux?" #: fs/partitioning_wizard.pm:242 fsedit.pm:600 #, c-format msgid "ALL existing partitions and their data will be lost on drive %s" msgstr "" "TODAS as partições existentes e seus dados serão perdidos no dispositivo %s" #: fs/partitioning_wizard.pm:252 #, c-format msgid "Custom disk partitioning" msgstr "Particionamento personalizado do disco" #: fs/partitioning_wizard.pm:258 #, c-format msgid "Use fdisk" msgstr "Usar fdisk" #: fs/partitioning_wizard.pm:261 #, c-format msgid "" "You can now partition %s.\n" "When you are done, do not forget to save using `w'" msgstr "" "Pode agora particionar %s.\n" "Quando terminar, não se esqueça de gravar usando `w'" #: fs/partitioning_wizard.pm:401 #, c-format msgid "Ext2/3/4" msgstr "Ext2/3/4" #: fs/partitioning_wizard.pm:431 fs/partitioning_wizard.pm:571 #, c-format msgid "I can not find any room for installing" msgstr "Não é possível encontrar espaço disponível para instalar" #: fs/partitioning_wizard.pm:440 fs/partitioning_wizard.pm:578 #, c-format msgid "The DrakX Partitioning wizard found the following solutions:" msgstr "O assistente de particionamento DrakX encontrou as seguintes soluções:" #: fs/partitioning_wizard.pm:511 #, c-format msgid "Here is the content of your disk drive " msgstr "Aqui está o conteúdo do seu disco rígido " #: fs/partitioning_wizard.pm:588 #, c-format msgid "Partitioning failed: %s" msgstr "Particionamento falhado: %s" #: fs/type.pm:390 #, c-format msgid "You can not use JFS for partitions smaller than 16MB" msgstr "Não pode usar JFS para partições menores que 16MB" #: fs/type.pm:391 #, c-format msgid "You can not use ReiserFS for partitions smaller than 32MB" msgstr "Não pode usar ReiserFS em partições menores que 32MB" #: fsedit.pm:24 #, c-format msgid "simple" msgstr "simples" #: fsedit.pm:28 #, c-format msgid "with /usr" msgstr "com /usr" #: fsedit.pm:33 #, c-format msgid "server" msgstr "servidor" #: fsedit.pm:137 #, c-format msgid "BIOS software RAID detected on disks %s. Activate it?" msgstr "Programa BIOS RAID detectado nos discos %s. Deseja-o activar?" #: fsedit.pm:247 #, c-format msgid "" "I can not read the partition table of device %s, it's too corrupted for me :" "(\n" "I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n" "The other solution is to not allow DrakX to modify the partition table.\n" "(the error is %s)\n" "\n" "Do you agree to lose all the partitions?\n" msgstr "" "Não é possível ler a tabela de partição de %s, está demasiado corrompida:\n" "Pode tentar continuar, e apagar as partições corrompidas (TODOS\n" "OS DADOS serão perdidos!). A outra solução é não permitir ao DrakX\n" "modificar a tabela de partições. (o erro é %s)\n" "\n" "Concorda em perder todas as partições?\n" #: fsedit.pm:425 #, c-format msgid "Mount points must begin with a leading /" msgstr "Os pontos de montagem devem começar com /" #: fsedit.pm:426 #, c-format msgid "Mount points should contain only alphanumerical characters" msgstr "Os pontos de montagem devem apenas conter caracteres alfanuméricos" #: fsedit.pm:427 #, c-format msgid "There is already a partition with mount point %s\n" msgstr "Já existe uma partição no ponto de montagem %s\n" #: fsedit.pm:431 #, c-format msgid "" "You've selected a software RAID partition as root (/).\n" "No bootloader is able to handle this without a /boot partition.\n" "Please be sure to add a /boot partition" msgstr "" "Seleccionou uma partição RAID como raiz (/). Nenhum\n" "carregador de arranque consegue aceder a esta partição sem\n" "uma partição /boot. Certifique-se que adiciona uma partição /boot" #: fsedit.pm:437 #, c-format msgid "" "You can not use the LVM Logical Volume for mount point %s since it spans " "physical volumes" msgstr "" "Não pode usar Volumes Lógicos LVM para pontos de montagem %s já que atrasa " "os volumes físicos" #: fsedit.pm:439 #, c-format msgid "" "You've selected the LVM Logical Volume as root (/).\n" "The bootloader is not able to handle this when the volume spans physical " "volumes.\n" "You should create a /boot partition first" msgstr "" "Seleccionou um Volume Lógico LVM como raiz (/).\n" "O carregador de arranque não o consegue gerir quando o volume atrasa os " "volumes físicos.\n" "Deve primeiro criar uma partição de arranque /boot" #: fsedit.pm:443 fsedit.pm:445 #, c-format msgid "This directory should remain within the root filesystem" msgstr "Este directório deve permanecer dentro do sistema de ficheiros de raiz" #: fsedit.pm:447 fsedit.pm:449 #, c-format msgid "" "You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount " "point\n" msgstr "" "Precisa de um verdadeiro sistema de ficheiros (ext2/ext3, ReiserFS, xfs ou " "JFS) para este ponto de montagem\n" #: fsedit.pm:451 #, c-format msgid "You can not use an encrypted file system for mount point %s" msgstr "" "Não pode usar um sistema de ficheiros encriptado para o ponto de montagem %s" #: fsedit.pm:516 #, c-format msgid "Not enough free space for auto-allocating" msgstr "Sem espaço livre suficiente para auto-alocação" #: fsedit.pm:518 #, c-format msgid "Nothing to do" msgstr "Nada a fazer" #: harddrake/data.pm:62 #, c-format msgid "SATA controllers" msgstr "Controladores SATA" #: harddrake/data.pm:71 #, c-format msgid "RAID controllers" msgstr "Controladores RAID" #: harddrake/data.pm:81 #, c-format msgid "(E)IDE/ATA controllers" msgstr "Controladores (E)IDE/ATA" #: harddrake/data.pm:92 #, c-format msgid "Card readers" msgstr "Leitores de cartões" #: harddrake/data.pm:101 #, c-format msgid "Firewire controllers" msgstr "Controladores Firewire" #: harddrake/data.pm:110 #, c-format msgid "PCMCIA controllers" msgstr "Controladores PCMCIA" #: harddrake/data.pm:119 #, c-format msgid "SCSI controllers" msgstr "Controladores SCSI" #: harddrake/data.pm:128 #, c-format msgid "USB controllers" msgstr "Controladores USB" #: harddrake/data.pm:137 #, c-format msgid "USB ports" msgstr "Portos USB" #: harddrake/data.pm:146 #, c-format msgid "SMBus controllers" msgstr "Controladores SMBus" #: harddrake/data.pm:155 #, c-format msgid "Bridges and system controllers" msgstr "Pontes e controladores do sistema" #: harddrake/data.pm:167 #, c-format msgid "Floppy" msgstr "Disquete" #: harddrake/data.pm:177 #, c-format msgid "Zip" msgstr "Zip" #: harddrake/data.pm:193 #, c-format msgid "Hard Disk" msgstr "Disco Rígido" #: harddrake/data.pm:203 #, c-format msgid "USB Mass Storage Devices" msgstr "Dispositivos de Armazenamento USB" #: harddrake/data.pm:212 #, c-format msgid "CDROM" msgstr "CDROM" #: harddrake/data.pm:222 #, c-format msgid "CD/DVD burners" msgstr "Gravadores CD/DVD" #: harddrake/data.pm:232 #, c-format msgid "DVD-ROM" msgstr "DVD-ROM" #: harddrake/data.pm:242 #, c-format msgid "Tape" msgstr "Cassete" #: harddrake/data.pm:253 #, c-format msgid "AGP controllers" msgstr "Controladores AGP" #: harddrake/data.pm:262 #, c-format msgid "Videocard" msgstr "Placa Gráfica" #: harddrake/data.pm:271 #, c-format msgid "DVB card" msgstr "Placa DVB" #: harddrake/data.pm:279 #, c-format msgid "Tvcard" msgstr "Placa TV" #: harddrake/data.pm:289 #, c-format msgid "Other MultiMedia devices" msgstr "Outros dispositivos Multimédia" #: harddrake/data.pm:298 #, c-format msgid "Soundcard" msgstr "Placa de Som" #: harddrake/data.pm:312 #, c-format msgid "Webcam" msgstr "Câmara Web" #: harddrake/data.pm:327 #, c-format msgid "Processors" msgstr "Processadores" #: harddrake/data.pm:337 #, c-format msgid "ISDN adapters" msgstr "Adaptadores ISDN" #: harddrake/data.pm:348 #, c-format msgid "USB sound devices" msgstr "Dispositivos de som USB" #: harddrake/data.pm:357 #, c-format msgid "Radio cards" msgstr "Placa de Rádio" #: harddrake/data.pm:366 #, c-format msgid "ATM network cards" msgstr "Placas de rede ATM" #: harddrake/data.pm:375 #, c-format msgid "WAN network cards" msgstr "Placas de rede WAN" #: harddrake/data.pm:384 #, c-format msgid "Bluetooth devices" msgstr "Dispositivos bluetooth" #: harddrake/data.pm:393 #, c-format msgid "Ethernetcard" msgstr "Placa ethernet" #: harddrake/data.pm:410 #, c-format msgid "Modem" msgstr "Modem" #: harddrake/data.pm:420 #, c-format msgid "ADSL adapters" msgstr "Adaptadores ADSL" #: harddrake/data.pm:432 #, c-format msgid "Memory" msgstr "Memória" #: harddrake/data.pm:441 #, c-format msgid "Printer" msgstr "Impressora" #. -PO: these are joysticks controllers: #: harddrake/data.pm:455 #, c-format msgid "Game port controllers" msgstr "Controladores de portos de jogos" #: harddrake/data.pm:464 #, c-format msgid "Joystick" msgstr "Joystick" #: harddrake/data.pm:474 #, c-format msgid "Keyboard" msgstr "Teclado" #: harddrake/data.pm:488 #, c-format msgid "Tablet and touchscreen" msgstr "Tabuleiro e ecrã de toque" #: harddrake/data.pm:497 #, c-format msgid "Mouse" msgstr "Rato" #: harddrake/data.pm:512 #, c-format msgid "Biometry" msgstr "Biometria" #: harddrake/data.pm:520 #, c-format msgid "UPS" msgstr "UPS" #: harddrake/data.pm:529 #, c-format msgid "Scanner" msgstr "Digitalizador" #: harddrake/data.pm:540 #, c-format msgid "Unknown/Others" msgstr "Desconhecido/Outros" #: harddrake/data.pm:570 #, c-format msgid "cpu # " msgstr "processador # " #: harddrake/sound.pm:303 #, c-format msgid "Please Wait... Applying the configuration" msgstr "Por favor aguarde... A aplicar a configuração" #: harddrake/sound.pm:366 #, c-format msgid "Enable PulseAudio" msgstr "Activar PulseAudio" #: harddrake/sound.pm:370 #, c-format msgid "Enable 5.1 sound with Pulse Audio" msgstr "Activar som 5.1 com Pulse Audio" #: harddrake/sound.pm:375 #, c-format msgid "Enable user switching for audio applications" msgstr "Activar mudança de utilizador para aplicações áudio" #: harddrake/sound.pm:379 #, c-format msgid "Use Glitch-Free mode" msgstr "Usar modo Glitch-Free" #: harddrake/sound.pm:385 #, c-format msgid "Reset sound mixer to default values" msgstr "Restaurar misturador de som para valores predefinidos" #: harddrake/sound.pm:390 #, c-format msgid "Trouble shooting" msgstr "Correcção de problemas" #: harddrake/sound.pm:397 #, c-format msgid "No alternative driver" msgstr "Nenhum controlador alternativo" #: harddrake/sound.pm:398 #, c-format msgid "" "There's no known OSS/ALSA alternative driver for your sound card (%s) which " "currently uses \"%s\"" msgstr "" "Não há nenhum controlador alternativo OSS/ALSA conhecido para a sua placa de " "som (%s) que actualmente usa \"%s\"" #: harddrake/sound.pm:405 #, c-format msgid "Sound configuration" msgstr "Configuração do som" #: harddrake/sound.pm:407 #, c-format msgid "" "Here you can select an alternative driver (either OSS or ALSA) for your " "sound card (%s)." msgstr "" "Aqui pode seleccionar um controlador alternativo (seja OSS ou ALSA) para a " "sua placa de som (%s)." #. -PO: here the first %s is either "OSS" or "ALSA", #. -PO: the second %s is the name of the current driver #. -PO: and the third %s is the name of the default driver #: harddrake/sound.pm:412 #, c-format msgid "" "\n" "\n" "Your card currently use the %s\"%s\" driver (default driver for your card is " "\"%s\")" msgstr "" "\n" "\n" "A sua placa actualmente usa o controlador %s\"%s\" (o controlador " "predefinido para a sua placa é \"%s\")" #: harddrake/sound.pm:414 #, c-format msgid "" "OSS (Open Sound System) was the first sound API. It's an OS independent " "sound API (it's available on most UNIX(tm) systems) but it's a very basic " "and limited API.\n" "What's more, OSS drivers all reinvent the wheel.\n" "\n" "ALSA (Advanced Linux Sound Architecture) is a modularized architecture " "which\n" "supports quite a large range of ISA, USB and PCI cards.\n" "\n" "It also provides a much higher API than OSS.\n" "\n" "To use alsa, one can either use:\n" "- the old compatibility OSS api\n" "- the new ALSA api that provides many enhanced features but requires using " "the ALSA library.\n" msgstr "" "OSS (Open Sound System) era o primeiro som API. É um som API de um SO " "independente (está disponível na maior parte dos sistemas Unix) mas é um API " "muito básico\n" "e limitado. Ainda mais, todos os controladores OSS re-inventaram a roda.\n" "\n" "ALSA (Advanced Linux Sound Architecture) é uma arquitectura modularizada\n" "que suporta um grande numero de placas ISA, USB e PCI.\n" "\n" "Também fornece um API mais elevado que um OSS.\n" "\n" "Para usar alsa, um pode também usar:\n" "- o antigo API de compatibilidade OSS\n" "- o novo API ALSA que fornece muitas funções melhoradas mas requer o uso da " "livraria ALSA.\n" #: harddrake/sound.pm:428 harddrake/sound.pm:511 #, c-format msgid "Driver:" msgstr "Controlador:" #: harddrake/sound.pm:442 #, c-format msgid "" "The old \"%s\" driver is blacklisted.\n" "\n" "It has been reported to oops the kernel on unloading.\n" "\n" "The new \"%s\" driver will only be used on next bootstrap." msgstr "" "O antigo controlador \"%s\" está na lista negra.\n" "\n" "Foi indicado que provoca erros no kernel ao descarregar.\n" "\n" "O novo controlador \"%s\" irá apenas ser usado no próximo arranque." #: harddrake/sound.pm:450 #, c-format msgid "No open source driver" msgstr "Nenhum controlador de código livre" #: harddrake/sound.pm:451 #, c-format msgid "" "There's no free driver for your sound card (%s), but there's a proprietary " "driver at \"%s\"." msgstr "" "Não há nenhum controlador grátis para a sua placa de som (%s), mas existe um " "controlador proprietário em \"%s\"." #: harddrake/sound.pm:454 #, c-format msgid "No known driver" msgstr "Nenhum controlador conhecido" #: harddrake/sound.pm:455 #, c-format msgid "There's no known driver for your sound card (%s)" msgstr "Não há nenhum controlador conhecido para a sua placa de som (%s)" #: harddrake/sound.pm:470 #, c-format msgid "Sound trouble shooting" msgstr "Correcção de problemas de som" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: harddrake/sound.pm:473 #, c-format msgid "" "The classic bug sound tester is to run the following commands:\n" "\n" "\n" "- \"lspcidrake -v | fgrep -i AUDIO\" will tell you which driver your card " "uses\n" "by default\n" "\n" "- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n" "currently uses\n" "\n" "- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n" "loaded or not\n" "\n" "- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n" "tell you if sound and alsa services are configured to be run on\n" "initlevel 3\n" "\n" "- \"aumix -q\" will tell you if the sound volume is muted or not\n" "\n" "- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n" msgstr "" "O teste clássico a fazer em caso de problemas de som é:\n" "\n" "\n" "- \"lspcidrake -v | fgrep -i AUDIO\" diz-lhe que controlador a sua placa " "usa\n" "por omissão\n" "\n" "- \"grep sound-slot /etc/modprobe.conf\" diz-lhe que controlador\n" "actualmente usa\n" "\n" "- \"/sbin/lsmod\" permite-lhe verificar se o seu módulo controlador)\n" "está carregado ou não\n" "\n" "- \"/sbin/chkconfig --list sound\" e \"/sbin/chkconfig --list alsa\" diz-" "lhe\n" "se os serviços sound e alsa estão configurados para ser lançados no\n" "initlevel 3\n" "\n" "- \"aumix -q\" diz-lhe se o volume de som está 'mudo' ou não\n" "\n" "- \"/sbin/fuser -v /dev/dsp\" diz-lhe que programa a placa de som usa.\n" #: harddrake/sound.pm:500 #, c-format msgid "Let me pick any driver" msgstr "Deixe-me escolher qualquer controlador" #: harddrake/sound.pm:503 #, c-format msgid "Choosing an arbitrary driver" msgstr "Escolher um controlador arbitrariamente" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: harddrake/sound.pm:506 #, c-format msgid "" "If you really think that you know which driver is the right one for your " "card\n" "you can pick one in the above list.\n" "\n" "The current driver for your \"%s\" sound card is \"%s\" " msgstr "" "Se realmente acha que sabe que controlador é o apropriado para a sua placa\n" "pode escolher um da lista seguinte.\n" "\n" "O controlador actual para a sua placa de som \"%s\" é \"%s\" " #: harddrake/v4l.pm:12 #, c-format msgid "Auto-detect" msgstr "Auto-detectar" #: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337 #, c-format msgid "Unknown|Generic" msgstr "Desconhecido|Genérico" #: harddrake/v4l.pm:130 #, c-format msgid "Unknown|CPH05X (bt878) [many vendors]" msgstr "Desconhecido|CPH05X (bt878) [muitos fabricantes]" #: harddrake/v4l.pm:131 #, c-format msgid "Unknown|CPH06X (bt878) [many vendors]" msgstr "Desconhecido|CPH06X (bt878) [muitos fabricantes]" #: 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 "" "Para a maioria das placas TV modernas, o modulo bttv do kernel GNU/Linux " "auto detecta os parâmetros certos.\n" "Se a sua placa não é detectada, aqui pode forçar os correctos sintonizadores " "e tipos de de placa. Escolha os seus parâmetros de placa de tv se necessário." #: harddrake/v4l.pm:478 #, c-format msgid "Card model:" msgstr "Modelo da placa:" #: harddrake/v4l.pm:479 #, c-format msgid "Tuner type:" msgstr "Tipo de sintonisador:" #: interactive.pm:128 interactive.pm:549 interactive/curses.pm:263 #: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39 #: interactive/stdio.pm:148 interactive/stdio.pm:149 mygtk2.pm:847 #: ugtk2.pm:421 ugtk2.pm:519 ugtk2.pm:812 ugtk2.pm:835 #, c-format msgid "Ok" msgstr "Ok" #: interactive.pm:228 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:156 #, c-format msgid "Yes" msgstr "Sim" #: interactive.pm:228 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:156 #, c-format msgid "No" msgstr "Não" #: interactive.pm:262 #, c-format msgid "Choose a file" msgstr "Escolha um ficheiro" #: interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Add" msgstr "Adicionar" #: interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Modify" msgstr "Modificar" #: interactive.pm:549 interactive/curses.pm:263 ugtk2.pm:519 #, c-format msgid "Finish" msgstr "Terminar" #: interactive.pm:550 interactive/curses.pm:260 ugtk2.pm:517 #, c-format msgid "Previous" msgstr "Anterior" #: interactive/curses.pm:556 ugtk2.pm:872 #, c-format msgid "No file chosen" msgstr "Nenhum ficheiro escolhido" #: interactive/curses.pm:560 ugtk2.pm:876 #, c-format msgid "You have chosen a directory, not a file" msgstr "Escolheu um directório, não um ficheiro" #: interactive/curses.pm:562 ugtk2.pm:878 #, c-format msgid "No such directory" msgstr "Nenhum directório encontrado" #: interactive/curses.pm:562 ugtk2.pm:878 #, c-format msgid "No such file" msgstr "Nenhum ficheiro encontrado" #: interactive/gtk.pm:594 #, c-format msgid "Beware, Caps Lock is enabled" msgstr "Atenção, tem as Maiúsculas activadas" #: interactive/stdio.pm:29 interactive/stdio.pm:154 #, c-format msgid "Bad choice, try again\n" msgstr "Má escolha, tente novamente\n" #: interactive/stdio.pm:30 interactive/stdio.pm:155 #, c-format msgid "Your choice? (default %s) " msgstr "A sua escolha? (predefinido %s) " #: interactive/stdio.pm:54 #, c-format msgid "" "Entries you'll have to fill:\n" "%s" msgstr "" "Entradas que irá ter que preencher:\n" "%s" #: interactive/stdio.pm:70 #, c-format msgid "Your choice? (0/1, default `%s') " msgstr "A sua escolha? (0/1, predefinido '%s') " #: interactive/stdio.pm:97 #, c-format msgid "Button `%s': %s" msgstr "Botão '%s': %s" #: interactive/stdio.pm:98 #, c-format msgid "Do you want to click on this button?" msgstr "Deseja clicar neste botão?" #: interactive/stdio.pm:110 #, c-format msgid "Your choice? (default `%s'%s) " msgstr "A sua escolha? (predefinido '%s'%s) " #: interactive/stdio.pm:110 #, c-format msgid " enter `void' for void entry" msgstr " digite `void' para uma entrada vazia" #: interactive/stdio.pm:128 #, c-format msgid "=> There are many things to choose from (%s).\n" msgstr "=> Há muitas coisas a escolher de (%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 "" "Por favor escolha o primeiro numero dos 10 que deseja editar,\n" "ou apenas prima Enter para proceder.\n" "A sua escolha? " #: interactive/stdio.pm:144 #, c-format msgid "" "=> Notice, a label changed:\n" "%s" msgstr "" "=> Note, mudou uma etiqueta:\n" "%s" #: interactive/stdio.pm:151 #, c-format msgid "Re-submit" msgstr "Submeter novamente" #. -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:195 #, c-format msgid "default:LTR" msgstr "default:LTR" #: lang.pm:212 #, c-format msgid "Andorra" msgstr "Andorra" #: lang.pm:213 timezone.pm:226 #, c-format msgid "United Arab Emirates" msgstr "Emiratos Árabes Unidos" #: lang.pm:214 #, c-format msgid "Afghanistan" msgstr "Afeganistão" #: lang.pm:215 #, c-format msgid "Antigua and Barbuda" msgstr "Antigua e Barbuda" #: lang.pm:216 #, c-format msgid "Anguilla" msgstr "Anguilla" #: lang.pm:217 #, c-format msgid "Albania" msgstr "Albânia" #: lang.pm:218 #, c-format msgid "Armenia" msgstr "Arménia" #: lang.pm:219 #, c-format msgid "Netherlands Antilles" msgstr "Antilhas Holandesas" #: lang.pm:220 #, c-format msgid "Angola" msgstr "Angola" #: lang.pm:221 #, c-format msgid "Antarctica" msgstr "Antárctica" #: lang.pm:222 timezone.pm:271 #, c-format msgid "Argentina" msgstr "Argentina" #: lang.pm:223 #, c-format msgid "American Samoa" msgstr "Samoa Americana" #: lang.pm:224 mirror.pm:12 timezone.pm:229 #, c-format msgid "Austria" msgstr "Áustria" #: lang.pm:225 mirror.pm:11 timezone.pm:267 #, c-format msgid "Australia" msgstr "Austrália" #: lang.pm:226 #, c-format msgid "Aruba" msgstr "Aruba" #: lang.pm:227 #, c-format msgid "Azerbaijan" msgstr "Azerbeijão" #: lang.pm:228 #, c-format msgid "Bosnia and Herzegovina" msgstr "Bósnia e Herzegovina" #: lang.pm:229 #, c-format msgid "Barbados" msgstr "Barbados" #: lang.pm:230 timezone.pm:211 #, c-format msgid "Bangladesh" msgstr "Bangladesh" #: lang.pm:231 mirror.pm:13 timezone.pm:231 #, c-format msgid "Belgium" msgstr "Bélgica" #: lang.pm:232 #, c-format msgid "Burkina Faso" msgstr "Burkina Faso" #: lang.pm:233 timezone.pm:232 #, c-format msgid "Bulgaria" msgstr "Bulgária" #: lang.pm:234 #, c-format msgid "Bahrain" msgstr "Bahrain" #: lang.pm:235 #, c-format msgid "Burundi" msgstr "Burundi" #: lang.pm:236 #, c-format msgid "Benin" msgstr "Benin" #: lang.pm:237 #, c-format msgid "Bermuda" msgstr "Bermuda" #: lang.pm:238 #, c-format msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lang.pm:239 #, c-format msgid "Bolivia" msgstr "Bolívia" #: lang.pm:240 mirror.pm:14 timezone.pm:272 #, c-format msgid "Brazil" msgstr "Brasil" #: lang.pm:241 #, c-format msgid "Bahamas" msgstr "Bahamas" #: lang.pm:242 #, c-format msgid "Bhutan" msgstr "Butão" #: lang.pm:243 #, c-format msgid "Bouvet Island" msgstr "Ilha Bouvet" #: lang.pm:244 #, c-format msgid "Botswana" msgstr "Botswana" #: lang.pm:245 timezone.pm:230 #, c-format msgid "Belarus" msgstr "Bielorrússia" #: lang.pm:246 #, c-format msgid "Belize" msgstr "Belize" #: lang.pm:247 mirror.pm:15 timezone.pm:261 #, c-format msgid "Canada" msgstr "Canadá" #: lang.pm:248 #, c-format msgid "Cocos (Keeling) Islands" msgstr "Ilhas Cocos (Keeling)" #: lang.pm:249 #, c-format msgid "Congo (Kinshasa)" msgstr "Congo (Kinshasa)" #: lang.pm:250 #, c-format msgid "Central African Republic" msgstr "República Centro-Africana" #: lang.pm:251 #, c-format msgid "Congo (Brazzaville)" msgstr "Congo (Brazzaville)" #: lang.pm:252 mirror.pm:39 timezone.pm:255 #, c-format msgid "Switzerland" msgstr "Suíça" #: lang.pm:253 #, c-format msgid "Cote d'Ivoire" msgstr "Costa do Marfim" #: lang.pm:254 #, c-format msgid "Cook Islands" msgstr "Ilhas Cook" #: lang.pm:255 timezone.pm:273 #, c-format msgid "Chile" msgstr "Chile" #: lang.pm:256 #, c-format msgid "Cameroon" msgstr "Camarões" #: lang.pm:257 timezone.pm:212 #, c-format msgid "China" msgstr "China" #: lang.pm:258 #, c-format msgid "Colombia" msgstr "Colômbia" #: lang.pm:259 mirror.pm:16 #, c-format msgid "Costa Rica" msgstr "Costa Rica" #: lang.pm:260 #, c-format msgid "Serbia & Montenegro" msgstr "Servia & Montenegro" #: lang.pm:261 #, c-format msgid "Cuba" msgstr "Cuba" #: lang.pm:262 #, c-format msgid "Cape Verde" msgstr "Cabo Verde" #: lang.pm:263 #, c-format msgid "Christmas Island" msgstr "Ilhas Natal" #: lang.pm:264 #, c-format msgid "Cyprus" msgstr "Chipre" #: lang.pm:265 mirror.pm:17 timezone.pm:233 #, c-format msgid "Czech Republic" msgstr "República Checa" #: lang.pm:266 mirror.pm:22 timezone.pm:238 #, c-format msgid "Germany" msgstr "Alemanha" #: lang.pm:267 #, c-format msgid "Djibouti" msgstr "Djibouti" #: lang.pm:268 mirror.pm:18 timezone.pm:234 #, c-format msgid "Denmark" msgstr "Dinamarca" #: lang.pm:269 #, c-format msgid "Dominica" msgstr "Dominica" #: lang.pm:270 #, c-format msgid "Dominican Republic" msgstr "República Dominicana" #: lang.pm:271 #, c-format msgid "Algeria" msgstr "Algéria" #: lang.pm:272 #, c-format msgid "Ecuador" msgstr "Equador" #: lang.pm:273 mirror.pm:19 timezone.pm:235 #, c-format msgid "Estonia" msgstr "Estónia" #: lang.pm:274 #, c-format msgid "Egypt" msgstr "Egipto" #: lang.pm:275 #, c-format msgid "Western Sahara" msgstr "Sahara Ocidental" #: lang.pm:276 #, c-format msgid "Eritrea" msgstr "Eritreia" #: lang.pm:277 mirror.pm:37 timezone.pm:253 #, c-format msgid "Spain" msgstr "Espanha" #: lang.pm:278 #, c-format msgid "Ethiopia" msgstr "Etiópia" #: lang.pm:279 mirror.pm:20 timezone.pm:236 #, c-format msgid "Finland" msgstr "Finlândia" #: lang.pm:280 #, c-format msgid "Fiji" msgstr "Fiji" #: lang.pm:281 #, c-format msgid "Falkland Islands (Malvinas)" msgstr "Ilhas Falkland (Malvinas)" #: lang.pm:282 #, c-format msgid "Micronesia" msgstr "Micronésia" #: lang.pm:283 #, c-format msgid "Faroe Islands" msgstr "Ilhas Faroé" #: lang.pm:284 mirror.pm:21 timezone.pm:237 #, c-format msgid "France" msgstr "França" #: lang.pm:285 #, c-format msgid "Gabon" msgstr "Gabão" #: lang.pm:286 timezone.pm:257 #, c-format msgid "United Kingdom" msgstr "Reino Unido" #: lang.pm:287 #, c-format msgid "Grenada" msgstr "Granada" #: lang.pm:288 #, c-format msgid "Georgia" msgstr "Geórgia" #: lang.pm:289 #, c-format msgid "French Guiana" msgstr "Guiana Francesa" #: lang.pm:290 #, c-format msgid "Ghana" msgstr "Gana" #: lang.pm:291 #, c-format msgid "Gibraltar" msgstr "Gibraltar" #: lang.pm:292 #, c-format msgid "Greenland" msgstr "Gronelândia" #: lang.pm:293 #, c-format msgid "Gambia" msgstr "Gâmbia" #: lang.pm:294 #, c-format msgid "Guinea" msgstr "Guiné" #: lang.pm:295 #, c-format msgid "Guadeloupe" msgstr "Guadalupe" #: lang.pm:296 #, c-format msgid "Equatorial Guinea" msgstr "Guiné Equatorial" #: lang.pm:297 mirror.pm:23 timezone.pm:239 #, c-format msgid "Greece" msgstr "Grécia" #: lang.pm:298 #, c-format msgid "South Georgia and the South Sandwich Islands" msgstr "Sul da Geórgia e a Ilha Sandwich Sul" #: lang.pm:299 timezone.pm:262 #, c-format msgid "Guatemala" msgstr "Guatemala" #: lang.pm:300 #, c-format msgid "Guam" msgstr "Guam" #: lang.pm:301 #, c-format msgid "Guinea-Bissau" msgstr "Guiné-Bissau" #: lang.pm:302 #, c-format msgid "Guyana" msgstr "Guiana" #: lang.pm:303 #, c-format msgid "Hong Kong SAR (China)" msgstr "Hong Kong SAR (China)" #: lang.pm:304 #, c-format msgid "Heard and McDonald Islands" msgstr "Ilha Heard e Ilhas McDonald" #: lang.pm:305 #, c-format msgid "Honduras" msgstr "Honduras" #: lang.pm:306 #, c-format msgid "Croatia" msgstr "Croácia" #: lang.pm:307 #, c-format msgid "Haiti" msgstr "Haiti" #: lang.pm:308 mirror.pm:24 timezone.pm:240 #, c-format msgid "Hungary" msgstr "Hungria" #: lang.pm:309 timezone.pm:215 #, c-format msgid "Indonesia" msgstr "Indonésia" #: lang.pm:310 mirror.pm:25 timezone.pm:241 #, c-format msgid "Ireland" msgstr "Irlanda" #: lang.pm:311 mirror.pm:26 timezone.pm:217 #, c-format msgid "Israel" msgstr "Israel" #: lang.pm:312 timezone.pm:214 #, c-format msgid "India" msgstr "Índia" #: lang.pm:313 #, c-format msgid "British Indian Ocean Territory" msgstr "Território Inglês no Oceano Índio" #: lang.pm:314 #, c-format msgid "Iraq" msgstr "Iraque" #: lang.pm:315 timezone.pm:216 #, c-format msgid "Iran" msgstr "Irão" #: lang.pm:316 #, c-format msgid "Iceland" msgstr "Islândia" #: lang.pm:317 mirror.pm:27 timezone.pm:242 #, c-format msgid "Italy" msgstr "Itália" #: lang.pm:318 #, c-format msgid "Jamaica" msgstr "Jamaica" #: lang.pm:319 #, c-format msgid "Jordan" msgstr "Jordão" #: lang.pm:320 mirror.pm:28 timezone.pm:218 #, c-format msgid "Japan" msgstr "Japão" #: lang.pm:321 #, c-format msgid "Kenya" msgstr "Quénia" #: lang.pm:322 #, c-format msgid "Kyrgyzstan" msgstr "Kyrgyzstan" #: lang.pm:323 #, c-format msgid "Cambodia" msgstr "Cambodja" #: lang.pm:324 #, c-format msgid "Kiribati" msgstr "Kiribati" #: lang.pm:325 #, c-format msgid "Comoros" msgstr "Comoros" #: lang.pm:326 #, c-format msgid "Saint Kitts and Nevis" msgstr "Santo Kitts e Nevis" #: lang.pm:327 #, c-format msgid "Korea (North)" msgstr "Coreia do Norte" #: lang.pm:328 timezone.pm:219 #, c-format msgid "Korea" msgstr "Coreia" #: lang.pm:329 #, c-format msgid "Kuwait" msgstr "Kuwait" #: lang.pm:330 #, c-format msgid "Cayman Islands" msgstr "Ilhas Caimão" #: lang.pm:331 #, c-format msgid "Kazakhstan" msgstr "Cazaquistão" #: lang.pm:332 #, c-format msgid "Laos" msgstr "Laos" #: lang.pm:333 #, c-format msgid "Lebanon" msgstr "Líbano" #: lang.pm:334 #, c-format msgid "Saint Lucia" msgstr "Santa Lúcia" #: lang.pm:335 #, c-format msgid "Liechtenstein" msgstr "Liechtenstein" #: lang.pm:336 #, c-format msgid "Sri Lanka" msgstr "Sri Lanka" #: lang.pm:337 #, c-format msgid "Liberia" msgstr "Libéria" #: lang.pm:338 #, c-format msgid "Lesotho" msgstr "Lesotho" #: lang.pm:339 timezone.pm:243 #, c-format msgid "Lithuania" msgstr "Lituânia" #: lang.pm:340 timezone.pm:244 #, c-format msgid "Luxembourg" msgstr "Luxemburgo" #: lang.pm:341 #, c-format msgid "Latvia" msgstr "Latvia" #: lang.pm:342 #, c-format msgid "Libya" msgstr "Líbia" #: lang.pm:343 #, c-format msgid "Morocco" msgstr "Marrocos" #: lang.pm:344 #, c-format msgid "Monaco" msgstr "Mónaco" #: lang.pm:345 #, c-format msgid "Moldova" msgstr "Moldova" #: lang.pm:346 #, c-format msgid "Madagascar" msgstr "Madagáscar" #: lang.pm:347 #, c-format msgid "Marshall Islands" msgstr "Ilhas Marshall" #: lang.pm:348 #, c-format msgid "Macedonia" msgstr "Macedónia" #: lang.pm:349 #, c-format msgid "Mali" msgstr "Mali" #: lang.pm:350 #, c-format msgid "Myanmar" msgstr "Myanmar" #: lang.pm:351 #, c-format msgid "Mongolia" msgstr "Mongólia" #: lang.pm:352 #, c-format msgid "Northern Mariana Islands" msgstr "Ilhas Mariana do Norte" #: lang.pm:353 #, c-format msgid "Martinique" msgstr "Martinica" #: lang.pm:354 #, c-format msgid "Mauritania" msgstr "Mauritânia" #: lang.pm:355 #, c-format msgid "Montserrat" msgstr "Montserrat" #: lang.pm:356 #, c-format msgid "Malta" msgstr "Malta" #: lang.pm:357 #, c-format msgid "Mauritius" msgstr "Maurícias" #: lang.pm:358 #, c-format msgid "Maldives" msgstr "Maldivas" #: lang.pm:359 #, c-format msgid "Malawi" msgstr "Malawi" #: lang.pm:360 timezone.pm:263 #, c-format msgid "Mexico" msgstr "México" #: lang.pm:361 timezone.pm:220 #, c-format msgid "Malaysia" msgstr "Malásia" #: lang.pm:362 #, c-format msgid "Mozambique" msgstr "Moçambique" #: lang.pm:363 #, c-format msgid "Namibia" msgstr "Namíbia" #: lang.pm:364 #, c-format msgid "New Caledonia" msgstr "Nova Caledónia" #: lang.pm:365 #, c-format msgid "Niger" msgstr "Nigéria" #: lang.pm:366 #, c-format msgid "Norfolk Island" msgstr "Ilha Norfolk" #: lang.pm:367 #, c-format msgid "Nigeria" msgstr "Nigéria" #: lang.pm:368 #, c-format msgid "Nicaragua" msgstr "Nicarágua" #: lang.pm:369 mirror.pm:29 timezone.pm:245 #, c-format msgid "Netherlands" msgstr "Holanda" #: lang.pm:370 mirror.pm:31 timezone.pm:246 #, c-format msgid "Norway" msgstr "Noruega" #: lang.pm:371 #, c-format msgid "Nepal" msgstr "Nepal" #: lang.pm:372 #, c-format msgid "Nauru" msgstr "Nauru" #: lang.pm:373 #, c-format msgid "Niue" msgstr "Niue" #: lang.pm:374 mirror.pm:30 timezone.pm:268 #, c-format msgid "New Zealand" msgstr "Nova Zelândia" #: lang.pm:375 #, c-format msgid "Oman" msgstr "Oman" #: lang.pm:376 #, c-format msgid "Panama" msgstr "Panamá" #: lang.pm:377 #, c-format msgid "Peru" msgstr "Peru" #: lang.pm:378 #, c-format msgid "French Polynesia" msgstr "Polinésia Francesa" #: lang.pm:379 #, c-format msgid "Papua New Guinea" msgstr "Papua Nova Guiné" #: lang.pm:380 timezone.pm:221 #, c-format msgid "Philippines" msgstr "Filipinas" #: lang.pm:381 #, c-format msgid "Pakistan" msgstr "Paquistão" #: lang.pm:382 mirror.pm:32 timezone.pm:247 #, c-format msgid "Poland" msgstr "Polónia" #: lang.pm:383 #, c-format msgid "Saint Pierre and Miquelon" msgstr "São Pedro e Miquelon" #: lang.pm:384 #, c-format msgid "Pitcairn" msgstr "Pitcairn" #: lang.pm:385 #, c-format msgid "Puerto Rico" msgstr "Porto Rico" #: lang.pm:386 #, c-format msgid "Palestine" msgstr "Palestina" #: lang.pm:387 mirror.pm:33 timezone.pm:248 #, c-format msgid "Portugal" msgstr "Portugal" #: lang.pm:388 #, c-format msgid "Paraguay" msgstr "Paraguai" #: lang.pm:389 #, c-format msgid "Palau" msgstr "Palau" #: lang.pm:390 #, c-format msgid "Qatar" msgstr "Qatar" #: lang.pm:391 #, c-format msgid "Reunion" msgstr "Reunion" #: lang.pm:392 timezone.pm:249 #, c-format msgid "Romania" msgstr "Roménia" #: lang.pm:393 mirror.pm:34 #, c-format msgid "Russia" msgstr "Rússia" #: lang.pm:394 #, c-format msgid "Rwanda" msgstr "Ruanda" #: lang.pm:395 #, c-format msgid "Saudi Arabia" msgstr "Arábia Saudita" #: lang.pm:396 #, c-format msgid "Solomon Islands" msgstr "Ilhas Salomão" #: lang.pm:397 #, c-format msgid "Seychelles" msgstr "Seychelles" #: lang.pm:398 #, c-format msgid "Sudan" msgstr "Sudão" #: lang.pm:399 mirror.pm:38 timezone.pm:254 #, c-format msgid "Sweden" msgstr "Suécia" #: lang.pm:400 timezone.pm:222 #, c-format msgid "Singapore" msgstr "Singapura" #: lang.pm:401 #, c-format msgid "Saint Helena" msgstr "Santa Helena" #: lang.pm:402 timezone.pm:252 #, c-format msgid "Slovenia" msgstr "Eslovénia" #: lang.pm:403 #, c-format msgid "Svalbard and Jan Mayen Islands" msgstr "Ilhas Svalbard e Jan Mayen" #: lang.pm:404 mirror.pm:35 timezone.pm:251 #, c-format msgid "Slovakia" msgstr "Eslováquia" #: lang.pm:405 #, c-format msgid "Sierra Leone" msgstr "Serra Leoa" #: lang.pm:406 #, c-format msgid "San Marino" msgstr "São Marino" #: lang.pm:407 #, c-format msgid "Senegal" msgstr "Senegal" #: lang.pm:408 #, c-format msgid "Somalia" msgstr "Somália" #: lang.pm:409 #, c-format msgid "Suriname" msgstr "Suriname" #: lang.pm:410 #, c-format msgid "Sao Tome and Principe" msgstr "São Tomé e Príncipe" #: lang.pm:411 #, c-format msgid "El Salvador" msgstr "El Salvador" #: lang.pm:412 #, c-format msgid "Syria" msgstr "Síria" #: lang.pm:413 #, c-format msgid "Swaziland" msgstr "Swaziland" #: lang.pm:414 #, c-format msgid "Turks and Caicos Islands" msgstr "Ilhas Turks e Caicos" #: lang.pm:415 #, c-format msgid "Chad" msgstr "Chad" #: lang.pm:416 #, c-format msgid "French Southern Territories" msgstr "Territórios Franceses do Sul" #: lang.pm:417 #, c-format msgid "Togo" msgstr "Togo" #: lang.pm:418 mirror.pm:41 timezone.pm:224 #, c-format msgid "Thailand" msgstr "Tailândia" #: lang.pm:419 #, c-format msgid "Tajikistan" msgstr "Tajiquistão" #: lang.pm:420 #, c-format msgid "Tokelau" msgstr "Tokelau" #: lang.pm:421 #, c-format msgid "East Timor" msgstr "Timor Leste" #: lang.pm:422 #, c-format msgid "Turkmenistan" msgstr "Turquemenistão" #: lang.pm:423 #, c-format msgid "Tunisia" msgstr "Tunísia" #: lang.pm:424 #, c-format msgid "Tonga" msgstr "Tanga" #: lang.pm:425 timezone.pm:225 #, c-format msgid "Turkey" msgstr "Turquia" #: lang.pm:426 #, c-format msgid "Trinidad and Tobago" msgstr "Trinidade e Tobago" #: lang.pm:427 #, c-format msgid "Tuvalu" msgstr "Tuvalu" #: lang.pm:428 mirror.pm:40 timezone.pm:223 #, c-format msgid "Taiwan" msgstr "Taiwan" #: lang.pm:429 timezone.pm:208 #, c-format msgid "Tanzania" msgstr "Tanzânia" #: lang.pm:430 timezone.pm:256 #, c-format msgid "Ukraine" msgstr "Ucrânia" #: lang.pm:431 #, c-format msgid "Uganda" msgstr "Uganda" #: lang.pm:432 #, c-format msgid "United States Minor Outlying Islands" msgstr "Estados Unidos - Ilhas Costeiras Menores" #: lang.pm:433 mirror.pm:42 timezone.pm:264 #, c-format msgid "United States" msgstr "Estados Unidos" #: lang.pm:434 #, c-format msgid "Uruguay" msgstr "Uruguai" #: lang.pm:435 #, c-format msgid "Uzbekistan" msgstr "Uzebequistão" #: lang.pm:436 #, c-format msgid "Vatican" msgstr "Vaticano" #: lang.pm:437 #, c-format msgid "Saint Vincent and the Grenadines" msgstr "São Vicente e as Grenadinas" #: lang.pm:438 #, c-format msgid "Venezuela" msgstr "Venezuela" #: lang.pm:439 #, c-format msgid "Virgin Islands (British)" msgstr "Ilhas Virgens (Inglesas)" #: lang.pm:440 #, c-format msgid "Virgin Islands (U.S.)" msgstr "Ilhas Virgens (U.S.)" #: lang.pm:441 #, c-format msgid "Vietnam" msgstr "Vietname" #: lang.pm:442 #, c-format msgid "Vanuatu" msgstr "Vanuatu" #: lang.pm:443 #, c-format msgid "Wallis and Futuna" msgstr "Wallis e Futuna" #: lang.pm:444 #, c-format msgid "Samoa" msgstr "Samoa" #: lang.pm:445 #, c-format msgid "Yemen" msgstr "Yemen" #: lang.pm:446 #, c-format msgid "Mayotte" msgstr "Mayotte" #: lang.pm:447 mirror.pm:36 timezone.pm:207 #, c-format msgid "South Africa" msgstr "África do Sul" #: lang.pm:448 #, c-format msgid "Zambia" msgstr "Zâmbia" #: lang.pm:449 #, c-format msgid "Zimbabwe" msgstr "Zimbabwe" #: lang.pm:1207 #, c-format msgid "Welcome to %s" msgstr "Bem-vindo ao %s" #: lvm.pm:86 #, c-format msgid "Moving used physical extents to other physical volumes failed" msgstr "" "Falha ao mover as extensões físicas usadas para outros volumes físicos." #: lvm.pm:143 #, c-format msgid "Physical volume %s is still in use" msgstr "O volume físico %s ainda está em uso" #: lvm.pm:153 #, c-format msgid "Remove the logical volumes first\n" msgstr "Remove os volumes lógicos primeiro\n" #: lvm.pm:186 #, c-format msgid "The bootloader can't handle /boot on multiple physical volumes" msgstr "" "O carregador de arranque não pode gerir /boot em vários volumes físicos" #: messages.pm:11 #, c-format msgid "" "Introduction\n" "\n" "The operating system and the different components available in the Mandriva " "Linux distribution \n" "shall be called the \"Software Products\" hereafter. The Software Products " "include, but are not \n" "restricted to, the set of programs, methods, rules and documentation related " "to the operating \n" "system and the different components of the Mandriva Linux distribution, and " "any applications \n" "distributed with these products provided by Mandriva's licensors or " "suppliers.\n" "\n" "\n" "1. License Agreement\n" "\n" "Please read this document carefully. This document is a license agreement " "between you and \n" "Mandriva S.A. which applies to the Software Products.\n" "By installing, duplicating or using 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.\n" "\n" "\n" "2. Limited Warranty\n" "\n" "The Software Products and attached documentation are provided \"as is\", " "with no warranty, to the \n" "extent permitted by law.\n" "Neither Mandriva S.A. 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 " "Mandriva S.A. 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 Mandriva S.A. 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 Mandriva Linux " "sites which are \n" "prohibited or restricted in some countries by local laws.\n" "This limited liability applies to, but is not restricted to, the strong " "cryptography components \n" "included in the Software Products.\n" "However, because some jurisdictions do not allow the exclusion or limitation " "or liability for \n" "consequential or incidental damages, the above limitation may not apply to " "you. \n" "%s\n" "\n" "3. The GPL License and Related Licenses\n" "\n" "The Software Products consist of components created by different persons or " "entities. %s\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 Mandriva.\n" "The programs developed by Mandriva S.A. are governed by the GPL License. " "Documentation written \n" "by Mandriva S.A. is governed by a specific license. Please refer to the " "documentation for \n" "further details.\n" "\n" "\n" "4. Intellectual Property Rights\n" "\n" "All rights to the components of the Software Products belong to their " "respective authors and are \n" "protected by intellectual property and copyright laws applicable to software " "programs.\n" "Mandriva S.A. 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" "\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of " "Mandriva S.A. \n" "\n" "\n" "5. Governing Laws \n" "\n" "If any portion of this agreement is held void, illegal or inapplicable by a " "court judgment, this \n" "portion is excluded from this contract. You remain bound by the other " "applicable sections of the \n" "agreement.\n" "The terms and conditions of this License are governed by the Laws of " "France.\n" "All disputes on the terms of this license will preferably be settled out of " "court. As a last \n" "resort, the dispute will be referred to the appropriate Courts of Law of " "Paris - France.\n" "For any question on this document, please contact Mandriva S.A." msgstr "" "Introdução\n" "\n" "O sistema operativo e os diferentes elementos disponíveis na distribuição " "Mandriva Linux\n" "serão chamados \"Produtos de Programas\" a partir daqui. Então os Produtos " "de Programas\n" "incluem também (não estão restringidos apenas programas), métodos, regras e " "documentação\n" "relativa ao sistema operativo e às diferentes componentes da distribuição " "Mandriva Linux,\n" "e quaisquer aplicações distribuídas com estes produtos fornecidos pelas " "licenças ou distribuidores.\n" "\n" "\n" "1. Acordo de licença\n" "\n" "Por favor leia com atenção pois documento é o termo de licença entre si e a " "Mandriva S.A.\n" "que se aplica aos Produtos de Programas.\n" "Ao instalar, duplicar ou usar os Produtos de Programas por alguma forma, " "aceita explicitamente\n" "e totalmente os termos e condições desta Licença.\n" "Se não aceita alguma parte da Licença, não lhe é permitido instalar, " "duplicar ou usar os\n" "Produtos de Programas.\n" "Qualquer tentativa de instalação, duplicação ou uso dos Produtos de " "Programas de uma\n" "forma que não corresponde aos termos e condições desta Licença é proibido e " "irá retirar-lhe\n" "quaisquer direitos sob esta Licença. Sem direitos sob esta Licença, deve " "imediatamente destruir\n" "todas as copias dos Produtos de Programas.\n" "\n" "\n" "2. Garantia Limitada\n" "\n" "Os Produtos de Programas e a documentação são fornecidos \"como estão\", sem " "nenhuma garantia,\n" "à extensão permitida por lei.\n" "A Mandriva S.A. não irá, em qualquer circunstância e quando permitido por " "lei, ser responsável por\n" "qualquer acidente em particular, danos directos ou indirectos (inclusive os " "resultantes de perda de lucros, interrupção\n" "de negócio, perda de informações e dividas legais resultando em julgamento," "ou qualquer perda consequente)\n" "decorrentes do uso ou da impossibilidade do uso dos Produtos de Programas, " "ainda que a\n" "Mandriva S.A. tenha sido avisada da possibilidade de tais danos.\n" "\n" "LIMITAÇÃO DE RESPONSABILIDADE LIGADA À POSSESSÃO OU USO DE PROGRAMAS " "PROIBIDOS EM CERTOS PAÍSES\n" "\n" "À extensão permitida por lei, a Mandriva S.A. ou os seus distribuidores, não " "irão em circunstância alguma\n" "ser responsáveis por quaisquer danos directos ou indirectos (inclusive os " "resultantes\n" "da perda de lucros, interrupção de negócios, perda de informações e dívidas " "legais, resultado em\n" "julgamento, ou qualquer perda consequente) decorrentes da possessão, do uso " "ou transferência\n" "dos Produtos de Programas a partir de um dos servidores Mandriva Linux que " "sejam proibidos\n" "ou limitados em certos países pelas leis locais.\n" "Este limite de responsabilidade aplica-se, mas não se limita aos elementos " "de codificação contidos\n" "nos Produtos de Programas.\n" "\n" "\n" "3. A licença GPL e as Licenças Relacionadas\n" "\n" "Os Produtos de Programas consistem em elementos criados por pessoas ou " "identidades. A\n" "maior parte destes componentes são publicados sob os termos e condições da " "licença GNU\n" "General Public License, também denominada \"GPL\", ou de licenças similares. " "A maioria destas\n" "licenças permite usar, duplicar, adaptar ou redistribuir os elementos que " "estas cobrem. Por favor\n" "leia com atenção os termos e condições de licença de cada elemento antes de " "usar qualquer\n" "componente. Qualquer questão acerca de uma licença deve ser endereçada ao " "autor do componente\n" "e não à Mandriva. Os programas desenvolvidos pela Mandriva S.A. são " "publicados sob os\n" "termos da licença GPL. A documentação escrita pela Mandriva S.A. é publicada " "sob uma licença\n" "específica. Por favor veja a documentação para mais detalhes.\n" "\n" "\n" "4. Direitos de Propriedade Intelectual\n" "\n" "Todos os direitos dos elementos dos Produtos de Programas pertencem aos seus " "autores respectivos\n" "e são protegidos pela propriedade intelectual e pelas leis de Direitos de " "Autor aplicáveis aos produtos de programas.\n" "A Mandriva S.A. reserva-se no direito de modificar ou adaptar os Produtos de " "Programas, como um\n" "todo ou parcialmente, em qualquer sentido e para todos os fins.\n" "A \"Mandriva\", \"Mandriva Linux\" e os logotipos associados são marcas " "registradas da Mandriva S.A.\n" "\n" "\n" "5. Legislação em Vigor\n" "\n" "Se alguma parte deste contrato é considerada nula, ilegal ou não aplicável " "por um tribunal,\n" "a parte é excluída deste contrato. Permanece ligado às outras secções " "aplicáveis do contrato.\n" "Os termos e condições desta Licença são governados pelas Leis Francesas.\n" "Todos os desacordos acerca dos termos desta licença serão de preferência " "resolvidos sem tribunal.\n" "Como ultima solução, o desacordo será referido ao Tribunal de Paris - " "França.\n" "Para qualquer questão acerca deste documento, por favor contacte a Mandriva " "S.A." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: messages.pm:90 #, c-format msgid "" "You agree not to (i) sell, export, re-export, transfer, divert, disclose " "technical data, or \n" "dispose of, any Software to any person, entity, or destination prohibited by " "US export laws \n" "or regulations including, without limitation, Cuba, Iran, North Korea, Sudan " "and Syria; or \n" "(ii) use any Software for any use prohibited by the laws or regulations of " "the United States.\n" "\n" "U.S. GOVERNMENT RESTRICTED RIGHTS. \n" "\n" "The Software Products and any accompanying documentation are and shall be " "deemed to be \n" "\"commercial computer software\" and \"commercial computer software " "documentation,\" respectively, \n" "as defined in DFAR 252.227-7013 and as described in FAR 12.212. Any use, " "modification, reproduction, \n" "release, performance, display or disclosure of the Software and any " "accompanying documentation \n" "by the United States Government shall be governed solely by the terms of " "this Agreement and any \n" "other applicable licence agreements and shall be prohibited except to the " "extent expressly permitted \n" "by the terms of this Agreement." msgstr "" "Concorda em (i) não vender, exportar, re-exportar, transferir, revelar dados " "técnicos,\n" "ou expor, qualquer programa a qualquer pessoa, entidade, ou destino proibido " "pelas\n" "de exportação dos EUA ou regulamentações incluídas, sem limitações, Cuba, " "Irão,\n" "Coreia do Norte, Sudão e Síria, ou (ii) uso de qualquer programa para " "qualquer uso\n" "proibido pelas leis e regulamentações dos Estados Unidos.\n" "\n" "DIREITOS RESTRITOS DO GOVERNO DOS ESTADOS UNIDOS\n" "\n" "Os Produtos de Programas e qualquer documentação incluída são e serão " "julgados como\n" "\"programas comerciais de computador\" e \"documentação dos programas " "comerciais de\n" "computador\" respectivamente, como definido no DFAR 252.227-7013 e como " "descrito\n" "no FAR 12.212. Qualquer uso, modificação, reprodução, lançamento, " "desempenho,\n" "apresentação ou revelação dos Programas e qualquer documentação incluída " "pelo Governo\n" "dos Estados Unidos será governada unicamente pelos termos deste Acordo e " "qualquer\n" "outro acordo de licença aplicável será proibido excepto para a à extensão " "expressamente\n" "permitida pelos termos deste Acordo." #: messages.pm:104 #, c-format msgid "" "Most of these components, but excluding the applications and software " "provided by Google Inc. or \n" "its subsidiaries (\"Google Software\"), are governed under the terms and " "conditions of the GNU \n" "General Public Licence, hereafter called \"GPL\", or of similar licenses." msgstr "" "A maioria destes componentes, excluindo as aplicações e programas fornecidos " "pelo Google Inc.\n" "ou os seus subsidiários (\"Google Software\"), são governados sob os termos " "e condições GNU\n" "Licença Publica Geral, também chamada \"GPL\", ou licenças similares." #: messages.pm:107 #, c-format msgid "" "Most of these components are governed under the terms and conditions of the " "GNU \n" "General Public Licence, hereafter called \"GPL\", or of similar licenses." msgstr "" "A maioria destes componentes são governados sob os termos e condições GNU\n" "General Public Licence, também conhecida como \"GPL\", ou de licenças " "similares." #: messages.pm:112 #, c-format msgid "" "Warning: Free Software may not necessarily be patent free, and some Free\n" "Software included may be covered by patents in your country. For example, " "the\n" "MP3 decoders included may require a licence for further usage (see\n" "http://www.mp3licensing.com for more details). If you are unsure if a " "patent\n" "may be applicable to you, check your local laws." msgstr "" "Aviso: Um Programas Livre pode não ser necessariamente livre de patentes,\n" "e algum Programa Livre incluído pode ser coberto por patentes no seu país.\n" "Por exemplo os descodificadores MP3 incluídos podem requerer uma\n" "licença para uso futuro (ver http://www.mp3licensing.com para mais " "detalhes).\n" "Se não tem a certeza que uma patente possa ser aplicada a si, veja as suas " "leis locais." #: messages.pm:120 #, c-format msgid "" "6. Additional provisions applicable to those Software Products provided by " "Google Inc. (\"Google Software\")\n" "\n" "(a) You acknowledge that Google or third parties own all rights, title and " "interest in and to the Google \n" "Software, portions thereof, or software provided through or in conjunction " "with the Google Software, including\n" "without limitation all Intellectual Property Rights. \"Intellectual Property " "Rights\" means any and all rights \n" "existing from time to time under patent law, copyright law, trade secret " "law, trademark law, unfair competition \n" "law, database rights and any and all other proprietary rights, and any and " "all applications, renewals, extensions \n" "and restorations thereof, now or hereafter in force and effect worldwide. " "You agree not to modify, adapt, \n" "translate, prepare derivative works from, decompile, reverse engineer, " "disassemble or otherwise attempt to derive \n" "source code from Google Software. You also agree to not remove, obscure, or " "alter Google's or any third party's \n" "copyright notice, trademarks, or other proprietary rights notices affixed to " "or contained within or accessed in \n" "conjunction with or through the Google Software. \n" "\n" "(b) The Google Software is made available to you for your personal, non-" "commercial use only.\n" "You may not use the Google Software in any manner that could damage, " "disable, overburden, or impair Google's \n" "search services (e.g., you may not use the Google Software in an automated " "manner), nor may you use Google \n" "Software in any manner that could interfere with any other party's use and " "enjoyment of Google's search services\n" "or the services and products of the third party licensors of the Google " "Software.\n" "\n" "(c) Some of the Google Software is designed to be used in conjunction with " "Google's search and other services.\n" "Accordingly, your use of such Google Software is also defined by Google's " "Terms of Service located at \n" "http://www.google.com/terms_of_service.html and Google's Toolbar Privacy " "Policy located at \n" "http://www.google.com/support/toolbar/bin/static.py?page=privacy.html.\n" "\n" "(d) Google Inc. and each of its subsidiaries and affiliates are third party " "beneficiaries of this contract \n" "and may enforce its terms." msgstr "" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: messages.pm:150 #, c-format msgid "" "Congratulations, installation is complete.\n" "Remove the boot media and press Enter to reboot.\n" "\n" "\n" "For information on fixes which are available for this release of Mandriva " "Linux,\n" "consult the Errata available from:\n" "\n" "\n" "%s\n" "\n" "\n" "Information on configuring your system is available in the post\n" "install chapter of the Official Mandriva Linux User's Guide." msgstr "" "Parabéns, a instalação está completa.\n" "Retire a média de instalação e prima Enter para reiniciar.\n" "\n" "\n" "Para informação acerca das correcções disponíveis para esta versão\n" "Mandriva Linux, consulte a Errata disponível em: \n" "\n" "\n" "%s\n" "\n" "\n" "A informação acerca de como configurar o seu sistema está disponível no\n" "capítulo pós-instalação do Guia Oficial do Utilizador Mandriva Linux." #: modules/interactive.pm:19 #, c-format msgid "This driver has no configuration parameter!" msgstr "Este dispositivo não tem parâmetros de configuração!" #: modules/interactive.pm:22 #, c-format msgid "Module configuration" msgstr "Configuração dos módulos" #: modules/interactive.pm:22 #, c-format msgid "You can configure each parameter of the module here." msgstr "Pode configurar cada parâmetro do módulo aqui." #: modules/interactive.pm:64 #, c-format msgid "Found %s interfaces" msgstr "Encontrados %s interfaces" #: modules/interactive.pm:65 #, c-format msgid "Do you have another one?" msgstr "Tem algum outro?" #: modules/interactive.pm:66 #, c-format msgid "Do you have any %s interfaces?" msgstr "Tem algum interface %s?" #: modules/interactive.pm:72 #, c-format msgid "See hardware info" msgstr "Ver informação de material" #: modules/interactive.pm:83 #, c-format msgid "Installing driver for USB controller" msgstr "A instalar o controlador para o dispositivo USB" #: modules/interactive.pm:84 #, c-format msgid "Installing driver for firewire controller %s" msgstr "A instalar o controlador para o dispositivo firewire %s" #: modules/interactive.pm:85 #, c-format msgid "Installing driver for hard drive controller %s" msgstr "A instalar o controlador dispositivo do disco %s" #: modules/interactive.pm:86 #, c-format msgid "Installing driver for ethernet controller %s" msgstr "A instalar o controlador para o dispositivo ethernet %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 "A instalar o controlador para %s placa %s" #: modules/interactive.pm:100 #, c-format msgid "Configuring Hardware" msgstr "A Configurar o Material" #: 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 "" "Pode agora providenciar as opções para o modulo %s.\n" "Note que qualquer endereço deve ser escrito com o prefixo 0x como '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 "" "Pode agora definir as opções para o módulo %s.\n" "As opções estão no formato ``nome=valor nome2=valor2 ...''\n" "Para exemplo, ``io=0x300 irq=7''" #: modules/interactive.pm:119 #, c-format msgid "Module options:" msgstr "Opções do módulo:" #. -PO: the %s is the driver type (scsi, network, sound,...) #: modules/interactive.pm:132 #, c-format msgid "Which %s driver should I try?" msgstr "Que controlador %s devo tentar?" #: 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 "" "Em alguns casos, o controlador %s precisa ter informações extra para\n" "funcionar correctamente, contudo irá funcionar correctamente sem estas.\n" "Deseja\n" "especificar opções extras ou permitir que sonde a sua máquina\n" "pela informação que precisa? Ocasionalmente, a verificação pode bloquear\n" "o computador, mas não deve causar qualquer dano." #: modules/interactive.pm:145 #, c-format msgid "Autoprobe" msgstr "Auto-sondar" #: modules/interactive.pm:145 #, c-format msgid "Specify options" msgstr "Indicar opções" #: modules/interactive.pm:157 #, c-format msgid "" "Loading module %s failed.\n" "Do you want to try again with other parameters?" msgstr "" "O carregamento do módulo %s falhou.\n" "Quer tentar novamente com outros parâmetros?" #: mygtk2.pm:1541 mygtk2.pm:1542 #, c-format msgid "Password is trivial to guess" msgstr "A senha é trivial para convidado" #: mygtk2.pm:1543 #, c-format msgid "Password should resist to basic attacks" msgstr "A senha deve resistir aos ataques básicos" #: mygtk2.pm:1544 mygtk2.pm:1545 #, c-format msgid "Password seems secure" msgstr "A senha parece segura" #: partition_table.pm:411 #, c-format msgid "mount failed: " msgstr "montagem falhada: " #: partition_table.pm:523 #, c-format msgid "Extended partition not supported on this platform" msgstr "A partição extendida não é suportada nesta plataforma" #: partition_table.pm:541 #, c-format msgid "" "You have a hole in your partition table but I can not use it.\n" "The only solution is to move your primary partitions to have the hole next " "to the extended partitions." msgstr "" "Tem um buraco na sua tabela de partições mas não a posso usar.\n" "A única solução é mover as suas partições primárias para ter o buraco " "próximo das partições extendidas" #: partition_table/raw.pm:299 #, c-format msgid "" "Something bad is happening on your drive. \n" "A test to check the integrity of data has failed. \n" "It means writing anything on the disk will end up with random, corrupted " "data." msgstr "" "Alguma coisa má está a acontecer no seu disco. \n" "O teste para verificar a integridade dos dados falhou. \n" "Significa que escrever algo no disco resultará em dados danificados " "aleatóriamente." #: pkgs.pm:252 pkgs.pm:255 pkgs.pm:264 #, c-format msgid "Unused packages removal" msgstr "Remoção de pacotes não usados" #: pkgs.pm:252 #, c-format msgid "Finding unused hardware packages..." msgstr "A procurar pacotes de material não usados..." #: pkgs.pm:255 #, c-format msgid "Finding unused localization packages..." msgstr "A procurar pacotes de localização não usados" #: pkgs.pm:265 #, c-format msgid "" "We have detected that some packages are not needed for your system " "configuration." msgstr "" "Detectou-se que alguns pacotes não são necessários para a configuração do " "seu sistema." #: pkgs.pm:266 #, c-format msgid "We will remove the following packages, unless you choose otherwise:" msgstr "" "Serão removidos os seguintes pacotes, a não ser que escolha outra opção:" #: pkgs.pm:269 pkgs.pm:270 #, c-format msgid "Unused hardware support" msgstr "Suporte de material não usado" #: pkgs.pm:273 pkgs.pm:274 #, c-format msgid "Unused localization" msgstr "Localização não usada" #: raid.pm:42 #, c-format msgid "Can not add a partition to _formatted_ RAID %s" msgstr "Não foi possível adicionar uma partição ao RAID _formatado_ %s" #: raid.pm:164 #, c-format msgid "Not enough partitions for RAID level %d\n" msgstr "Sem partições suficientes para o nível RAID %d\n" #: scanner.pm:96 #, c-format msgid "Could not create directory /usr/share/sane/firmware!" msgstr "Não foi possível criar o directório /usr/share/sane/firmware!" #: scanner.pm:107 #, c-format msgid "Could not create link /usr/share/sane/%s!" msgstr "Não foi possível criar a ligação /usr/share/sane/%s!" #: scanner.pm:114 #, c-format msgid "Could not copy firmware file %s to /usr/share/sane/firmware!" msgstr "" "Não foi possível copiar o ficheiro 'firmware' %s para /usr/share/sane/" "firmware!" #: scanner.pm:121 #, c-format msgid "Could not set permissions of firmware file %s!" msgstr "Não é possível definir as permissões do ficheiro 'firmware' %s!" #: scanner.pm:200 #, c-format msgid "Scannerdrake" msgstr "Scannerdrake" #: scanner.pm:201 #, c-format msgid "Could not install the packages needed to share your scanner(s)." msgstr "" "Não foi possível instalar os pacotes precisos para partilhar o seu " "digitalizador." #: scanner.pm:202 #, c-format msgid "Your scanner(s) will not be available for non-root users." msgstr "" "O seu digitalizador(es) não irá estar disponível para utilizadores não-root." #: security/help.pm:11 #, c-format msgid "Accept bogus IPv4 error messages." msgstr "Aceitar mensagens de erro IPv4 adulteradas." #: security/help.pm:13 #, c-format msgid "Accept broadcasted icmp echo." msgstr "Aceitar ecos icmp transmitidos" #: security/help.pm:15 #, c-format msgid "Accept icmp echo." msgstr "Aceitar eco icmp." #: security/help.pm:17 #, c-format msgid "Allow autologin." msgstr "Permitir auto-autenticação." #. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is #: security/help.pm:21 #, c-format msgid "" "If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n" "\n" "If set to \"None\", no issues are allowed.\n" "\n" "Else only /etc/issue is allowed." msgstr "" "Se definido para \"TODOS\" e /etc/issue e /etc/issue.net poderem existir.\n" "\n" "Se definido para \"Nenhum\", não é permitido nenhum\n" "\n" "Senão apenas /etc/issue é permitido." #: security/help.pm:27 #, c-format msgid "Allow reboot by the console user." msgstr "Permitir reiniciar pelo utilizador da consola." #: security/help.pm:29 #, c-format msgid "Allow remote root login." msgstr "Permitir autenticação root remota." #: security/help.pm:31 #, c-format msgid "Allow direct root login." msgstr "Permitir autenticação root directa." #: security/help.pm:33 #, c-format msgid "" "Allow the list of users on the system on display managers (kdm and gdm)." msgstr "" "Permitir a listagem dos utilizadores do sistema nos gestores de ecrã (kdm e " "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 "" "Permitir exportar o ecrã quando passar da\n" "conta root para a conta de outros utilizadores.\n" "\n" "Ver pam_xauth(8) para mais detalhes.'" #: 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 "" "Permitir ligações X:\n" "\n" "- Todos (todas as ligações são permitidas),\n" "\n" "- Local (só as ligações a partir da máquina local),\n" "\n" "- Nenhum (nenhuma ligação)." #: security/help.pm:48 #, c-format msgid "" "The argument specifies if clients are authorized to connect\n" "to the X server from the network on the tcp port 6000 or not." msgstr "" "O argumento especifica se os clientes são autorizados a conectar\n" "ao servidor X a partir da rede no porto tcp 6000, ou não." #. -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 "" "Autoriza:\n" "\n" "- todos os serviços controlados por tcp_wrappers (veja a página do manual " "hosts.deny(5)) se definido para \"TODOS\",\n" "\n" "- apenas os locais se definido para \"Local\"\n" "\n" "- nenhum se definido para \"Nenhum\".\n" "\n" "Para autorizar os serviços que precisa, use /etc/hosts.allow (veja hosts." "allow(5))." #: security/help.pm:63 #, c-format msgid "" "If SERVER_LEVEL (or SECURE_LEVEL if absent)\n" "is greater than 3 in /etc/security/msec/security.conf, creates the\n" "symlink /etc/security/msec/server to point to\n" "/etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" "The /etc/security/msec/server is used by chkconfig --add to decide to\n" "add a service if it is present in the file during the installation of\n" "packages." msgstr "" "Se SERVER_LEVEL (ou SECURE_LEVEL ausente)\n" "é superior a 3 em /etc/security/msec/security.conf, cria a\n" "ligação simbólica /etc/security/msec/server para\n" "/etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" "O /etc/security/msec/server é usado por chkconfig --add para\n" "decidir adicionar um serviço se este está presente no ficheiro\n" "durante a instalação dos pacotes." #: 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 "" "Activar crontab e at para utilizadores.\n" "\n" "Coloque os utilizadores autorizados em /etc/cron.allow e\n" "/etc/at.allow (veja man em (1) e crontab(1))." #: security/help.pm:77 #, c-format msgid "Enable syslog reports to console 12" msgstr "Activar registos syslog para a consola 12" #: security/help.pm:79 #, c-format msgid "" "Enable name resolution spoofing protection. If\n" "\"%s\" is true, also reports to syslog." msgstr "" "Activar protecção de usurpação de resolução de\n" "nomes (name resolution spoofing). Se \"%s\"\n" "é verdadeiro, também regista no syslog." #: security/help.pm:80 #, c-format msgid "Security Alerts:" msgstr "Alertas de Segurança:" #: security/help.pm:82 #, c-format msgid "Enable IP spoofing protection." msgstr "Activar protecção contra usurpação de endereço IP." #: security/help.pm:84 #, c-format msgid "Enable libsafe if libsafe is found on the system." msgstr "Activar libsafe se libsafe for encontrado no sistema." #: security/help.pm:86 #, c-format msgid "Enable the logging of IPv4 strange packets." msgstr "Activar registo de pacotes IPv4 estranhos." #: security/help.pm:88 #, c-format msgid "Enable msec hourly security check." msgstr "Activar verificação msec horária de segurança." #: 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 "" "Activar su apenas para membros do grupo wheel. Se definido para não, permite " "su para qualquer utilizador." #: security/help.pm:92 #, c-format msgid "Use password to authenticate users." msgstr "Usar senha para autenticar utilizadores" #: security/help.pm:94 #, c-format msgid "Activate ethernet cards promiscuity check." msgstr "Activar teste de promiscuidade das placas ethernet." #: security/help.pm:96 #, c-format msgid "Activate daily security check." msgstr "Activar verificação diária de segurança." #: security/help.pm:98 #, c-format msgid "Enable sulogin(8) in single user level." msgstr "Activar sulogin(8) em nível de utilizador único." #: security/help.pm:100 #, c-format msgid "Add the name as an exception to the handling of password aging by msec." msgstr "" "Adiciona o nome como uma excepção na gestão do envelhecimento da senha por " "msec." #: security/help.pm:102 #, c-format msgid "Set password aging to \"max\" days and delay to change to \"inactive\"." msgstr "" "Define o envelhecimento da senha para \"max\" dias e retarda a mudança para " "\"inactive\"." #: security/help.pm:104 #, c-format msgid "Set the password history length to prevent password reuse." msgstr "" "Define o tamanho do histórico da senha para evitar a reutilização das senhas." #: security/help.pm:106 #, c-format msgid "" "Set the password minimum length and minimum number of digit and minimum " "number of capitalized letters." msgstr "" "Define o comprimento mínimo da senha assim como o número mínimo de dígitos e " "de letras Maiúsculas." #: security/help.pm:108 #, c-format msgid "Set the root's file mode creation mask." msgstr "Define o modo de criação máscara de ficheiros root." #: security/help.pm:109 #, c-format msgid "if set to yes, check open ports." msgstr "se definido para sim, verifica os portos abertos." #: security/help.pm:110 #, c-format msgid "" "if set to yes, check for:\n" "\n" "- empty passwords,\n" "\n" "- no password in /etc/shadow\n" "\n" "- for users with the 0 id other than root." msgstr "" "se definido para sim, procura:\n" "\n" "- senhas vazias, \n" "\n" "- sem senha em /etc/shadow\n" "\n" "- para utilizadores com id 0 outros que não root." #: security/help.pm:117 #, c-format msgid "if set to yes, check permissions of files in the users' home." msgstr "" "se definido para sim, verifica as permissões dos ficheiros da pasta home do " "utilizador." #: security/help.pm:118 #, c-format msgid "if set to yes, check if the network devices are in promiscuous mode." msgstr "" "se definido para sim, verifica se os dispositivos de rede estão em modo " "promíscuo." #: security/help.pm:119 #, c-format msgid "if set to yes, run the daily security checks." msgstr "" "se definido para sim, executa diáriamente as verificações de segurança." #: security/help.pm:120 #, c-format msgid "if set to yes, check additions/removals of sgid files." msgstr "se definido para sim, verifica as adições/remoções dos ficheiros sgid." #: security/help.pm:121 #, c-format msgid "if set to yes, check empty password in /etc/shadow." msgstr "se definido para sim, verifica a ausência de senha em /etc/shadow." #: security/help.pm:122 #, c-format msgid "if set to yes, verify checksum of the suid/sgid files." msgstr "se definido para sim, verifica o checksum dos ficheiros suid/sgid." #: security/help.pm:123 #, c-format msgid "if set to yes, check additions/removals of suid root files." msgstr "" "se definido para sim, verifica as adições/remoções dos ficheiros suid root." #: security/help.pm:124 #, c-format msgid "if set to yes, report unowned files." msgstr "se definido para sim, reporta ficheiros sem dono." #: security/help.pm:125 #, c-format msgid "if set to yes, check files/directories writable by everybody." msgstr "" "se definido para sim, verifica os ficheiros/directórios graváveis para todos." #: security/help.pm:126 #, c-format msgid "if set to yes, run chkrootkit checks." msgstr "se definido para sim, executa os testes chkrootkit." #: security/help.pm:127 #, c-format msgid "" "if set, send the mail report to this email address else send it to root." msgstr "" "se definido, envia o relatório para este endereço electrónico, caso " "contrário envia para root." #: security/help.pm:128 #, c-format msgid "if set to yes, report check result by mail." msgstr "" "se definido para sim, comunica por correio electrónico os resultados das " "verificações." #: security/help.pm:129 #, c-format msgid "Do not send mails if there's nothing to warn about" msgstr "Não envie mensagens de correio se não existir nada para avisar" #: security/help.pm:130 #, c-format msgid "if set to yes, run some checks against the rpm database." msgstr "se definido para sim, executa alguns testes na base de dados rpm." #: security/help.pm:131 #, c-format msgid "if set to yes, report check result to syslog." msgstr "" "se definido para sim, comunica para syslog os resultados das verificações." #: security/help.pm:132 #, c-format msgid "if set to yes, reports check result to tty." msgstr "" "se definido para sim, comunica para tty os resultados das verificações." #: security/help.pm:134 #, c-format msgid "Set shell commands history size. A value of -1 means unlimited." msgstr "" "Define o tamanho do histórico da Linha de Comandos (shell). O valor -1 " "significa ilimitado." #: security/help.pm:136 #, c-format msgid "Set the shell timeout. A value of zero means no timeout." msgstr "" "Define o tempo de espera da Linha de Comandos (shell). O valor zero " "significa sem tempo de espera.." #: security/help.pm:136 #, c-format msgid "Timeout unit is second" msgstr "A unidade de intervalo de tempo é o segundo" #: security/help.pm:138 #, c-format msgid "Set the user's file mode creation mask." msgstr "Define o modo de criação de máscara dos ficheiros de utilizador." #: security/l10n.pm:11 #, c-format msgid "Accept bogus IPv4 error messages" msgstr "Aceitar mensagens de erro IPv4 adulteradas" #: security/l10n.pm:12 #, c-format msgid "Accept broadcasted icmp echo" msgstr "Aceitar echo icmp transmitidos" #: security/l10n.pm:13 #, c-format msgid "Accept icmp echo" msgstr "Aceitar icmp echo" #: security/l10n.pm:15 #, c-format msgid "/etc/issue* exist" msgstr "Existe /etc/issue*" #: security/l10n.pm:16 #, c-format msgid "Reboot by the console user" msgstr "Reiniciar pelo utilizador da consola" #: security/l10n.pm:17 #, c-format msgid "Allow remote root login" msgstr "Permitir autenticação remota root" #: security/l10n.pm:18 #, c-format msgid "Direct root login" msgstr "Autenticação directa root" #: security/l10n.pm:19 #, c-format msgid "List users on display managers (kdm and gdm)" msgstr "Listar utilizadores nos gestores de ecrã (kdm e gdm)" #: security/l10n.pm:20 #, c-format msgid "Export display when passing from root to the other users" msgstr "Exportar ecrã ao passar de root para os outros utilizadores" #: security/l10n.pm:21 #, c-format msgid "Allow X Window connections" msgstr "Permitir conexões X Window" #: security/l10n.pm:22 #, c-format msgid "Authorize TCP connections to X Window" msgstr "Autorizar conexões TCP à janela X" #: security/l10n.pm:23 #, c-format msgid "Authorize all services controlled by tcp_wrappers" msgstr "Autorizar todos os serviços controlados por tcp_wrappers" #: security/l10n.pm:24 #, c-format msgid "Chkconfig obey msec rules" msgstr "Chkconfig obedecer a regras msec" #: security/l10n.pm:25 #, c-format msgid "Enable \"crontab\" and \"at\" for users" msgstr "Activar \"crontab\" e \"at\" para utilizadores" #: security/l10n.pm:26 #, c-format msgid "Syslog reports to console 12" msgstr "Syslog comunica para a consola 12" #: security/l10n.pm:27 #, c-format msgid "Name resolution spoofing protection" msgstr "Protecção spoofing de resolução de nomes" #: security/l10n.pm:28 #, c-format msgid "Enable IP spoofing protection" msgstr "Activar protecção IP spoofing" #: security/l10n.pm:29 #, c-format msgid "Enable libsafe if libsafe is found on the system" msgstr "Activar libsafe se libsafe for encontrado no sistema" #: security/l10n.pm:30 #, c-format msgid "Enable the logging of IPv4 strange packets" msgstr "Activar registo de pacotes IPv4 estranhos" #: security/l10n.pm:31 #, c-format msgid "Enable msec hourly security check" msgstr "Activar verificação horaria da segurança msec" #: security/l10n.pm:32 #, c-format msgid "Enable su only from the wheel group members" msgstr "Activar su apenas para membros do grupo wheel" #: security/l10n.pm:33 #, c-format msgid "Use password to authenticate users" msgstr "Usar senha para autentificar utilizadores" #: security/l10n.pm:34 #, c-format msgid "Ethernet cards promiscuity check" msgstr "Teste de promiscuidade das placas ethernet" #: security/l10n.pm:35 #, c-format msgid "Daily security check" msgstr "Verificação diária de segurança" #: security/l10n.pm:36 #, c-format msgid "Sulogin(8) in single user level" msgstr "Sulogin(8) no nível utilizador único" #: security/l10n.pm:37 #, c-format msgid "No password aging for" msgstr "Sem expiração de senha para" #: security/l10n.pm:38 #, c-format msgid "Set password expiration and account inactivation delays" msgstr "Definir expiração da senha e atrasos de inactivação de contas" #: security/l10n.pm:39 #, c-format msgid "Password history length" msgstr "Comprimento do histórico da senha" #: security/l10n.pm:40 #, c-format msgid "Password minimum length and number of digits and upcase letters" msgstr "Comprimento mínimo da senha, número de dígitos e letras maiúsculas" #: security/l10n.pm:41 #, c-format msgid "Root umask" msgstr "Umask root" #: security/l10n.pm:42 #, c-format msgid "Shell history size" msgstr "Tamanho do histórico da linha de comandos" #: security/l10n.pm:43 #, c-format msgid "Shell timeout" msgstr "Intervalo de tempo da linha de comandos" #: security/l10n.pm:44 #, c-format msgid "User umask" msgstr "Umask do utilizador" #: security/l10n.pm:45 #, c-format msgid "Check open ports" msgstr "Verificar portos abertos" #: security/l10n.pm:46 #, c-format msgid "Check for unsecured accounts" msgstr "Verificar contas inseguras" #: security/l10n.pm:47 #, c-format msgid "Check permissions of files in the users' home" msgstr "Verificar permissões dos ficheiros na pasta pessoal do utilizador" #: security/l10n.pm:48 #, c-format msgid "Check if the network devices are in promiscuous mode" msgstr "Verifica se os dispositivos de rede estão em modo promíscuo" #: security/l10n.pm:49 #, c-format msgid "Run the daily security checks" msgstr "Executar diáriamente verificações de segurança" #: security/l10n.pm:50 #, c-format msgid "Check additions/removals of sgid files" msgstr "Verificar adições/remoções dos ficheiros sgid" #: security/l10n.pm:51 #, c-format msgid "Check empty password in /etc/shadow" msgstr "Verificar senha vazia em /etc/shadow." #: security/l10n.pm:52 #, c-format msgid "Verify checksum of the suid/sgid files" msgstr "Verificar checksum dos ficheiros suid/sgid" #: security/l10n.pm:53 #, c-format msgid "Check additions/removals of suid root files" msgstr "Verificar adições/remoções dos ficheiros suid root" #: security/l10n.pm:54 #, c-format msgid "Report unowned files" msgstr "Comunicar ficheiros sem dono" #: security/l10n.pm:55 #, c-format msgid "Check files/directories writable by everybody" msgstr "Verificar ficheiros/directórios graváveis para todos" #: security/l10n.pm:56 #, c-format msgid "Run chkrootkit checks" msgstr "Executar verificações chkrootkit" #: security/l10n.pm:57 #, c-format msgid "Do not send empty mail reports" msgstr "Não enviar correio de relatórios vazio" #: security/l10n.pm:58 #, c-format msgid "If set, send the mail report to this email address else send it to root" msgstr "" "Se definido, envia o relatório para este endereço electrónico senão envia-o " "para o root" #: security/l10n.pm:59 #, c-format msgid "Report check result by mail" msgstr "Comunicar resultados das verificações por correio" #: security/l10n.pm:60 #, c-format msgid "Run some checks against the rpm database" msgstr "Executar algumas verificações na base de dados rpm" #: security/l10n.pm:61 #, c-format msgid "Report check result to syslog" msgstr "Comunicar resultado das verificações para syslog" #: security/l10n.pm:62 #, c-format msgid "Reports check result to tty" msgstr "Comunicar resultado das verificações para tty" #: security/level.pm:10 #, c-format msgid "Disable msec" msgstr "Desactivar msec" #: security/level.pm:11 #, c-format msgid "Standard" msgstr "Padrão" #: security/level.pm:12 #, c-format msgid "Secure" msgstr "Segurar" #: security/level.pm:40 #, 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 "" "Este nível é para ser usado com cuidado, já que desactiva toda a segurança\n" "adicional fornecida pelo msec. Use-o apenas quando quiser rever todos os\n" "aspectos do sistema de segurança\n" "por si próprio." #: security/level.pm:43 #, c-format msgid "" "This is the standard security recommended for a computer that will be used " "to connect to the Internet as a client." msgstr "" "Esta é a segurança padrão recomendada para um computador que será usado para " "se conectar à Internet como cliente." #: security/level.pm:44 #, 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 "" "Com este nível de segurança, o uso deste sistema como servidor tornou-se " "possível. A segurança é agora suficientemente alta para usar o sistema como " "um servidor\n" "que pode aceitar conexões de muitos clientes. Nota: se a sua máquina é " "apenas um cliente na Internet, deve escolher um nível mais baixo." #: security/level.pm:51 #, c-format msgid "DrakSec Basic Options" msgstr "Draksec Opções Básicas" #: security/level.pm:54 #, c-format msgid "Please choose the desired security level" msgstr "Por favor escolha o nível de segurança desejado" #. -PO: this string is used to properly format "<security level>: <level description>" #: security/level.pm:58 #, c-format msgid "%s: %s" msgstr "%s: %s" #: security/level.pm:61 #, c-format msgid "Security Administrator:" msgstr "Administrador de Segurança:" #: security/level.pm:62 #, c-format msgid "Login or email:" msgstr "Autenticação ou endereço electrónico:" #: services.pm:19 #, c-format msgid "Listen and dispatch ACPI events from the kernel" msgstr "Ouvir e despachar eventos ACPI do kernel" #: services.pm:20 #, c-format msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system" msgstr "Inicie o sistema de som ALSA (Arquitectura de Som Linux Avançada) " #: services.pm:21 #, c-format msgid "Anacron is a periodic command scheduler." msgstr "O anacron é um agendador periódico de comandos." #: services.pm:22 #, 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 "" "O apmd é usado para monitorizar o estado da bateria e registá-lo via " "syslog.\n" "Também pode ser usado para desligar a máquina quando a bateria está fraca." #: services.pm:24 #, c-format msgid "" "Runs commands scheduled by the at command at the time specified when\n" "at was run, and runs batch commands when the load average is low enough." msgstr "" "Executa comandos programados pelo comando 'at' na hora indicada quando\n" "o 'at' foi executado, e executa comandos 'batch' quando a média de " "carregamento\n" "é suficientemente baixa." #: services.pm:26 #, c-format msgid "Avahi is a ZeroConf daemon which implements an mDNS stack" msgstr "O avahi é um serviço ZeroConf que implementa uma pilha mDNS" #: services.pm:27 #, c-format msgid "Set CPU frequency settings" msgstr "Definir as configurações de frequência do CPU" #: 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 "" "O cron é um programa UNIX padrão que executa programas especificados pelo\n" "utilizador em horas marcadas. O vixie cron adiciona várias características " "ao\n" "UNIX cron básico, incluindo melhor segurança e melhores opções de " "configuração." #: services.pm:31 #, c-format msgid "" "Common UNIX Printing System (CUPS) is an advanced printer spooling system" msgstr "" "O Sistema de Impressão UNIX Comum (CUPS) é um sistema de impressão em fila " "avançado" #: services.pm:32 #, c-format msgid "Launches the graphical display manager" msgstr "Lança o gestor de ecrã gráfico" #: 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 "" "O FAM é um servidor de monitorização de ficheiros. É usado para obter\n" "relatórios quando os ficheiros são alterados.\n" "É usado pelo GNOME e pelo 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 "" "O G15Daemon permite aos utilizadores aceder a todas as chaves extra ao\n" "descodificá-las e enviá-las novamente para o kernel via o controlador linux " "UINPUT. Este controlador\n" "tem que ser carregado antes que o g15daemon possa ser usado para aceder " "ao teclado. O LCD G15\n" "é também suportado. Por predefinição, sem outros clientes activos, o " "g15daemon " "irá mostrar um relógio.\n" "As aplicações e «scripts' do cliente podem aceder ao LCD através de um " "simples " "API." #: 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 "" "O GPM adiciona suporte do rato a aplicações Linux em modo de texto tais\n" "como o Midnight Commander. Permite também operações de cortar-e-colar\n" "com o rato e inclui suporte para menus pop-up na consola." #: services.pm:43 #, c-format msgid "HAL is a daemon that collects and maintains information about hardware" msgstr "O HAL é um serviço que reúne e mantém informação acerca do material." #: services.pm:44 #, c-format msgid "" "HardDrake runs a hardware probe, and optionally configures\n" "new/changed hardware." msgstr "" "O harddrake executa uma verificação ao material, e opcionalmente\n" "configura o material novo/alterado." #: services.pm:46 #, c-format msgid "" "Apache is a World Wide Web server. It is used to serve HTML files and CGI." msgstr "" "O apache é um servidor Web mundial. É usado para servir ficheiros HTML e 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 "" "O serviço internet superserver (normalmente chamado inetd) inicia\n" "uma variedade de outros serviços Internet conforme necessário. É\n" "responsável pela inicialização de vários serviços, incluindo telnet, ftp,\n" "rsh e rlogin. Desactivando o inetd, desactiva todos os serviços pelos\n" "quais é responsável." #: services.pm:51 #, c-format msgid "Automates a packet filtering firewall with ip6tables" msgstr "Automatiza uma filtragem de pacotes na 'firewall' com ip6tables" #: services.pm:52 #, c-format msgid "Automates a packet filtering firewall with iptables" msgstr "Automatiza uma filtragem de pacotes na 'firewall' com iptables" #: services.pm:53 #, c-format msgid "" "Launch packet filtering for Linux kernel 2.2 series, to set\n" "up a firewall to protect your machine from network attacks." msgstr "" "Execute o filtro de pacotes para o Linux kernel 2.2, para definir\n" "uma firewall para proteger a sua máquina de ataques da rede." #: services.pm:55 #, c-format msgid "" "Evenly distributes IRQ load across multiple CPUs for enhanced performance" msgstr "" "Distribui uniformemente a carga IRQ através de múltiplos CPUs para um melhor " "desempenho" #: services.pm:56 #, c-format msgid "" "This package loads the selected keyboard map as set in\n" "/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n" "You should leave this enabled for most machines." msgstr "" "Este pacote carrega o mapa de teclado seleccionado como definido\n" "em /etc/sysconfig/keyboard. Isto pode ser seleccionado usando o\n" "utilitário kbdconfig. Deve deixar isto activado para a maioria da máquinas." #: services.pm:59 #, c-format msgid "" "Automatic regeneration of kernel header in /boot for\n" "/usr/include/linux/{autoconf,version}.h" msgstr "" "Regeneração automática do cabeçalho do kernel em /boot\n" "para /usr/include/linux/{autoconf,version}.h" #: services.pm:61 #, c-format msgid "Automatic detection and configuration of hardware at boot." msgstr "Detecção e configuração automática de material no arranque." #: services.pm:62 #, c-format msgid "Tweaks system behavior to extend battery life" msgstr "Muda o comportamento do sistema para extender a vida da bateria" #: services.pm:63 #, c-format msgid "" "Linuxconf will sometimes arrange to perform various tasks\n" "at boot-time to maintain the system configuration." msgstr "" "O Linuxconf irá por vezes executar várias tarefas no\n" "arranque para manter a configuração do sistema." #: services.pm:65 #, c-format msgid "" "lpd is the print daemon required for lpr to work properly. It is\n" "basically a server that arbitrates print jobs to printer(s)." msgstr "" "lpd é o servidor de impressão requerido para que o lpr funcione\n" "correctamente.\n" "É basicamente um servidor que controla os trabalhos\n" "de impressão para a(s) impressora(s)." #: services.pm:67 #, c-format msgid "" "Linux Virtual Server, used to build a high-performance and highly\n" "available server." msgstr "" "O Servidor Virtual Linux, é usado para criar um servidor de alto desempenho\n" "e de grande disponibilidade." #: services.pm:69 #, c-format msgid "Monitors the network (Interactive Firewall and wireless" msgstr "Monitoriza a rede ('Firewall' Interactiva e sem fios" #: services.pm:70 #, c-format msgid "Software RAID monitoring and management" msgstr "Gestão e monitorização de programas RAID" #: services.pm:71 #, c-format msgid "" "DBUS is a daemon which broadcasts notifications of system events and other " "messages" msgstr "" "O DBUS é um serviço que transmite notificações dos eventos e outras " "mensagens do sistema" #: services.pm:72 #, c-format msgid "Enables MSEC security policy on system startup" msgstr "Activa a politica de segurança MSEC no arranque do sistema" #: services.pm:73 #, c-format msgid "" "named (BIND) is a Domain Name Server (DNS) that is used to resolve host " "names to IP addresses." msgstr "" "O conhecido (BIND) é um Domain Name Server (DNS) que é usado para resolver " "nomes de endereços para endereços IP." #: services.pm:74 #, c-format msgid "Initializes network console logging" msgstr "Inicializa o registo da consola da rede" #: services.pm:75 #, c-format msgid "" "Mounts and unmounts all Network File System (NFS), SMB (Lan\n" "Manager/Windows), and NCP (NetWare) mount points." msgstr "" "Monta e desmonta todos os pontos de montagem Network File\n" "System (NFS), SMB (Gestor Lan/Windows), e NCP (NetWare)." #: services.pm:77 #, c-format msgid "" "Activates/Deactivates all network interfaces configured to start\n" "at boot time." msgstr "" "Activa/Desactiva todos os interfaces de rede configurados para iniciar\n" "no arranque." #: services.pm:79 #, c-format msgid "Requires network to be up if enabled" msgstr "Requer que a rede esteja ligada se activa" #: services.pm:80 #, c-format msgid "Wait for the hotplugged network to be up" msgstr "Esperar que a rede 'hotplugged' esteja ligada" #: services.pm:81 #, 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 "" "O NFS é um protocolo popular para partilha de ficheiros através de\n" "redes TCP/IP. Este serviço oferece a funcionalidade do servidor NFS,\n" "que é configurado através do ficheiro /etc/exports." #: services.pm:84 #, c-format msgid "" "NFS is a popular protocol for file sharing across TCP/IP\n" "networks. This service provides NFS file locking functionality." msgstr "" "O NFS é um protocolo popular para partilha de ficheiros através de redes\n" "TCP/IP. Este serviço oferece a funcionalidade de bloquear ficheiros NFS." #: services.pm:86 #, c-format msgid "Synchronizes system time using the Network Time Protocol (NTP)" msgstr "Sincroniza a hora do sistema usando o Protocolo de Rede Horário (NTP)" #: services.pm:87 #, c-format msgid "" "Automatically switch on numlock key locker under console\n" "and Xorg at boot." msgstr "" "Automaticamente alterna o estado da tecla numlock na consola\n" "e o Xorg no arranque." #: services.pm:89 #, c-format msgid "Support the OKI 4w and compatible winprinters." msgstr "Suporta o OKI 4w e winprinters compatíveis." #: services.pm:90 #, c-format msgid "Checks if a partition is close to full up" msgstr "Verifica se uma partição está perto de estar cheia" #: services.pm:91 #, c-format msgid "" "PCMCIA support is usually to support things like ethernet and\n" "modems in laptops. It will not get started unless configured so it is safe " "to have\n" "it installed on machines that do not need it." msgstr "" "O suporte PCMCIA é normalmente usado para suportar coisas como\n" "ethernet ou modems nos portáteis. Não será iniciado a não ser que seja\n" "configurado de modo que seja seguro tê-lo instalado em máquinas que\n" "não precisem dele." #: services.pm:94 #, c-format msgid "" "The portmapper manages RPC connections, which are used by\n" "protocols such as NFS and NIS. The portmap server must be running on " "machines\n" "which act as servers for protocols which make use of the RPC mechanism." msgstr "" "O portmapper gere conexões RPC, que são usadas por protocolos tais como\n" "NFS ou NIS. O servidor portmap tem que estar a correr nas máquinas que\n" "actuam como servidores para protocolos que façam uso do mecanismo RPC." #: services.pm:97 #, c-format msgid "Reserves some TCP ports" msgstr "Reserva alguns portos TCP" #: services.pm:98 #, c-format msgid "" "Postfix is a Mail Transport Agent, which is the program that moves mail from " "one machine to another." msgstr "" "O postfix é um Agente de Transporte de Correio Electrónico, que é o programa " "que move o correio de uma máquina para outra." #: services.pm:99 #, c-format msgid "" "Saves and restores system entropy pool for higher quality random\n" "number generation." msgstr "" "Grava e restaura o 'entropy pool' do sistema para melhor qualidade\n" "na geração de números aleatórios." #: services.pm:101 #, c-format msgid "" "Assign raw devices to block devices (such as hard drive\n" "partitions), for the use of applications such as Oracle or DVD players" msgstr "" "Atribui dispositivos 'raw' para bloquear dispositivos (tais como as " "partições\n" "do disco rígido), para o uso de aplicações como o Oracle ou leitores DVD" #: services.pm:103 #, c-format msgid "Nameserver information manager" msgstr "Gestão de informação do servidor de nomes" #: services.pm:104 #, c-format msgid "" "The routed daemon allows for automatic IP router table updated via\n" "the RIP protocol. While RIP is widely used on small networks, more complex\n" "routing protocols are needed for complex networks." msgstr "" "O servidor encaminhado (routed) permite a actualização automática da\n" "tabela IP Router através do protocolo RIP. Enquanto o RIP é largamente\n" "usado em pequenas redes, os protocolos routing mais complexos são\n" "necessários para redes mais complexas." #: services.pm:107 #, c-format msgid "" "The rstat protocol allows users on a network to retrieve\n" "performance metrics for any machine on that network." msgstr "" "O protocolo rstat permite que os utilizadores de uma rede recebam\n" "informações sobre velocidade para qualquer máquina nessa rede." #: services.pm:109 #, 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 "" "O syslog é a capacidade que muitos serviços usam para registar mensagens\n" "em vários ficheiros de registo do sistema. Recomenda-se que corra sempre o " "rsyslog." #: services.pm:110 #, c-format msgid "" "The rusers protocol allows users on a network to identify who is\n" "logged in on other responding machines." msgstr "" "O protocolo rusers permite que os utilizadores de uma rede identifiquem\n" "quem está registado (ligado) noutras máquinas que respondam." #: services.pm:112 #, c-format msgid "" "The rwho protocol lets remote users get a list of all of the users\n" "logged into a machine running the rwho daemon (similar to finger)." msgstr "" "O protocolo rwho permite que utilizadores remotos obtenham uma\n" "lista de todos os utilizadores conectados numa máquina a correr o\n" "servidor rwho (similar ao finger)." #: services.pm:114 #, c-format msgid "" "SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..." msgstr "" "O SANE (Scanner Access Now Easy) permite aceder a digitalizadores, câmaras " "de vídeo, ..." #: services.pm:115 #, c-format msgid "Packet filtering firewall" msgstr "'Firewall' de filtragem de pacotes" #: services.pm:116 #, c-format msgid "" "The SMB/CIFS protocol enables to share access to files & printers and also " "integrates with a Windows Server domain" msgstr "" "O protocolo SMB/CIFS permite partilhar o acesso a ficheiros e impressoras e " "também faz uma integração com domínios de Servidores Windows" #: services.pm:117 #, c-format msgid "Launch the sound system on your machine" msgstr "Iniciar o sistema de som na sua máquina" #: services.pm:118 #, c-format msgid "layer for speech analysis" msgstr "camada para a análise de discurso" #: services.pm:119 #, c-format msgid "" "Secure Shell is a network protocol that allows data to be exchanged over a " "secure channel between two computers" msgstr "" "O 'Secure Shell' é um protocolo de rede que permite que dados sejam trocados " "através de um canal seguro entre dois computadores" #: services.pm:120 #, 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 "" "O syslog é a capacidade que muitos servidores usam para registar mensagens\n" "em vários ficheiros de registo do sistema. Recomenda-se que execute sempre o " "syslog." #: services.pm:122 #, c-format msgid "Moves the generated persistent udev rules to /etc/udev/rules.d" msgstr "Move as regras udev persistentes geradas para /etc/udev/rules.d" #: services.pm:123 #, c-format msgid "Load the drivers for your usb devices." msgstr "Carrega os controladores para os seus dispositivos usb." #: services.pm:124 #, c-format msgid "A lightweight network traffic monitor" msgstr "Um monitor leve do tráfego de rede" #: services.pm:125 #, c-format msgid "Starts the X Font Server." msgstr "Inicia o Servidor de Tipos de Letra X." #: services.pm:126 #, c-format msgid "Starts other deamons on demand." msgstr "Inicia outros serviços a pedido." #: services.pm:149 #, c-format msgid "Printing" msgstr "Impressão" #: services.pm:150 #, c-format msgid "Internet" msgstr "Internet" #: services.pm:153 #, c-format msgid "File sharing" msgstr "Partilha de ficheiros" #: services.pm:155 #, c-format msgid "System" msgstr "Sistema" #: services.pm:160 #, c-format msgid "Remote Administration" msgstr "Administração remota" #: services.pm:168 #, c-format msgid "Database Server" msgstr "Servidor de Bases de Dados" #: services.pm:179 services.pm:218 #, c-format msgid "Services" msgstr "Serviços" #: services.pm:179 #, c-format msgid "Choose which services should be automatically started at boot time" msgstr "" "Escolhe que serviços devem ser inicializados automaticamente na altura do " "arranque" #: services.pm:197 #, c-format msgid "%d activated for %d registered" msgstr "%d activados para %d registados" #: services.pm:234 #, c-format msgid "running" msgstr "a correr" #: services.pm:234 #, c-format msgid "stopped" msgstr "parado" #: services.pm:239 #, c-format msgid "Services and daemons" msgstr "Serviços e servidores" #: services.pm:245 #, c-format msgid "" "No additional information\n" "about this service, sorry." msgstr "" "Não há informação adicional\n" "sobre este serviço." #: services.pm:250 ugtk2.pm:924 #, c-format msgid "Info" msgstr "Informação" #: services.pm:253 #, c-format msgid "Start when requested" msgstr "Inicia quando pedido" #: services.pm:253 #, c-format msgid "On boot" msgstr "Ao arrancar" #: services.pm:271 #, c-format msgid "Start" msgstr "Iniciar" #: services.pm:271 #, c-format msgid "Stop" msgstr "Parar" #: standalone.pm:25 #, c-format msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" "the Free Software Foundation; either version 2, or (at your option)\n" "any later version.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " "USA.\n" msgstr "" "Este programa é livre; pode redistribuir-lo e/ou modifica-lo nos termos\n" "da licença GNU GPL como publicado pela Fundação de Programas Livres,\n" "seja na versão 2, ou (à sua escolha) em qualquer versão anterior.\n" "\n" "Este programa é distribuído na esperança de que seja útil, mas SEM\n" "QUALQUER GARANTIA; mesmo sem a garantia implícita de VENDA ou de\n" "ADEQUAÇÃO A QUALQUER PROPÓSITO. Veja a licença GNU Licença Publica\n" "Geral para mais detalhes.\n" "\n" "Devia ter recebido uma cópia da licença GNU GPL com este\n" "programa; senão escreva para Free Software Foundation, Inc.,\n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #: standalone.pm:44 #, 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" "Aplicação para Salvaguarda e Restauro\n" "\n" "--default : grava os directórios predefinidos.\n" "--debug : mostra todas as mensagens erro.\n" "--show-conf : lista de ficheiros ou directórios para bachup.\n" "--config-info : explica as opções dos ficheiros de configuração " "(para utilizadores sem X).\n" "--daemon : usa a configuração do servidor.\n" "--help : mostra esta mensagem.\n" "--version : mostra o numero da versão.\n" #: standalone.pm:56 #, c-format msgid "" "[--boot]\n" "OPTIONS:\n" " --boot - enable to configure boot loader\n" "default mode: offer to configure autologin feature" msgstr "" "[--boot]\n" "OPÇÕES:\n" " --boot - permite configurar o carregador de arranque\n" " de arranque: oferece para configurar a opção auto-autenticar" #: standalone.pm:60 #, c-format msgid "" "[OPTIONS] [PROGRAM_NAME]\n" "\n" "OPTIONS:\n" " --help - print this help message.\n" " --report - program should be one of Mandriva Linux tools\n" " --incident - program should be one of Mandriva Linux tools" msgstr "" "[OPÇOES] [NOME_DO_PROGRAMA]\n" "\n" "OPÇOES:\n" " --help - mostra esta mensagem de ajuda.\n" " --report - o programa deve ser um das ferramentas Mandriva Linux\n" " --incident - o programa deve ser um das ferramentas Mandriva Linux" #: standalone.pm:66 #, c-format msgid "" "[--add]\n" " --add - \"add a network interface\" wizard\n" " --del - \"delete a network interface\" wizard\n" " --skip-wizard - manage connections\n" " --internet - configure internet\n" " --wizard - like --add" msgstr "" "[--add]\n" " --add - assistente \"adiciona um interface de rede\"\n" " --del - assistente \"apaga um interface de rede\"\n" " --skip-wizard - gere as conexões\n" " --internet - configura a internet\n" " --wizard - o mesmo que --add" #: standalone.pm:72 #, c-format msgid "" "\n" "Font Importation and monitoring application\n" "\n" "OPTIONS:\n" "--windows_import : import from all available windows partitions.\n" "--xls_fonts : show all fonts that already exist from xls\n" "--install : accept any font file and any directory.\n" "--uninstall : uninstall any font or any directory of font.\n" "--replace : replace all font if already exist\n" "--application : 0 none application.\n" " : 1 all application available supported.\n" " : name_of_application like so for staroffice \n" " : and gs for ghostscript for only this one." msgstr "" "\n" "Aplicação para importar e monitorizar tipos de letra\n" "\n" "OPÇÕES:\n" "--windows_import : importa a partir de todas as partições windows " "disponiveis.\n" "--xls_fonts : mostra todas os tipos de letra que já existem a partir do xls\n" "--install : aceita qualquer ficheiro de tipo de letra ou directoria.\n" "--uninstall : desinstala qualquer tipo de letra ou directoria.\n" "--replace : substitui todos os tipos de letra que já existam.\n" "--application : 0 nenhuma aplicação.\n" " : 1 todas as aplicações disponíveis suportadas.\n" " : nome_da_aplicação como so para staroffice \n" " : e gs para ghostscript apenas para esta." #: standalone.pm:87 #, c-format msgid "" "[OPTIONS]...\n" "Mandriva Linux Terminal Server Configurator\n" "--enable : enable MTS\n" "--disable : disable MTS\n" "--start : start MTS\n" "--stop : stop MTS\n" "--adduser : add an existing system user to MTS (requires username)\n" "--deluser : delete an existing system user from MTS (requires " "username)\n" "--addclient : add a client machine to MTS (requires MAC address, IP, " "nbi image name)\n" "--delclient : delete a client machine from MTS (requires MAC address, " "IP, nbi image name)" msgstr "" "[OPÇÕES]...\n" "Configurador do Servidor de Terminais Mandriva Linux\n" "--enable : activa o MTS\n" "--disable : desactiva o MTS\n" "--start : inicia o MTS\n" "--stop : pára o MTS\n" "--adduser : adiciona um utilizador do sistema ao MTS (requer nome do " "utilizador)\n" "--deluser : apaga um utilizador do sistema do MTS (requer nome do " "utilizador)\n" "--addclient : adiciona uma máquina cliente ao MTS (requer endereços " "MAC, IP, e o nome de imagem nbi)\n" "--delclient : apaga uma máquina cliente do MTS (requer endereços MAC, " "IP, e o nome de imagem nbi)" #: standalone.pm:99 #, c-format msgid "[keyboard]" msgstr "[teclado]" #: standalone.pm:100 #, c-format msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]" msgstr "" "[--file=meuficheiro] [--word=minhapalavra] [--explain=regexp] [--alert]" #: standalone.pm:101 #, c-format msgid "" "[OPTIONS]\n" "Network & Internet connection and monitoring application\n" "\n" "--defaultintf interface : show this interface by default\n" "--connect : connect to internet if not already connected\n" "--disconnect : disconnect to internet if already connected\n" "--force : used with (dis)connect : force (dis)connection.\n" "--status : returns 1 if connected 0 otherwise, then exit.\n" "--quiet : do not be interactive. To be used with (dis)connect." msgstr "" "[OPÇÕES]\n" "Aplicação de conexão e monitorização de uma Rede & Internet\n" "\n" "--defaultintf interface : mostra este interface por omissão\n" "--connect : conecta à internet se ainda não estiver conectado\n" "--disconnect : desliga da internet se já estiver ligado\n" "--force : usado com (dis)connect : força a (des)conexão.\n" "--status : mostra 1 se está ligado, 0 caso contrário, e sai.\n" "--quiet : não é interactivo. Para ser usado com (dis)connect." #: standalone.pm:111 #, c-format msgid "" "[OPTION]...\n" " --no-confirmation do not ask first confirmation question in Mandriva " "Update mode\n" " --no-verify-rpm do not verify packages signatures\n" " --changelog-first display changelog before filelist in the " "description window\n" " --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found" msgstr "" "[OPÇÃO]...\n" " --no-confirmation não pede a primeira confirmação em modo Mandriva " "Update\n" " --no-verify-rpm não verifica as assinaturas dos pacotes\n" " --changelog-first mostra o registo de mudanças antes da lista dos " "ficheiros na janela de descrições\n" " --merge-all-rpmnew propõe fundir todos os ficheiros .rpmnew/.rpmsave " "encontrados" #: standalone.pm:116 #, c-format msgid "" "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-" "usbtable] [--dynamic=dev]" msgstr "" "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-" "usbtable] [--dynamic=dev]" #: standalone.pm:117 #, c-format msgid "" " [everything]\n" " XFdrake [--noauto] monitor\n" " XFdrake resolution" msgstr "" " [tudo]\n" " XFdrake [--noauto] ecrã \n" " XFdrake resolução" #: standalone.pm:153 #, c-format msgid "" "\n" "Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--" "testing] [-v|--version] " msgstr "" "\n" "Uso: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] " "[-v|--version] " #: timezone.pm:161 timezone.pm:162 #, c-format msgid "All servers" msgstr "Todos os servidores" #: timezone.pm:196 #, c-format msgid "Global" msgstr "Global" #: timezone.pm:199 #, c-format msgid "Africa" msgstr "África" #: timezone.pm:200 #, c-format msgid "Asia" msgstr "Ásia" #: timezone.pm:201 #, c-format msgid "Europe" msgstr "Europa" #: timezone.pm:202 #, c-format msgid "North America" msgstr "América do Norte" #: timezone.pm:203 #, c-format msgid "Oceania" msgstr "Oceânia" #: timezone.pm:204 #, c-format msgid "South America" msgstr "América do Sul" #: timezone.pm:213 #, c-format msgid "Hong Kong" msgstr "Hong Kong" #: timezone.pm:250 #, c-format msgid "Russian Federation" msgstr "Federação Russa" #: timezone.pm:258 #, c-format msgid "Yugoslavia" msgstr "Jugoslávia" #: ugtk2.pm:812 #, c-format msgid "Is this correct?" msgstr "Isto está correcto?" #: ugtk2.pm:874 #, c-format msgid "You have chosen a file, not a directory" msgstr "Escolheu um ficheiro, não um directório" #: wizards.pm:95 #, c-format msgid "" "%s is not installed\n" "Click \"Next\" to install or \"Cancel\" to quit" msgstr "" "%s não está instalado\n" "Clique em \"Seguinte\"para instalar ou em \"Cancelar\" para sair" #: wizards.pm:99 #, c-format msgid "Installation failed" msgstr "Instalação falhada" #~ msgid "" #~ "To ensure data integrity after resizing the partition(s), \n" #~ "filesystem checks will be run on your next boot into Microsoft Windows®" #~ msgstr "" #~ "Para assegurar a integridade dos dados após redimensionar\n" #~ "a(s) partição(ões), as verificações do sistema de ficheiros irão ser\n" #~ "executada no próximo arranque do Windows(TM)" #~ msgid "Use the Microsoft Windows® partition for loopback" #~ msgstr "Usar a partição Microsoft Windows® para loopback" #~ msgid "Which partition do you want to use for Linux4Win?" #~ msgstr "Que partição deseja usar para o Linux4Win?" #~ msgid "Choose the sizes" #~ msgstr "Escolha os tamanhos" #~ msgid "Root partition size in MB: " #~ msgstr "Tamanho da partição de raiz em MB: " #~ msgid "Swap partition size in MB: " #~ msgstr "Tamanho da partição swap em MB: " #~ msgid "" #~ "There is no FAT partition to use as loopback (or not enough space left)" #~ msgstr "" #~ "Não há partições FAT para usar como loopback (ou não tem espaço " #~ "suficiente)" #~ msgid "" #~ "The FAT resizer is unable to handle your partition, \n" #~ "the following error occurred: %s" #~ msgstr "" #~ "O redimensionador FAT não consegue redimensionar a sua partição, \n" #~ "ocorreu o seguinte erro: %s" #~ msgid "Automatic routing from ALSA to PulseAudio" #~ msgstr "Roteamento automático ALSA para PulseAudio" #~ msgid "Please log out and then use Ctrl-Alt-BackSpace" #~ msgstr "Por favor saia desta sessão e depois use Ctrl-Alt-BackSpace" #~ msgid "Welcome To Crackers" #~ msgstr "Bem-vindo ao Crackers" #~ msgid "Poor" #~ msgstr "Baixo" #~ msgid "High" #~ msgstr "Elevado" #~ msgid "Higher" #~ msgstr "Superior" #~ msgid "Paranoid" #~ msgstr "Paranóico" #~ msgid "" #~ "This level is to be used with care. It makes your system more easy to " #~ "use,\n" #~ "but very sensitive. It must not be used for a machine connected to " #~ "others\n" #~ "or to the Internet. There is no password access." #~ msgstr "" #~ "Este nível é para ser usado com cuidado. Torna seu sistema mais fácil \n" #~ "de usar, mas muito sensível Não deve ser usado para uma máquina \n" #~ "conectada a outras ou à Internet. Não existe acesso por senha." #~ msgid "" #~ "Passwords are now enabled, but use as a networked computer is still not " #~ "recommended." #~ msgstr "" #~ "As senhas agora estão activas, mas o uso como computador de rede ainda " #~ "não é recomendado." #~ msgid "" #~ "There are already some restrictions, and more automatic checks are run " #~ "every night." #~ msgstr "" #~ "Já há algumas restrições, e mais controlos automáticos são executados " #~ "todas as noites." #~ msgid "" #~ "This is similar to the previous level, but the system is entirely closed " #~ "and security features are at their maximum." #~ msgstr "" #~ "Este é similar ao nível anterior, mas o sistema está completamente " #~ "fechado e as características de segurança estão no máximo."