aboutsummaryrefslogtreecommitdiffstats
path: root/po/uk.po
blob: 8a89b1744d42bad49b57858fd3354bce6c05e2dc (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
<
  0xa5 => 'BSD/386, 386BSD, NetBSD, FreeBSD',
  0xa6 => 'OpenBSD',
  0xa7 => 'NEXTSTEP',
  0xa9 => 'NetBSD',
  0xaa => 'Olivetti Fat 12 1.44Mb Service Partition',
  0xb7 => 'BSDI filesystem',
  0xb8 => 'BSDI swap partition',
  0xbe => 'Solaris boot partition',
  0xc0 => 'CTOS / REAL/32 secure small partition',
  0xc1 => 'DRDOS/secured (FAT-12)',
  0xc4 => 'DRDOS/secured (FAT-16, < 32M)',
  0xc6 => 'DRDOS/secured (FAT-16, >= 32M) / Windows NT corrupted FAT16 volume/stripe set',
  0xc7 => 'Windows NT corrupted NTFS volume/stripe set / Syrinx boot',
  0xcb => 'reserved for DRDOS/secured (FAT32)',
  0xcc => 'reserved for DRDOS/secured (FAT32, LBA)',
  0xcd => 'CTOS Memdump?',
  0xce => 'reserved for DRDOS/secured (FAT16, LBA)',
  0xd0 => 'REAL/32 secure big partition',
  0xd1 => 'Old Multiuser DOS secured FAT12',
  0xd4 => 'Old Multiuser DOS secured FAT16 <32M',
  0xd5 => 'Old Multiuser DOS secured extended partition',
  0xd6 => 'Old Multiuser DOS secured FAT16 >=32M',
  0xd8 => 'CP/M-86',
  0xdb => 'Digital Research CP/M, Concurrent CP/M, Concurrent DOS / CTOS (Convergent Technologies OS -Unisys) / KDG Telemetry SCPU boot',
  0xdd => 'Hidden CTOS Memdump?',
  0xe1 => 'DOS access or SpeedStor 12-bit FAT extended partition',
  0xe3 => 'DOS R/O or SpeedStor',
  0xe4 => 'SpeedStor 16-bit FAT extended partition < 1024 cyl.',
  0xeb => 'BeOS',
  0xee => 'Indication that this legacy MBR is followed by an EFI header',
  0xef => 'Partition that contains an EFI file system',
  0xf1 => 'SpeedStor 0xf1',
  0xf2 => 'DOS 3.3+ secondary partition',
  0xf4 => 'SpeedStor large partition / Prologue single-volume partition',
  0xf5 => 'Prologue multi-volume partition',
  0xfd => 'Linux RAID',
  0xfe => 'SpeedStor > 1024 cyl. or LANstep / IBM PS/2 IML (Initial Microcode Load) partition, located at the end of the disk. / Windows NT Disk Administrator hidden partition / Linux Logical Volume Manager partition (old)',
  0xff => 'Xenix Bad Block Table',
);

my %type2fs = (
arch() =~ /^ppc/ ? (
  0x07 => 'hpfs',
) : (
  0x07 => 'ntfs',
),
arch() !~ /sparc/ ? (
  0x01 => 'vfat',
  0x04 => 'vfat',
  0x05 => 'ignore',
  0x06 => 'vfat',
) : (
  0x01 => 'ufs',
  0x02 => 'ufs',
  0x04 => 'ufs',
  0x06 => 'ufs',
  0x07 => 'ufs',
  0x08 => 'ufs',
),
  0x0b => 'vfat',
  0x0c => 'vfat',
  0x0e => 'vfat',
  0x1b => 'vfat',
  0x1c => 'vfat',
  0x1e => 'vfat',
  0x82 => 'swap',
  0x83 => 'ext2',
  0x183=> 'reiserfs',
  0x283=> 'xfs',
  0x401 => 'apple',
  0x402 => 'hfs',
  nfs  => 'nfs', #- hack
);

my %types_rev = reverse %types;
my %fs2type = reverse %type2fs;


1;

sub important_types { 
    my @l = (@important_types, if_($::expert, @important_types2, sort values %types));
    difference2(\@l, \@bad_types);
}

sub type2name($) { $types{$_[0]} || $_[0] }
sub type2fs($) { $type2fs{$_[0]} }
sub fs2type($) { $fs2type{$_[0]} }
sub name2type($) { 
    local ($_) = @_;
    /0x(.*)/ ? hex $1 : $types_rev{$_} || $_;
}

sub isWholedisk($) { arch() =~ /^sparc/ && $_[0]{type} == 5 }
sub isExtended($) { arch() !~ /^sparc/ && ($_[0]{type} == 5 || $_[0]{type} == 0xf || $_[0]{type} == 0x85) }
sub isLVM($) { $_[0]{type} == 0x8e }
sub isRAID($) { $_[0]{type} == 0xfd }
sub isMDRAID { $_[0]{device} =~ /^md/ }
sub isLVMBased { $_[0]{LVMname} }
sub isSwap($) { $type2fs{$_[0]{type}} eq 'swap' }
sub isExt2($) { $type2fs{$_[0]{type}} eq 'ext2' }
sub isReiserfs($) { $type2fs{$_[0]{type}} eq 'reiserfs' }
sub isXfs($) { $type2fs{$_[0]{type}} eq 'xfs' }
sub isDos($) { arch() !~ /^sparc/ && $ {{ 1=>1, 4=>1, 6=>1 }}{$_[0]{type}} }
sub isWin($) { $ {{ 0xb=>1, 0xc=>1, 0xe=>1, 0x1b=>1, 0x1c=>1, 0x1e=>1 }}{$_[0]{type}} }
sub isFat($) { isDos($_[0]) || isWin($_[0]) }
sub isSunOS($) { arch() =~ /sparc/ && $ {{ 0x1=>1, 0x2=>1, 0x4=>1, 0x6=>1, 0x7=>1, 0x8=>1 }}{$_[0]{type}} }
sub isSolaris($) { 0; } #- hack to search for getting the difference ? TODO
sub isOtherAvailableFS($) { isFat($_[0]) || isSunOS($_[0]) || isHFS($_[0]) } #- other OS that linux can access its filesystem
sub isNfs($) { $_[0]{type} eq 'nfs' } #- small hack
sub isNT($) { arch() !~ /^sparc/ && $_[0]{type} == 0x7 }
sub isSupermount($) { $_[0]{type} eq 'supermount' }
sub isHFS($) { $type2fs{$_[0]{type}} eq 'hfs' }
sub isApple($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isDriver} }
sub isAppleBootstrap($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isBoot} }
sub isHiddenMacPart { defined $_[0]{isMap} }
sub isLoopback { defined $_[0]{loopback_file} }
sub isTrueFS { isExt2($_[0]) || isReiserfs($_[0]) || isXfs($_[0]) }
sub isMountableRW { isTrueFS($_[0]) || isOtherAvailableFS($_[0]) }
sub isNonMountable { isRAID($_[0]) || isLVM($_[0]) }

sub isPrimary($$) {
    my ($part, $hd) = @_;
    foreach (@{$hd->{primary}{raw}}) { $part eq $_ and return 1; }
    0;
}

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

    $hd->adjustStart($part);
    $hd->adjustEnd($part);
}

sub verifyNotOverlap($$) {
    my ($a, $b) = @_;
    $a->{start} + $a->{size} <= $b->{start} || $b->{start} + $b->{size} <= $a->{start};
}
sub verifyInside($$) {
    my ($a, $b) = @_;
    $b->{start} <= $a->{start} && $a->{start} + $a->{size} <= $b->{start} + $b->{size};
}

sub verifyParts_ {
    foreach my $i (@_) {
	foreach (@_) {
	    next if !$i || !$_ || $i == $_ || isWholedisk($i) || isExtended($i); #- avoid testing twice for simplicity :-)
	    if (isWholedisk($_)) {
		verifyInside($i, $_) or
		  cdie sprintf("partition sector #$i->{start} (%s) is not inside whole disk (%s)!",
			       formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
	    } elsif (isExtended($_)) {
		verifyNotOverlap($i, $_) or
		  log::l(sprintf("warning partition sector #$i->{start} (%s) is overlapping with extended partition!",
				 formatXiB($i->{size}, 512))); #- only warning for this one is acceptable
	    } else {
		verifyNotOverlap($i, $_) or
		  cdie sprintf("partitions sector #$i->{start} (%s) and sector #$_->{start} (%s) are overlapping!",
			       formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
	    }
	}
    }
}
sub verifyParts($) {
    my ($hd) = @_;
    verifyParts_(get_normal_parts($hd));
}
sub verifyPrimary($) {
    my ($pt) = @_;
    $_->{start} > 0 || arch() =~ /^sparc/ || die "partition must NOT start at sector 0" foreach @{$pt->{normal}};
    verifyParts_(@{$pt->{normal}}, $pt->{extended});
}

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

    my $i = 1;
    $_->{device} = $hd->{prefix} . $i++ foreach @{$hd->{primary}{raw}},
                                                map { $_->{normal} } @{$hd->{extended} || []};

    #- try to figure what the windobe drive letter could be!
    #
    #- first verify there's at least one primary dos partition, otherwise it
    #- means it is a secondary disk and all will be false :(
    my ($c, @others) = grep { isFat($_) } @{$hd->{primary}{normal}};

    $i = ord 'C';
    $c->{device_windobe} = chr($i++) if $c;
    $_->{device_windobe} = chr($i++) foreach grep { isFat($_) } map { $_->{normal} } @{$hd->{extended}};
    $_->{device_windobe} = chr($i++) foreach @others;
}

sub remove_empty_extended($) {
    my ($hd) = @_;
    my $last = $hd->{primary}{extended} or return;
    @{$hd->{extended}} = grep {
	if ($_->{normal}) {
	    $last = $_;
	} else {
	    %{$last->{extended}} = $_->{extended} ? %{$_->{extended}} : ();
	}
	$_->{normal};
    } @{$hd->{extended}};
    adjust_main_extended($hd);
}

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

    if (!is_empty_array_ref $hd->{extended}) {
	my ($l, @l) = @{$hd->{extended}};

	# the first is a special case, must recompute its real size
	my $start = round_down($l->{normal}{start} - 1, $hd->{geom}{sectors});
	my $end = $l->{normal}{start} + $l->{normal}{size};
	my $only_linux = 1; my $has_win_lba = 0;
	foreach (map $_->{normal}, $l, @l) {
	    $start = min($start, $_->{start});
	    $end = max($end, $_->{start} + $_->{size});
	    $only_linux &&= isTrueFS($_) || isSwap($_);
	    $has_win_lba ||= $_->{type} == 0xc || $_->{type} == 0xe;
	}
	$l->{start} = $hd->{primary}{extended}{start} = $start;
	$l->{size} = $hd->{primary}{extended}{size} = $end - $start;
	$hd->{primary}{extended}{type} = $only_linux ? 0x85 : $has_win_lba ? 0xf : 0x5 if !$::expert;
    }
    unless (@{$hd->{extended} || []} || !$hd->{primary}{extended}) {
	%{$hd->{primary}{extended}} = (); #- modify the raw entry
	delete $hd->{primary}{extended};
    }
    verifyParts($hd); #- verify everything is all right
}

sub adjust_local_extended($$) {
    my ($hd, $part) = @_;
    
    foreach (@{$hd->{extended} || []}) {
	$_->{normal} == $part or next;
	$_->{size} = $part->{size} + $part->{start} - $_->{start};
	last;
    }
}

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

    #- HACK !!
    $hd->{raid} and return grep {$_} @{$hd->{raid}};
    $hd->{loopback} and return grep {$_} @{$hd->{loopback}};

    @{$hd->{primary}{normal} || []}, map { $_->{normal} } @{$hd->{extended} || []}
}

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

    my $start = arch() eq "alpha" ? 2048 : 1;

    map {
	my $current = $start;
	$start = $_->{start} + $_->{size};
	{ start => $current, size => $_->{start} - $current }
    } sort { $a->{start} <=> $b->{start} } grep { !isWholedisk($_) } get_normal_parts($hd), { start => $hd->{totalsectors}, size => 0 };    
}


sub read_one($$) {
    my ($hd, $sector) = @_;
    my ($pt, $info);

    #- it can be safely considered that the first sector is used to probe the partition table
    #- but other sectors (typically for extended partition ones) have to match this type!
    if (!$sector) {
	my @parttype = arch() =~ /^sparc/ ? ('sun', 'bsd', 'unknown') : ('dos', 'bsd', 'sun', 'mac', 'unknown');
	foreach ('empty', @parttype) {
	    /unknown/ and die "unknown partition table format";
	    eval {
		require("partition_table_$_.pm");
		bless $hd, "partition_table_$_";
		($pt, $info) = $hd->read($sector);
		log::l("found a $_ partition table on $hd->{file} at sector $sector");
	    };
	    $@ or last;
	}
    } else {
	#- keep current blessed object for that, this means it is neccessary to read sector 0 before.
	($pt, $info) = $hd->read($sector);
    }

    my @extended = $hd->hasExtended ? grep { isExtended($_) } @$pt : ();
    my @normal = grep { $_->{size} && $_->{type} && !isExtended($_) } @$pt;

    @extended > 1 and die "more than one extended partition";

    $_->{rootDevice} = $hd->{device} foreach @normal, @extended;
    { raw => $pt, extended => $extended[0], normal => \@normal, info => $info };
}

sub read($;$) {
    my ($hd, $clearall) = @_;
    if ($clearall) {
	partition_table_raw::zero_MBR_and_dirty($hd);
	return 1;
    }
    my $pt = read_one($hd, 0) or return 0;
    $hd->{primary} = $pt;
    undef $hd->{extended};
    verifyPrimary($pt);
    eval {
	$pt->{extended} and read_extended($hd, $pt->{extended}) || return 0;
    }; die "extended partition: $@" if $@;

    assign_device_numbers($hd);
    remove_empty_extended($hd);
    1;
}

sub read_extended {
    my ($hd, $extended) = @_;

    my $pt = read_one($hd, $extended->{start}) or return 0;
    $pt = { %$extended, %$pt };

    push @{$hd->{extended}}, $pt;
    @{$hd->{extended}} > 100 and die "oops, seems like we're looping here :(  (or you have more than 100 extended partitions!)";

    @{$pt->{normal}} <= 1 or die "more than one normal partition in extended partition";
    @{$pt->{normal}} >= 1 or cdie "no normal partition in extended partition";
    $pt->{normal} = $pt->{normal}[0];
    #- in case of extended partitions, the start sector is local to the partition or to the first extended_part!
    $pt->{normal}{start} += $pt->{start};

    #- the following verification can broke an existing partition table that is
    #- correctly read by fdisk or cfdisk. maybe the extended partition can be
    #- recomputed to get correct size.
    if (!verifyInside($pt->{normal}, $extended)) {
	$extended->{size} = $pt->{normal}{start} + $pt->{normal}{size};
	verifyInside($pt->{normal}, $extended) or die "partition $pt->{normal}{device} is not inside its extended partition";
    }

    if ($pt->{extended}) {
	$pt->{extended}{start} += $hd->{primary}{extended}{start};
	read_extended($hd, $pt->{extended}) or return 0;
    }
    1;
}

# write the partition table
sub write($) {
    my ($hd) = @_;
    $hd->{isDirty} or return;

    #- set first primary partition active if no primary partitions are marked as active.
    for ($hd->{primary}{raw}) {
	(grep { $_->{local_start} = $_->{start}; $_->{active} ||= 0 } @$_) or $_->[0]{active} = 0x80;
    }

    #- last chance for verification, this make sure if an error is detected,
    #- it will never be writed back on partition table.
    verifyParts($hd);

    $hd->write(0, $hd->{primary}{raw}, $hd->{primary}{info}) or die "writing of partition table failed";

    #- should be fixed but a extended exist with no real extended partition, that blanks mbr!
    if (arch() !~ /^sparc/) {
	foreach (@{$hd->{extended}}) {
	    # in case of extended partitions, the start sector must be local to the partition
	    $_->{normal}{local_start} = $_->{normal}{start} - $_->{start};
	    $_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start};

	    $hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed";
	}
    }
    $hd->{isDirty} = 0;
    $hd->{hasBeenDirty} = 1; #- used in undo (to know if undo should believe isDirty or not)

    #- now sync disk and re-read the partition table
    if ($hd->{needKernelReread}) {
	sync();
	$hd->kernel_read;
	$hd->{needKernelReread} = 0;
    }
}

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

    $_->{active} = 0 foreach @{$hd->{primary}{normal}};
    $part->{active} = 0x80;
    $hd->{isDirty} = 1;
}


# remove a normal partition from hard drive hd
sub remove($$) {
    my ($hd, $part) = @_;
    my $i;

    #- first search it in the primary partitions
    $i = 0; foreach (@{$hd->{primary}{normal}}) {
	if ($_ eq $part) {
	    splice(@{$hd->{primary}{normal}}, $i, 1);
	    %$_ = (); #- blank it

	    return $hd->{isDirty} = $hd->{needKernelReread} = 1;
	}
	$i++;
    }

    my ($first, $second, $third) = map { $_->{normal} } @{$hd->{extended} || []};
    if ($third && $first eq $part) {
	die "Can't handle removing hda5 when hda6 is not the second partition" if $second->{start} > $third->{start};
    }      

    #- otherwise search it in extended partitions
    foreach (@{$hd->{extended} || []}) {
	$_->{normal} eq $part or next;

	delete $_->{normal}; #- remove it
	remove_empty_extended($hd);

	return $hd->{isDirty} = $hd->{needKernelReread} = 1;
    }
    0;
}

# create of partition at starting at `start', of size `size' and of type `type' (nice comment, uh?)
sub add_primary($$) {
    my ($hd, $part) = @_;

    {
	local $hd->{primary}{normal}; #- save it to fake an addition of $part, that way add_primary do not modify $hd if it fails
	push @{$hd->{primary}{normal}}, $part;
	adjust_main_extended($hd); #- verify
	raw_add($hd->{primary}{raw}, $part);
    }
    push @{$hd->{primary}{normal}}, $part; #- really do it
}

sub add_extended {
    arch() =~ /^sparc/ and die _("Extended partition not supported on this platform");

    my ($hd, $part, $extended_type) = @_;
    $extended_type =~ s/Extended_?//;

    my $e = $hd->{primary}{extended};

    if ($e && !verifyInside($part, $e)) {
	#-die "sorry, can't add outside the main extended partition" unless $::unsafe;
	my $end = $e->{start} + $e->{size};
	my $start = min($e->{start}, $part->{start});
	$end = max($end, $part->{start} + $part->{size}) - $start;

	{ #- faking a resizing of the main extended partition to test for problems
	    local $e->{start} = $start;
	    local $e->{size} = $end - $start;
	    eval { verifyPrimary($hd->{primary}) };
	    $@ and die
_("You have a hole in your partition table but I can't use it.
The only solution is to move your primary partitions to have the hole next to the extended partitions");
	}
    }

    if ($e && $part->{start} < $e->{start}) {
	my $l = first (@{$hd->{extended}});

	#- the first is a special case, must recompute its real size
	$l->{start} = round_down($l->{normal}{start} - 1, $hd->cylinder_size());
	$l->{size} = $l->{normal}{start} + $l->{normal}{size} - $l->{start};
	my $ext = { %$l };
	unshift @{$hd->{extended}}, { type => 5, raw => [ $part, $ext, {}, {} ], normal => $part, extended => $ext };
	#- size will be autocalculated :)
    } else {
	my ($ext, $ext_size) = is_empty_array_ref($hd->{extended}) ?
	  ($hd->{primary}, -1) : #- -1 size will be computed by adjust_main_extended
	  (top(@{$hd->{extended}}), $part->{size});
	my %ext = ( type => $extended_type || 5, start => $part->{start}, size => $ext_size );

	raw_add($ext->{raw}, \%ext);
	$ext->{extended} = \%ext;
	push @{$hd->{extended}}, { %ext, raw => [ $part, {}, {}, {} ], normal => $part };
    }
    $part->{start}++; $part->{size}--; #- let it start after the extended partition sector
    adjustStartAndEnd($hd, $part);

    adjust_main_extended($hd);
}

sub add($$;$$) {
    my ($hd, $part, $primaryOrExtended, $forceNoAdjust) = @_;

    get_normal_parts($hd) >= ($hd->{device} =~ /^rd/ ? 7 : $hd->{device} =~ /^(sd|ida|cciss)/ ? 15 : 63) and cdie "maximum number of partitions handled by linux reached";

    $part->{notFormatted} = 1;
    $part->{isFormatted} = 0;
    $part->{rootDevice} = $hd->{device};
    $hd->{isDirty} = $hd->{needKernelReread} = 1;
    $part->{start} ||= 1 if arch() !~ /^sparc/; #- starting at sector 0 is not allowed
    adjustStartAndEnd($hd, $part) unless $forceNoAdjust;

    my $e = $hd->{primary}{extended};
    my $nb_primaries = $hd->{device} =~ /^rd/ ? 3 : 1;

    if (arch() =~ /^sparc|ppc/ ||
	$primaryOrExtended eq 'Primary' ||
	$primaryOrExtended !~ /Extended/ && @{$hd->{primary}{normal} || []} < $nb_primaries) {
	eval { add_primary($hd, $part) };
	return unless $@;
    }
    eval { add_extended($hd, $part, $primaryOrExtended) } if $hd->hasExtended; #- try adding extended
    if ($@ || !$hd->hasExtended) {
	eval { add_primary($hd, $part) };
	die $@ if $@; #- send the add extended error which should be better
    }
}

# search for the next partition
sub next($$) {
    my ($hd, $part) = @_;

    first(
	  sort { $a->{start} <=> $b->{start} }
	  grep { $_->{start} >= $part->{start} + $part->{size} }
	  get_normal_parts($hd)
	 );
}
sub next_start($$) {
    my ($hd, $part) = @_;
    my $next = &next($hd, $part);
    $next ? $next->{start} : $hd->{totalsectors};
}

sub can_raw_add {
    my ($hd) = @_;
    $_->{size} || $_->{type} or return 1 foreach @{$hd->{primary}{raw}};
    0;
}
sub raw_add {
    my ($raw, $part) = @_;

    foreach (@$raw) {
	$_->{size} || $_->{type} and next;
	$_ = $part;
	return;
    }
    die "raw_add: partition table already full";
}

sub load($$;$) {
    my ($hd, $file, $force) = @_;

    local *F;
    open F, $file or die _("Error reading file %s", $file);

    my $h;
    {
	local $/ = "\0";
	eval <F>;
    }
    $@ and die _("Restoring from file %s failed: %s", $file, $@);

    ref $h eq 'ARRAY' or die _("Bad backup file");

    my %h; @h{@fields2save} = @$h;

    $h{totalsectors} == $hd->{totalsectors} or $force or cdie "bad totalsectors";

    #- unsure we don't modify totalsectors
    local $hd->{totalsectors};

    @{$hd}{@fields2save} = @$h;

    delete @$_{qw(isMounted isFormatted notFormatted toFormat toFormatUnsure)} foreach get_normal_parts($hd);
    $hd->{isDirty} = $hd->{needKernelReread} = 1;
}

sub save($$) {
    my ($hd, $file) = @_;
    my @h = @{$hd}{@fields2save};
    local *F;
    require Data::Dumper;
    open F, ">$file"
      and print F Data::Dumper->Dump([\@h], ['$h']), "\0"
      or die _("Error writing to file %s", $file);
}
Add a medium limit" msgstr "Додати обмеження джерел" #: ../Rpmdrake/edit_urpm_sources.pm:618 #, c-format msgid "Choose a medium for adding in the media limit:" msgstr "Виберіть джерело, щоб додати в перелік джерел" #: ../Rpmdrake/edit_urpm_sources.pm:655 #, c-format msgid "Add a host" msgstr "Додати машину" #: ../Rpmdrake/edit_urpm_sources.pm:662 #, c-format msgid "Type in the hostname or IP address of the host to add:" msgstr "Введіть назву або IP-адресу машини, щоб додати:" #: ../Rpmdrake/edit_urpm_sources.pm:693 #, c-format msgid "Editing parallel group \"%s\":" msgstr "Редагування паралельної групи \"%s\":" #: ../Rpmdrake/edit_urpm_sources.pm:697 #, c-format msgid "Group name:" msgstr "Назва групи:" #: ../Rpmdrake/edit_urpm_sources.pm:698 #, c-format msgid "Protocol:" msgstr "Протокол:" #: ../Rpmdrake/edit_urpm_sources.pm:700 #, c-format msgid "Media limit:" msgstr "Обмеження джерел:" #: ../Rpmdrake/edit_urpm_sources.pm:705 ../Rpmdrake/edit_urpm_sources.pm:712 #: ../Rpmdrake/edit_urpm_sources.pm:910 #, c-format msgid "Add" msgstr "Додати" #: ../Rpmdrake/edit_urpm_sources.pm:706 ../Rpmdrake/edit_urpm_sources.pm:713 #: ../Rpmdrake/edit_urpm_sources.pm:772 ../Rpmdrake/edit_urpm_sources.pm:914 #: ../Rpmdrake/edit_urpm_sources.pm:1047 #, c-format msgid "Remove" msgstr "Вилучити" #: ../Rpmdrake/edit_urpm_sources.pm:707 #, c-format msgid "Hosts:" msgstr "Машини:" #: ../Rpmdrake/edit_urpm_sources.pm:741 #, c-format msgid "Configure parallel urpmi (distributed execution of urpmi)" msgstr "Налаштувати паралельний urpmi (розподілене виконання urpmi)" #: ../Rpmdrake/edit_urpm_sources.pm:745 #, c-format msgid "Group" msgstr "Група" #: ../Rpmdrake/edit_urpm_sources.pm:745 #, c-format msgid "Protocol" msgstr "Протокол" #: ../Rpmdrake/edit_urpm_sources.pm:745 #, c-format msgid "Media limit" msgstr "Обмеження джерел" #: ../Rpmdrake/edit_urpm_sources.pm:746 #, c-format msgid "Command" msgstr "Команда" #: ../Rpmdrake/edit_urpm_sources.pm:756 ../Rpmdrake/gui.pm:674 #: ../Rpmdrake/pkg.pm:97 ../Rpmdrake/pkg.pm:127 ../Rpmdrake/pkg.pm:166 #: ../Rpmdrake/rpmnew.pm:77 #, c-format msgid "(none)" msgstr "(нічого)" #: ../Rpmdrake/edit_urpm_sources.pm:776 ../Rpmdrake/edit_urpm_sources.pm:1051 #, c-format msgid "Edit..." msgstr "Редагувати" #: ../Rpmdrake/edit_urpm_sources.pm:784 ../Rpmdrake/edit_urpm_sources.pm:1057 #, c-format msgid "Add..." msgstr "Додати..." #: ../Rpmdrake/edit_urpm_sources.pm:800 #, c-format msgid "Manage keys for digital signatures of packages" msgstr "Керування ключами для цифрових підписів пакунків" #: ../Rpmdrake/edit_urpm_sources.pm:806 ../Rpmdrake/edit_urpm_sources.pm:979 #, c-format msgid "Medium" msgstr "Джерело" #: ../Rpmdrake/edit_urpm_sources.pm:813 #, c-format msgid "" "_:cryptographic keys\n" "Keys" msgstr "Ключі" #: ../Rpmdrake/edit_urpm_sources.pm:837 #, c-format msgid "no name found, key doesn't exist in rpm keyring!" msgstr "назви не знайдено, ключа немає в схованці rpm!" #: ../Rpmdrake/edit_urpm_sources.pm:850 #, c-format msgid "Add a key" msgstr "Додати ключ" #: ../Rpmdrake/edit_urpm_sources.pm:863 #, c-format msgid "Choose a key for adding to the medium %s" msgstr "Виберіть ключ, щоб додавати в джерело %s" #: ../Rpmdrake/edit_urpm_sources.pm:869 #, c-format msgid "Close" msgstr "Закрити" #: ../Rpmdrake/edit_urpm_sources.pm:891 #, c-format msgid "Remove a key" msgstr "Видалити ключ" #: ../Rpmdrake/edit_urpm_sources.pm:892 #, c-format msgid "" "Are you sure you want to remove the key %s from medium %s?\n" "(name of the key: %s)" msgstr "" "Ви впевнені, що хочете видалити ключ %s з джерела %s?\n" "(назва ключа: %s)" #: ../Rpmdrake/edit_urpm_sources.pm:931 #, c-format msgid "Configure media" msgstr "Сконфігурувати джерело" #: ../Rpmdrake/edit_urpm_sources.pm:977 #, c-format msgid "Enabled" msgstr "Доступний" #: ../Rpmdrake/edit_urpm_sources.pm:978 #, c-format msgid "Updates" msgstr "Поновлення" #: ../Rpmdrake/edit_urpm_sources.pm:994 #, c-format msgid "This medium needs to be updated to be usable. Update it now ?" msgstr "Цей носій потрібно поновити. Зробити це зараз?" #: ../Rpmdrake/edit_urpm_sources.pm:1026 #, c-format msgid "" "Unable to update medium, errors reported:\n" "\n" "%s" msgstr "" "Неможливо поновити носія, отримано звіт про помилку:\n" "\n" "%s" #: ../Rpmdrake/edit_urpm_sources.pm:1061 #, c-format msgid "Add custom..." msgstr "Додати вказаний..." #: ../Rpmdrake/edit_urpm_sources.pm:1065 #, c-format msgid "Update..." msgstr "Поновити..." #: ../Rpmdrake/edit_urpm_sources.pm:1068 #, c-format msgid "Manage keys..." msgstr "Керування ключами..." #: ../Rpmdrake/edit_urpm_sources.pm:1070 #, c-format msgid "Parallel..." msgstr "Паралельний..." #: ../Rpmdrake/edit_urpm_sources.pm:1071 #, c-format msgid "Global options..." msgstr "Загальні налаштування..." #: ../Rpmdrake/edit_urpm_sources.pm:1097 ../Rpmdrake/init.pm:132 #: ../gurpmi.addmedia:93 #, c-format msgid "" "%s\n" "\n" "Is it ok to continue?" msgstr "" "%s\n" "\n" "Все гаразд? Продовжувати?" #: ../Rpmdrake/edit_urpm_sources.pm:1100 #, c-format msgid "" "Welcome to the Software Media Manager!\n" "\n" "This tool will help you configure the packages media you wish to use on\n" "your computer. They will then be available to install new software package\n" "or to perform updates." msgstr "" "Ласкаво просимо до редактора джерел пакунків!\n" "\n" "Цей інструмент допоможе Вам налаштувати джерела пакунків, які Ви \n" "хочете використовувати на Вашому комп'ютері. Вони стануть \n" "доступними для встановлення нових пакунків з програмами\n" "або для здійснення поновлень." #: ../Rpmdrake/edit_urpm_sources.pm:1116 #, c-format msgid "" "Packages database is locked. Please close other applications\n" "working with packages database (do you have another media\n" "manager on another desktop, or are you currently installing\n" "packages as well?)." msgstr "" "База даних пакунків заблокована. Будь ласка, закрийте інші програми,\n" "які з нею працюють (можливо, виконується інший менеджер носіїв на\n" "іншій стільниці, або Ви в даний момент встановлюєте пакунки)." #: ../Rpmdrake/gui.pm:81 ../Rpmdrake/gui.pm:155 #, c-format msgid "Importance: " msgstr "Важливість: " #: ../Rpmdrake/gui.pm:82 ../Rpmdrake/gui.pm:163 #, c-format msgid "Reason for update: " msgstr "Причина поновлення: " #: ../Rpmdrake/gui.pm:86 #, fuzzy, c-format msgid "Security advisory" msgstr "Поновлення безпеки" #: ../Rpmdrake/gui.pm:94 ../Rpmdrake/gui.pm:165 #, c-format msgid "No description" msgstr "Немає опису" #: ../Rpmdrake/gui.pm:97 #, c-format msgid "Details:" msgstr "" #: ../Rpmdrake/gui.pm:100 ../Rpmdrake/gui.pm:150 #, c-format msgid "Version: " msgstr "Версія: " #: ../Rpmdrake/gui.pm:103 ../Rpmdrake/gui.pm:145 #, c-format msgid "Currently installed version: " msgstr "Встановлена версія: " #: ../Rpmdrake/gui.pm:106 ../Rpmdrake/gui.pm:151 #, c-format msgid "Architecture: " msgstr "Архітектура: " #: ../Rpmdrake/gui.pm:107 ../Rpmdrake/gui.pm:152 #, c-format msgid "Size: " msgstr "Розмір: " #: ../Rpmdrake/gui.pm:107 ../Rpmdrake/gui.pm:152 #, c-format msgid "%s KB" msgstr "%s кб" #: ../Rpmdrake/gui.pm:108 ../Rpmdrake/gui.pm:144 ../rpmdrake.pm:826 #, c-format msgid "Medium: " msgstr "Джерело:" #: ../Rpmdrake/gui.pm:114 #, c-format msgid "Files:" msgstr "Файли:" #: ../Rpmdrake/gui.pm:118 ../Rpmdrake/gui.pm:123 ../Rpmdrake/gui.pm:137 #: ../Rpmdrake/gui.pm:139 ../Rpmdrake/pkg.pm:133 #, c-format msgid "(Not available)" msgstr "(Недоступне)" #: ../Rpmdrake/gui.pm:122 #, c-format msgid "Changelog:" msgstr "Перелік змін:" #: ../Rpmdrake/gui.pm:134 #, c-format msgid "Files:\n" msgstr "Файли:\n" #: ../Rpmdrake/gui.pm:139 #, c-format msgid "Changelog:\n" msgstr "Перелік змін:\n" #: ../Rpmdrake/gui.pm:149 #, c-format msgid "Name: " msgstr "Назва: " #: ../Rpmdrake/gui.pm:159 #, c-format msgid "Summary: " msgstr "Підсумок: " #: ../Rpmdrake/gui.pm:165 #, c-format msgid "Description: " msgstr "Опис: " #: ../Rpmdrake/gui.pm:433 ../Rpmdrake/gui.pm:461 ../Rpmdrake/gui.pm:463 #, c-format msgid "More information on package..." msgstr "Більше інформації про пакунок..." #: ../Rpmdrake/gui.pm:435 #, c-format msgid "Please choose" msgstr "Будь ласка, виберіть" #: ../Rpmdrake/gui.pm:436 #, fuzzy, c-format msgid "The following package is needed:" msgstr "Потрібний один з наступних пакунків:" #: ../Rpmdrake/gui.pm:436 #, c-format msgid "One of the following packages is needed:" msgstr "Потрібен один із наступних пакунків:" #. -PO: Keep it short, this is gonna be on a button #: ../Rpmdrake/gui.pm:449 ../Rpmdrake/gui.pm:454 #, c-format msgid "More info" msgstr "Більше інформації" #: ../Rpmdrake/gui.pm:456 #, c-format msgid "Information on packages" msgstr "Інформація про пакунки" #: ../Rpmdrake/gui.pm:489 #, c-format msgid "Some additional packages need to be removed" msgstr "Потрібно додатково вилучити деякі пакунки" #: ../Rpmdrake/gui.pm:490 #, c-format msgid "" "Because of their dependencies, the following package(s) also need to be\n" "removed:" msgstr "" "В зв'язку з необхідністю задоволення всіх залежностей наступні пакунки " "будуть вилучені:" #: ../Rpmdrake/gui.pm:496 ../Rpmdrake/gui.pm:505 #, c-format msgid "Some packages can't be removed" msgstr "Деякі пакунки неможливо вилучити" #: ../Rpmdrake/gui.pm:497 #, c-format msgid "" "Removing these packages would break your system, sorry:\n" "\n" msgstr "" "Вибачте, але вилучення цих пакунків порушить роботу Вашої системи:\n" "\n" #: ../Rpmdrake/gui.pm:506 ../Rpmdrake/gui.pm:573 #, c-format msgid "" "Because of their dependencies, the following package(s) must be\n" "unselected now:\n" "\n" msgstr "" "Через вимоги залежності вибір наступних пакунків повинен бути\n" "скасований:\n" "\n" #: ../Rpmdrake/gui.pm:535 #, c-format msgid "Additional packages needed" msgstr "Потрібні додаткові пакунки" #: ../Rpmdrake/gui.pm:536 #, c-format msgid "" "To satisfy dependencies, the following package(s) also need\n" "to be installed:\n" "\n" msgstr "" "Для забезпечення залежностей Ви також повинні встановити\n" "наступні пакунки:\n" "\n" #: ../Rpmdrake/gui.pm:550 #, c-format msgid "%s (belongs to the skip list)" msgstr "%s (відноситься до списку пропущеного)" #: ../Rpmdrake/gui.pm:554 #, fuzzy, c-format msgid "One package cannot be installed" msgstr "Деякі пакунки не можуть бути встановлені" #: ../Rpmdrake/gui.pm:554 #, c-format msgid "Some packages can't be installed" msgstr "Деякі пакунки не можуть бути встановлені" #: ../Rpmdrake/gui.pm:556 #, fuzzy, c-format msgid "" "Sorry, the following package cannot be selected:\n" "\n" "%s" msgstr "" "Вибачте, наступні пакунки не можуть бути вибрані:\n" "\n" "%s" #: ../Rpmdrake/gui.pm:557 #, fuzzy, c-format msgid "" "Sorry, the following packages can't be selected:\n" "\n" "%s" msgstr "" "Вибачте, наступні пакунки не можуть бути вибрані:\n" "\n" "%s" #: ../Rpmdrake/gui.pm:572 ../Rpmdrake/pkg.pm:513 #, c-format msgid "Some packages need to be removed" msgstr "Деякі пакунки повинні бути видалені" #: ../Rpmdrake/gui.pm:603 #, c-format msgid "Error: %s appears to be mounted read-only." msgstr "Помилка: схоже, %s змонтовано в режимі тільки читання." #: ../Rpmdrake/gui.pm:607 #, c-format msgid "You need to select some packages first." msgstr "Спочатку Вам необхідно вибрати якісь пакунки." #: ../Rpmdrake/gui.pm:612 #, c-format msgid "Too many packages are selected" msgstr "Вибрано занадто багато пакунків" #: ../Rpmdrake/gui.pm:613 #, c-format msgid "" "Warning: it seems that you are attempting to add so much\n" "packages that your filesystem may run out of free diskspace,\n" "during or after package installation ; this is particularly\n" "dangerous and should be considered with care.\n" "\n" "Do you really want to install all the selected packages?" msgstr "" "Попередження: схоже, що Ви хочете додати занадто багато пакунків,\n" "через що Вашій файловій системі не вистачить вільного місця\n" "під час або після встановлення пакунків; це дуже небезпечно,\n" "і Ви повинні це врахувати.\n" "\n" "Ви дійсно хочете встановити всі вибрані пакунки?" #: ../Rpmdrake/gui.pm:639 ../Rpmdrake/pkg.pm:235 #, c-format msgid "Fatal error" msgstr "Невиправна помилка" #: ../Rpmdrake/gui.pm:640 ../Rpmdrake/pkg.pm:236 #, c-format msgid "A fatal error occurred: %s." msgstr "Сталася невиправна помилка: %s" #: ../Rpmdrake/gui.pm:658 #, c-format msgid "Please wait, listing packages..." msgstr "Зачекайте, будь ласка, створюю перелік пакунків..." #: ../Rpmdrake/gui.pm:676 #, c-format msgid "No update" msgstr "Немає поновлень" #: ../Rpmdrake/gui.pm:700 ../rpmdrake:241 #, c-format msgid "All" msgstr "Всі" #: ../Rpmdrake/gui.pm:709 ../rpmdrake:142 #, c-format msgid "Upgradable" msgstr "Можливо поновити" #: ../Rpmdrake/gui.pm:709 ../rpmdrake:142 #, c-format msgid "Addable" msgstr "Можливо додати" #: ../Rpmdrake/gui.pm:729 #, c-format msgid "Description not available for this package\n" msgstr "Немає опису цього пакунку\n" #: ../Rpmdrake/icon.pm:35 #, c-format msgid "Accessibility" msgstr "Доступність" #: ../Rpmdrake/icon.pm:36 ../Rpmdrake/icon.pm:37 ../Rpmdrake/icon.pm:38 #: ../Rpmdrake/icon.pm:39 ../Rpmdrake/icon.pm:40 #, c-format msgid "Archiving" msgstr "Архівування" #: ../Rpmdrake/icon.pm:37 #, c-format msgid "Backup" msgstr "Резервування" #: ../Rpmdrake/icon.pm:38 #, c-format msgid "Cd burning" msgstr "Записування КД" #: ../Rpmdrake/icon.pm:39 #, c-format msgid "Compression" msgstr "Стиснення" #: ../Rpmdrake/icon.pm:40 ../Rpmdrake/icon.pm:46 ../Rpmdrake/icon.pm:60 #: ../Rpmdrake/icon.pm:73 ../Rpmdrake/icon.pm:91 ../Rpmdrake/icon.pm:112 #: ../Rpmdrake/icon.pm:125 ../Rpmdrake/icon.pm:135 ../Rpmdrake/pkg.pm:74 #, c-format msgid "Other" msgstr "Інше" #: ../Rpmdrake/icon.pm:41 ../Rpmdrake/icon.pm:42 ../Rpmdrake/icon.pm:43 #: ../Rpmdrake/icon.pm:44 ../Rpmdrake/icon.pm:45 ../Rpmdrake/icon.pm:46 #, c-format msgid "Books" msgstr "Книжки" #: ../Rpmdrake/icon.pm:42 #, c-format msgid "Computer books" msgstr "Книжки про комп'ютери" #: ../Rpmdrake/icon.pm:43 #, c-format msgid "Faqs" msgstr "Часті питання" #: ../Rpmdrake/icon.pm:44 #, c-format msgid "Howtos" msgstr "Як зробити" #: ../Rpmdrake/icon.pm:45 #, c-format msgid "Literature" msgstr "Література" #: ../Rpmdrake/icon.pm:47 ../Rpmdrake/icon.pm:48 ../Rpmdrake/icon.pm:49 #, c-format msgid "Cluster" msgstr "Кластер" #: ../Rpmdrake/icon.pm:48 #, c-format msgid "Message Passing" msgstr "Проходження повідомлення" #: ../Rpmdrake/icon.pm:49 #, c-format msgid "Queueing Services" msgstr "Послуги низок" #: ../Rpmdrake/icon.pm:50 #, c-format msgid "Communications" msgstr "Засоби зв'язку" #: ../Rpmdrake/icon.pm:51 ../Rpmdrake/icon.pm:55 #, c-format msgid "Databases" msgstr "Бази даних" #: ../Rpmdrake/icon.pm:52 ../Rpmdrake/icon.pm:53 ../Rpmdrake/icon.pm:54 #: ../Rpmdrake/icon.pm:55 ../Rpmdrake/icon.pm:56 ../Rpmdrake/icon.pm:57 #: ../Rpmdrake/icon.pm:58 ../Rpmdrake/icon.pm:59 ../Rpmdrake/icon.pm:60 #: ../Rpmdrake/icon.pm:61 ../Rpmdrake/icon.pm:62 ../Rpmdrake/icon.pm:63 #: ../Rpmdrake/icon.pm:174 ../Rpmdrake/icon.pm:175 ../Rpmdrake/icon.pm:176 #, c-format msgid "Development" msgstr "Розробка" #: ../Rpmdrake/icon.pm:53 #, c-format msgid "C" msgstr "Сі" #: ../Rpmdrake/icon.pm:54 #, c-format msgid "C++" msgstr "Сі++" #: ../Rpmdrake/icon.pm:56 #, c-format msgid "GNOME and GTK+" msgstr "Гноме і GTK+" #: ../Rpmdrake/icon.pm:57 #, c-format msgid "Java" msgstr "Ява" #: ../Rpmdrake/icon.pm:58 #, c-format msgid "KDE and Qt" msgstr "KDE і Qt" #: ../Rpmdrake/icon.pm:59 #, c-format msgid "Kernel" msgstr "Ядро" #: ../Rpmdrake/icon.pm:61 #, c-format msgid "Perl" msgstr "Перл" #: ../Rpmdrake/icon.pm:62 #, c-format msgid "PHP" msgstr "" #: ../Rpmdrake/icon.pm:63 #, c-format msgid "Python" msgstr "Пітон" #: ../Rpmdrake/icon.pm:64 #, c-format msgid "Editors" msgstr "Редактори" #: ../Rpmdrake/icon.pm:65 #, c-format msgid "Education" msgstr "Освіта" #: ../Rpmdrake/icon.pm:66 #, c-format msgid "Emulators" msgstr "Емулятори" #: ../Rpmdrake/icon.pm:67 #, c-format msgid "File tools" msgstr "Файлові інструменти" #: ../Rpmdrake/icon.pm:68 ../Rpmdrake/icon.pm:69 ../Rpmdrake/icon.pm:70 #: ../Rpmdrake/icon.pm:71 ../Rpmdrake/icon.pm:72 ../Rpmdrake/icon.pm:73 #: ../Rpmdrake/icon.pm:74 ../Rpmdrake/icon.pm:75 ../Rpmdrake/icon.pm:76 #, c-format msgid "Games" msgstr "Забавки" #: ../Rpmdrake/icon.pm:69 #, c-format msgid "Adventure" msgstr "Пригоди" #: ../Rpmdrake/icon.pm:70 #, c-format msgid "Arcade" msgstr "Аркади" #: ../Rpmdrake/icon.pm:71 #, c-format msgid "Boards" msgstr "На дошці" #: ../Rpmdrake/icon.pm:72 #, c-format msgid "Cards" msgstr "Карти" #: ../Rpmdrake/icon.pm:74 #, c-format msgid "Puzzles" msgstr "Головоломки" #: ../Rpmdrake/icon.pm:75 #, c-format msgid "Sports" msgstr "Спорт" #: ../Rpmdrake/icon.pm:76 #, c-format msgid "Strategy" msgstr "Стратегії" #: ../Rpmdrake/icon.pm:77 ../Rpmdrake/icon.pm:78 ../Rpmdrake/icon.pm:81 #: ../Rpmdrake/icon.pm:82 ../Rpmdrake/icon.pm:85 ../Rpmdrake/icon.pm:88 #: ../Rpmdrake/icon.pm:91 ../Rpmdrake/icon.pm:92 ../Rpmdrake/icon.pm:95 #: ../Rpmdrake/icon.pm:98 #, c-format msgid "Graphical desktop" msgstr "Графічна стільниця" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:80 #, c-format msgid "Enlightenment" msgstr "Enlightenment" #: ../Rpmdrake/icon.pm:81 #, c-format msgid "FVWM based" msgstr "Оснований на FVWM" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:84 #, c-format msgid "GNOME" msgstr "GNOME" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:87 #, c-format msgid "Icewm" msgstr "Icewm" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:90 #, c-format msgid "KDE" msgstr "KDE" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:94 #, c-format msgid "Sawfish" msgstr "Sawfish" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:97 #, c-format msgid "WindowMaker" msgstr "WindowMaker" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:100 #, c-format msgid "Xfce" msgstr "" #: ../Rpmdrake/icon.pm:101 #, c-format msgid "Graphics" msgstr "Графіка" #: ../Rpmdrake/icon.pm:102 #, c-format msgid "Monitoring" msgstr "Контроль" #: ../Rpmdrake/icon.pm:103 ../Rpmdrake/icon.pm:104 #, c-format msgid "Multimedia" msgstr "Мультимедія" #: ../Rpmdrake/icon.pm:104 ../Rpmdrake/icon.pm:155 #, c-format msgid "Video" msgstr "Відео" #: ../Rpmdrake/icon.pm:105 ../Rpmdrake/icon.pm:106 ../Rpmdrake/icon.pm:107 #: ../Rpmdrake/icon.pm:108 ../Rpmdrake/icon.pm:109 ../Rpmdrake/icon.pm:110 #: ../Rpmdrake/icon.pm:111 ../Rpmdrake/icon.pm:112 ../Rpmdrake/icon.pm:113 #: ../Rpmdrake/icon.pm:114 ../Rpmdrake/icon.pm:134 #, c-format msgid "Networking" msgstr "Робота в мережі" #: ../Rpmdrake/icon.pm:106 #, c-format msgid "Chat" msgstr "Балачка" #: ../Rpmdrake/icon.pm:107 #, c-format msgid "File transfer" msgstr "Переміщення файлів" #: ../Rpmdrake/icon.pm:108 #, c-format msgid "IRC" msgstr "IRC" #: ../Rpmdrake/icon.pm:109 #, c-format msgid "Instant messaging" msgstr "Прямі повідомлення" #: ../Rpmdrake/icon.pm:110 ../Rpmdrake/icon.pm:181 #, c-format msgid "Mail" msgstr "Пошта" #: ../Rpmdrake/icon.pm:111 #, c-format msgid "News" msgstr "Новини" #: ../Rpmdrake/icon.pm:113 #, c-format msgid "Remote access" msgstr "Віддалений доступ" #: ../Rpmdrake/icon.pm:114 #, c-format msgid "WWW" msgstr "WWW" #: ../Rpmdrake/icon.pm:115 #, c-format msgid "Office" msgstr "Офіс" #: ../Rpmdrake/icon.pm:116 #, c-format msgid "Public Keys" msgstr "Загальні ключі" #: ../Rpmdrake/icon.pm:117 #, c-format msgid "Publishing" msgstr "Видавництво" #: ../Rpmdrake/icon.pm:118 ../Rpmdrake/icon.pm:119 ../Rpmdrake/icon.pm:120 #: ../Rpmdrake/icon.pm:121 ../Rpmdrake/icon.pm:122 ../Rpmdrake/icon.pm:123 #: ../Rpmdrake/icon.pm:124 ../Rpmdrake/icon.pm:125 ../Rpmdrake/icon.pm:126 #, c-format msgid "Sciences" msgstr "Науки" #: ../Rpmdrake/icon.pm:119 #, c-format msgid "Astronomy" msgstr "Астрономія" #: ../Rpmdrake/icon.pm:120 #, c-format msgid "Biology" msgstr "Біологія" #: ../Rpmdrake/icon.pm:121 #, c-format msgid "Chemistry" msgstr "Хімія" #: ../Rpmdrake/icon.pm:122 #, c-format msgid "Computer science" msgstr "Наука про комп'ютер" #: ../Rpmdrake/icon.pm:123 #, c-format msgid "Geosciences" msgstr "Науки про Землю" #: ../Rpmdrake/icon.pm:124 #, c-format msgid "Mathematics" msgstr "Математика" #: ../Rpmdrake/icon.pm:126 #, c-format msgid "Physics" msgstr "Фізика" #: ../Rpmdrake/icon.pm:127 #, c-format msgid "Shells" msgstr "Командні оболонки" #: ../Rpmdrake/icon.pm:128 #, c-format msgid "Sound" msgstr "Звук" #: ../Rpmdrake/icon.pm:129 ../Rpmdrake/icon.pm:130 ../Rpmdrake/icon.pm:131 #: ../Rpmdrake/icon.pm:132 ../Rpmdrake/icon.pm:133 ../Rpmdrake/icon.pm:134 #: ../Rpmdrake/icon.pm:135 ../Rpmdrake/icon.pm:136 ../Rpmdrake/icon.pm:137 #: ../Rpmdrake/icon.pm:138 ../Rpmdrake/icon.pm:139 ../Rpmdrake/icon.pm:140 #: ../Rpmdrake/icon.pm:141 ../Rpmdrake/icon.pm:142 ../Rpmdrake/icon.pm:143 #: ../Rpmdrake/icon.pm:144 ../Rpmdrake/icon.pm:145 ../Rpmdrake/icon.pm:146 #: ../Rpmdrake/icon.pm:147 ../Rpmdrake/icon.pm:148 ../Rpmdrake/icon.pm:149 #, c-format msgid "System" msgstr "Система" #: ../Rpmdrake/icon.pm:130 #, c-format msgid "Base" msgstr "Основа" #: ../Rpmdrake/icon.pm:131 ../Rpmdrake/icon.pm:132 ../Rpmdrake/icon.pm:133 #: ../Rpmdrake/icon.pm:134 ../Rpmdrake/icon.pm:135 ../Rpmdrake/icon.pm:136 #: ../Rpmdrake/icon.pm:137 ../Rpmdrake/icon.pm:159 #, c-format msgid "Configuration" msgstr "Конфігурація" #: ../Rpmdrake/icon.pm:132 #, c-format msgid "Boot and Init" msgstr "Завантаження та ініціалізація" #: ../Rpmdrake/icon.pm:133 #, c-format msgid "Hardware" msgstr "Залізо" #: ../Rpmdrake/icon.pm:136 #, c-format msgid "Packaging" msgstr "Створення пакунків" #: ../Rpmdrake/icon.pm:137 #, c-format msgid "Printing" msgstr "Друкування" #: ../Rpmdrake/icon.pm:138 #, c-format msgid "Deploiement" msgstr "Розгортання" #: ../Rpmdrake/icon.pm:139 #, c-format msgid "Deployment" msgstr "Розгортання" #: ../Rpmdrake/icon.pm:140 ../Rpmdrake/icon.pm:141 ../Rpmdrake/icon.pm:142 #: ../Rpmdrake/icon.pm:143 ../Rpmdrake/icon.pm:144 #, c-format msgid "Fonts" msgstr "Шрифти" #: ../Rpmdrake/icon.pm:141 #, c-format msgid "Console" msgstr "Консоль" #: ../Rpmdrake/icon.pm:142 #, c-format msgid "True type" msgstr "True type" #: ../Rpmdrake/icon.pm:143 #, c-format msgid "Type1" msgstr "Type1" #: ../Rpmdrake/icon.pm:144 #, c-format msgid "X11 bitmap" msgstr "Матриця X11" #: ../Rpmdrake/icon.pm:145 #, c-format msgid "Internationalization" msgstr "Інтернаціоналізація" #: ../Rpmdrake/icon.pm:146 #, c-format msgid "Kernel and hardware" msgstr "Ядро і залізо" #: ../Rpmdrake/icon.pm:147 #, c-format msgid "Libraries" msgstr "Бібліотеки" #: ../Rpmdrake/icon.pm:148 #, c-format msgid "Servers" msgstr "Сервери" #. -PO: This is a package/product name. Only translate it if needed: #: ../Rpmdrake/icon.pm:151 #, c-format msgid "X11" msgstr "" #: ../Rpmdrake/icon.pm:152 #, c-format msgid "Terminals" msgstr "Термінали" #: ../Rpmdrake/icon.pm:153 #, c-format msgid "Text tools" msgstr "Інструменти для текстів" #: ../Rpmdrake/icon.pm:154 #, c-format msgid "Toys" msgstr "Іграшки" #: ../Rpmdrake/icon.pm:158 ../Rpmdrake/icon.pm:159 ../Rpmdrake/icon.pm:160 #: ../Rpmdrake/icon.pm:161 ../Rpmdrake/icon.pm:162 ../Rpmdrake/icon.pm:163 #: ../Rpmdrake/icon.pm:164 ../Rpmdrake/icon.pm:165 ../Rpmdrake/icon.pm:166 #: ../Rpmdrake/icon.pm:167 #, c-format msgid "Workstation" msgstr "Робоча станція" #: ../Rpmdrake/icon.pm:160 #, c-format msgid "Console Tools" msgstr "Засоби для консолі" #: ../Rpmdrake/icon.pm:161 ../Rpmdrake/icon.pm:176 #, c-format msgid "Documentation" msgstr "Документація" #: ../Rpmdrake/icon.pm:162 #, c-format msgid "Game station" msgstr "Ігрова станція" #: ../Rpmdrake/icon.pm:163 #, c-format msgid "Internet station" msgstr "Станція для Інтернету" #: ../Rpmdrake/icon.pm:164 #, c-format msgid "Multimedia station" msgstr "Мультимедійна станція" #: ../Rpmdrake/icon.pm:165 #, c-format msgid "Network Computer (client)" msgstr "Мережевий Комп'ютер (клієнт)" #: ../Rpmdrake/icon.pm:166 #, c-format msgid "Office Workstation" msgstr "Офісна робоча станція" #: ../Rpmdrake/icon.pm:167 #, c-format msgid "Scientific Workstation" msgstr "" #: ../Rpmdrake/icon.pm:168 ../Rpmdrake/icon.pm:170 ../Rpmdrake/icon.pm:171 #: ../Rpmdrake/icon.pm:172 ../Rpmdrake/icon.pm:173 #, c-format msgid "Graphical Environment" msgstr "Графічне середовище" #: ../Rpmdrake/icon.pm:170 #, c-format msgid "GNOME Workstation" msgstr "Робоча станція Gnome" #: ../Rpmdrake/icon.pm:171 #, fuzzy, c-format msgid "IceWm Desktop" msgstr "Стільниця Plucker" #: ../Rpmdrake/icon.pm:172 #, c-format msgid "KDE Workstation" msgstr "Робоча станція KDE" #: ../Rpmdrake/icon.pm:173 #, c-format msgid "Other Graphical Desktops" msgstr "Інші робочі середовища" #: ../Rpmdrake/icon.pm:177 ../Rpmdrake/icon.pm:178 ../Rpmdrake/icon.pm:179 #: ../Rpmdrake/icon.pm:180 ../Rpmdrake/icon.pm:181 ../Rpmdrake/icon.pm:182 #: ../Rpmdrake/icon.pm:183 ../Rpmdrake/icon.pm:184 #, c-format msgid "Server" msgstr "Сервер" #: ../Rpmdrake/icon.pm:178 #, c-format msgid "DNS/NIS" msgstr "DNS/NIS" #: ../Rpmdrake/icon.pm:179 #, c-format msgid "Database" msgstr "База даних" #: ../Rpmdrake/icon.pm:180 #, c-format msgid "Firewall/Router" msgstr "Захисний шлюз/Маршрутизатор" #: ../Rpmdrake/icon.pm:182 #, c-format msgid "Mail/Groupware/News" msgstr "" #: ../Rpmdrake/icon.pm:183 #, c-format msgid "Network Computer server" msgstr "Мережевий комп'ютер (сервер)" #: ../Rpmdrake/icon.pm:184 #, c-format msgid "Web/FTP" msgstr "Тенета/FTP" #: ../Rpmdrake/init.pm:40 #, c-format msgid "Usage: %s [OPTION]..." msgstr "Використання: %s [ПАРАМЕТР]..." #: ../Rpmdrake/init.pm:41 #, c-format msgid "" " --changelog-first display changelog before filelist in the " "description window" msgstr "" " --changelog-first виводити перелік змін у вікні опису перед списком " "файлів" #: ../Rpmdrake/init.pm:42 #, c-format msgid " --media=medium1,.. limit to given media" msgstr " --media=medium1,.. обмежити вказаним носієм" #: ../Rpmdrake/init.pm:43 #, c-format msgid "" " --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found" msgstr "" " --merge-all-rpmnew об'єднувати всі знайдені файли .rpmnew/.rpmsave" #: ../Rpmdrake/init.pm:44 #, c-format msgid " --mode=MODE set mode (install (default), remove, update)" msgstr "" " --mode=MODE встановити режим (встановити (типово), вилучити, " "поновити)" #: ../Rpmdrake/init.pm:45 #, c-format msgid "" " --no-confirmation don't ask first confirmation question in update mode" msgstr "" " --no-confirmation не запитувати підтвердження в режимі поновлення" #: ../Rpmdrake/init.pm:46 #, c-format msgid " --no-media-update don't update media at startup" msgstr " --no-media-update не поновлювати носія при запуску" #: ../Rpmdrake/init.pm:47 #, c-format msgid " --no-verify-rpm don't verify packages signatures" msgstr " --no-verify-rpm не перевіряти підписи пакунків" #: ../Rpmdrake/init.pm:48 #, c-format msgid "" " --parallel=alias,host be in parallel mode, use \"alias\" group, use \"host" "\" machine to show needed deps" msgstr "" " --parallel=alias,host виконувати в паралельному режимі, використовувати " "групу \"alias\", машину \"host\" для показу необхідних залежностей" #: ../Rpmdrake/init.pm:49 #, c-format msgid " --pkg-nosel=pkg1,.. show only these packages" msgstr " --pkg-nosel=pkg1,.. показувати тільки ці пакунки" #: ../Rpmdrake/init.pm:50 #, c-format msgid " --pkg-sel=pkg1,.. preselect these packages" msgstr " --pkg-sel=pkg1,.. попередньо вибрати ці пакунки" #: ../Rpmdrake/init.pm:51 #, c-format msgid " --root force to run as root" msgstr " --root виконати як root" #: ../Rpmdrake/init.pm:52 #, c-format msgid " --search=pkg run search for \"pkg\"" msgstr " --search=pkg виконати пошук для \"pkg\"" #: ../Rpmdrake/init.pm:53 #, fuzzy, c-format msgid " --version - print this tool's version number.\n" msgstr " --help - виводити цю довідку.\n" #: ../Rpmdrake/init.pm:123 #, c-format msgid "Running in user mode" msgstr "Виконання в режимі користувача" #: ../Rpmdrake/init.pm:124 #, c-format msgid "" "You are launching this program as a normal user.\n" "You will not be able to perform modifications on the system,\n" "but you may still browse the existing database." msgstr "" "Ви запускаєте цю програму як звичайний користувач.\n" "Ви не зможете зробити зміни у системі,\n" "але зможете переглядати існуючу базу даних." #: ../Rpmdrake/init.pm:131 ../Rpmdrake/init.pm:156 #, c-format msgid "Welcome" msgstr "Ласкаво просимо!" #: ../Rpmdrake/init.pm:136 #, c-format msgid "" "Welcome to the software removal tool!\n" "\n" "This tool will help you choose which software you want to remove from\n" "your computer." msgstr "" "Ласкаво просимо до інструменту вилучення пакунків!\n" "\n" "Цей інструмент допоможе Вам вибрати, які пакунки Ви хочете вилучити з свого\n" "комп'ютера." #: ../Rpmdrake/init.pm:141 #, c-format msgid "" "Welcome to %s!\n" "\n" "This tool will help you choose the updates you want to install on your\n" "computer." msgstr "" "Ласкаво просимо до %s!\n" "\n" "Ця програма допоможе вибрати поновлення, які Ви хочете встановити на \n" "свій комп'ютер." #: ../Rpmdrake/init.pm:146 #, c-format msgid "Welcome to the software installation tool!" msgstr "Ласкаво просимо до інструменту встановлення програм!" #: ../Rpmdrake/init.pm:147 #, c-format msgid "" "Welcome to the software installation tool!\n" "\n" "Your Mandriva Linux system comes with several thousands of software\n" "packages on CDROM or DVD. This tool will help you choose which software\n" "you want to install on your computer." msgstr "" "Ласкаво просимо до програми встановлення програмного забезпечення!\n" "\n" "Ваша система Мандріва Лінакс постачається з тисячами пакунків на cd i dvd " "дисках. Ця програма допоможе вибрати, які пакунки Ви \n" "хочете встановити на свій комп'ютер." #: ../Rpmdrake/init.pm:158 #, c-format msgid "The software installation tool can set up media sources." msgstr "" #: ../Rpmdrake/init.pm:159 #, fuzzy, c-format msgid "Do you want to add media sources now?" msgstr "Ви впевнені, що хочете видалити джерело \"%s\"?" #: ../Rpmdrake/pkg.pm:184 ../Rpmdrake/pkg.pm:513 #, fuzzy, c-format msgid "Confirmation" msgstr "Конфігурація" #: ../Rpmdrake/pkg.pm:185 #, c-format msgid "" "I need to contact the mirror to get latest update packages.\n" "Please check that your network is currently running.\n" "\n" "Is it ok to continue?" msgstr "" "Мені необхідно з'єднатися з дзеркалом, щоб отримати останні поновлення " "пакунків.\n" "Будь ласка, перевірте, чи Ваша мережа в даний час працює.\n" "\n" "Продовжити?" #: ../Rpmdrake/pkg.pm:194 #, c-format msgid "Already existing update media" msgstr "Вже існуючі джерела поновлення" #: ../Rpmdrake/pkg.pm:195 #, c-format msgid "" "You already have at least one update medium configured, but\n" "all of them are currently disabled. You should run the Software\n" "Media Manager to enable at least one (check it in the Enabled?\n" "column).\n" "\n" "Then, restart %s." msgstr "" "Ви вже маєте налаштоване як мінімум одне джерело з поновленнями,\n" "але всі вони в даний час не є активованими. Вам потрібно запустити\n" "Менеджер джерел, щоб активувати хоч одне (помітьте Активне?).\n" "\n" "Після цього перезапустіть %s." #: ../Rpmdrake/pkg.pm:206 #, c-format msgid "How to choose manually your mirror" msgstr "Як вибрати дзеркало вручну" #: ../Rpmdrake/pkg.pm:207 #, c-format msgid "" "You may also choose your desired mirror manually: to do so,\n" "launch the Software Media Manager, and then add a `Security\n" "updates' medium.\n" "\n" "Then, restart %s." msgstr "" "Ви також можете вибрати бажане дзеркало самостійно: щоб це зробити,\n" "запустіть Менеджер Джерел Пакунків, а потім додайте джерело 'Безпечні\n" "поновлення'.\n" "\n" "Потім перезапустіть %s." #: ../Rpmdrake/pkg.pm:227 ../Rpmdrake/pkg.pm:528 ../Rpmdrake/pkg.pm:802 #: ../rpmdrake.pm:328 #, c-format msgid "Please wait" msgstr "Зачекайте, будь ласка" #: ../Rpmdrake/pkg.pm:227 ../Rpmdrake/pkg.pm:528 #, c-format msgid "Package installation..." msgstr "Встановлюються пакунки..." #: ../Rpmdrake/pkg.pm:227 ../Rpmdrake/pkg.pm:528 ../Rpmdrake/pkg.pm:802 #, c-format msgid "Initializing..." msgstr "Встановлюю..." #: ../Rpmdrake/pkg.pm:251 #, fuzzy, c-format msgid "Reading updates description" msgstr "в описах" #: ../Rpmdrake/pkg.pm:277 ../Rpmdrake/pkg.pm:354 #, c-format msgid "Please wait, finding available packages..." msgstr "Будь ласка, зачекайте, шукаю доступні пакунки..." #: ../Rpmdrake/pkg.pm:283 #, fuzzy, c-format msgid "Please wait, listing base packages..." msgstr "Зачекайте, будь ласка, створюю перелік пакунків..." #: ../Rpmdrake/pkg.pm:320 #, fuzzy, c-format msgid "Please wait, finding installed packages..." msgstr "Будь ласка, зачекайте, шукаю доступні пакунки..." #: ../Rpmdrake/pkg.pm:433 #, c-format msgid "Could not create temporary directory '%s'" msgstr "" #: ../Rpmdrake/pkg.pm:441 ../Rpmdrake/pkg.pm:757 #, c-format msgid "All requested packages were installed successfully." msgstr "Всі вибрані пакунки було успішно встановлено." #: ../Rpmdrake/pkg.pm:445 ../Rpmdrake/pkg.pm:737 #, c-format msgid "Problem during installation" msgstr "Помилка під час встановлення" #: ../Rpmdrake/pkg.pm:446 ../Rpmdrake/pkg.pm:466 ../Rpmdrake/pkg.pm:739 #, c-format msgid "" "There was a problem during the installation:\n" "\n" "%s" msgstr "" "Під час встановлення сталася помилка:\n" "\n" "%s" #: ../Rpmdrake/pkg.pm:465 ../Rpmdrake/pkg.pm:707 ../Rpmdrake/pkg.pm:724 #, c-format msgid "Installation failed" msgstr "Встановлення невдале" #: ../Rpmdrake/pkg.pm:494 #, c-format msgid "Unable to get source packages." msgstr "Неможливо отримати джерело з пакунками." #: ../Rpmdrake/pkg.pm:495 #, c-format msgid "Unable to get source packages, sorry. %s" msgstr "Вибачте, неможливо отримати джерело з пакунками. %s" #: ../Rpmdrake/pkg.pm:496 ../Rpmdrake/pkg.pm:727 #, c-format msgid "" "\n" "\n" "Error(s) reported:\n" "%s" msgstr "" "\n" "\n" "Повідомлено про помилки:\n" "%s" #: ../Rpmdrake/pkg.pm:510 #, c-format msgid "" "To satisfy dependencies, the following package is going to be installed:" msgid_plural "" "To satisfy dependencies, the following %d packages are going to be installed:" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../Rpmdrake/pkg.pm:515 #, c-format msgid "Remove one package?" msgid_plural "Remove %d packages?" msgstr[0] "Видалити ключ" #: ../Rpmdrake/pkg.pm:517 #, fuzzy, c-format msgid "The following package has to be removed for others to be upgraded:" msgstr "" "Наступні пакунки повинні бути видалені, щоб інші можна було поновити:\n" "\n" "%s\n" "\n" "Продовжити?" #: ../Rpmdrake/pkg.pm:518 #, fuzzy, c-format msgid "The following packages have to be removed for others to be upgraded:" msgstr "" "Наступні пакунки будуть вилучені для того, щоб поновити інші:\n" "%s" #: ../Rpmdrake/pkg.pm:518 #, fuzzy, c-format msgid "Is it ok to continue?" msgstr "" "%s\n" "\n" "Все гаразд? Продовжувати?" #: ../Rpmdrake/pkg.pm:540 #, c-format msgid "Change medium" msgstr "Змініть носія" #: ../Rpmdrake/pkg.pm:541 #, c-format msgid "Please insert the medium named \"%s\" on device [%s]" msgstr "Будь ласка, вставте диск з назвою \"%s\" у пристрій [%s]" #: ../Rpmdrake/pkg.pm:562 #, c-format msgid "Preparing packages installation..." msgstr "Підготовлюються пакунки до встановлення..." #: ../Rpmdrake/pkg.pm:562 #, c-format msgid "Preparing..." msgstr "Підготовка..." #: ../Rpmdrake/pkg.pm:565 #, c-format msgid "Installing package `%s' (%s/%s)..." msgstr "Встановлюється пакунок '%s' (%s/%s)..." #: ../Rpmdrake/pkg.pm:566 #, c-format msgid "Total: %s/%s" msgstr "" #: ../Rpmdrake/pkg.pm:587 ../Rpmdrake/pkg.pm:592 #, c-format msgid "Downloading package `%s'..." msgstr "Звантажується пакунок %s" #: ../Rpmdrake/pkg.pm:594 #, c-format msgid " %s%% of %s completed, ETA = %s, speed = %s" msgstr "" #: ../Rpmdrake/pkg.pm:595 #, c-format msgid " %s%% completed, speed = %s" msgstr "" #: ../Rpmdrake/pkg.pm:616 #, c-format msgid "Verifying package signatures..." msgstr "Перевіряються підписи пакунків..." #: ../Rpmdrake/pkg.pm:629 ../rpmdrake.pm:756 ../rpmdrake.pm:865 #, c-format msgid "Warning" msgstr "Попередження" #: ../Rpmdrake/pkg.pm:630 #, c-format msgid "" "The following packages have bad signatures:\n" "\n" "%s\n" "\n" "Do you want to continue installation?" msgstr "" "Наступні пакунки мають неправильні підписи:\n" "\n" "%s\n" "\n" "Ви хочете продовжити встановлення?" #: ../Rpmdrake/pkg.pm:643 #, c-format msgid "installing %s from %s" msgstr "встановлюється %s з %s" #: ../Rpmdrake/pkg.pm:645 #, c-format msgid "installing %s" msgstr "встановлюється %s" #: ../Rpmdrake/pkg.pm:649 #, c-format msgid "removing %s" msgstr "вилучається %s" #: ../Rpmdrake/pkg.pm:675 ../Rpmdrake/pkg.pm:693 ../Rpmdrake/pkg.pm:785 #: ../rpmdrake.pm:743 ../rpmdrake.pm:824 ../rpmdrake.pm:848 #, c-format msgid "Error" msgstr "Помилка" #: ../Rpmdrake/pkg.pm:676 ../Rpmdrake/pkg.pm:694 #, fuzzy, c-format msgid "Installation failed:" msgstr "Встановлення неуспішне" #: ../Rpmdrake/pkg.pm:677 #, c-format msgid "Try installation without checking dependencies? (y/N) " msgstr "Спробувати встановлення без перевірки залежностей? (y/N) (т/Н) " #: ../Rpmdrake/pkg.pm:695 #, fuzzy, c-format msgid "Try harder to install (--force)? (y/N) " msgstr "Спробувати примусове встановлення (--force)? (y/N) (т/Н) " #: ../Rpmdrake/pkg.pm:725 #, c-format msgid "" "Installation failed, some files are missing:\n" "%s\n" "\n" "You may want to update your media database." msgstr "" "Встановлення перервано, відсутні деякі файли:\n" "%s\n" "\n" "Можливо, Вам потрібно поновити базу даних джерел." #: ../Rpmdrake/pkg.pm:738 #, c-format msgid "%d installation transactions failed" msgstr "%d запит на встановлення завершився неуспішно" #: ../Rpmdrake/pkg.pm:752 #, c-format msgid "" "The installation is finished; everything was installed correctly.\n" "\n" "Some configuration files were created as `.rpmnew' or `.rpmsave',\n" "you may now inspect some in order to take actions:" msgstr "" "Встановлення завершено; все встановлено правильно.\n" "\n" "Деякі конфігураційні файли були створені як '.rpmnew' або '.rmpsave',\n" "Ви можете ретельно переглянути їх для подальших дій:" #: ../Rpmdrake/pkg.pm:760 #, fuzzy, c-format msgid "Upgrade information" msgstr "Стандартна інформація" #: ../Rpmdrake/pkg.pm:762 #, c-format msgid "These packages come with upgrade information" msgstr "Ці пакунки містять інформацію про поновлення" #: ../Rpmdrake/pkg.pm:770 #, fuzzy, c-format msgid "Upgrade information about this package" msgstr "Більше інформації про пакунок..." #: ../Rpmdrake/pkg.pm:773 #, fuzzy, c-format msgid "Upgrade information about package %s" msgstr "Більше інформації про пакунок... [%s]" #: ../Rpmdrake/pkg.pm:786 #, c-format msgid "Unrecoverable error: no package found for installation, sorry." msgstr "Невиправна помилка: на жаль, пакунку для встановлення не знайдено." #: ../Rpmdrake/pkg.pm:802 ../Rpmdrake/pkg.pm:819 #, c-format msgid "Please wait, removing packages..." msgstr "Зачекайте, будь ласка, поки rpm вилучає ці пакунки..." #: ../Rpmdrake/pkg.pm:830 #, c-format msgid "Problem during removal" msgstr "Проблема під час вилучення" #: ../Rpmdrake/pkg.pm:831 #, c-format msgid "" "There was a problem during the removal of packages:\n" "\n" "%s" msgstr "" "Під час вилучення пакунків виникла проблема:\n" "\n" "%s" #: ../Rpmdrake/rpmnew.pm:78 #, c-format msgid "Inspecting %s" msgstr "Вивчення %s" #: ../Rpmdrake/rpmnew.pm:102 #, c-format msgid "Changes:" msgstr "зміни:" #: ../Rpmdrake/rpmnew.pm:110 #, c-format msgid "Remove .%s" msgstr "Вилучити .%s" #: ../Rpmdrake/rpmnew.pm:114 #, c-format msgid "Use .%s as main file" msgstr "Використовувати .%s як головний файл" #: ../Rpmdrake/rpmnew.pm:118 #, c-format msgid "Do nothing" msgstr "Нічого не робити" #: ../Rpmdrake/rpmnew.pm:149 #, c-format msgid "Installation finished" msgstr "Встановлення завершено" #: ../Rpmdrake/rpmnew.pm:164 #, c-format msgid "Inspect..." msgstr "Вивчаю..." #: ../Rpmdrake/rpmnew.pm:182 ../rpmdrake:71 ../rpmdrake:98 #, c-format msgid "Please wait, searching..." msgstr "Зачекайте, будь ласка, шукаю..." #: ../gurpmi.addmedia:83 #, c-format msgid "Unable to add medium, wrong or missing arguments" msgstr "Неможливо додати носія, неправильні або відсутні аргументи" #: ../gurpmi.addmedia:97 #, fuzzy, c-format msgid "" "You are about to add new packages media, %s.\n" "That means you will be able to add new software packages\n" "to your system from these new media." msgstr "" "Зараз Ви додасте навий носій з пакунками, `%s'.\n" "Це означає, що Ви змажете додавати нові програми\n" "в систему з цього нового носія." #: ../gurpmi.addmedia:100 #, c-format msgid "" "You are about to add a new packages medium, `%s'.\n" "That means you will be able to add new software packages\n" "to your system from that new medium." msgstr "" "Зараз Ви додасте навий носій з пакунками, `%s'.\n" "Це означає, що Ви змажете додавати нові програми\n" "в систему з цього нового носія." #: ../gurpmi.addmedia:125 #, fuzzy, c-format msgid "Successfully added media %s." msgstr "Успішно додано носій `%s'." #: ../gurpmi.addmedia:126 #, c-format msgid "Successfully added medium `%s'." msgstr "Успішно додано носій `%s'." #: ../rpmdrake:60 ../rpmdrake:141 #, c-format msgid "Search results" msgstr "Результати пошуку" #: ../rpmdrake:60 #, c-format msgid "Search results (none)" msgstr "Результат пошуку (немає)" #: ../rpmdrake:103 #, c-format msgid "Stop" msgstr "Зупинити" #: ../rpmdrake:144 #, c-format msgid "Selected" msgstr "Вибрано" #: ../rpmdrake:144 #, c-format msgid "Not selected" msgstr "Не вибрано" #: ../rpmdrake:177 #, c-format msgid "Selected: %s / Free disk space: %s" msgstr "Вибрано: %s / Вільно на диску: %s" #: ../rpmdrake:178 #, c-format msgid "Selected size: %d MB" msgstr "Розмір вибраного: %d Мб" #: ../rpmdrake:241 #, fuzzy, c-format msgid "Installed" msgstr "Встановити" #: ../rpmdrake:241 #, fuzzy, c-format msgid "Non installed" msgstr "Встановити" #: ../rpmdrake:242 #, c-format msgid "%s choices" msgstr "%s вибирає" #: ../rpmdrake:242 #, c-format msgid "Mandriva Linux choices" msgstr "Вибір Мандріва Лінакса" #: ../rpmdrake:244 #, c-format msgid "All packages, alphabetical" msgstr "Всі пакунки за абеткою" #: ../rpmdrake:245 #, c-format msgid "All packages, by update availability" msgstr "Всі пакунки, за придатністю до поновлення" #: ../rpmdrake:246 #, c-format msgid "All packages, by size" msgstr "Всі пакунки, за розміром" #: ../rpmdrake:247 #, c-format msgid "All packages, by selection state" msgstr "Всі пакунки, за станом вибору" #: ../rpmdrake:248 #, c-format msgid "Leaves only, sorted by install date" msgstr "Тільки ті, що залишилися, відсортовані за датою встановлення" #: ../rpmdrake:249 #, c-format msgid "All packages, by group" msgstr "Всі пакунки, за групою" #: ../rpmdrake:251 #, fuzzy, c-format msgid "All updates" msgstr "Звичайні поновлення" #: ../rpmdrake:251 #, c-format msgid "Security updates" msgstr "Поновлення безпеки" #: ../rpmdrake:251 #, c-format msgid "Bugfixes updates" msgstr "Поновлення виявлених дефектів" #: ../rpmdrake:251 #, c-format msgid "Normal updates" msgstr "Звичайні поновлення" #: ../rpmdrake:312 #, c-format msgid "in names" msgstr "в назвах" #: ../rpmdrake:314 #, c-format msgid "in descriptions" msgstr "в описах" #: ../rpmdrake:316 #, c-format msgid "in file names" msgstr "у назвах файлів" #: ../rpmdrake:347 ../rpmdrake:350 ../rpmdrake:361 ../rpmdrake:374 #: ../rpmdrake:383 #, c-format msgid "/_File" msgstr "/Файл" #: ../rpmdrake:350 #, c-format msgid "/_Update media" msgstr "/Оновити джерела" #: ../rpmdrake:361 #, c-format msgid "/_Reset the selection" msgstr "/Скасувати вибір" #: ../rpmdrake:374 #, c-format msgid "/Reload the _packages list" msgstr "/Перевантажити перелік пакунків" #: ../rpmdrake:383 #, c-format msgid "/_Quit" msgstr "/Вийти" #: ../rpmdrake:383 #, c-format msgid "<control>Q" msgstr "<control>Q" #: ../rpmdrake:386 ../rpmdrake:387 ../rpmdrake:391 ../rpmdrake:421 #, c-format msgid "/_Options" msgstr "/Параметри" #: ../rpmdrake:387 #, fuzzy, c-format msgid "/_Media Manager" msgstr "Менеджер джерел програм" #: ../rpmdrake:391 ../rpmdrake:421 #, c-format msgid "/_Show automatically selected packages" msgstr "/Показувати автоматично вибрані пакунки" #: ../rpmdrake:395 ../rpmdrake:396 ../rpmdrake:397 ../rpmdrake:398 #, c-format msgid "/_Help" msgstr "/Довідка" #: ../rpmdrake:396 #, c-format msgid "/_Report Bug" msgstr "/_R Повідомити про помилку" #: ../rpmdrake:398 #, c-format msgid "/_About..." msgstr "/Про..." #: ../rpmdrake:401 #, fuzzy, c-format msgid "Rpmdrake" msgstr "Rpmdrake" #: ../rpmdrake:403 #, c-format msgid "Copyright (C) %s by Mandriva" msgstr "" #: ../rpmdrake:405 #, c-format msgid "Rpmdrake is Mandriva Linux package management tool." msgstr "" #: ../rpmdrake:407 #, c-format msgid "Mandriva Linux" msgstr "Mandriva Linux" #. -PO: put here name(s) and email(s) of translator(s) (eg: "John Smith <jsmith@nowhere.com>") #: ../rpmdrake:412 #, c-format msgid "_: Translator(s) name(s) & email(s)\n" msgstr "" #: ../rpmdrake:436 #, c-format msgid "Find:" msgstr "Знайти:" #: ../rpmdrake:445 #, c-format msgid "Search" msgstr "Пошук" #: ../rpmdrake:447 #, c-format msgid "Clear" msgstr "Очистити" #: ../rpmdrake:468 #, c-format msgid "Apply" msgstr "Застосувати" #: ../rpmdrake:488 #, c-format msgid "Quick Introduction" msgstr "" #: ../rpmdrake:489 #, c-format msgid "You can browse the packages through the categories tree on the left." msgstr "" #: ../rpmdrake:490 #, c-format msgid "" "You can view information about a package by clicking on it on the right list." msgstr "" #: ../rpmdrake:491 #, c-format msgid "To install, update or remove a package, just click on its \"checkbox\"." msgstr "" #: ../rpmdrake.pm:106 #, c-format msgid "Software Update" msgstr "Поновлення програмам" #: ../rpmdrake.pm:106 #, c-format msgid "Mandriva Linux Update" msgstr "Поновлення Мандріва Лінакс" #: ../rpmdrake.pm:133 #, c-format msgid "Please enter your credentials for accessing proxy\n" msgstr "Будь ласка, введіть дані для доступу до проксі\n" #: ../rpmdrake.pm:134 #, c-format msgid "User name:" msgstr "Ім'я користувача:" #: ../rpmdrake.pm:184 #, c-format msgid "Software Packages Removal" msgstr "Вилучення пакунків з програмами" #: ../rpmdrake.pm:185 ../rpmdrake.pm:189 #, c-format msgid "Software Packages Update" msgstr "Поновлення пакунків з програмами" #: ../rpmdrake.pm:186 #, c-format msgid "Software Packages Installation" msgstr "Встановлення пакунків з програмами" #: ../rpmdrake.pm:230 #, c-format msgid "No" msgstr "Ні" #: ../rpmdrake.pm:234 #, c-format msgid "Yes" msgstr "Так" #: ../rpmdrake.pm:284 #, c-format msgid "Info..." msgstr "Інформація..." #: ../rpmdrake.pm:407 #, c-format msgid "Austria" msgstr "Австрія" #: ../rpmdrake.pm:408 #, c-format msgid "Australia" msgstr "Австралія" #: ../rpmdrake.pm:409 #, c-format msgid "Belgium" msgstr "Бельгія" #: ../rpmdrake.pm:410 #, c-format msgid "Brazil" msgstr "Бразилія" #: ../rpmdrake.pm:411 #, c-format msgid "Canada" msgstr "Канада" #: ../rpmdrake.pm:412 #, c-format msgid "Switzerland" msgstr "Швейцарія" #: ../rpmdrake.pm:413 #, c-format msgid "Costa Rica" msgstr "Коста-Ріка" #: ../rpmdrake.pm:414 #, c-format msgid "Czech Republic" msgstr "Чехія" #: ../rpmdrake.pm:415 #, c-format msgid "Germany" msgstr "Німеччина" #: ../rpmdrake.pm:416 #, c-format msgid "Danmark" msgstr "Данія" #: ../rpmdrake.pm:417 ../rpmdrake.pm:421 #, c-format msgid "Greece" msgstr "Греція" #: ../rpmdrake.pm:418 #, c-format msgid "Spain" msgstr "Іспанія" #: ../rpmdrake.pm:419 #, c-format msgid "Finland" msgstr "Фінляндія" #: ../rpmdrake.pm:420 #, c-format msgid "France" msgstr "Франція" #: ../rpmdrake.pm:422 #, c-format msgid "Hungary" msgstr "Угорщина" #: ../rpmdrake.pm:423 #, c-format msgid "Israel" msgstr "Ізраїль" #: ../rpmdrake.pm:424 #, c-format msgid "Italy" msgstr "Італія" #: ../rpmdrake.pm:425 #, c-format msgid "Japan" msgstr "Японія" #: ../rpmdrake.pm:426 #, c-format msgid "Korea" msgstr "Корея" #: ../rpmdrake.pm:427 #, c-format msgid "Netherlands" msgstr "Голландія" #: ../rpmdrake.pm:428 #, c-format msgid "Norway" msgstr "Норвегія" #: ../rpmdrake.pm:429 #, c-format msgid "Poland" msgstr "Польща" #: ../rpmdrake.pm:430 #, c-format msgid "Portugal" msgstr "Португалія" #: ../rpmdrake.pm:431 #, c-format msgid "Russia" msgstr "Росія" #: ../rpmdrake.pm:432 #, c-format msgid "Sweden" msgstr "Швеція" #: ../rpmdrake.pm:433 #, c-format msgid "Singapore" msgstr "Сінгапур" #: ../rpmdrake.pm:434 #, c-format msgid "Slovakia" msgstr "Словаччина" #: ../rpmdrake.pm:435 #, c-format msgid "Taiwan" msgstr "Тайвань" #: ../rpmdrake.pm:436 #, c-format msgid "United Kingdom" msgstr "Об'єднане Королівство" #: ../rpmdrake.pm:437 #, c-format msgid "China" msgstr "Китай" #: ../rpmdrake.pm:438 ../rpmdrake.pm:439 ../rpmdrake.pm:440 ../rpmdrake.pm:441 #, c-format msgid "United States" msgstr "Сполучені Штати" #: ../rpmdrake.pm:539 #, c-format msgid "" "I need to access internet to get the mirror list.\n" "Please check that your network is currently running.\n" "\n" "Is it ok to continue?" msgstr "" "Мені потрібно мати лоступ в Інтернет, щоб отримати перелік дзеркал.\n" "Будь ласка, перевірте, чи з'єднані Ви з Інтернетом.\n" "\n" "Продовжити?" #: ../rpmdrake.pm:543 #, c-format msgid "" "I need to contact the Mandriva website to get the mirror list.\n" "Please check that your network is currently running.\n" "\n" "Is it ok to continue?" msgstr "" "Мені потрібно з'єднатися з веб-сайтом Mandriva, щоб отримати перелік " "дзеркал.\n" "Будь ласка, перевірте, чи з'єднані Ви з Інтернетом.\n" "\n" "Продовжити?" #: ../rpmdrake.pm:549 ../rpmdrake.pm:587 #, fuzzy, c-format msgid "Mirror choice" msgstr "%s вибирає" #: ../rpmdrake.pm:552 #, c-format msgid "Please wait, downloading mirror addresses." msgstr "Зачекайте, будь ласка, йде завантаження адрес дзеркал." #: ../rpmdrake.pm:553 #, c-format msgid "Please wait, downloading mirror addresses from the Mandriva website." msgstr "" "Зачекайте, будь ласка, йде завантаження адрес дзеркал з веб-сайту Mandriva." #: ../rpmdrake.pm:560 #, c-format msgid "Error during download" msgstr "Помилка під час звантаження" #: ../rpmdrake.pm:562 #, c-format msgid "" "There was an error downloading the mirror list:\n" "\n" "%s\n" "The network, or the website, may be unavailable.\n" "Please try again later." msgstr "" "Сталася помилка під час завантаження списку дзеркал:\n" "\n" "%s\n" "Можливо, мережа або веб-сайт недоступні.\n" "Будь ласка, спробуйте ще раз пізніше." #: ../rpmdrake.pm:567 #, c-format msgid "" "There was an error downloading the mirror list:\n" "\n" "%s\n" "The network, or the Mandriva website, may be unavailable.\n" "Please try again later." msgstr "" "Сталася помилка під час завантаження списку дзеркал:\n" "\n" "%s\n" "Можливо, мережа або веб-сайт Mandriva недоступні.\n" "Будь ласка, спробуйте ще раз пізніше." #: ../rpmdrake.pm:577 #, c-format msgid "No mirror" msgstr "Дзеркало відсутнє" #: ../rpmdrake.pm:579 #, c-format msgid "I can't find any suitable mirror." msgstr "Не можу знайти придатного джерела." #: ../rpmdrake.pm:580 #, c-format msgid "" "I can't find any suitable mirror.\n" "\n" "There can be many reasons for this problem; the most frequent is\n" "the case when the architecture of your processor is not supported\n" "by Mandriva Linux Official Updates." msgstr "" "Я не можу знайти придатного дзеркала.\n" "\n" "Може були багато причин цієї проблеми; найчастіше це\n" "стається через те, що архітектура Вашого процесора не підтримується\n" "Mandriva Linux Official Updates." #: ../rpmdrake.pm:599 #, c-format msgid "Please choose the desired mirror." msgstr "Виберіть, будь ласка, бажане дзеркало." #: ../rpmdrake.pm:652 #, c-format msgid "Copying file for medium `%s'..." msgstr "Копіюється файл з джерела `%s'..." #: ../rpmdrake.pm:655 #, c-format msgid "Examining file of medium `%s'..." msgstr "Перевірка файла джерела `%s'..." #: ../rpmdrake.pm:658 #, c-format msgid "Examining remote file of medium `%s'..." msgstr "Перевірка файла джерела `%s'..." #: ../rpmdrake.pm:662 #, c-format msgid " done." msgstr " виконано." #: ../rpmdrake.pm:666 #, c-format msgid " failed!" msgstr " неуспішно!" #. -PO: We're downloading the said file from the said medium #: ../rpmdrake.pm:670 #, c-format msgid "%s from medium %s" msgstr "%s з джерела %s" #: ../rpmdrake.pm:674 #, c-format msgid "Starting download of `%s'..." msgstr "Починається завантаження `%s'..." #: ../rpmdrake.pm:678 #, c-format msgid "Download of `%s', time to go:%s, speed:%s" msgstr "Завантажено `%s', залишилось часу:%s, швидкість:%s" #: ../rpmdrake.pm:681 #, c-format msgid "Download of `%s', speed:%s" msgstr "Завантажено `%s', швидкість:%s" #: ../rpmdrake.pm:692 #, c-format msgid "Please wait, updating media..." msgstr "Зачекайте, будь ласка, поновлюються джерела..." #: ../rpmdrake.pm:719 #, c-format msgid "Error retrieving packages" msgstr "Помилка при пошуку пакунків" #: ../rpmdrake.pm:720 #, c-format msgid "" "It's impossible to retrieve the list of new packages from the media\n" "`%s'. Either this update media is misconfigured, and in this case\n" "you should use the Software Media Manager to remove it and re-add it in " "order\n" "to reconfigure it, either it is currently unreachable and you should retry\n" "later." msgstr "" "Неможливо отримати список нових пакунків з носія `%s'.\n" " Або цей носій неправильно сконфігуровано і в цьому випадку Вам\n" "потрібно перестворити його в Менеджері носіїв програм,\n" "або ж він зараз недоступний і Вам потрібно спробувати ще раз\n" "пізніше." #: ../rpmdrake.pm:751 #, c-format msgid "Update media" msgstr "Поновити джерела" #: ../rpmdrake.pm:756 #, c-format msgid "" "No active medium found. You must enable some media to be able to update them." msgstr "" "Не знайдено активного носія. Потрібно їх увімнути, щоб мати можливість " "поновлювати." #: ../rpmdrake.pm:763 #, c-format msgid "Select the media you wish to update:" msgstr "Виберіть джерело, яке Ви хочете поновити:" #: ../rpmdrake.pm:802 #, c-format msgid "" "Unable to update medium; it will be automatically disabled.\n" "\n" "Errors:\n" "%s" msgstr "" "Неможливо поновити джерело; його буде автоматично вимкнено.\n" "\n" "Помилки:\n" "%s" #: ../rpmdrake.pm:825 ../rpmdrake.pm:836 #, c-format msgid "" "Unable to add medium, errors reported:\n" "\n" "%s" msgstr "" "Неможливо додати носія, отримано звіт про помилку:\n" "\n" "%s" #: ../rpmdrake.pm:848 #, c-format msgid "Unable to create medium." msgstr "Неможливо створити джерело." #: ../rpmdrake.pm:853 #, c-format msgid "Failure when adding medium" msgstr "Помилка при додаванні носія" #: ../rpmdrake.pm:854 #, c-format msgid "" "There was a problem adding medium:\n" "\n" "%s" msgstr "" "Під час додавання носія сталася помилка:\n" "\n" "%s" #: ../rpmdrake.pm:867 #, c-format msgid "" "Your medium `%s', used for updates, does not match the version of %s you're " "running (%s).\n" "It will be disabled." msgstr "" "Носій `%s', що використовується для поновлень, не відповідає версії %s, яка " "використовується (%s).\n" "Його буде вимкнено." #: ../rpmdrake.pm:870 #, c-format msgid "" "Your medium `%s', used for updates, does not match the version of Mandriva " "Linux you're running (%s).\n" "It will be disabled." msgstr "" "Носій `%s', що використовується для поновлень, не відповідає версії Мандріва " "Лінакс (%s).\n" "Його буде вимкнено." #: ../rpmdrake.pm:887 #, c-format msgid "Help launched in background" msgstr "Довідку запущено у фоновому режимі" #: ../rpmdrake.pm:888 #, c-format msgid "" "The help window has been started, it should appear shortly on your desktop." msgstr "Вікно довідки вже стартувало, незабаром воно з'явиться на стільниці." #: ../grpmi/curl_download/curl_download.xs:86 msgid "Download directory does not exist" msgstr "Теки, в яку має виконуватись звантаження, не існує" #: ../grpmi/curl_download/curl_download.xs:89 #: ../grpmi/curl_download/curl_download.xs:213 msgid "Out of memory\n" msgstr "Не вистачає місця\n" #: ../grpmi/curl_download/curl_download.xs:102 msgid "Could not open output file in append mode" msgstr "Не можу відкрити файл виведення у режимі дозапису" #: ../grpmi/curl_download/curl_download.xs:133 msgid "Unsupported protocol\n" msgstr "Даний протокол не підтримується\n" #: ../grpmi/curl_download/curl_download.xs:136 msgid "Failed init\n" msgstr "Невдала ініціалізація\n" #: ../grpmi/curl_download/curl_download.xs:139 msgid "Bad URL format\n" msgstr "Невірний формат URL\n" #: ../grpmi/curl_download/curl_download.xs:142 msgid "Bad user format in URL\n" msgstr "Невірний користувацький формат в URL\n" #: ../grpmi/curl_download/curl_download.xs:145 msgid "Couldn't resolve proxy\n" msgstr "Не можу визначити проксі\n" #: ../grpmi/curl_download/curl_download.xs:148 msgid "Couldn't resolve host\n" msgstr "Не можу визначити сервер\n" #: ../grpmi/curl_download/curl_download.xs:151 msgid "Couldn't connect\n" msgstr "Не можу з'єднатися\n" #: ../grpmi/curl_download/curl_download.xs:154 msgid "FTP unexpected server reply\n" msgstr "FTP: неочікувана відповідь сервера\n" #: ../grpmi/curl_download/curl_download.xs:157 msgid "FTP access denied\n" msgstr "FTP: доступ заборонено\n" #: ../grpmi/curl_download/curl_download.xs:160 msgid "FTP user password incorrect\n" msgstr "FTP: невірний пароль\n" #: ../grpmi/curl_download/curl_download.xs:163 msgid "FTP unexpected PASS reply\n" msgstr "FTP: неочікувана відповідь PASS\n" #: ../grpmi/curl_download/curl_download.xs:166 msgid "FTP unexpected USER reply\n" msgstr "FTP: неочікувана відповідь USER\n" #: ../grpmi/curl_download/curl_download.xs:169 msgid "FTP unexpected PASV reply\n" msgstr "FTP: неочікувана відповідь PASV\n" #: ../grpmi/curl_download/curl_download.xs:172 msgid "FTP unexpected 227 format\n" msgstr "FTP: неочікуваний формат 227\n" #: ../grpmi/curl_download/curl_download.xs:175 msgid "FTP can't get host\n" msgstr "FTP: не можу знайти машини\n" #: ../grpmi/curl_download/curl_download.xs:178 msgid "FTP can't reconnect\n" msgstr "FTP: не можу з'єднатися\n" #: ../grpmi/curl_download/curl_download.xs:181 msgid "FTP couldn't set binary\n" msgstr "FTP: не можу встановити двійковий формат\n" #: ../grpmi/curl_download/curl_download.xs:184 msgid "Partial file\n" msgstr "Частковий файл\n" #: ../grpmi/curl_download/curl_download.xs:187 msgid "FTP couldn't RETR file\n" msgstr "FTP: не можу зробити RETR на файл\n" #: ../grpmi/curl_download/curl_download.xs:190 msgid "FTP write error\n" msgstr "FTP: помилка запису\n" #: ../grpmi/curl_download/curl_download.xs:195 msgid "FTP quote error\n" msgstr "Помилка запиту FTP\n" #: ../grpmi/curl_download/curl_download.xs:198 msgid "HTTP not found\n" msgstr "HTTP: не знайдено\n" #: ../grpmi/curl_download/curl_download.xs:201 msgid "Write error\n" msgstr "Помилка запису\n" #: ../grpmi/curl_download/curl_download.xs:204 msgid "User name illegally specified\n" msgstr "Ім'я користувача вказано неправильно\n" #: ../grpmi/curl_download/curl_download.xs:207 msgid "FTP couldn't STOR file\n" msgstr "FTP не може STOR файл\n" #: ../grpmi/curl_download/curl_download.xs:210 msgid "Read error\n" msgstr "Помилка під час читання\n" #: ../grpmi/curl_download/curl_download.xs:216 msgid "Time out\n" msgstr "Тайм-аут\n" #: ../grpmi/curl_download/curl_download.xs:219 msgid "FTP couldn't set ASCII\n" msgstr "FTP не можу встановити формат ASCII\n" #: ../grpmi/curl_download/curl_download.xs:222 msgid "FTP PORT failed\n" msgstr "FTP: невдала спроба PORT\n" #: ../grpmi/curl_download/curl_download.xs:225 msgid "FTP couldn't use REST\n" msgstr "FTP не можу використовувати REST\n" #: ../grpmi/curl_download/curl_download.xs:228 msgid "FTP couldn't get size\n" msgstr "FTP не може визначити розмір\n" #: ../grpmi/curl_download/curl_download.xs:231 msgid "HTTP range error\n" msgstr "HTTP помилка діапазону\n" #: ../grpmi/curl_download/curl_download.xs:234 msgid "HTTP POST error\n" msgstr "HTTP: помилка POST\n" #: ../grpmi/curl_download/curl_download.xs:237 msgid "SSL connect error\n" msgstr "Помилка зі зв'язком Ssl\n" #: ../grpmi/curl_download/curl_download.xs:240 msgid "FTP bad download resume\n" msgstr "Невірне відновлення завантаження\n" #: ../grpmi/curl_download/curl_download.xs:243 msgid "File couldn't read file\n" msgstr "File не може прочитати файл\n" #: ../grpmi/curl_download/curl_download.xs:246 msgid "LDAP cannot bind\n" msgstr "Не можу прив'язати LDAP\n" #: ../grpmi/curl_download/curl_download.xs:249 msgid "LDAP search failed\n" msgstr "Пошук LDAP провалився\n" #: ../grpmi/curl_download/curl_download.xs:252 msgid "Library not found\n" msgstr "Бібліотеку не знайдено\n" #: ../grpmi/curl_download/curl_download.xs:255 msgid "Function not found\n" msgstr "Функцію не знайдено\n" #: ../grpmi/curl_download/curl_download.xs:258 msgid "Aborted by callback\n" msgstr "Припинено callback'ом\n" #: ../grpmi/curl_download/curl_download.xs:261 msgid "Bad function argument\n" msgstr "Невірний аргумент функції\n" #: ../grpmi/curl_download/curl_download.xs:264 msgid "Bad calling order\n" msgstr "Невірна послідовність викликів\n" #: ../grpmi/curl_download/curl_download.xs:267 msgid "HTTP Interface operation failed\n" msgstr "Операція HTTP Interface невдала\n" #: ../grpmi/curl_download/curl_download.xs:270 msgid "my_getpass() returns fail\n" msgstr "my_getpass() повернула помилку\n" #: ../grpmi/curl_download/curl_download.xs:273 msgid "catch endless re-direct loops\n" msgstr "перехоплювати нескінченний цикл переадресацій\n" #: ../grpmi/curl_download/curl_download.xs:276 msgid "User specified an unknown option\n" msgstr "Користувач вказав невідомий параметр\n" #: ../grpmi/curl_download/curl_download.xs:279 msgid "Malformed telnet option\n" msgstr "Невірний параметр telnet\n" #: ../grpmi/curl_download/curl_download.xs:282 msgid "removed after 7.7.3\n" msgstr "видалено після 7.7.3\n" #: ../grpmi/curl_download/curl_download.xs:285 msgid "peer's certificate wasn't ok\n" msgstr "сертифікат іншої сторони був невірний\n" #: ../grpmi/curl_download/curl_download.xs:288 msgid "when this is a specific error\n" msgstr "якщо це характерна помилка\n" #: ../grpmi/curl_download/curl_download.xs:291 msgid "SSL crypto engine not found\n" msgstr "Двигун криптографії SSL не знайдено\n" #: ../grpmi/curl_download/curl_download.xs:294 msgid "can not set SSL crypto engine as default\n" msgstr "не можу встановити двигун криптографії SSL як типовий\n" #: ../grpmi/curl_download/curl_download.xs:297 msgid "failed sending network data\n" msgstr "не вдалось відіслати мережні дані\n" #: ../grpmi/curl_download/curl_download.xs:300 msgid "failure in receiving network data\n" msgstr "невдала спроба прийняти мережні дані\n" #: ../grpmi/curl_download/curl_download.xs:303 msgid "share is in use\n" msgstr "спільний ресурс в поточний момент використовується\n" #: ../grpmi/curl_download/curl_download.xs:306 msgid "problem with the local certificate\n" msgstr "проблема із місцевим сертифікатом\n" #: ../grpmi/curl_download/curl_download.xs:309 msgid "couldn't use specified cipher\n" msgstr "не можу скористатися шифрувальником\n" #: ../grpmi/curl_download/curl_download.xs:312 msgid "problem with the CA cert (path?)\n" msgstr "проблема із CA cert (шлях?)\n" #: ../grpmi/curl_download/curl_download.xs:315 msgid "Unrecognized transfer encoding\n" msgstr "Нерозпізнане кодування передачі\n" #: ../grpmi/curl_download/curl_download.xs:320 #, c-format msgid "Unknown error code %d\n" msgstr "Невідома помилка, код %d\n" #: data/rpmdrake.desktop.in.h:1 msgid "Install Software" msgstr "Встановити пакунки" #: data/rpmdrake-remove.desktop.in.h:1 msgid "Remove Software" msgstr "Видалити програми" #: data/rpmdrake-sources.desktop.in.h:1 msgid "Software Media Manager" msgstr "Менеджер джерел програм" #~ msgid "Add a key..." #~ msgstr "Додати ключ..." #~ msgid "Remove key" #~ msgstr "Вилучити ключ" #, fuzzy #~ msgid " --version output version information and exit" #~ msgstr " --root виконати як root" #~ msgid "unable to access rpm file [%s]" #~ msgstr "неможливо отримати доступ до файла [%s]" #, fuzzy #~ msgid "" #~ "To satisfy dependencies, the following package is going to be installed:\n" #~ "%2$s\n" #~ msgid_plural "" #~ "To satisfy dependencies, the following %d packages are going to be " #~ "installed:\n" #~ "%s\n" #~ msgstr[0] "" #~ "Наступні %d пакунків буде встановлено для того, щоб задовольнити " #~ "залежності:\n" #~ " %s\n" #~ msgid "Please wait, reading packages database..." #~ msgstr "Зачекайте, будь ласка, зчитую базу даних пакунків..." #~ msgid "XFree86" #~ msgstr "XFree86" #~ msgid "No package found for installation." #~ msgstr "Не знайдено пакунку для встановлення." #~ msgid "All packages, by medium repository" #~ msgstr "Всі пакунки, за джерелом" #~ msgid "Maximum information" #~ msgstr "Найбільше інформації"