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

use diagnostics;
use strict;

use MDK::Common::System;
use URPM;
use URPM::Resolve;
use URPM::Signature;
use common;
use install_any;
use run_program;
use detect_devices;
use log;
use fs;
use loopback;
use c;


our %preferred = map { $_ => undef } qw(perl-base XFree86-libs gstreamer-oss openjade ctags glibc curl sane-backends perl-GTK postfix mdkkdm gcc gcc-cpp gcc-c++ proftpd ghostscript-X vim-minimal kernel db1 db2 libxpm4 zlib1 libncurses5 harddrake cups apache);

#- lower bound on the left ( aka 90 means [90-100[ )
our %compssListDesc = (
   5 => N_("must have"),
   4 => N_("important"),
   3 => N_("very nice"),
   2 => N_("nice"),
   1 => N_("maybe"),
);

#- constant for small transaction.
our $limitMinTrans = 13;


#- package to ignore, typically in Application CD. OBSOLETED ?
my %ignoreBadPkg = (
		    'civctp-demo'   => 1,
		    'eus-demo'      => 1,
		    'myth2-demo'    => 1,
		    'heretic2-demo' => 1,
		    'heroes3-demo'  => 1,
		    'rt2-demo'      => 1,
		   );

sub packageMedium { my ($packages, $p) = @_; $p or die "invalid package from\n" . backtrace();
		    foreach (values %{$packages->{mediums}}) {
			defined $_->{start} && defined $_->{end} or next;
			$p->id >= $_->{start} && $p->id <= $_->{end} and return $_;
		    }
		    return }

sub cleanHeaders {
    my ($prefix) = @_;
    rm_rf("$prefix/tmp/headers") if -e "$prefix/tmp/headers";
}

#- get all headers from an hdlist file.
sub extractHeaders {
    my ($prefix, $pkgs, $media) = @_;
    my %medium2pkgs;

    cleanHeaders($prefix);

    foreach (@$pkgs) {
	foreach my $medium (values %$media) {
	    $_->id >= $medium->{start} && $_->id <= $medium->{end} or next;
	    push @{$medium2pkgs{$medium->{medium}} ||= []}, $_;
	}
    }

    foreach (keys %medium2pkgs) {
	my $medium = $media->{$_};

	eval {
	    require packdrake;
	    my $packer = new packdrake("/tmp/$medium->{hdlist}", quiet => 1);
	    $packer->extract_archive("$prefix/tmp/headers", map { $_->header_filename } @{$medium2pkgs{$_}});
	};
    }

    foreach (@$pkgs) {
	my $f = "$prefix/tmp/headers/" . $_->header_filename;
	$_->update_header($f) or log::l("unable to open header file $f"), next;
	log::l("read header file $f");
    }
}

#- TODO BEFORE TODO
#- size and correction size functions for packages.
my $B = 1.20873;
my $C = 4.98663; #- doesn't take hdlist's into account as getAvailableSpace will do it.
sub correctSize { $B * $_[0] + $C }
sub invCorrectSize { ($_[0] - $C) / $B }

sub selectedSize {
    my ($packages) = @_;
    my $size = 0;
    my %skip;
    #- take care of packages selected...
    foreach (@{$packages->{depslist}}) {
	if ($_->flag_selected) {
	    $size += $_->size;
	    #- if a package is obsoleted with the same name it should
	    #- have been selected, so a selected new package obsoletes
	    #- all the old package.
	    exists $skip{$_->name} and next; $skip{$_->name} = undef;
	    $size -= $packages->{sizes}{$_->name};
	}
    }
    #- but remove size of package being obsoleted or removed.
    foreach (keys %{$packages->{state}{rejected}}) {
	my ($name) = /(.*)-[^\-]*-[^\-]*$/ or next;
	exists $skip{$name} and next; $skip{$name} = undef;
	$size -= $packages->{sizes}{$name};
    }
    $size;
}
sub correctedSelectedSize { correctSize(selectedSize($_[0]) / sqr(1024)) }

sub size2time {
    my ($x, $max) = @_;
    my $A = 7e-07;
    my $limit = min($max * 3 / 4, 9e8);
    if ($x < $limit) {
	$A * $x;
    } else { 
	$x -= $limit;
	my $B = 6e-16;
	my $C = 15e-07;
	$B * $x ** 2 + $C * $x + $A * $limit;
    }
}


#- searching and grouping methods.
#- package is a reference to list that contains
#- a hash to search by name and
#- a list to search by id.
sub packageByName {
    my ($packages, $name) = @_;
    #- search package with given name and compatible with current architecture.
    #- take the best one found (most up-to-date).
    my @packages;
    foreach (keys %{$packages->{provides}{$name} || {}}) {
	my $pkg = $packages->{depslist}[$_];
	$pkg->is_arch_compat or next;
	$pkg->name eq $name or next;
	push @packages, $pkg;
    }
    my $best;
    foreach (@packages) {
	if ($best && $best != $_) {
	    $_->compare_pkg($best) > 0 and $best = $_;
	} else {
	    $best = $_;
	}
    }
    $best or log::l("unknown package `$name'") && undef;
}
sub packageById {
    my ($packages, $id) = @_;
    my $pkg = $packages->{depslist}[$id]; #- do not log as id unsupported are still in depslist.
    $pkg->is_arch_compat && $pkg;
}

sub bestKernelPackage {
    my ($packages) = @_;
    my $best;

    foreach (keys %{$packages->{provides}{kernel}}) {
	my $pkg = $packages->{depslist}[$_] or next;
	$pkg->name =~ /kernel-\d/ or next;
	!$best || $pkg->compare_pkg($best) > 0 and $best = $pkg;
    }

    $best;
}

sub packagesOfMedium {
    my ($packages, $medium) = @_;
    defined $medium->{start} && defined $medium->{end} ? @{$packages->{depslist}}[$medium->{start} .. $medium->{end}] : ();
}
sub packagesToInstall {
    my ($packages) = @_;
    my @packages;
    foreach (values %{$packages->{mediums}}) {
	$_->{selected} or next;
	log::l("examining packagesToInstall of medium $_->{descr}");
	push @packages, grep { $_->flag_selected } packagesOfMedium($packages, $_);
    }
    log::l("found " . scalar(@packages) . " packages to install");
    @packages;
}

sub allMediums {
    my ($packages) = @_;
    sort { $a <=> $b } keys %{$packages->{mediums}};
}
sub mediumDescr {
    my ($packages, $medium) = @_;
    $packages->{mediums}{$medium}{descr};
}

sub packageRequest {
    my ($packages, $pkg) = @_;

    #- check if the same or better version is installed,
    #- do not select in such case.
    $pkg && ($pkg->flag_upgrade || !$pkg->flag_installed) or return;

    #- check for medium selection, if the medium has not been
    #- selected, the package cannot be selected.
    foreach (values %{$packages->{mediums}}) {
	!$_->{selected} && $pkg->id >= $_->{start} && $pkg->id <= $_->{end} and return;
    }

    return { $pkg->id => 1 };
}

sub packageCallbackChoices {
    my ($urpm, $_db, $state, $choices) = @_;
    if (my $prefer = find { $_->arch ne 'src' && exists $preferred{$_->name} } @$choices) {
	$prefer;
    } else {
	my @l = grep {
	    #- or if a kernel has to be chosen, chose the basic one.
	    $_->arch ne 'src' && $_->name =~ /kernel-\d/ and return $_;

	    #- or even if a package requires a specific locales which
	    #- is already selected.
	    find {
		/locales-/ && do {
		    my $p = packageByName($urpm, $_);
		    $p && $p->flag_available;
		};
	    } $_->requires_nosense;
	} @$choices;
	if (!@l) {
	    push @l, $choices->[0];
	    log::l("packageCallbackChoices: default choice from ", join(",", map { $urpm->{depslist}[$_]->name } keys %{$state->{selected}}), " in ", join(",", map { $_->name } @$choices));
	}
	#-log::l("packageCallbackChoices: chosen " . join(" ", map { $_->name } @l));
	@l;
    }
}

#- selection, unselection of package.
sub selectPackage {
    my ($packages, $pkg, $b_base, $o_otherOnly) = @_;

    #- select package and dependancies, o_otherOnly may be a reference
    #- to a hash to indicate package that will strictly be selected
    #- when value is true, may be selected when value is false (this
    #- is only used for unselection, not selection)
    my $state = $packages->{state} ||= {};

    my @l = $packages->resolve_requested($packages->{rpmdb}, $state, packageRequest($packages, $pkg) || {},
					 callback_choices => \&packageCallbackChoices);

    if ($b_base || $o_otherOnly) {
	foreach (@l) {
	    $b_base and $_->set_flag_base;
	    $o_otherOnly and $o_otherOnly->{$_->id} = $_->flag_requested;
	}
	$o_otherOnly and $packages->disable_selected($packages->{rpmdb}, $state, @l);
    }
    1;
}

sub unselectPackage($$;$) {
    my ($packages, $pkg, $o_otherOnly) = @_;

    #- base package are not unselectable,
    #- and already unselected package are no more unselectable.
    $pkg->flag_base and return;
    $pkg->flag_selected or return;

    my $state = $packages->{state} ||= {};
    log::l("removing selection on package ".$pkg->fullname);
    my @l = $packages->disable_selected($packages->{rpmdb}, $state, $pkg);
    log::l("   removed selection on package " . $pkg->fullname . "gives " . join(',', map { scalar $_->fullname } @l));
    if ($o_otherOnly) {
	foreach (@l) {
	    $o_otherOnly->{$_->id} = undef;
	}
	log::l("   reselecting removed selection...");
	$packages->resolve_requested($packages->{rpmdb}, $state, $o_otherOnly, callback_choices => \&packageCallbackChoices);
	log::l("   done");
    }
    1;
}
sub togglePackageSelection($$;$) {
    my ($packages, $pkg, $o_otherOnly) = @_;
    $pkg->flag_selected ? unselectPackage($packages, $pkg, $o_otherOnly) : selectPackage($packages, $pkg, 0, $o_otherOnly);
}
sub setPackageSelection($$$) {
    my ($packages, $pkg, $value) = @_;
    $value ? selectPackage($packages, $pkg) : unselectPackage($packages, $pkg);
}

sub unselectAllPackages($) {
    my ($packages) = @_;
    my %keep_selected;
    log::l("unselecting all packages...");
    foreach (@{$packages->{depslist}}) {
	if ($_->flag_base || $_->flag_installed && $_->flag_selected) {
	    #- keep track of package that should be kept selected.
	    $keep_selected{$_->id} = $_;
	    log::l("...keeping ".$_->fullname);
	} else {
	    #- deselect all packages except base or packages that need to be upgraded.
	    $_->set_flag_required(0);
	    $_->set_flag_requested(0);
	}
    }
    #- clean staten, in order to start with a brand new set...
    $packages->{state} = {};
    $packages->resolve_requested($packages->{rpmdb}, $packages->{state}, \%keep_selected,
				 callback_choices => \&packageCallbackChoices);
}

sub psUpdateHdlistsDeps {
    my ($prefix, $_method, $packages) = @_;
    my $need_copy = 0;

    #- check if current configuration is still up-to-date and do not need to be updated.
    foreach (values %{$packages->{mediums}}) {
	$_->{selected} || $_->{ignored} or next;
	my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp";
	my $hdlistf = "$urpmidir/hdlist.$_->{fakemedium}.cz" . ($_->{hdlist} =~ /\.cz2/ && "2");
	my $synthesisf = "$urpmidir/synthesis.hdlist.$_->{fakemedium}.cz" . ($_->{hdlist} =~ /\.cz2/ && "2");
	if (-s $hdlistf != $_->{hdlist_size}) {
	    install_any::getAndSaveFile("Mandrake/base/$_->{hdlist}", $hdlistf) or die "no $_->{hdlist} found";
	    symlinkf $hdlistf, "/tmp/$_->{hdlist}";
	    ++$need_copy;
	}
	if (-s $synthesisf != $_->{synthesis_hdlist_size}) {
	    install_any::getAndSaveFile("Mandrake/base/synthesis.$_->{hdlist}", $synthesisf);
	    -s $synthesisf > 0 or unlink $synthesisf;
	}
    }

    if ($need_copy) {
	#- this is necessary for urpmi.
	my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp";
	install_any::getAndSaveFile("Mandrake/base/$_", "$urpmidir/$_") foreach qw(rpmsrate);
    }
}

sub psUsingHdlists {
    my ($prefix, $method) = @_;
    my $listf = install_any::getFile('Mandrake/base/hdlists') or die "no hdlists found";
    my $packages = new URPM;

    #- add additional fields used by DrakX.
    @$packages{qw(count mediums)} = (0, {});

    #- parse hdlists file.
    my $medium = 1;
    foreach (<$listf>) {
	chomp;
	s/\s*#.*$//;
	/^\s*$/ and next;
	m/^\s*(noauto:)?(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die "invalid hdlist description \"$_\" in hdlists file";

	#- make sure the first medium is always selected!
	#- by default select all image.
	psUsingHdlist($prefix, $method, $packages, $2, $medium, $3, $4, !$1);

	++$medium;
    }

    log::l("psUsingHdlists read " . int(@{$packages->{depslist}}) .
	   " headers on " . int(keys %{$packages->{mediums}}) . " hdlists");

    $packages;
}

sub psUsingHdlist {
    my ($prefix, $method, $packages, $hdlist, $medium, $rpmsdir, $descr, $selected, $o_fhdlist) = @_;
    my $fakemedium = "$descr ($method$medium)";
    my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp";
    log::l("trying to read $hdlist for medium $medium");

    #- if the medium already exist, use it.
    $packages->{mediums}{$medium} and return $packages->{mediums}{$medium};

    my $m = { hdlist     => $hdlist,
	      method     => $method,
	      medium     => $medium,
	      rpmsdir    => $rpmsdir, #- where is RPMS directory.
	      descr      => $descr,
	      fakemedium => $fakemedium,
	      selected   => $selected, #- default value is only CD1, it is really the minimal.
	      ignored    => !$selected, #- keep track of ignored medium by DrakX.
	      pubkey     => [], #- all pubkey block here
	    };

    #- copy hdlist file directly to urpmi directory, this will be used
    #- for getting header of package during installation or after by urpmi.
    my $newf = "$urpmidir/hdlist.$fakemedium.cz" . ($hdlist =~ /\.cz2/ && "2");
    -e $newf and do { unlink $newf or die "cannot remove $newf: $!" };
    install_any::getAndSaveFile($o_fhdlist || "Mandrake/base/$hdlist", $newf) or do { unlink $newf; die "no $hdlist found" };
    $m->{hdlist_size} = -s $newf; #- keep track of size for post-check.
    symlinkf $newf, "/tmp/$hdlist";

    #- if $o_fhdlist is defined, this is preferable not to try to find the associated synthesis.
    my $newsf = "$urpmidir/synthesis.hdlist.$fakemedium.cz" . ($hdlist =~ /\.cz2/ && "2");
    unless ($o_fhdlist) {
	#- copy existing synthesis file too.
	install_any::getAndSaveFile("Mandrake/base/synthesis.$hdlist", $newsf);
	$m->{synthesis_hdlist_size} = -s $newsf; #- keep track of size for post-check.
	-s $newsf > 0 or unlink $newsf;
    }

    #- get all keys corresponding in the right pubkey file,
    #- they will be added in rpmdb later if not found.
    my $pubkey = install_any::getFile("Mandrake/base/pubkey" . ($hdlist =~ /hdlist(\S*)\.cz2?/ && $1));
    $m->{pubkey} = [ $packages->parse_armored_file($pubkey) ];

    #- integrate medium in media list, only here to avoid download error (update) to be propagated.
    $packages->{mediums}{$medium} = $m;

    #- avoid using more than one medium if Cd is not ejectable.
    #- but keep all medium here so that urpmi has the whole set.
    $m->{ignored} ||= $method eq 'cdrom' && $medium > 1 && !common::usingRamdisk();

    #- parse synthesis (if available) of directly hdlist (with packing).
    if ($m->{ignored}) {
	log::l("ignoring packages in $hdlist");
    } else {
	if (-s $newsf) {
	    ($m->{start}, $m->{end}) = $packages->parse_synthesis($newsf);
	} elsif (-s $newf) {
	    ($m->{start}, $m->{end}) = $packages->parse_hdlist($newf, 1);
	} else {
	    delete $packages->{mediums}{$medium};
	    unlink $newf;
	    $o_fhdlist or unlink $newsf;
	    die "fatal: no hdlist nor synthesis to read for $fakemedium";
	}
	$m->{start} > $m->{end} and do { delete $packages->{mediums}{$medium};
					 unlink $newf;
					 $o_fhdlist or unlink $newsf;
					 die "fatal: nothing read in hdlist or synthesis for $fakemedium" };
	log::l("read " . ($m->{end} - $m->{start} + 1) . " packages in $hdlist");
    }
    $m;
}

sub read_rpmsrate {
    my ($packages, $f) = @_;
    my $line_nb = 0;
    my $fatal_error;
    my (@l);
    local $_;
    while (<$f>) {
	$line_nb++;
	/\t/ and die "tabulations not allowed at line $line_nb\n";
	s/#.*//; # comments

	my ($indent, $data) = /(\s*)(.*)/;
	next if !$data; # skip empty lines

	@l = grep { $_->[0] < length $indent } @l;

	my @m = @l ? @{$l[-1][1]} : ();
	my ($t, $flag, @l2);
	while ($data =~ 
	       /^((
                   [1-5]
                   |
                   (?:            (?: !\s*)? [0-9A-Z_]+(?:".*?")?)
                   (?: \s*\|\|\s* (?: !\s*)? [0-9A-Z_]+(?:".*?")?)*
                  )
                  (?:\s+|$)
                 )(.*)/x) { #@")) {
	    ($t, $flag, $data) = ($1,$2,$3);
	    while ($flag =~ s,^\s*(("[^"]*"|[^"\s]*)*)\s+,$1,) {}
	    my $ok = 0;
	    $flag = join('||', grep { 
		if (my ($inv, $p) = /^(!)?HW"(.*)"/) {
		    ($inv xor detect_devices::matching_desc($p)) and $ok = 1;
		    0;
		} else {
		    1;
		}
	    } split '\|\|', $flag);
	    push @m, $ok ? 'TRUE' : $flag || 'FALSE';
	    push @l2, [ length $indent, [ @m ] ];
	    $indent .= $t;
	}
	if ($data) {
	    # has packages on same line
	    my $rate = find { /^\d$/ } @m or die sprintf qq(missing rate for "%s" at line %d (flags are %s)\n), $data, $line_nb, join('&&', @m);
	    foreach (split ' ', $data) {
		if ($packages) {
		    my $p = packageByName($packages, $_) or next;
		    my @m2 = map { if_(/locales-(.*)/, qq(LOCALES"$1")) } $p->requires_nosense;
		    my @m3 = ((grep { !/^\d$/ } @m), @m2);
		    if (member('INSTALL', @m3)) {
			member('NOCOPY', @m3) or push @{$packages->{needToCopy} ||= []}, $_;
			next; #- don't need to put INSTALL flag for a package.
		    }
		    if ($p->rate) {
			my @m4 = $p->rflags;
			if (@m3 > 1 || @m4 > 1) {
			    log::l("can't handle complicate flags for packages appearing twice ($_)");
			    $fatal_error++;
			}
			log::l("package $_ appearing twice with different rates ($rate != ".$p->rate.")") if $rate != $p->rate;
			$p->set_rate($rate);
			$p->set_rflags("$m3[0]||$m4[0]");
		    } else {
			$p->set_rate($rate);
			$p->set_rflags(@m3);
		    }
		} else {
		    print "$_ = ", join(" && ", @m), "\n";
		}
	    }
	    push @l, @l2;
	} else {
	    push @l, [ $l2[0][0], $l2[-1][1] ];
	}
    }
    $fatal_error and die "$fatal_error fatal errors in rpmsrate";
}

sub readCompssUsers {
    my ($meta_class) = @_;
    my (%compssUsers, @sorted, $l);

    my $file = 'Mandrake/base/compssUsers';
    my $f = $meta_class && install_any::getFile("$file.$meta_class") || install_any::getFile($file) or die "can't find $file";
    local $_;
    while (<$f>) {
	/^\s*$/ || /^#/ and next;
	s/#.*//;

	if (/^(\S.*)/) {
	    my $verbatim = $_;
	    my ($icon, $descr, $path, $selected);
	    /^(.*?)\s*\[path=(.*?)\](.*)/  and $_ = "$1$3", $path  = $2;
	    /^(.*?)\s*\[icon=(.*?)\](.*)/  and $_ = "$1$3", $icon  = $2;
	    /^(.*?)\s*\[descr=(.*?)\](.*)/ and $_ = "$1$3", $descr = $2;
	    /^(.*?)\s*\[selected=(.*?)\](.*)/ and $_ = "$1$3", $selected = $2;
	    $compssUsers{"$path|$_"} = { label => $_, verbatim => $verbatim,
					 path => $path, icons => $icon, descr => $descr,
					 if_(defined $selected, selected => [ split /[\s,]+/, $selected ]), flags => $l = [] };
	    push @sorted, "$path|$_";
	} elsif (/^\s+(.*?)\s*$/) {
	    push @$l, $1;
	}
    }
    \%compssUsers, \@sorted;
}
sub saveCompssUsers {
    my ($prefix, $packages, $compssUsers, $sorted) = @_;
    my $flat;
    foreach (@$sorted) {
	my @fl = @{$compssUsers->{$_}{flags}};
	my %fl; $fl{$_} = 1 foreach @fl;
	$flat .= $compssUsers->{$_}{verbatim};
	foreach my $p (@{$packages->{depslist}}) {
	    my @flags = $p->rflags;
	    if ($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags) {
		$flat .= sprintf "\t%d %s\n", $p->rate, $p->name;
	    }
	}
    }
    my $urpmidir = -w "$prefix/var/lib/urpmi" ? "$prefix/var/lib/urpmi" : "/tmp";
    output "$urpmidir/compssUsers.flat", $flat;
}

sub setSelectedFromCompssList {
    my ($packages, $compssUsersChoice, $min_level, $max_size) = @_;
    $compssUsersChoice->{TRUE} = 1; #- ensure TRUE is set
    my $nb = selectedSize($packages);
    foreach my $p (sort { $b->rate <=> $a->rate } @{$packages->{depslist}}) {
	my @flags = $p->rflags;
	next if 
	  !$p->rate || $p->rate < $min_level || 
	  any { !any { /^!(.*)/ ? !$compssUsersChoice->{$1} : $compssUsersChoice->{$_} } split('\|\|') } @flags;

	#- determine the packages that will be selected when
	#- selecting $p. the packages are not selected.
	my $state = $packages->{state} ||= {};

	my @l = $packages->resolve_requested($packages->{rpmdb}, $state, packageRequest($packages, $p) || {},
					     callback_choices => \&packageCallbackChoices);

	#- this enable an incremental total size.
	my $old_nb = $nb;
	foreach (@l) {
	    $nb += $_->size;
	}
	if ($max_size && $nb > $max_size) {
	    $nb = $old_nb;
	    $min_level = $p->rate;
	    $packages->disable_selected($packages->{rpmdb}, $state, @l);
	    last;
	}
    }
    log::l("setSelectedFromCompssList: reached size ", formatXiB($nb), ", up to indice $min_level (less than ", formatXiB($max_size), ")");
    log::l("setSelectedFromCompssList: ", join(" ", sort map { $_->name } grep { $_->flag_selected } @{$packages->{depslist}}));
    $min_level;
}

#- usefull to know the size it would take for a given min_level/max_size
#- just saves the selected packages, call setSelectedFromCompssList and restores the selected packages
sub saveSelected {
    my ($packages) = @_;
    my $state = delete $packages->{state};
    my @l = @{$packages->{depslist}};
    my @flags = map { ($_->flag_requested && 1) + ($_->flag_required && 2) + ($_->flag_upgrade && 4) } @l;
    [ $packages, $state, \@l, \@flags ];
}
sub restoreSelected {
    my ($packages, $state, $l, $flags) = @{$_[0]};
    $packages->{state} = $state;
    mapn { my ($pkg, $flag) = @_;
	   $pkg->set_flag_requested($flag & 1);
	   $pkg->set_flag_required($flag & 2);
	   $pkg->set_flag_upgrade($flag & 4);
         } $l, $flags;
}

sub computeGroupSize {
    my ($packages, $min_level) = @_;

    sub inside {
	my ($l1, $l2) = @_;
	my $i = 0;
	return if @$l1 > @$l2;
	foreach (@$l1) {
	    my $c;
	    while ($c = $l2->[$i++] cmp $_) {
		return if $c == 1 || $i > @$l2;
	    }
	}
	1;
    }

    sub or_ify {
	my ($first, @other) = @_;
	my @l = split('\|\|', $first);
	foreach (@other) {
	    @l = map {
		my $n = $_;
		map { "$_&&$n" } @l;
	    } split('\|\|');
	}
	#- HACK, remove LOCALES & CHARSET, too costly
	grep { !/LOCALES|CHARSET/ } @l;
    }
    sub or_clean {
	my (@l) = map { [ sort split('&&') ] } @_ or return '';
	my @r;
	B: while (@l) {
	    my $e = shift @l;
	    foreach (@r, @l) {
		inside($e, $_) and next B;
	    }
	    push @r, $e;
	}
	join("\t", map { join('&&', @$_) } @r);
    }
    my (%group, %memo, $slowpart_counter);

    foreach my $p (@{$packages->{depslist}}) {
	my @flags = $p->rflags;
	next if !$p->rate || $p->rate < $min_level;

	my $flags = join("\t", @flags = or_ify(@flags));
	$group{$p->name} = ($memo{$flags} ||= or_clean(@flags));

	#- determine the packages that will be selected when selecting $p.
	#- make a fast selection (but potentially erroneous).
	#- installed and upgrade flags must have been computed (see compute_installed_flags).
	my %newSelection;
	unless ($p->flag_available) {
	    my @l2 = $p->id;
	    my $id;

	    while (defined($id = shift @l2)) {
		exists $newSelection{$id} and next;
		$newSelection{$id} = undef;

		my $pkg = $packages->{depslist}[$id];
		foreach ($pkg->requires_nosense) {
		    my @choices = keys %{$packages->{provides}{$_} || {}};
		    if (@choices <= 1) {
			push @l2, @choices;
		    } elsif (! find { exists $newSelection{$_} } @choices) {
			my ($candidate_id, $prefer_id);
			foreach (@choices) {
			    ++$slowpart_counter;
			    my $ppkg = $packages->{depslist}[$_] or next;
			    $ppkg->flag_available and $prefer_id = $candidate_id = undef, last;
			    exists $preferred{$ppkg->name} and $prefer_id = $_;
			    $ppkg->name =~ /kernel-\d/ and $prefer_id ||= $_;
			    foreach my $l ($ppkg->requires_nosense) {
				/locales-/ or next;
				my $pppkg = packageByName($packages, $l) or next;
				$pppkg->flag_available and $prefer_id ||= $_;
			    }
			    $candidate_id = $_;
			}
			if (defined $prefer_id || defined $candidate_id) {
			    push @l2, defined $prefer_id ? $prefer_id : $candidate_id;
			}
		    }
		}
	    }
	}

	foreach (keys %newSelection) {
	    my $p = $packages->{depslist}[$_] or next;
	    my $s = $group{$p->name} || do {
		join("\t", or_ify($p->rflags));
	    };
	    next if length($s) > 120; # HACK, truncated too complicated expressions, too costly
	    my $m = "$flags\t$s";
	    $group{$p->name} = ($memo{$m} ||= or_clean(@flags, split("\t", $s)));
	}
    }
    my (%sizes, %pkgs);
    while (my ($k, $v) = each %group) {
	my $pkg = packageByName($packages, $k) or next;
	push @{$pkgs{$v}}, $k;
	$sizes{$v} += $pkg->size - $packages->{sizes}{$pkg->name};
    }
    log::l(sprintf "%s %dMB %s", $_, $sizes{$_} / sqr(1024), join(',', @{$pkgs{$_}})) foreach keys %sizes;
    \%sizes, \%pkgs;
}


sub openInstallLog {
    my ($prefix) = @_;

    my $f = "$prefix/root/drakx/install.log";
    open(my $LOG, ">> $f") ? log::l("opened $f") : log::l("Failed to open $f. No install log will be kept."); #-#
    CORE::select((CORE::select($LOG), $| = 1)[0]);
    c::rpmErrorSetCallback(fileno $LOG);
#-    c::rpmSetVeryVerbose();
    $LOG;
}

sub rpmDbOpen {
    my ($prefix, $o_rebuild_needed) = @_;

    if ($o_rebuild_needed) {
	if (my $pid = fork()) {
	    waitpid $pid, 0;
	    $? & 0xff00 and die "rebuilding of rpm database failed";
	} else {
	    log::l("rebuilding rpm database");
	    my $rebuilddb_dir = "$prefix/var/lib/rpmrebuilddb.$$";
	    -d $rebuilddb_dir and log::l("removing stale directory $rebuilddb_dir"), rm_rf($rebuilddb_dir);

	    URPM::DB::rebuild($prefix) or log::l("rebuilding of rpm database failed: " . c::rpmErrorString()), c::_exit(2);

	    c::_exit(0);
	}
    }

    my $db;
    if ($db = URPM::DB::open($prefix)) {
	log::l("opened rpm database for examining existing packages");
    } else {
	log::l("unable to open rpm database, using empty rpm db emulation");
	$db = new URPM;
    }

    $db;
}

sub rpmDbOpenForInstall {
    my ($prefix) = @_;

    #- there is a bug in rpm 4.2 where all operations for accessing rpmdb files are not
    #- always done using prefix, we need to setup a symlink in /var/lib/rpm for that ...
    unless (-e "/var/lib/rpm") {
	#- check if at some time a /var/lib directory has been made.
	if (-d "/var/lib") {
	    symlinkf "$prefix/var/lib/rpm", "/var/lib/rpm";
	} else {
	    symlinkf "$prefix/var/lib", "/var/lib";
	}
    }

    my $db = URPM::DB::open($prefix, 1);
    $db and log::l("opened rpmdb for writing in $prefix");
    $db;
}

sub cleanOldRpmDb {
    my ($prefix) = @_;
    my $failed;

    foreach (qw(Basenames Conflictname Group Name Packages Providename Requirename Triggername)) {
	-s "$prefix/var/lib/rpm/$_" or $failed = 'failed';
    }
    #- rebuilding has been successfull, so remove old rpm database if any.
    #- once we have checked the rpm4 db file are present and not null, in case
    #- of doubt, avoid removing them...
    unless ($failed) {
	log::l("rebuilding rpm database completed successfully");
	foreach (qw(conflictsindex.rpm fileindex.rpm groupindex.rpm nameindex.rpm packages.rpm
                    providesindex.rpm requiredby.rpm triggerindex.rpm)) {
	    -e "$prefix/var/lib/rpm/$_" or next;
	    log::l("removing old rpm file $_");
	    rm_rf("$prefix/var/lib/rpm/$_");
	}
    }
}

sub selectPackagesAlreadyInstalled {
    my ($packages, $_prefix) = @_;

    log::l("computing installed flags and size of installed packages");
    $packages->{sizes} = $packages->compute_installed_flags($packages->{rpmdb});
}

sub selectPackagesToUpgrade {
    my ($packages, $_prefix, $o_medium) = @_;

    #- check before that if medium is given, it should be valid.
    $o_medium && (! defined $o_medium->{start} || ! defined $o_medium->{end}) and return;

    log::l("selecting packages to upgrade");

    my $state = $packages->{state} ||= {};
    $state->{selected} = {};

    my %selection;
    $packages->request_packages_to_upgrade($packages->{rpmdb}, $state, \%selection,
					   requested => undef,
					   $o_medium ? (start => $o_medium->{start}, end => $o_medium->{end}) : (),
					  );
    log::l("resolving dependencies...");
    $packages->resolve_requested($packages->{rpmdb}, $state, \%selection,
				 callback_choices => \&packageCallbackChoices);
    log::l("...done");
}

sub allowedToUpgrade { $_[0] !~ /^(kernel|kernel22|kernel2.2|kernel-secure|kernel-smp|kernel-linus|kernel-linus2.2|hackkernel|kernel-enterprise)$/ }

sub installTransactionClosure {
    my ($packages, $id2pkg) = @_;
    my ($id, %closure, @l, $medium, $min_id, $max_id);

    @l = sort { $a <=> $b } keys %$id2pkg;

    #- search first usable medium (sorted by medium ordering).
    foreach (sort { $a->{start} <=> $b->{start} } values %{$packages->{mediums}}) {
	unless ($_->{selected}) {
	    #- this medium is not selected, but we have to make sure no package are left
	    #- in $id2pkg.
	    if (defined $_->{start} && defined $_->{end}) {
		foreach ($_->{start} .. $_->{end}) {
		    delete $id2pkg->{$_};
		}
	    }
	    #- anyway, examine the next one.
	    next;
	}
	if ($l[0] <= $_->{end}) {
	    #- we have a candidate medium, it could be the right one containing
	    #- the first package of @l...
	    $l[0] >= $_->{start} and $medium = $_, last;
	    #- ... but it could be necessary to find the first
	    #- medium containing package of @l.
	    foreach my $id (@l) {
		$id >= $_->{start} && $id <= $_->{end} and $medium = $_, last;
	    }
	    $medium and last;
	}
    }
    $medium or return (); #- no more medium usable -> end of installation by returning empty list.
    ($min_id, $max_id) = ($medium->{start}, $medium->{end});

    #- it is sure at least one package will be installed according to medium chosen.
    install_any::useMedium($medium->{medium});
    if ($medium->{method} eq 'cdrom') {
	my $pkg = $packages->{depslist}[$l[0]];

	#- force changeCD callback to be called from main process.
	install_any::getFile($pkg->filename, $medium->{descr});
	#- close opened handle above.
	install_any::getFile('XXX');
    }

    while (defined($id = shift @l)) {
	my @l2 = $id;

	while (defined($id = shift @l2)) {
	    exists $closure{$id} and next;
	    $id >= $min_id && $id <= $max_id or next;
	    $closure{$id} = undef;

	    my $pkg = $packages->{depslist}[$id];
	    foreach ($pkg->requires_nosense) {
		foreach (keys %{$packages->{provides}{$_} || {}}) {
		    if ($id2pkg->{$_}) {
			push @l2, $_;
			last;
		    }
		}
	    }
	}

	keys %closure >= $limitMinTrans and last;
    }

    map { delete $id2pkg->{$_} } grep { $id2pkg->{$_} } sort { $a <=> $b } keys %closure;
}

sub installCallback {
#    my $msg = shift;
#    log::l($msg .": ". join(',', @_));
}

sub install($$$;$$) {
    my ($prefix, $isUpgrade, $toInstall, $packages) = @_;
    my %packages;

    delete $packages->{rpmdb}; #- make sure rpmdb is closed before.

    return if $::g_auto_install || !scalar(@$toInstall);

    #- for root loopback'ed /boot
    my $loop_boot = loopback::prepare_boot();

    #- first stage to extract some important informations
    #- about the packages selected. this is used to select
    #- one or many transaction.
    my ($total, $nb);
    foreach my $pkg (@$toInstall) {
	$packages{$pkg->id} = $pkg;
	$nb++;
	$total += to_int($pkg->size); #- do not correct for upgrade!
    }

    log::l("pkgs::install $prefix");
    log::l("pkgs::install the following: ", join(" ", map { $_->name } values %packages));
    eval { fs::mount("/proc", "$prefix/proc", "proc", 0) } unless -e "$prefix/proc/cpuinfo";

    URPM::read_config_files();
    my $LOG = openInstallLog($prefix);

    #- do not modify/translate the message used with installCallback since
    #- these are keys during progressing installation, or change in other
    #- place (install_steps_gtk.pm,...).
    installCallback($packages, 'user', undef, 'install', $nb, $total);

    do {
	my @transToInstall = installTransactionClosure($packages, \%packages);
	$nb = values %packages;

	#- added to exit typically after last media unselected.
	if ($nb == 0 && scalar(@transToInstall) == 0) {
	    cleanHeaders($prefix);

	    loopback::save_boot($loop_boot);
	    return;
	}

	#- extract headers for parent as they are used by callback.
	extractHeaders($prefix, \@transToInstall, $packages->{mediums});

	my ($retry_pkg, $retry_count);
	while ($retry_pkg || @transToInstall) {
	    local (*INPUT, *OUTPUT); pipe INPUT, OUTPUT;
	    if (my $pid = fork()) {
		close OUTPUT;
		my $error_msg = '';
		local $_;
		while (<INPUT>) {
		    if (/^die:(.*)/) {
			$error_msg = $1;
			last;
		    } else {
			chomp;
			my @params = split ":";
			if ($params[0] eq 'close') {
			    my $pkg = $packages->{depslist}[$params[1]];
			    #- update flag associated to package.
			    $pkg->set_flag_installed(1);
			    $pkg->set_flag_upgrade(0);
			    #- update obsoleted entry.
			    foreach (keys %{$packages->{state}{rejected}}) {
				if (exists $packages->{state}{rejected}{$_}{closure}{$pkg->fullname}) {
				    delete $packages->{state}{rejected}{$_}{closure}{$pkg->fullname};
				    %{$packages->{state}{rejected}{$_}{closure}} or delete $packages->{state}{rejected}{$_};
				}
			    }
			} else {
			    installCallback($packages, @params);
			}
		    }
		}
		$error_msg and $error_msg .= join('', <INPUT>);
		waitpid $pid, 0;
		close INPUT;
		$error_msg and die $error_msg;
	    } else {
		#- child process will run each transaction.
		$SIG{SEGV} = sub { log::l("segmentation fault on transactions"); c::_exit(0) };
		my @prev_pids = grep { /^\d+$/ } all("/proc");
		close INPUT;
		select((select(OUTPUT), $| = 1)[0]);
		if ($::testing) {
		    my $size_typical = $nb ? int($total/$nb) : 0;
		    foreach (@transToInstall) {
			log::l("i would install ", $_->name, " now");
			my $id = $_->id;
			print OUTPUT "inst:$id:start:0:$size_typical\ninst:$id:progress:0:$size_typical\nclose:$id\n";
		    }
		} else { eval {
		    my $db = rpmDbOpenForInstall($prefix) or die "error opening RPM database: ", c::rpmErrorString();
		    my $trans = $db->create_transaction($prefix);
		    if ($retry_pkg) {
			log::l("opened rpm database for retry transaction of 1 package only");
			$trans->add($retry_pkg, $isUpgrade && allowedToUpgrade($retry_pkg->name));
		    } else {
			log::l("opened rpm database for transaction of " . int(@transToInstall) .
			       " new packages, still $nb after that to do");
			$trans->add($_, $isUpgrade && allowedToUpgrade($_->name))
			  foreach @transToInstall;
		    }

		    my @checks = $trans->check; @checks and log::l("check failed : ".join("\n               ", @checks));
		    $trans->order or die "error ordering package list: " . c::rpmErrorString();
		    $trans->set_script_fd(fileno $LOG);

		    log::l("rpm transactions start");
		    my $fd; #- since we return the "fileno", perl doesn't know we're still using it, and so closes it, and :-(
		    my @probs = $trans->run($packages, force => 1, nosize => 1, callback_open => sub {
						my ($data, $_type, $id) = @_;
						my $pkg = defined $id && $data->{depslist}[$id];
						my $medium = packageMedium($packages, $pkg);
						my $f = $pkg && $pkg->filename;
						print $LOG "$f\n";
						$fd = install_any::getFile($f, $medium->{descr});
						$fd ? fileno $fd : -1;
					    }, callback_close => sub {
						my ($data, $_type, $id) = @_;
						my $pkg = defined $id && $data->{depslist}[$id] or return;
						my $check_installed;
						$db->traverse_tag('name', [ $pkg->name ], sub {
								      my ($p) = @_;
								      $check_installed ||= $pkg->compare_pkg($p) == 0;
								  });
						$check_installed and print OUTPUT "close:$id\n";
					    }, callback_inst => sub {
						my ($_data, $type, $id, $subtype, $amount, $total) = @_;
						print OUTPUT "$type:$id:$subtype:$amount:$total\n";
					    });
		    log::l("transactions done, now trying to close still opened fd");
		    install_any::getFile('XXX'); #- close still opened fd.

		    @probs and die "installation of rpms failed:\n  ", join("\n  ", @probs);
		}; $@ and print OUTPUT "die:$@\n" }
		close OUTPUT;

		#- now search for child process which may be locking the cdrom, making it unable to be ejected.
		my @allpids = grep { /^\d+$/ } all("/proc");
		my %ppids;
		foreach (@allpids) {
		    push @{$ppids{$1 || 1}}, $_
		      if cat_("/proc/$_/status") =~ /^PPid:\s+(\d+)/m;
		}
		my @killpid = difference2(\@allpids, [ @prev_pids, 
						       difference2([ $$, hashtree2list(getppid(), \%ppids) ],
								   [ hashtree2list($$, \%ppids) ]) ]);
	
		if (@killpid) {
		    foreach (@killpid) {
			my ($prog, @para) = split("\0", cat_("/proc/$_/cmdline"));
			log::l("ERROR: DrakX should not have to clean the packages shit. Killing $_: " . join(' ', $prog, @para) . ".") if $prog ne '/usr/lib/gconfd-2';
		    }
		    kill 15, @killpid;
		    sleep 2;
		    kill 9, @killpid;
		}

		c::_exit(0);
	    }

	    #- if we are using a retry mode, this means we have to split the transaction with only
	    #- one package for each real transaction.
	    if (!$retry_pkg) {
		my @badPackages;
		foreach (@transToInstall) {
		    if (!$_->flag_installed && packageMedium($packages, $_)->{selected} && !exists($ignoreBadPkg{$_->name})) {
			push @badPackages, $_;
			log::l("bad package ".$_->fullname);
		    } else {
			$_->free_header;
		    }
		}
		@transToInstall = @badPackages;
		#- if we are in retry mode, we have to fetch only one package at a time.
		$retry_pkg = shift @transToInstall;
		$retry_count = 3;
	    } else {
		my $name;
		if (!$retry_pkg->flag_installed && packageMedium($packages, $retry_pkg)->{selected} && !exists($ignoreBadPkg{$retry_pkg->name})) {
		    if ($retry_count) {
			log::l("retrying installing package ".$retry_pkg->fullname." alone in a transaction");
			--$retry_count;
		    } else {
			log::l("bad package " . $retry_pkg->fullname . " unable to be installed");
			$retry_pkg->set_flag_requested(0);
			$retry_pkg->set_flag_required(0);
			#- keep name to display (problem of displaying ?).
			$name = $retry_pkg->fullname;
			$retry_pkg->free_header;
			$retry_pkg = shift @transToInstall;
			$retry_count = 3;
			#- now it could be safe to display error message ?
			cdie("error installing package list: $name");
		    }
		}
		#- check if name has been set (so that the following code has been executed already).
		if (!$name && ($retry_pkg->flag_installed || !$retry_pkg->flag_selected)) {
		    $retry_pkg->free_header;
		    $retry_pkg = shift @transToInstall;
		    $retry_count = 3;
		}
	    }
	}
	cleanHeaders($prefix);
    } while $nb > 0 && !$pkgs::cancel_install;

    log::l("closing install.log file");
    close $LOG;

    cleanHeaders($prefix);

    loopback::save_boot($loop_boot);
}

sub remove {
    my ($prefix, $toRemove, $packages) = @_;

    delete $packages->{rpmdb}; #- make sure rpmdb is closed before.

    return if $::g_auto_install || !@{$toRemove || []};

    my $db = rpmDbOpenForInstall($prefix) or die "error opening RPM database: ", c::rpmErrorString();
    my $trans = $db->create_transaction($prefix);

    foreach my $p (@$toRemove) {
	#- stuff remove all packages that matches $p, not a problem since $p has name-version-release format.
	$trans->remove($p);
    }

    eval { fs::mount("/proc", "$prefix/proc", "proc", 0) } unless -e "$prefix/proc/cpuinfo";

    #- we are not checking depends since it should come when
    #- upgrading a system. although we may remove some functionalities ?

    #- do not modify/translate the message used with installCallback since
    #- these are keys during progressing installation, or change in other
    #- place (install_steps_gtk.pm,...).
    installCallback($db, 'user', undef, 'remove', scalar @$toRemove);

    if (my @probs = $trans->run(undef, force => 1)) {
	die "removing of old rpms failed:\n  ", join("\n  ", @probs);
    } else {
	#- clean ask_remove according to package marked to be deleted.
	if ($packages) {
	    foreach my $p (@$toRemove) {
		delete $packages->{state}{ask_remove}{$p};
	    }
	}
    }

    #- keep in mind removing of these packages by cleaning $toRemove.
    @{$toRemove || []} = ();
}

sub selected_leaves {
    my ($packages) = @_;
    my @leaves;

    foreach (@{$packages->{depslist}}) {
	$_->flag_requested && !$_->flag_base and push @leaves, $_->name;
    }
    \@leaves;
}

sub naughtyServers_list {
    my ($quiet) = @_;

    my @_old_81 = qw(
freeswan
);
    my @_old_82 = qw(
vnc-server
postgresql-server
);

    my @_old_92 = qw(
postfix ypbind bind ibod
);

    my @_removed_92 = qw(
mcserv
samba
lpr
);

    my @_moved_to_contrib_92 = qw(
boa
LPRng
wu-ftpd
am-utils
);

    my @new_80 = qw(
jabber
MySQL
am-utils
apache
boa
cfengine
cups
drakxtools-http
finger-server
imap
leafnode
lpr
ntp
openssh-server
pidentd
proftpd
rwall
rwho
squid
webmin
wu-ftpd
);

    my @new_81 = qw(
apache-mod_perl
ftp-server-krb5
mcserv
samba
telnet-server-krb5
ypserv
);

    my @new_82 = qw(
LPRng
httpd-naat
inn
netatalk
nfs-utils
rusers-server
samba-swat
tftp-server
ucd-snmp
);

    my @new_92 = qw(
DansGuardian
MySQL-Max
clusternfs
gkrellm-server
lisa
mon
net-snmp
openldap-servers
samba-server
saned
vsftpd
);

    my @not_warned = qw(
nfs-utils-clients
portmap
); # X server

    (@new_80, @new_81, @new_82, @new_92, if_(!$quiet, @not_warned));
}

sub naughtyServers {
    my ($packages) = @_;

    grep {
	my $p = packageByName($packages, $_);
	$p && $p->flag_selected;
    } naughtyServers_list('quiet');
}

sub hashtree2list {
    my ($e, $h) = @_;
    my @l;
    my @todo = $e;
    while (@todo) {
	my $e = shift @todo;
	push @l, $e;
	push @todo, @{$h->{$e} || []};
    }
    @l;
}

1;
6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394
# Copyright (C) 2004 Free Software Foundation, Inc.
# Omi Azad <omi@altruists.org>, 2004.
# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004.
# Progga <progga@BengaLinux.Org>, 2004.
# Jamil Ahmed <jamil@BengaLinux.Org>, 2004, 2005.
# Samia <mailsamia2001@yahoo.com>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: DrakX HEAD\n"
"POT-Creation-Date: 2013-11-30 19:21+0100\n"
"PO-Revision-Date: 2005-03-19 23:18+0600\n"
"Last-Translator: Samia <mailsamia2001@yahoo.com>\n"
"Language-Team: Bangla <mdk-translation@bengalinux.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: any.pm:255 any.pm:966 diskdrake/interactive.pm:645
#: diskdrake/interactive.pm:869 diskdrake/interactive.pm:931
#: diskdrake/interactive.pm:1049 diskdrake/interactive.pm:1279
#: diskdrake/interactive.pm:1337 do_pkgs.pm:242 do_pkgs.pm:287
#: harddrake/sound.pm:270 interactive.pm:588 pkgs.pm:287
#, c-format
msgid "Please wait"
msgstr "অনুগ্রহ করে অপেক্ষা করুন"

#: any.pm:255
#, c-format
msgid "Bootloader installation in progress"
msgstr "বুট লোডার ইনস্টল করা হচ্ছে"

#: any.pm:266
#, c-format
msgid ""
"LILO wants to assign a new Volume ID to drive %s.  However, changing\n"
"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
"error.\n"
"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
"\n"
"Assign a new Volume ID?"
msgstr ""
"LILO %s ড্রাইভে একটি নতুন ভলিউম আই-ডি দিতে চায়। যাই হোক, উইন্ডোজ এন-টি,\n"
"২০০০, অথবা এক্স-পি'র বুট ডিস্কের ভলিউম আই-ডি পরিবর্তনে এগুলো একটি দুর্ভাগ্যজনক "
"উইন্ডোজ সমস্যা।\n"
"নতুন একটি ভলিউম আই-ডি দেয়া হবে?"

#: any.pm:277
#, c-format
msgid "Installation of bootloader failed. The following error occurred:"
msgstr "Bootloader ইনষ্টলেশন ব্যর্থ হয়েছে। এ সমস্ত ত্রুটি ঘটেছে:"

#: any.pm:283
#, c-format
msgid ""
"You may need to change your Open Firmware boot-device to\n"
" enable the bootloader.  If you do not see the bootloader prompt at\n"
" reboot, hold down Command-Option-O-F at reboot and enter:\n"
" setenv boot-device %s,\\\\:tbxi\n"
" Then type: shut-down\n"
"At your next boot you should see the bootloader prompt."
msgstr ""
"বুট-লোডার সক্রিয় করার আপনাকে আপনার ওপেন ফার্মওয়্যার বুট-যন্ত্র পরিবর্তন\n"
" করতে হতে পারে। যদি রিবুট করার পর কোন বুটলোডার প্রম্প্‌ট না দেখেন, তাহলে\n"
" রিবুটের কমান্ড অপশনে যান এবং টাইপ করুন: setenv boot-device %s,\\\\:tbxi\n"
" তারপর টাইপ করুন: shut-down\n"
"পরবর্তীতে বুট হওয়ার সময় বুটলোডার প্রম্প্‌ট দেখতে পাওয়া উচিত।"

#: any.pm:323
#, c-format
msgid ""
"You decided to install the bootloader on a partition.\n"
"This implies you already have a bootloader on the hard disk drive you boot "
"(eg: System Commander).\n"
"\n"
"On which drive are you booting?"
msgstr ""
"আপনি একটি পার্টিশনে বুটলোডার ইনস্টল করার সিন্ধান্ত নিয়েছেন।\n"
"আপনাকে জানানো যাচ্ছে যে যেই হার্ড ড্রাইভ থেকে বুট করেন সেটাতে আগে থেকেই বুটলোডার "
"আছে\n"
"(যেমন: সিস্টেম কমান্ডার)।\n"
"\n"
"আপনি কোন ড্রাইভ থেকে বুট করছেন?"

#: any.pm:334
#, fuzzy, c-format
msgid "Bootloader Installation"
msgstr "বুট লোডার ইনস্টল করা হচ্ছে"

#: any.pm:338
#, c-format
msgid "Where do you want to install the bootloader?"
msgstr "আপনি bootloader টি কোথায় ইনস্টল করতে চান?"

#: any.pm:362
#, fuzzy, c-format
msgid "First sector (MBR) of drive %s"
msgstr "ড্রাইভের প্রথম সেক্টর (MBR)"

#: any.pm:364
#, c-format
msgid "First sector of drive (MBR)"
msgstr "ড্রাইভের প্রথম সেক্টর (MBR)"

#: any.pm:366
#, c-format
msgid "First sector of the root partition"
msgstr "রুট পার্টিশনের প্রথম সেক্টর"

#: any.pm:368
#, c-format
msgid "On Floppy"
msgstr "ফ্লপি তে"

#: any.pm:370 pkgs.pm:283 ugtk2.pm:526
#, c-format
msgid "Skip"
msgstr "উপেক্ষা"

#: any.pm:405
#, c-format
msgid "Boot Style Configuration"
msgstr "বুটের ধরণ কনফিগারেশন"

#: any.pm:420 any.pm:453 any.pm:454
#, c-format
msgid "Bootloader main options"
msgstr "বুটলোডারের আসল অপশনসমুহ"

#: any.pm:424
#, c-format
msgid "Bootloader"
msgstr "বুটলোডার"

#: any.pm:425 any.pm:457
#, c-format
msgid "Bootloader to use"
msgstr "ব্যবহারের জন্য বুটলোডার"

#: any.pm:428 any.pm:460
#, c-format
msgid "Boot device"
msgstr "বুট ডিভাইস"

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

#: any.pm:432
#, c-format
msgid "Delay before booting default image"
msgstr "স্বাভাবিক ইমেজ লোড করার আগে দেরী করো"

#: any.pm:433
#, c-format
msgid "Enable ACPI"
msgstr "ACPI এনেবল করো"

#: any.pm:434
#, fuzzy, c-format
msgid "Enable SMP"
msgstr "ACPI এনেবল করো"

#: any.pm:435
#, fuzzy, c-format
msgid "Enable APIC"
msgstr "ACPI এনেবল করো"

#: any.pm:437
#, fuzzy, c-format
msgid "Enable Local APIC"
msgstr "ACPI এনেবল করো"

#: any.pm:438 security/level.pm:63
#, c-format
msgid "Security"
msgstr "সিকিউরিটি"

#: any.pm:439 any.pm:901 any.pm:920 authentication.pm:249
#: diskdrake/smbnfs_gtk.pm:181
#, c-format
msgid "Password"
msgstr "পাসওয়ার্ড"

#: any.pm:442 authentication.pm:260
#, c-format
msgid "The passwords do not match"
msgstr "পাসওয়ার্ডটি মিলছে না"

#: any.pm:442 authentication.pm:260 diskdrake/interactive.pm:1512
#, c-format
msgid "Please try again"
msgstr "অনুগ্রহ করে আবার চেষ্ট করুন"

#: any.pm:444
#, fuzzy, c-format
msgid "You cannot use a password with %s"
msgstr "আপনি %s মাউন্ট পয়েন্টের জন্য একটি এনক্রিপটেড ফাইল ব্যবহার করতে পারবেন"

#: any.pm:448 any.pm:904 any.pm:922 authentication.pm:250
#, c-format
msgid "Password (again)"
msgstr "পাসওয়ার্ড (পুনরায়)"

#: any.pm:459
#, c-format
msgid "Init Message"
msgstr "Init বার্তা"

#: any.pm:461
#, c-format
msgid "Open Firmware Delay"
msgstr "বিলম্বিত ওপেন ফার্মওয়্যার"

#: any.pm:462
#, c-format
msgid "Kernel Boot Timeout"
msgstr "কার্নাল বুটের সময় অতিক্রান্ত হয়েছে"

#: any.pm:463
#, c-format
msgid "Enable CD Boot?"
msgstr "সিডি বুট সক্রিয় করা হবে?"

#: any.pm:464
#, c-format
msgid "Enable OF Boot?"
msgstr "OF বুট সক্রিয় করা হবে?"

#: any.pm:465
#, c-format
msgid "Default OS?"
msgstr "স্বাভাবিক অবস্থায় ব্যবহৃত OS?"

#: any.pm:539
#, c-format
msgid "Image"
msgstr "ইমেজ"

#: any.pm:540 any.pm:554
#, c-format
msgid "Root"
msgstr "Root"

#: any.pm:541 any.pm:567
#, c-format
msgid "Append"
msgstr "যুক্ত"

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

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

#: any.pm:547
#, c-format
msgid "Video mode"
msgstr "ভিডিওর ধরণ"

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

#: any.pm:550
#, c-format
msgid "Network profile"
msgstr "নেটওয়ার্ক প্রোফাইল"

#: any.pm:559 any.pm:564 any.pm:566 diskdrake/interactive.pm:411
#, c-format
msgid "Label"
msgstr "শিরোনাম"

#: any.pm:561 any.pm:569 harddrake/v4l.pm:438
#, c-format
msgid "Default"
msgstr "স্বাভাবিক"

#: any.pm:568
#, c-format
msgid "NoVideo"
msgstr "কোন ভিডিও নেই"

#: any.pm:579
#, c-format
msgid "Empty label not allowed"
msgstr "খালি শিরোনাম গ্রহণযোগ্য নয়"

#: any.pm:580
#, c-format
msgid "You must specify a kernel image"
msgstr "আপনাকে অবশ্যই একটি কার্নালের ইমেজ নির্ধারণ করে দিতে হবে"

#: any.pm:580
#, c-format
msgid "You must specify a root partition"
msgstr "আপনাকে অবশ্যই একটি রুট পার্টিশন নির্ধারণ করে দিতে হবে"

#: any.pm:581
#, c-format
msgid "This label is already used"
msgstr "এই শিরোনামটি আগেই ব্যবহার হয়েছে"

#: any.pm:599
#, c-format
msgid "Which type of entry do you want to add?"
msgstr "আপনি কি ধরণের এন্ট্রি যোগ করতে চান?"

#: any.pm:600
#, c-format
msgid "Linux"
msgstr "লিনাক্স"

#: any.pm:600
#, c-format
msgid "Other OS (SunOS...)"
msgstr "অন্যান্য OS (SunOS...)"

#: any.pm:601
#, c-format
msgid "Other OS (MacOS...)"
msgstr "অন্যান্য OS (MacOS...)"

#: any.pm:601
#, c-format
msgid "Other OS (Windows...)"
msgstr "অন্যান্য OS (Windows...)"

#: any.pm:648
#, fuzzy, c-format
msgid "Bootloader Configuration"
msgstr "বুটের ধরণ কনফিগারেশন"

#: any.pm:649
#, c-format
msgid ""
"Here are the entries on your boot menu so far.\n"
"You can create additional entries or change the existing ones."
msgstr ""
"এপর্যন্ত আপনার বুটমেনুর এন্ট্রিগুলি এখানে।\n"
"আপনি অন্যান্য এন্ট্রি তৈরী করতে পারেন অথবা আগের এন্ট্রিগুলি পরিবর্তন করতে পারেন।"

#: any.pm:860
#, c-format
msgid "access to X programs"
msgstr "X প্রোগ্রামসমূহে প্রবেশাধিকার"

#: any.pm:861
#, c-format
msgid "access to rpm tools"
msgstr "RPM টুলে প্রবেশাধিকার"

#: any.pm:862
#, c-format
msgid "allow \"su\""
msgstr "\"su\" গ্রহন করো"

#: any.pm:863
#, c-format
msgid "access to administrative files"
msgstr "এডমিনিষ্ট্রেশন সংক্রান্ত ফাইলে প্রবেশাধিকার"

#: any.pm:864
#, c-format
msgid "access to network tools"
msgstr "নেটওয়ার্ক টুলে প্রবেশাধিকার"

#: any.pm:865
#, c-format
msgid "access to compilation tools"
msgstr "compilation টুলে প্রবেশাধিকার"

#: any.pm:871
#, c-format
msgid "(already added %s)"
msgstr "(%s আগেই যোগ করা হয়েছে)"

#: any.pm:877
#, c-format
msgid "Please give a user name"
msgstr "অনুগ্রহ করে একটি উইজার নেম দিন"

#: any.pm:878
#, fuzzy, c-format
msgid ""
"The user name must start with a lower case letter followed by only lower "
"cased letters, numbers, `-' and `_'"
msgstr "ইউজারনেমে অবশ্যই ছোটহাতের অক্ষর, নম্বর \"-\" এবং \"_\" থাকতে হবে"

#: any.pm:879
#, c-format
msgid "The user name is too long"
msgstr "ইউজারনেমটি অনেক বড়"

#: any.pm:880
#, c-format
msgid "This user name has already been added"
msgstr "এই ইউজারনেমটি এর আগেই যোগ করা হয়েছে"

#: any.pm:886 any.pm:924
#, c-format
msgid "User ID"
msgstr "ব্যবহারকারীর ID"

#: any.pm:886 any.pm:925
#, c-format
msgid "Group ID"
msgstr "দলের ID"

#: any.pm:887
#, fuzzy, c-format
msgid "%s must be a number"
msgstr "অপশন %s-কে অবশ্যই একটি সংখ্যা হতে হবে!"

#: any.pm:888
#, c-format
msgid "%s should be above 500. Accept anyway?"
msgstr ""

#: any.pm:892
#, fuzzy, c-format
msgid "User management"
msgstr "ব্যবহারকারীনাম"

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

#: any.pm:900 authentication.pm:236
#, c-format
msgid "Set administrator (root) password"
msgstr "আ্যাডমিনিস্ট্রেটর (root) পাসওয়ার্ড সেট করুন"

#: any.pm:906
#, fuzzy, c-format
msgid "Enter a user"
msgstr ""
"একটি ইউজার প্রবেশ করান\n"
"%s"

#: any.pm:908
#, c-format
msgid "Icon"
msgstr "আইকন"

#: any.pm:911
#, c-format
msgid "Real name"
msgstr "আসল নাম"

#: any.pm:918
#, c-format
msgid "Login name"
msgstr "লগ-ইন নাম"

#: any.pm:923
#, c-format
msgid "Shell"
msgstr "শেল"

#: any.pm:966
#, c-format
msgid "Please wait, adding media..."
msgstr "মাধ্যম যোগ করা হচ্ছে, অনুগ্রহ করে অপেক্ষা করুন..."

#: any.pm:1011 security/l10n.pm:14
#, c-format
msgid "Autologin"
msgstr "সয়ংক্রিয় লগ-ইন"

#: any.pm:1012
#, c-format
msgid "I can set up your computer to automatically log on one user."
msgstr ""
"আমি আপনার কম্পিউটারকে সয়ংক্রিয়ভাবে একটি ইউজারকে লগইন করার জন্য সেট করতে পারি।"

#: any.pm:1013
#, fuzzy, c-format
msgid "Use this feature"
msgstr "এই সুবিধাটি কি আপনি ব্যবহার করতে চান?"

#: any.pm:1014
#, c-format
msgid "Choose the default user:"
msgstr "স্বাভাবিক ব্যবহারকারীকে পছন্দ করুন:"

#: any.pm:1015
#, c-format
msgid "Choose the window manager to run:"
msgstr "রান করার জন্য উইন্ডো ম্যানেজারকে পছন্দ করুন:"

#: any.pm:1026 any.pm:1040 any.pm:1108
#, c-format
msgid "Release Notes"
msgstr "সংস্করণ মন্তব্য"

#: any.pm:1047 any.pm:1397 interactive/gtk.pm:821
#, c-format
msgid "Close"
msgstr "বন্ধ"

#: any.pm:1094
#, c-format
msgid "License agreement"
msgstr "লাইসেন্স এগ্রিমেন্ট"

#: any.pm:1096 diskdrake/dav.pm:26 mygtk2.pm:1229
#, c-format
msgid "Quit"
msgstr "বাহির"

#: any.pm:1103
#, fuzzy, c-format
msgid "Do you accept this license ?"
msgstr "আপনার কি আরও একটি আছে?"

#: any.pm:1104
#, c-format
msgid "Accept"
msgstr "গ্রহণ"

#: any.pm:1104
#, c-format
msgid "Refuse"
msgstr "অস্বীকার"

#: any.pm:1130 any.pm:1193
#, c-format
msgid "Please choose a language to use"
msgstr "ব্যবহার করার জন্য একটি ভাষা পছন্দ করুন"

#: any.pm:1158
#, fuzzy, c-format
msgid ""
"%s can support multiple languages. Select\n"
"the languages you would like to install. They will be available\n"
"when your installation is complete and you restart your system."
msgstr ""
"Mageia বাভিন্ন ভাষা সমর্থন করে।\n"
"আপনি যেই ভাষাটি ইনস্টল করতে চান তা পছন্দ করুন।\n"
"ইনস্টল শেষে রি-স্টার্ট করার পরে সেই ভাষাগুলি উপলব্ধ হবে।"

#: any.pm:1160 fs/partitioning_wizard.pm:180
#, c-format
msgid "Mageia"
msgstr "ম্যান্ড্রিব লিনাক্স (Mageia)"

#: any.pm:1161
#, fuzzy, c-format
msgid "Multiple languages"
msgstr "সমস্থ ভাষা"

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

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

#: any.pm:1172
#, c-format
msgid "All languages"
msgstr "সমস্থ ভাষা"

#: any.pm:1194
#, c-format
msgid "Language choice"
msgstr "পছন্দনীয় ভাষা"

#: any.pm:1248
#, c-format
msgid "Country / Region"
msgstr "দেশ / স্থান"

#: any.pm:1249
#, c-format
msgid "Please choose your country"
msgstr "অনুগ্রহ করে তোমার দেশ পছন্দ করো।"

#: any.pm:1251
#, c-format
msgid "Here is the full list of available countries"
msgstr "উপলব্ধ সমস্থ দেশের নাম এখানে রয়েছে"

#: any.pm:1252
#, c-format
msgid "Other Countries"
msgstr "অন্যান্য দেশসমুহ"

#: any.pm:1252 interactive.pm:489 interactive/gtk.pm:445
#, c-format
msgid "Advanced"
msgstr "উন্নত"

#: any.pm:1258
#, c-format
msgid "Input method:"
msgstr "ইনপুট মাধ্যম:"

#: any.pm:1261
#, c-format
msgid "None"
msgstr "একটিও না"

#: any.pm:1342
#, c-format
msgid "No sharing"
msgstr "শেয়ারিং নেই"

#: any.pm:1342
#, c-format
msgid "Allow all users"
msgstr "সব ব্যবহারকারীদের গ্রহণ করো"

#: any.pm:1342
#, c-format
msgid "Custom"
msgstr "ব্যবস্থা"

#: any.pm:1346
#, c-format
msgid ""
"Would you like to allow users to share some of their directories?\n"
"Allowing this will permit users to simply click on \"Share\" in konqueror "
"and nautilus.\n"
"\n"
"\"Custom\" permit a per-user granularity.\n"
msgstr "আপনি কি ব্যবহারকারীদের কিছু ডিরেক্টরি শেয়ার করতে দিতে চান?\n"

#: any.pm:1358
#, c-format
msgid ""
"NFS: the traditional Unix file sharing system, with less support on Mac and "
"Windows."
msgstr ""
"NFS: ঐতিহ্যগত ইউনিক্স ফাইল শেয়ারিং সিস্টেম, যা ম্যাক এবং উইন্ডোজে স্বল্প সমর্থিত।"

#: any.pm:1361
#, c-format
msgid ""
"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
"systems."
msgstr ""
"SMB: উইন্ডোজ, ম্যাক ও-এস এক্স এবং অনেক আধুনিক লিনাক্স সিস্টেম কর্তৃক ব্যবহৃত ফাইল "
"শেয়ারিং সিস্টেম।"

#: any.pm:1369
#, c-format
msgid ""
"You can export using NFS or SMB. Please select which you would like to use."
msgstr ""
"আপনি NFS বা SMB ব্যবহার করে ফাইল পাঠাতে পারেন। যেটি আপনি ব্যবহার করতে চান "
"অনুগ্রহ করে নির্বাচন করুন।"

#: any.pm:1397
#, c-format
msgid "Launch userdrake"
msgstr "userdrake শুরু করো"

#: any.pm:1399
#, c-format
msgid ""
"The per-user sharing uses the group \"fileshare\". \n"
"You can use userdrake to add a user to this group."
msgstr ""
"প্রত্যেক ব্যবহারকারী গ্রুপের \"ফাইল ভাগাভাগি\" ভাগাভাগি করতে পারেন। \n"
"এই গ্রুপে একজণ ব্যবহারকারী যোগ করতে আপনি userdrake ব্যবহার করতে পারেন।"

#: any.pm:1506
#, fuzzy, c-format
msgid ""
"You need to logout and back in again for changes to take effect. Press OK to "
"logout now."
msgstr "পরিবর্তন কার্যকর করার পূর্বে আপনাকে লগ-আউট করে তারপর পুণরায় লগ-ইন করতে হবে"

#: any.pm:1510
#, c-format
msgid "You need to log out and back in again for changes to take effect"
msgstr "পরিবর্তন কার্যকর করার পূর্বে আপনাকে লগ-আউট করে তারপর পুণরায় লগ-ইন করতে হবে"

#: any.pm:1545
#, c-format
msgid "Timezone"
msgstr "টাইমজোন"

#: any.pm:1545
#, c-format
msgid "Which is your timezone?"
msgstr "আপনার টাইমজোন কি?"

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

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

#: any.pm:1575
#, fuzzy, c-format
msgid "%s (hardware clock set to UTC)"
msgstr "হার্ডওয়্যারে ঘড়ি GMT-এ সেট করা"

#: any.pm:1576
#, fuzzy, c-format
msgid "%s (hardware clock set to local time)"
msgstr "হার্ডওয়্যারে ঘড়ি GMT-এ সেট করা"

#: any.pm:1578
#, c-format
msgid "NTP Server"
msgstr "NTP সার্ভার"

#: any.pm:1579
#, c-format
msgid "Automatic time synchronization (using NTP)"
msgstr "সয়ংক্রিয়ভাবে সময় মেলাও (NTP ব্যবহার করে)"

#: authentication.pm:24
#, c-format
msgid "Local file"
msgstr "লোকাল ফাইল"

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

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

# সাম
#: authentication.pm:27
#, c-format
msgid "Smart Card"
msgstr "স্মার্ট কার্ড"

#: authentication.pm:28 authentication.pm:215
#, c-format
msgid "Windows Domain"
msgstr "উইন্ডোজ ডোমেইন"

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

#: authentication.pm:65
#, c-format
msgid "Local file:"
msgstr "লোকাল ফাইল:"

#: authentication.pm:65
#, c-format
msgid ""
"Use local for all authentication and information user tell in local file"
msgstr ""
"লোকাল ফাইলে থাকা ব্যবহারকারীর সকল বিশ্বাসযোগ্যতা ও তথ্যের জন্য লোকাল ব্যবহার করুন"

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

#: authentication.pm:66
#, c-format
msgid ""
"Tells your computer to use LDAP for some or all authentication. LDAP "
"consolidates certain types of information within your organization."
msgstr ""
"কিছু অথবা সব নির্ভরযোগ্যতার আপনার কম্পিউটারকে LDAP ব্যবহার করতে বলুন। LDAP আপনার "
"অর্গানাইজেশনের বিভিন্ন ধরনের তথ্যকে আরও সুদৃড় করে"

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

#: authentication.pm:67
#, c-format
msgid ""
"Allows you to run a group of computers in the same Network Information "
"Service domain with a common password and group file."
msgstr ""
"সার্বজনীন পাসওয়ার্ড ও গ্রুপ ফাইলসহ আপনি কম্পিউটারের একটি গ্রুপকে একই নেটওয়ার্ক তথ্য "
"সার্ভিস ডোমেইনে চলার অনুমতি দেবে।"

#: authentication.pm:68
#, c-format
msgid "Windows Domain:"
msgstr "উইন্ডোজ ডোমেইন:"

#: authentication.pm:68
#, c-format
msgid ""
"Winbind allows the system to retrieve information and authenticate users in "
"a Windows domain."
msgstr ""
"উইনবাইন্ড আপনার সিস্টেমকে একটি উইন্ডোজ ডোমেইনের তথ্য ও নির্ভরযোগ্য ব্যবহারকারীদের "
"পুনরুদ্ধারের অনুমতি দেবে।"

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

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

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

#: authentication.pm:107 authentication.pm:141 authentication.pm:187
#: authentication.pm:211
#, fuzzy, c-format
msgid "Welcome to the Authentication Wizard"
msgstr "ডোমেইন অনুমোদন প্রয়োজন"

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

#: authentication.pm:111 authentication.pm:166
#, c-format
msgid "LDAP Server"
msgstr "LDAP সার্ভার"

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

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

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

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

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

#: authentication.pm:119 authentication.pm:172
#, fuzzy, c-format
msgid "Use anonymous BIND "
msgstr "Anonymous বাইন্ড ব্যবহার করুন "

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

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

#: authentication.pm:122 authentication.pm:174
#, fuzzy, c-format
msgid "Bind Password "
msgstr "পাসওয়ার্ড"

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

#: authentication.pm:126
#, fuzzy, c-format
msgid "Password base"
msgstr "পাসওয়ার্ড"

#: authentication.pm:127
#, fuzzy, c-format
msgid "Group base"
msgstr "দলের ID"

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

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

#: authentication.pm:145
#, fuzzy, c-format
msgid "Realm "
msgstr "আসল নাম"

#: authentication.pm:147
#, fuzzy, c-format
msgid "KDCs Servers"
msgstr "LDAP সার্ভার"

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

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

#: authentication.pm:155
#, fuzzy, c-format
msgid "Use local file for users information"
msgstr "সার্ভারের জন্য libsafe ব্যবহার করো"

#: authentication.pm:156
#, fuzzy, c-format
msgid "Use LDAP for users information"
msgstr "হার্ড ড্রাইভের তথ্য"

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

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

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

#: authentication.pm:191
#, c-format
msgid "NIS Domain"
msgstr "NIS ডোমেইন"

#: authentication.pm:192
#, c-format
msgid "NIS Server"
msgstr "NIS সার্ভার"

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

#: authentication.pm:217
#, fuzzy, c-format
msgid "Domain Model "
msgstr "ডোমেইন"

#: authentication.pm:219
#, c-format
msgid "Active Directory Realm "
msgstr ""

#: authentication.pm:220
#, fuzzy, c-format
msgid "DNS Domain"
msgstr "NIS ডোমেইন"

#: authentication.pm:221
#, fuzzy, c-format
msgid "DC Server"
msgstr "LDAP সার্ভার"

#: authentication.pm:235 authentication.pm:251
#, c-format
msgid "Authentication"
msgstr "অনুমোদন"

#: authentication.pm:237
#, c-format
msgid "Authentication method"
msgstr "নির্ভরযোগ্য নিয়ম"

#. -PO: keep this short or else the buttons will not fit in the window
#: authentication.pm:242
#, c-format
msgid "No password"
msgstr "পাসওয়ার্ড ছাড়া"

#: authentication.pm:263
#, c-format
msgid "This password is too short (it must be at least %d characters long)"
msgstr "এই পাসওয়ার্ডটি খুবই ছোট (এটা অবশ্যই %d অক্ষরের হতে হবে)"

#: authentication.pm:373
#, c-format
msgid "Cannot use broadcast with no NIS domain"
msgstr "কোন NIS ডোমেইন ছাড়া ব্রডকাষ্ট ব্যবহার করা যাবেনা"

#: authentication.pm:860
#, c-format
msgid "Select file"
msgstr "ফাইল সিলেক্ট করো"

#: authentication.pm:866
#, fuzzy, c-format
msgid "Domain Windows for authentication : "
msgstr "ডোমেইন অনুমোদন প্রয়োজন"

#: authentication.pm:868
#, c-format
msgid "Domain Admin User Name"
msgstr "ডোমেইন অ্যাডমিনের ব্যবহারকারীনাম"

#: authentication.pm:869
#, c-format
msgid "Domain Admin Password"
msgstr "ডোমেইন অ্যাডমিনের পাসওয়ার্ড"

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

#: bootloader.pm:1211
#, c-format
msgid "LILO with text menu"
msgstr "টেক্সট মেনুর সাথে LILO"

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

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

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

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

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

#: bootloader.pm:1302
#, c-format
msgid "not enough room in /boot"
msgstr "/boot -এ বেশী জায়গা নেই"

#: bootloader.pm:2089
#, c-format
msgid "You cannot install the bootloader on a %s partition\n"
msgstr "আপনি %s পার্টিশনে বুটলোডার ইনস্টল করতে পারবেননা\n"

# renumber = রি-নাম্বার লিখলাম। আসলটা আমি জানিনা
#: bootloader.pm:2258
#, c-format
msgid ""
"Your bootloader configuration must be updated because partition has been "
"renumbered"
msgstr ""
"পার্টিশন রি-নাম্বার করার কারনে আপনার বুটলোডারের কনফিগারেশন অবশ্যই আপডেট করতে হবে"

#: bootloader.pm:2271
#, c-format
msgid ""
"The bootloader cannot be installed correctly. You have to boot rescue and "
"choose \"%s\""
msgstr ""
"বুটলোডার সঠিকভাবে ইনস্টল হতে পারবেনা। আপনাকে rescue বুট করতে হবে এবং \"%s\" "
"পছন্দ করতে হবে"

#: bootloader.pm:2272
#, c-format
msgid "Re-install Boot Loader"
msgstr "বুট লোডার রি-ইনস্টল করো"

#: common.pm:142
#, fuzzy, c-format
msgid "B"
msgstr "কেবি"

#: common.pm:142
#, c-format
msgid "KB"
msgstr "কেবি"

#: common.pm:142
#, c-format
msgid "MB"
msgstr "এমবি"

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

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

#: common.pm:159
#, c-format
msgid "%d minutes"
msgstr "%d মিনিট"

#: common.pm:161
#, c-format
msgid "1 minute"
msgstr "১ মিনিট"

#: common.pm:163
#, c-format
msgid "%d seconds"
msgstr "%d সেকেন্ড"

#: diskdrake/dav.pm:17
#, c-format
msgid ""
"WebDAV is a protocol that allows you to mount a web server's directory\n"
"locally, and treat it like a local filesystem (provided the web server is\n"
"configured as a WebDAV server). If you would like to add WebDAV mount\n"
"points, select \"New\"."
msgstr ""
"WebDAV একটি প্রোটোকল যা আপনাকে স্থানীয়ভাবে একটি ওয়েব সার্ভারের ডিরেক্টরি মাউন্ট "
"করার অনুমতি\n"
"দেয়, এবং এটাকে একটি স্থানীয় ফাইলসিস্টেম হিসেবে মনে করুন(সরবরাহকৃত ওয়েব সার্ভারটি "
"WebDAV সার্ভার\n"
"হিসেবে কন্‌ফিগার করা)। যদি আপনি WebDAV মাউন্ট পয়েন্ত যুক্ত করতে চান, তবে \"নতুন\" "
"বেছে নিন।"

#: diskdrake/dav.pm:25
#, c-format
msgid "New"
msgstr "নতুন"

#: diskdrake/dav.pm:63 diskdrake/interactive.pm:418 diskdrake/smbnfs_gtk.pm:75
#, c-format
msgid "Unmount"
msgstr "আন-মাউন্ট"

#: diskdrake/dav.pm:64 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:76
#, c-format
msgid "Mount"
msgstr "মাউন্ট"

#: diskdrake/dav.pm:65
#, c-format
msgid "Server"
msgstr "সার্ভার"

#: diskdrake/dav.pm:66 diskdrake/interactive.pm:408
#: diskdrake/interactive.pm:722 diskdrake/interactive.pm:740
#: diskdrake/interactive.pm:744 diskdrake/removable.pm:23
#: diskdrake/smbnfs_gtk.pm:79
#, c-format
msgid "Mount point"
msgstr "মাউন্ট পয়েন্ট"

#: diskdrake/dav.pm:67 diskdrake/interactive.pm:410
#: diskdrake/interactive.pm:1176 diskdrake/removable.pm:24
#: diskdrake/smbnfs_gtk.pm:80
#, c-format
msgid "Options"
msgstr "অপশন"

#: diskdrake/dav.pm:68 interactive.pm:388 interactive/gtk.pm:457
#, c-format
msgid "Remove"
msgstr "মুছে ফেলো"

#: diskdrake/dav.pm:69 diskdrake/hd_gtk.pm:203 diskdrake/removable.pm:26
#: diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151
#, c-format
msgid "Done"
msgstr "হয়েছে"

#: diskdrake/dav.pm:78 diskdrake/hd_gtk.pm:135 diskdrake/hd_gtk.pm:309
#: diskdrake/interactive.pm:247 diskdrake/interactive.pm:260
#: diskdrake/interactive.pm:456 diskdrake/interactive.pm:527
#: diskdrake/interactive.pm:545 diskdrake/interactive.pm:550
#: diskdrake/interactive.pm:712 diskdrake/interactive.pm:1015
#: diskdrake/interactive.pm:1067 diskdrake/interactive.pm:1222
#: diskdrake/interactive.pm:1235 diskdrake/interactive.pm:1238
#: diskdrake/interactive.pm:1512 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:23
#: do_pkgs.pm:28 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:65 do_pkgs.pm:83
#: fsedit.pm:246 interactive/http.pm:117 interactive/http.pm:118
#: modules/interactive.pm:19 scanner.pm:95 scanner.pm:106 scanner.pm:113
#: scanner.pm:120 wizards.pm:96 wizards.pm:100 wizards.pm:122
#, c-format
msgid "Error"
msgstr "ত্রুটি"

#: diskdrake/dav.pm:86
#, c-format
msgid "Please enter the WebDAV server URL"
msgstr "অনুগ্রহ করে WebDAV সার্ভারের URL প্রবেশ করান"

#: diskdrake/dav.pm:90
#, c-format
msgid "The URL must begin with http:// or https://"
msgstr "URL অবশ্যই http:// অথবা https:// দিয়ে শুরু করতে হবে"

#: diskdrake/dav.pm:106 diskdrake/hd_gtk.pm:434 diskdrake/interactive.pm:306
#: diskdrake/interactive.pm:391 diskdrake/interactive.pm:597
#: diskdrake/interactive.pm:815 diskdrake/interactive.pm:880
#: diskdrake/interactive.pm:1047 diskdrake/interactive.pm:1089
#: diskdrake/interactive.pm:1090 diskdrake/interactive.pm:1322
#: diskdrake/interactive.pm:1360 diskdrake/interactive.pm:1511 do_pkgs.pm:19
#: do_pkgs.pm:39 do_pkgs.pm:57 do_pkgs.pm:78 harddrake/sound.pm:399
#, c-format
msgid "Warning"
msgstr "নোটিশ"

#: diskdrake/dav.pm:106
#, fuzzy, c-format
msgid "Are you sure you want to delete this mount point?"
msgstr "আপনি কি এই বাটনে ক্লিক করতে চান?"

#: diskdrake/dav.pm:124
#, c-format
msgid "Server: "
msgstr "সার্ভার:"

#: diskdrake/dav.pm:125 diskdrake/interactive.pm:501
#: diskdrake/interactive.pm:1384 diskdrake/interactive.pm:1472
#, c-format
msgid "Mount point: "
msgstr "মাউন্ট পয়েন্ট:"

#: diskdrake/dav.pm:126 diskdrake/interactive.pm:1479
#, c-format
msgid "Options: %s"
msgstr "অপশন: %s"

#: diskdrake/hd_gtk.pm:61 diskdrake/interactive.pm:301
#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:108
#: fs/partitioning_wizard.pm:61 fs/partitioning_wizard.pm:244
#: fs/partitioning_wizard.pm:252 fs/partitioning_wizard.pm:291
#: fs/partitioning_wizard.pm:439 fs/partitioning_wizard.pm:502
#: fs/partitioning_wizard.pm:585 fs/partitioning_wizard.pm:588
#, c-format
msgid "Partitioning"
msgstr "পার্টিশন করা হচ্ছে"

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

#: diskdrake/hd_gtk.pm:116 diskdrake/interactive.pm:1197
#: diskdrake/interactive.pm:1207 diskdrake/interactive.pm:1260
#, c-format
msgid "Read carefully"
msgstr "সতর্কতার সাথে পড়ো"

#: diskdrake/hd_gtk.pm:116
#, c-format
msgid "Please make a backup of your data first"
msgstr "অনুগ্রহ করে প্রথমে আপনার ডাটার একটি ব্যাকআপ করে নিন"

#: diskdrake/hd_gtk.pm:117 diskdrake/interactive.pm:240
#, c-format
msgid "Exit"
msgstr "বাহির"

#: diskdrake/hd_gtk.pm:117
#, c-format
msgid "Continue"
msgstr "অগ্রসর"

#: diskdrake/hd_gtk.pm:198 fs/partitioning_wizard.pm:561 interactive.pm:654
#: interactive/gtk.pm:813 interactive/gtk.pm:831 interactive/gtk.pm:862
#: ugtk2.pm:936
#, c-format
msgid "Help"
msgstr "সাহায্য"

#: diskdrake/hd_gtk.pm:244
#, 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 ""
"আপনার একটি বড় মাইক্রসফ্ট উইন্ডোজ পার্টিশন আছে।\n"
"সেটাকে আগে রি-সাইজ করার জন্য আমি পরামর্শ দিচ্ছি\n"
"(সেটাকে আগে ক্লিক করুন এবং পরে \"Resize\"-এ ক্লিক করুন)"

#: diskdrake/hd_gtk.pm:246
#, c-format
msgid "Please click on a partition"
msgstr "অনুগ্রহ করে একটি পার্টিশনে ক্লিক করুন"

#: diskdrake/hd_gtk.pm:260 diskdrake/smbnfs_gtk.pm:63
#, c-format
msgid "Details"
msgstr "বিস্তারিত"

#: diskdrake/hd_gtk.pm:309
#, c-format
msgid "No hard disk drives found"
msgstr "কোন হার্ড ড্রাইভ পাওয়া যায়নি"

#: diskdrake/hd_gtk.pm:340
#, c-format
msgid "Unknown"
msgstr "অজানা"

#: diskdrake/hd_gtk.pm:405
#, fuzzy, c-format
msgid "Ext4"
msgstr "বাহির"

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

#: diskdrake/hd_gtk.pm:405 fs/partitioning_wizard.pm:409
#, c-format
msgid "Swap"
msgstr "সোয়াপ"

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

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

#: diskdrake/hd_gtk.pm:405 fs/partitioning_wizard.pm:409
#, c-format
msgid "Windows"
msgstr "উইন্ডোজ"

#: diskdrake/hd_gtk.pm:406 fs/partitioning_wizard.pm:410 services.pm:193
#, c-format
msgid "Other"
msgstr "অন্যান্য"

#: diskdrake/hd_gtk.pm:406 diskdrake/interactive.pm:1399
#: fs/partitioning_wizard.pm:410
#, c-format
msgid "Empty"
msgstr "শূণ্য"

#: diskdrake/hd_gtk.pm:413
#, c-format
msgid "Filesystem types:"
msgstr "ফাইল সিস্টেমের ধরণ:"

#: diskdrake/hd_gtk.pm:434
#, fuzzy, c-format
msgid "This partition is already empty"
msgstr "এই পার্টিশনটি রি-সাইজ করার মত না"

#: diskdrake/hd_gtk.pm:443
#, c-format
msgid "Use ``Unmount'' first"
msgstr "প্রথমে ``Unmount'' ব্যবহার করুন"

#: diskdrake/hd_gtk.pm:443
#, fuzzy, c-format
msgid "Use ``%s'' instead (in expert mode)"
msgstr "পরিবর্তে ``%s'' ব্যবহার করুন"

#: diskdrake/hd_gtk.pm:443 diskdrake/interactive.pm:409
#: diskdrake/interactive.pm:639 diskdrake/removable.pm:25
#: diskdrake/removable.pm:48
#, c-format
msgid "Type"
msgstr "ধরণ"

#: diskdrake/interactive.pm:211
#, c-format
msgid "Choose another partition"
msgstr "অন্য একটি পার্টিশন পছন্দ করুন"

#: diskdrake/interactive.pm:211
#, c-format
msgid "Choose a partition"
msgstr "একটি পার্টিশন পছন্দ করুন"

#: diskdrake/interactive.pm:273 diskdrake/interactive.pm:382
#: interactive/curses.pm:532
#, c-format
msgid "More"
msgstr "আরও"

#: diskdrake/interactive.pm:281 diskdrake/interactive.pm:294
#: diskdrake/interactive.pm:1306 mygtk2.pm:1228
#, fuzzy, c-format
msgid "Confirmation"
msgstr "কনফিগারেশন"

#: diskdrake/interactive.pm:281
#, c-format
msgid "Continue anyway?"
msgstr "অগ্রসর হবে?"

#: diskdrake/interactive.pm:286
#, c-format
msgid "Quit without saving"
msgstr "সংরক্ষণ ছাড়াই বের হও"

#: diskdrake/interactive.pm:286
#, c-format
msgid "Quit without writing the partition table?"
msgstr "কোন পার্টিশন টেবিল না লিখেই বের হয়ে যাব?"

#: diskdrake/interactive.pm:294
#, c-format
msgid "Do you want to save the /etc/fstab modifications?"
msgstr "আপনি /etc/fstab -এর পরিবর্তন সেভ করতে চান?"

#: diskdrake/interactive.pm:301 fs/partitioning_wizard.pm:291
#, c-format
msgid "You need to reboot for the partition table modifications to take effect"
msgstr "পার্টিশন টেবিলের পরিবর্তনগুলি কার্যকর করবার জন্য আপনাকে রা-ষ্টার্ট করতে হবে"

# সাম
#: 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 ""
"পার্টিশন %s ফরম্যাট করা প্রয়োজন।\n"
"অন্যথা fstab এ মাউন্ট পয়েন্ট %s এর কোন এন্ট্রি লেখা হবে না।\n"
"তবুও বের হয়ে যাব কি?"

#: diskdrake/interactive.pm:319
#, c-format
msgid "Clear all"
msgstr "সব বন্ধ করো"

#: diskdrake/interactive.pm:320
#, c-format
msgid "Auto allocate"
msgstr "সয়ংক্রিয়ভাবে সাজানো"

#: diskdrake/interactive.pm:326
#, c-format
msgid "Toggle to normal mode"
msgstr "সাধারণ মোডে বদল করো"

#: diskdrake/interactive.pm:326
#, c-format
msgid "Toggle to expert mode"
msgstr "দক্ষ মোডে বদল করো"

#: diskdrake/interactive.pm:338
#, c-format
msgid "Hard disk drive information"
msgstr "হার্ড ড্রাইভের তথ্য"

#: diskdrake/interactive.pm:371
#, c-format
msgid "All primary partitions are used"
msgstr "সমস্থ প্রাইমারী পার্টিশনসমূহ ব্যবহৃত হচ্ছে"

#: diskdrake/interactive.pm:372
#, c-format
msgid "I cannot add any more partitions"
msgstr "আমি আর পার্টিশন যোগ করতে পারবনা"

#: diskdrake/interactive.pm:373
#, c-format
msgid ""
"To have more partitions, please delete one to be able to create an extended "
"partition"
msgstr ""
"আরও পার্টিশন পাওয়ার জন্য, অনুগ্রহ করে একটি মুছে ফেলুন যাতে করে এক্সটেনডেড পার্টিশন "
"তৈরী করা যায়"

#: diskdrake/interactive.pm:384
#, c-format
msgid "Reload partition table"
msgstr "পার্টিশন টেবিলকে পুনরায় লোড করো"

#: diskdrake/interactive.pm:391
#, c-format
msgid "Detailed information"
msgstr "বিস্তারিত তথ্য"

#: diskdrake/interactive.pm:407
#, c-format
msgid "View"
msgstr "প্রদর্শন"

#: diskdrake/interactive.pm:412 diskdrake/interactive.pm:828
#, c-format
msgid "Resize"
msgstr "আকার পরিবর্তন"

#: diskdrake/interactive.pm:413
#, c-format
msgid "Format"
msgstr "ফরম্যাট"

#: diskdrake/interactive.pm:415 diskdrake/interactive.pm:978
#, c-format
msgid "Add to RAID"
msgstr "RAID-তে যোগ করো"

#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:997
#, c-format
msgid "Add to LVM"
msgstr "LVM-এ যোগ করো"

#: diskdrake/interactive.pm:417
#, fuzzy, c-format
msgid "Use"
msgstr "ব্যবহারকারীর ID"

#: diskdrake/interactive.pm:419
#, c-format
msgid "Delete"
msgstr "মুছে ফেলো"

#: diskdrake/interactive.pm:420
#, c-format
msgid "Remove from RAID"
msgstr "RAID থেকে মুছে ফেলো"

#: diskdrake/interactive.pm:421
#, c-format
msgid "Remove from LVM"
msgstr "LVM থেকে মুছে ফেলো"

#: diskdrake/interactive.pm:422
#, fuzzy, c-format
msgid "Remove from dm"
msgstr "LVM থেকে মুছে ফেলো"

#: diskdrake/interactive.pm:423
#, c-format
msgid "Modify RAID"
msgstr "RAID পরিবর্তন করো"

#: diskdrake/interactive.pm:424
#, c-format
msgid "Use for loopback"
msgstr "loopback-এর জন্য ব্যবহার করো"

#: diskdrake/interactive.pm:434
#, c-format
msgid "Create"
msgstr "তৈরী করো"

#: diskdrake/interactive.pm:456
#, fuzzy, c-format
msgid "Failed to mount partition"
msgstr "ফাইলগুলিক একটি নতুন পার্টিশনে সরিয়ে ফেলো"

#: diskdrake/interactive.pm:490 diskdrake/interactive.pm:492
#, c-format
msgid "Create a new partition"
msgstr "একটি নতুন পার্টিশন তৈরী করো"

#: diskdrake/interactive.pm:494
#, c-format
msgid "Start sector: "
msgstr "শুরুর সেক্টর:"

#: diskdrake/interactive.pm:497 diskdrake/interactive.pm:1082
#, c-format
msgid "Size in MB: "
msgstr "মেগাবাইটে সাইজ:"

#: diskdrake/interactive.pm:499 diskdrake/interactive.pm:1083
#, c-format
msgid "Filesystem type: "
msgstr "ফাইলসিস্টেমের ধরণ:"

#: diskdrake/interactive.pm:505
#, c-format
msgid "Preference: "
msgstr "পছন্দ"

#: diskdrake/interactive.pm:508
#, c-format
msgid "Logical volume name "
msgstr "লজিকাল ভলিউমের নাম"

#: diskdrake/interactive.pm:510
#, fuzzy, c-format
msgid "Encrypt partition"
msgstr "Encryption অ্যালগোরিদম"

#: diskdrake/interactive.pm:511
#, fuzzy, c-format
msgid "Encryption key "
msgstr "এনক্রিপশন কী"

#: diskdrake/interactive.pm:512 diskdrake/interactive.pm:1516
#, c-format
msgid "Encryption key (again)"
msgstr "এনক্রিপশন কী (পুনরায়)"

#: diskdrake/interactive.pm:524 diskdrake/interactive.pm:1512
#, c-format
msgid "The encryption keys do not match"
msgstr "এনক্রিপশন কীগুলি মিলছেনা"

#: diskdrake/interactive.pm:525
#, fuzzy, c-format
msgid "Missing encryption key"
msgstr "ফাইল সিস্টেমের এনক্রিপশন কী"

#: diskdrake/interactive.pm:545
#, c-format
msgid ""
"You cannot create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
"আপনি কোন নতুন পার্টিশন তৈরী করতে পারবেন না\n"
"(যেহেতু আপনি সর্বোচ্চ প্রাইমারী পার্টিশনের সীমায় পৌছে গিয়েছেন)।\n"
"প্রথমে আপনাকে একটি প্রাইমারী পার্টিশন অপসরন করতে হবে এবং তারপরে এক্সটেনডেড "
"পার্টিশন তৈরী করতে হবে।"

#: diskdrake/interactive.pm:597
#, c-format
msgid "Remove the loopback file?"
msgstr "লুকআপ ফাইল রিমুভ করবো?"

#: diskdrake/interactive.pm:620
#, c-format
msgid ""
"After changing type of partition %s, all data on this partition will be lost"
msgstr "%s পার্টিশনের ধরণ পরিবর্তনের পরে সেটার সমস্থ ডাটা হারিয়ে যাবে"

#: diskdrake/interactive.pm:636
#, c-format
msgid "Change partition type"
msgstr "পার্টিশনের ধরণ পরিবর্তন করো"

#: diskdrake/interactive.pm:638 diskdrake/removable.pm:47
#, c-format
msgid "Which filesystem do you want?"
msgstr "আপনি কোন ফাইলসিস্টেম চান?"

#: diskdrake/interactive.pm:645
#, fuzzy, c-format
msgid "Switching from %s to %s"
msgstr "ext2 থেকে ext3-তে পরিবর্তিত হচ্ছে"

#: diskdrake/interactive.pm:680
#, fuzzy, c-format
msgid "Set volume label"
msgstr "ভলিউম লেবেল:"

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

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

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

#: diskdrake/interactive.pm:686
#, fuzzy, c-format
msgid "Label:"
msgstr "শিরোনাম"

#: diskdrake/interactive.pm:707
#, c-format
msgid "Where do you want to mount the loopback file %s?"
msgstr "আপনি %s লুপব্যাক ফাইলকে কোথায় মাউন্ট করতে চান ?"

#: diskdrake/interactive.pm:708
#, c-format
msgid "Where do you want to mount device %s?"
msgstr "আপনি %s ডিভাইসকে কোথায় মাউন্ট করতে চান?"

#: diskdrake/interactive.pm:713
#, c-format
msgid ""
"Cannot unset mount point as this partition is used for loop back.\n"
"Remove the loopback first"
msgstr ""
"এই পার্টিশনটি লুপব্যাকের জন্য ব্যবহৃত হওয়ার কারনে মাউন্টপয়েন্ট আনসেট করা যাবেনা।\n"
" আগে লুপব্যাক রিমুভ করুন"

#: diskdrake/interactive.pm:743
#, c-format
msgid "Where do you want to mount %s?"
msgstr "আপনি কোথায় মাউন্ট করতে চান %s?"

#: diskdrake/interactive.pm:773 diskdrake/interactive.pm:869
#: fs/partitioning_wizard.pm:137 fs/partitioning_wizard.pm:213
#, c-format
msgid "Resizing"
msgstr "আকার পরিবর্তন করা হচ্ছে"

#: diskdrake/interactive.pm:773
#, c-format
msgid "Computing FAT filesystem bounds"
msgstr "FAT ফাইল সিস্টেমের সীমা (Bound) হিসেব করা হচ্ছে"

#: diskdrake/interactive.pm:815
#, c-format
msgid "This partition is not resizeable"
msgstr "এই পার্টিশনটি রি-সাইজ করার মত না"

#: diskdrake/interactive.pm:820
#, c-format
msgid "All data on this partition should be backed up"
msgstr "এই পার্টিশনের সমস্থ ডাটা ব্যাকআপ করা উচিত্‍‌"

#: diskdrake/interactive.pm:822
#, c-format
msgid "After resizing partition %s, all data on this partition will be lost"
msgstr "%s পার্টিশন রি-সাইজ করার পরে, এই পার্টিশনের সমস্থ ডাটা হারিয়ে যাবে"

#: diskdrake/interactive.pm:829
#, c-format
msgid "Choose the new size"
msgstr "নতুন সাইজটি পছন্দ করুন"

#: diskdrake/interactive.pm:830
#, c-format
msgid "New size in MB: "
msgstr "মেগাবাইটে নতুন সাইজ:"

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

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

#: diskdrake/interactive.pm:880 fs/partitioning_wizard.pm:221
#, fuzzy, c-format
msgid ""
"To ensure data integrity after resizing the partition(s),\n"
"filesystem checks will be run on your next boot into Microsoft Windows®"
msgstr ""
"পার্টিশনের পুনরাকৃতির পর ডাটার সম্পূর্ণতা নিশ্চিত করার জন্য, \n"
"উইন্ডোজে(TM) আপনার পরবর্তী বুটে ফাইলসিস্টেম পরীক্ষা চলবে"

#: diskdrake/interactive.pm:946 diskdrake/interactive.pm:1507
#, c-format
msgid "Filesystem encryption key"
msgstr "ফাইল সিস্টেমের এনক্রিপশন কী"

#: diskdrake/interactive.pm:947
#, fuzzy, c-format
msgid "Enter your filesystem encryption key"
msgstr "আপনার ফাইল সিস্টেমের এনক্রিপশন কী পছন্দ করুন"

#: diskdrake/interactive.pm:948 diskdrake/interactive.pm:1515
#, c-format
msgid "Encryption key"
msgstr "এনক্রিপশন কী"

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

#: diskdrake/interactive.pm:978
#, c-format
msgid "Choose an existing RAID to add to"
msgstr "যোগ করার জন্য উপস্থিত একটি RAID পছন্দ করুন"

#: diskdrake/interactive.pm:980 diskdrake/interactive.pm:999
#, c-format
msgid "new"
msgstr "নতুন"

#: diskdrake/interactive.pm:997
#, c-format
msgid "Choose an existing LVM to add to"
msgstr "যোগ করার জন্য উপস্থিত একটি LVM পছন্দ করুন"

#: diskdrake/interactive.pm:1009 diskdrake/interactive.pm:1018
#, fuzzy, c-format
msgid "LVM name"
msgstr "LVM-এর নাম?"

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

#: diskdrake/interactive.pm:1015
#, fuzzy, c-format
msgid "\"%s\" already exists"
msgstr "ফাইল আগে থেকেই আছে, ব্যবহার করব?"

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

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

#: diskdrake/interactive.pm:1067
#, c-format
msgid "This partition cannot be used for loopback"
msgstr "লুপব্যাকের জন্য এই পার্টিশনটি ব্যবহার করা যাবেনা"

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

#: diskdrake/interactive.pm:1081
#, c-format
msgid "Loopback file name: "
msgstr "Loopback ফাইলের নাম: "

#: diskdrake/interactive.pm:1086
#, c-format
msgid "Give a file name"
msgstr "একটি ফাইলের নাম দিন"

#: diskdrake/interactive.pm:1089
#, c-format
msgid "File is already used by another loopback, choose another one"
msgstr "ফাইলটি আগে থেকেই অন্য একটি লুপব্যাকে ব্যবহৃত হচ্ছে, আরেকটি পছন্দ করুন"

#: diskdrake/interactive.pm:1090
#, c-format
msgid "File already exists. Use it?"
msgstr "ফাইল আগে থেকেই আছে, ব্যবহার করব?"

#: diskdrake/interactive.pm:1122 diskdrake/interactive.pm:1125
#, c-format
msgid "Mount options"
msgstr "মাউন্ট অপসন"

#: diskdrake/interactive.pm:1132
#, c-format
msgid "Various"
msgstr "বিভিন্ন"

#: diskdrake/interactive.pm:1178
#, c-format
msgid "device"
msgstr "ডিভাইস"

#: diskdrake/interactive.pm:1179
#, c-format
msgid "level"
msgstr "লেভেল"

#: diskdrake/interactive.pm:1180
#, c-format
msgid "chunk size in KiB"
msgstr "কিলোবাইট এ chunk সাইজ"

#: diskdrake/interactive.pm:1198
#, c-format
msgid "Be careful: this operation is dangerous."
msgstr "খুবই সাবধান: এই কাজটি ঝুঁকিপূর্ন।"

#: diskdrake/interactive.pm:1213
#, fuzzy, c-format
msgid "Partitioning Type"
msgstr "পার্টিশন করা হচ্ছে"

#: diskdrake/interactive.pm:1213
#, c-format
msgid "What type of partitioning?"
msgstr "কি ধরণের পার্টিশন হবে?"

#: diskdrake/interactive.pm:1251
#, c-format
msgid "You'll need to reboot before the modification can take effect"
msgstr "পরিবর্তনগুলি অবস্থান নেবার জন্য আপনাকে রি-ষ্টার্ট করতে হবে"

#: diskdrake/interactive.pm:1260
#, c-format
msgid "Partition table of drive %s is going to be written to disk"
msgstr "%s ড্রাইভের পার্টিশন টেবিল ডিস্কে লিখতে যাচ্ছি"

#: diskdrake/interactive.pm:1279 fs/format.pm:107 fs/format.pm:114
#, c-format
msgid "Formatting partition %s"
msgstr "%s পার্টিশন ফরম্যাট করা হচ্ছে"

#: diskdrake/interactive.pm:1292
#, c-format
msgid "After formatting partition %s, all data on this partition will be lost"
msgstr "পার্টিশন %s -কে ফরমেট করার পরে এই পার্টিশনের সমস্থ ডাটা হারিয়ে যাবে"

#: diskdrake/interactive.pm:1306 fs/partitioning.pm:48
#, c-format
msgid "Check for bad blocks?"
msgstr "খারাপ ব্লক চেক করব?"

#: diskdrake/interactive.pm:1321
#, c-format
msgid "Move files to the new partition"
msgstr "ফাইলগুলিক একটি নতুন পার্টিশনে সরিয়ে ফেলো"

#: diskdrake/interactive.pm:1321
#, c-format
msgid "Hide files"
msgstr "ফাইল লুকানো হোক"

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

#: diskdrake/interactive.pm:1337
#, c-format
msgid "Moving files to the new partition"
msgstr "ফাইলগুলিকে একটু নতুন পার্টিশনে নিয়ে যাওয়া হচ্ছে"

#: diskdrake/interactive.pm:1341
#, c-format
msgid "Copying %s"
msgstr "%s কপি করা হচ্ছে"

#: diskdrake/interactive.pm:1345
#, c-format
msgid "Removing %s"
msgstr "%s মুছে ফেলা হচ্ছে"

#: diskdrake/interactive.pm:1359
#, c-format
msgid "partition %s is now known as %s"
msgstr "পার্টিশন %s-কে এখন %s নামে জানা যাবে"

# সাম: renumber = পুনর্বিন্যাস?
#: diskdrake/interactive.pm:1360
#, c-format
msgid "Partitions have been renumbered: "
msgstr "পার্টিশনগুলো পুনঃসংখ্যান করা হয়েছে: "

#: diskdrake/interactive.pm:1385 diskdrake/interactive.pm:1456
#, c-format
msgid "Device: "
msgstr "ডিভাইস:"

#: diskdrake/interactive.pm:1386
#, c-format
msgid "Volume label: "
msgstr "ভলিউম লেবেল:"

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

#: diskdrake/interactive.pm:1388
#, c-format
msgid "DOS drive letter: %s (just a guess)\n"
msgstr "DOS ড্রাইভ লেটার: %s (শুধুমাত্র একটি অনুমান)\n"

#: diskdrake/interactive.pm:1392 diskdrake/interactive.pm:1401
#: diskdrake/interactive.pm:1475
#, c-format
msgid "Type: "
msgstr "ধরণ:"

#: diskdrake/interactive.pm:1396 diskdrake/interactive.pm:1460
#, c-format
msgid "Name: "
msgstr "নাম:"

#: diskdrake/interactive.pm:1403
#, c-format
msgid "Start: sector %s\n"
msgstr "শুরু: সেক্টর %s\n"

#: diskdrake/interactive.pm:1404
#, c-format
msgid "Size: %s"
msgstr "সাইজ: %s"

#: diskdrake/interactive.pm:1406
#, c-format
msgid ", %s sectors"
msgstr ", %s সেক্টরসমূহ"

#: diskdrake/interactive.pm:1408
#, c-format
msgid "Cylinder %d to %d\n"
msgstr "সিলিন্ডার %d থেকে %d পর্যন্ত\n"

#: diskdrake/interactive.pm:1409
#, c-format
msgid "Number of logical extents: %d\n"
msgstr ""

#: diskdrake/interactive.pm:1410
#, c-format
msgid "Formatted\n"
msgstr "ফরমেট করা হয়েছে\n"

#: diskdrake/interactive.pm:1411
#, c-format
msgid "Not formatted\n"
msgstr "ফরমেট করা হয়নি\n"

#: diskdrake/interactive.pm:1412
#, c-format
msgid "Mounted\n"
msgstr "মাউন্ট করা হয়েছে\n"

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

#: diskdrake/interactive.pm:1415
#, fuzzy, c-format
msgid "Encrypted"
msgstr "এনক্রিপশন কী"

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

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

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

#: diskdrake/interactive.pm:1426
#, c-format
msgid ""
"Loopback file(s):\n"
"   %s\n"
msgstr ""
"লুপব্যাক ফাইল(গুলি):\n"
"   %s\n"

#: diskdrake/interactive.pm:1427
#, c-format
msgid ""
"Partition booted by default\n"
"    (for MS-DOS boot, not for lilo)\n"
msgstr ""
"পার্টিশন সাধারণভাবে বুট হয়েছে\n"
"     (MS-DOS বুটের জনে, lilo-র জন্য নয়)\n"

#: diskdrake/interactive.pm:1429
#, c-format
msgid "Level %s\n"
msgstr "লেভেল %s\n"

#: diskdrake/interactive.pm:1430
#, c-format
msgid "Chunk size %d KiB\n"
msgstr "চাঙ্ক সাইজ %d কিলোবাইট\n"

#: diskdrake/interactive.pm:1431
#, c-format
msgid "RAID-disks %s\n"
msgstr "RAID-ডিস্কসমূহ %s\n"

#: diskdrake/interactive.pm:1433
#, c-format
msgid "Loopback file name: %s"
msgstr "লুপব্যাক ফাইলের নাম: %s"

#: diskdrake/interactive.pm:1436
#, c-format
msgid ""
"\n"
"Chances are, this partition is\n"
"a Driver partition. You should\n"
"probably leave it alone.\n"
msgstr ""
"\n"
"কারণগুলো হতে পারে, এটি একটি\n"
"ড্রাইভার পার্টিশন। আপনার উচিত হবে\n"
"এটাকে এটা ছেড়ে দেয়া।\n"

#: diskdrake/interactive.pm:1439
#, c-format
msgid ""
"\n"
"This special Bootstrap\n"
"partition is for\n"
"dual-booting your system.\n"
msgstr ""
"\n"
"এই বিশেষ বুটস্ট্র্যাপ\n"
"পার্টিশন হচ্ছে আপনার\n"
"সিস্টেমের ডুয়াল-বুটিং এর জন্য।\n"

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

#: diskdrake/interactive.pm:1457
#, c-format
msgid "Read-only"
msgstr "শুধুমাত্র পড়া যাবে"

#: diskdrake/interactive.pm:1458
#, c-format
msgid "Size: %s\n"
msgstr "সাইজ: %s\n"

#: diskdrake/interactive.pm:1459
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr "জ্যামিতি: %s-গুলি সিলিন্ডার, %s-গুলি হেড, %s-গুলি সেক্টর\n"

#: diskdrake/interactive.pm:1461
#, fuzzy, c-format
msgid "Medium type: "
msgstr "ফাইলসিস্টেমের ধরণ:"

#: diskdrake/interactive.pm:1462
#, c-format
msgid "LVM-disks %s\n"
msgstr "LVM-ডিস্কসমূহ %s\n"

#: diskdrake/interactive.pm:1463
#, c-format
msgid "Partition table type: %s\n"
msgstr "পার্টিশন টেবিলের ধরণ: %s\n"

#: diskdrake/interactive.pm:1464
#, c-format
msgid "on channel %d id %d\n"
msgstr "%d চ্যানেলে %d আইডিতে\n"

#: diskdrake/interactive.pm:1508
#, c-format
msgid "Choose your filesystem encryption key"
msgstr "আপনার ফাইল সিস্টেমের এনক্রিপশন কী পছন্দ করুন"

#: diskdrake/interactive.pm:1511
#, c-format
msgid "This encryption key is too simple (must be at least %d characters long)"
msgstr "এই এনক্রিপশন কী টি খুবই সাধারণ (অবশ্যই %d অক্ষর বড় হতে হবে)"

#: diskdrake/interactive.pm:1518
#, c-format
msgid "Encryption algorithm"
msgstr "Encryption অ্যালগোরিদম"

#: diskdrake/removable.pm:46
#, c-format
msgid "Change type"
msgstr "ধরণ বদল করো"

#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:130 interactive.pm:551
#: interactive/curses.pm:267 interactive/http.pm:104 interactive/http.pm:160
#: interactive/stdio.pm:39 interactive/stdio.pm:148 mygtk2.pm:846
#: mygtk2.pm:1229 ugtk2.pm:415 ugtk2.pm:517 ugtk2.pm:526 ugtk2.pm:812
#, c-format
msgid "Cancel"
msgstr "বাতিল"

#: diskdrake/smbnfs_gtk.pm:164
#, c-format
msgid "Cannot login using username %s (bad password?)"
msgstr "ইউজারনেম %s ব্যবহার করে লগইন করা গেলোনা (নষ্ট পাসওয়ার্ড?)"

#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
#, c-format
msgid "Domain Authentication Required"
msgstr "ডোমেইন অনুমোদন প্রয়োজন"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Which username"
msgstr "কোন্‌ ব্যবহারকারীনাম"

#: diskdrake/smbnfs_gtk.pm:169
#, c-format
msgid "Another one"
msgstr "অন্য একটি"

#: diskdrake/smbnfs_gtk.pm:178
#, c-format
msgid ""
"Please enter your username, password and domain name to access this host."
msgstr ""
"হোস্টকে ব্যবহার করার জন্য আপনার ব্যবহারকারীনাম, পাসওয়ার্ড এবং ডোমেইনের নাম প্রবেশ "
"করান।"

#: diskdrake/smbnfs_gtk.pm:180
#, c-format
msgid "Username"
msgstr "ব্যবহারকারীনাম"

#: diskdrake/smbnfs_gtk.pm:182
#, c-format
msgid "Domain"
msgstr "ডোমেইন"

#: diskdrake/smbnfs_gtk.pm:206
#, c-format
msgid "Search servers"
msgstr "সার্ভার খোজো"

#: diskdrake/smbnfs_gtk.pm:211
#, c-format
msgid "Search for new servers"
msgstr "নতুন সার্ভারের খোজ করো"

#: do_pkgs.pm:19 do_pkgs.pm:57
#, c-format
msgid "The package %s needs to be installed. Do you want to install it?"
msgstr "%s প্যাকেজগুলি ইনস্টল করা প্রয়োজন। আপনি কি ইনস্টল করতে চান?"

#: do_pkgs.pm:23 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:83
#, c-format
msgid "Could not install the %s package!"
msgstr "%s প্যাকেজটি ইনস্টল করা যায় নি!"

#: do_pkgs.pm:28 do_pkgs.pm:65
#, c-format
msgid "Mandatory package %s is missing"
msgstr "%s আবশ্যিক প্যাকেজ নেই"

#: do_pkgs.pm:39 do_pkgs.pm:78
#, c-format
msgid "The following packages need to be installed:\n"
msgstr "নিম্নোক্ত প্যাকেজসমূহ ইনস্টল করা প্রয়োজন:\n"

#: do_pkgs.pm:242
#, c-format
msgid "Installing packages..."
msgstr "প্যাকেজসমূহ ইনস্টল করা হচ্ছে..."

#: do_pkgs.pm:287 pkgs.pm:287
#, c-format
msgid "Removing packages..."
msgstr "প্যাকেজসমূহ অপসরণ করা হচ্ছে..."

#: fs/any.pm:18
#, c-format
msgid ""
"An error occurred - no valid devices were found on which to create new "
"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
"একটি ভুল হয়ে গেছে - কোন সঠিক যন্ত্র পাওয়া যায়নি যেখানে নতুন ফাইল সিস্টেম তৈরি করা "
"হবে। অনুগ্রহ করে এই সমস্যার কারণের জন্য আপনার হার্ডওয়্যার পরীক্ষা করুন"

#: fs/any.pm:75 fs/partitioning_wizard.pm:70
#, c-format
msgid "You must have a FAT partition mounted in /boot/efi"
msgstr "আপনার /boot/efi -এ অবশ্যই একটি FAT পার্টিশন থাকতে হবে"

#: fs/format.pm:111
#, c-format
msgid "Creating and formatting file %s"
msgstr "%s ফাইল তৈরী এবং ফরম্যাট করা হচ্ছে"

#: fs/format.pm:131
#, fuzzy, c-format
msgid "I do not know how to set label on %s with type %s"
msgstr "আমার জানা নেই পার্টিশন %s-কে কিভাবে %s ধরণে ফরম্যাট করতে হয়"

# এটাও উল্টে যাবে মানে করতে গেলে। কারন মানেটা দাঁড়াবে <দ্বিতীয় %s কে প্রথম %s ফরম্যাট করা ব্যার্থ হয়েছে>
#: fs/format.pm:143
#, fuzzy, c-format
msgid "setting label on %s failed, is it formatted?"
msgstr "%s কে %s ফরম্যাট করতে ব্যর্থ হয়েছে"

#: fs/format.pm:184
#, c-format
msgid "I do not know how to format %s in type %s"
msgstr "আমার জানা নেই পার্টিশন %s-কে কিভাবে %s ধরণে ফরম্যাট করতে হয়"

# এটাও উল্টে যাবে মানে করতে গেলে। কারন মানেটা দাঁড়াবে <দ্বিতীয় %s কে প্রথম %s ফরম্যাট করা ব্যার্থ হয়েছে>
#: fs/format.pm:189 fs/format.pm:191
#, c-format
msgid "%s formatting of %s failed"
msgstr "%s কে %s ফরম্যাট করতে ব্যর্থ হয়েছে"

#: fs/loopback.pm:24
#, c-format
msgid "Circular mounts %s\n"
msgstr "সার্কুলার মাউন্টস %s\n"

#: fs/mount.pm:85
#, c-format
msgid "Mounting partition %s"
msgstr "%s পার্টিশন মাউন্ট করা হচ্ছে"

# এখানে কি করতে হবে? দুটোই %s কিন্তু মানেটা হবে : %s ডিরেক্টরিতে %s পার্টিশন মাউন্ট করা সম্ভব হলোনা।
# দেখবেন কি করা যাবে...
#: fs/mount.pm:87
#, c-format
msgid "mounting partition %s in directory %s failed"
msgstr "%2$s ডিরেক্টরিতে %1$s পার্টিশন মাউন্ট করা ব্যর্থ হয়েছে"

#: fs/mount.pm:92 fs/mount.pm:109
#, c-format
msgid "Checking %s"
msgstr "%s পরীক্ষা করা হচ্ছে"

#: fs/mount.pm:126 partition_table.pm:422
#, c-format
msgid "error unmounting %s: %s"
msgstr "%s আনমাউন্টে সমস্যা: %s"

# এনেবল লিখলাম। মানেটা মাথায় আসছেনা
#: fs/mount.pm:141
#, c-format
msgid "Enabling swap partition %s"
msgstr "%s সোয়াপ পার্টিশন সক্রিয় করো"

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

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

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

# #msgstr "%2$s কে %1$s ফরম্যাট করা ব্যর্থ হয়েছে"
#: fs/mount_options.pm:120
#, c-format
msgid ""
"Do not update inode access times on this filesystem\n"
"(e.g, for faster access on the news spool to speed up news servers)."
msgstr ""
"এই ফাইল সিস্টেমে inode প্রবেশ সময় আপডেট করবেন না\n"
"(যেমন,নিউজ সার্ভার দ্রুত করতে নিউজ স্পুলে দ্রুত প্রবেশ)।"

# #msgstr "%2$s কে %1$s ফরম্যাট করা ব্যর্থ হয়েছে"
#: fs/mount_options.pm:123
#, fuzzy, c-format
msgid ""
"Update inode access times on this filesystem in a more efficient way\n"
"(e.g, for faster access on the news spool to speed up news servers)."
msgstr ""
"এই ফাইল সিস্টেমে inode প্রবেশ সময় আপডেট করবেন না\n"
"(যেমন,নিউজ সার্ভার দ্রুত করতে নিউজ স্পুলে দ্রুত প্রবেশ)।"

#: fs/mount_options.pm:126
#, c-format
msgid ""
"Can only be mounted explicitly (i.e.,\n"
"the -a option will not cause the filesystem to be mounted)."
msgstr ""
"শুধুমাত্র স্পষ্টভাবে মাউন্ট করতে পারে (যেমন,\n"
")(-a অপশন ফাইল সিস্টেম মাউন্ট করতে দেবে না)।"

#: fs/mount_options.pm:129
#, c-format
msgid "Do not interpret character or block special devices on the filesystem."
msgstr "কোন চিহ্ন বা বিশেষ ব্লক যন্ত্রকে ফাইল সিস্টেমে ব্যাখ্যা করবেন না।"

#: fs/mount_options.pm:131
#, c-format
msgid ""
"Do not allow execution of any binaries on the mounted\n"
"filesystem. This option might be useful for a server that has filesystems\n"
"containing binaries for architectures other than its own."
msgstr ""
"মাউন্টকৃত ফাইল সিস্টেমে কোন বাইনারি এক্সিকিউট করার অনুমতি দেবেন না।\n"
"এই অপশন সেই সার্ভারের জন্য ব্যবহৃত হতে পারে যেখানে সে তার নিজের চেয়ে\n"
"অন্যান্য আর্কিটেকচারের বাইনারিগুলো বেশি ধারণ করে।"

#: fs/mount_options.pm:135
#, c-format
msgid ""
"Do not allow set-user-identifier or set-group-identifier\n"
"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
"have suidperl(1) installed.)"
msgstr ""
"allow set-user-identifier বা set-group-identifier বিটগুলোকে কোন প্রভাব নেয়ার\n"
"অনুমতি দেবেন না। (এটা যদিও নিরাপদ দেখাচ্ছে, কিন্তু অনিরাপদ হতে পারে যদি আপনার "
"suidperl(1))\n"
"ইনস্টল করা থাকে।)"

#: fs/mount_options.pm:139
#, c-format
msgid "Mount the filesystem read-only."
msgstr "ফাইল সিস্টেমকে শুধু পড়ার জন্য মাউন্ট করো।"

#: fs/mount_options.pm:141
#, c-format
msgid "All I/O to the filesystem should be done synchronously."
msgstr "সকল I/O ফাইল সিস্টেম যুগপত্‍ভাবে হওয়া উচিত।"

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

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

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

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

#: fs/mount_options.pm:151
#, c-format
msgid "Give write access to ordinary users"
msgstr "সাধারণ ব্যবহারকারীদের লেখার ক্ষমতা দিন"

#: fs/mount_options.pm:153
#, c-format
msgid "Give read-only access to ordinary users"
msgstr "সাধারণ ব্যবহারকারীদের শুধু পড়ার ক্ষমতা দিন"

#: fs/mount_point.pm:82
#, c-format
msgid "Duplicate mount point %s"
msgstr "%s নকল মাউন্ট পয়েন্ট"

#: fs/mount_point.pm:97
#, c-format
msgid "No partition available"
msgstr "কোন পার্টিশন বরাদ্দ নেই"

#: fs/mount_point.pm:100
#, c-format
msgid "Scanning partitions to find mount points"
msgstr "মাউন্ট পয়েন্ট খোঁজার জন্য পার্টিশনগুলি স্কেন করা হচ্ছে"

#: fs/mount_point.pm:107
#, c-format
msgid "Choose the mount points"
msgstr "মাউন্ট পয়েন্টগুলি পছন্দ করুন"

#: fs/partitioning.pm:46
#, c-format
msgid "Choose the partitions you want to format"
msgstr "ফরমেট করার জন্য পার্টিশনটি পছন্দ করুন"

#: fs/partitioning.pm:75
#, c-format
msgid ""
"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
"you can lose data)"
msgstr ""
"%s ফাইল সিস্টেম পরীক্ষা করতে ব্যার্থ হয়েছে। আপনি কি এই ত্রুটিগুলি সারাতে চান? (মনে "
"রাখবেন যে আপনি ডাটা হারাতে পারেন)"

#: fs/partitioning.pm:78
#, c-format
msgid "Not enough swap space to fulfill installation, please add some"
msgstr "ইনস্টলেশন সম্পূর্ন হবার জন্য যথেষ্ট swap জায়গা নেই, অনুগ্রহ করে কিছু যোগ করুন"

#: fs/partitioning_wizard.pm:61
#, c-format
msgid ""
"You must have a root partition.\n"
"To accomplish this, create a partition (or click on an existing one).\n"
"Then choose action ``Mount point'' and set it to `/'"
msgstr ""
"আপনার অবশ্যই একটি root পার্টিশন থাকতে হবে।\n"
"সেকারণে, একটি পার্টিশন তৈরি করুন (অথবা ইতিমধ্যেই তৈরি একটিতে ক্লিক করুন)।\n"
"তারপর ``Mount point'' বেছে নিন এবং সেটাকে `/' তে সেট করুন"

#: fs/partitioning_wizard.pm:67
#, c-format
msgid ""
"You do not have a swap partition.\n"
"\n"
"Continue anyway?"
msgstr ""
"আপনার কোন swap পার্টিশন নেই\n"
"\n"
"তবুও আগাবো?"

#: fs/partitioning_wizard.pm:101
#, c-format
msgid "Use free space"
msgstr "শুণ্য স্থান ব্যবহার করো"

#: fs/partitioning_wizard.pm:103
#, c-format
msgid "Not enough free space to allocate new partitions"
msgstr "নতুন পার্টিশন তৈরী করার জন্য যথেষ্ট পরিমান খালি জায়গা নেই"

#: fs/partitioning_wizard.pm:111
#, c-format
msgid "Use existing partitions"
msgstr "আগের পার্টিশনগুলি ব্যবহার করো"

#: fs/partitioning_wizard.pm:113
#, c-format
msgid "There is no existing partition to use"
msgstr "ব্যবহারের জন্য এখানে উপস্থিত কোন পার্টিশন নেই"

#: fs/partitioning_wizard.pm:137
#, c-format
msgid "Computing the size of the Microsoft Windows® partition"
msgstr "আপনার উইন্ডোজের পার্টিশনের সাইজ হিসেব করা হচ্ছে"

#: fs/partitioning_wizard.pm:173
#, fuzzy, c-format
msgid "Use the free space on a Microsoft Windows® partition"
msgstr "উইন্ডোজ পার্টিশনের খালি জায়গা ব্যবহার করে"

#: fs/partitioning_wizard.pm:177
#, c-format
msgid "Which partition do you want to resize?"
msgstr "আপনি কোন পার্টিশন রি-সাইজ করতে চান?"

#: fs/partitioning_wizard.pm:180
#, fuzzy, c-format
msgid ""
"Your Microsoft Windows® partition is too fragmented. Please reboot your "
"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
"the %s installation."
msgstr ""
"আপনার উইন্ডোজের পার্টিশনটি প্রচন্ড অসম। অনুগ্রহ করে আপনার কম্পিউটারটি উইন্ডোজে রি-বুট "
"করে, ``defrag'' ইউটিলিটি চালান, পরে  রি-ষ্টার্ট করে আবার মেনড্রক ইনস্টলেশন চালান।"

#: fs/partitioning_wizard.pm:188
#, c-format
msgid ""
"WARNING!\n"
"\n"
"\n"
"Your Microsoft Windows® partition will be now resized.\n"
"\n"
"\n"
"Be careful: this operation is dangerous. If you have not already done so, "
"you first need to exit the installation, run \"chkdsk c:\" from a Command "
"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
"optionally run defrag, then restart the installation. You should also backup "
"your data.\n"
"\n"
"\n"
"When sure, press %s."
msgstr ""
"সতর্ক বানী!\n"
"\n"
"DrakX এখন আপনার উইন্ডোজের পার্টিশন আকার পরিবর্তন করবে।\n"
"\n"
"\n"
"খুবই সাবধান: এই কার্যক্রমটি বিপদজ্জনক। আপনি যদি এরকম আগে করে না থাকেন, তাহলে "
"আপনাকে ইনস্টলেশন থেকে বের হয়ে, উইন্ডোজের কমান্ডপ্রমপ্ট থেকে \"chkdsk c:\" চালাতে "
"হবে (লক্ষ্য রাখবেন, \"scandisk\"-এর মত গ্রাফিক্যাল প্রোগ্রামগুলি যথেষ্ট নয়, আপনাকে "
"অবশ্যই কমান্ডপ্রমপ্ট থেকে \"chkdsk\" চালাতে হবে), ঐচ্ছিকভাবে defrag চালাতে পরেন, "
"পরে ইনস্টলেশন পুনরায় শুরু করবেন। আপনকে আপনার ডাটা ব্যাকআপ করা উচিত্‍‌।\n"
"\n"
"\n"
"নিশ্চিত্‍‌ হলে %s চাপুন।"

# পরবর্তি 
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: fs/partitioning_wizard.pm:197 fs/partitioning_wizard.pm:565
#: interactive.pm:550 interactive/curses.pm:270 ugtk2.pm:519
#, c-format
msgid "Next"
msgstr "পরবর্তী"

#: fs/partitioning_wizard.pm:203
#, fuzzy, c-format
msgid "Partitionning"
msgstr "পার্টিশন করা হচ্ছে"

#: fs/partitioning_wizard.pm:203
#, c-format
msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
msgstr "আপনি কোথায় উইন্ডোজের জন্য কোন সাইজটি রাখতে চান পার্টিশনসমূহ %s?"

#: fs/partitioning_wizard.pm:204
#, c-format
msgid "Size"
msgstr "মাপ"

#: fs/partitioning_wizard.pm:213
#, c-format
msgid "Resizing Microsoft Windows® partition"
msgstr "উইন্ডোজ পার্টিশন আকার পরিবর্তন করা হচ্ছে"

#: fs/partitioning_wizard.pm:218
#, c-format
msgid "FAT resizing failed: %s"
msgstr "FAT আকার পরিবর্তন ব্যর্থ হয়েছে: %s"

#: fs/partitioning_wizard.pm:234
#, c-format
msgid "There is no FAT partition to resize (or not enough space left)"
msgstr ""
"রি-সাইজ করার জন্য কোন FAT পার্টিশন নেই (অথবা যথেষ্ট পারিমান ফাঁকা জায়গা নেই)"

#: fs/partitioning_wizard.pm:239
#, c-format
msgid "Remove Microsoft Windows®"
msgstr "উইন্ডোজ(TM) মুছে ফেলো"

#: fs/partitioning_wizard.pm:239
#, fuzzy, c-format
msgid "Erase and use entire disk"
msgstr "সম্পূর্ণ ডিস্ক মুছে ফেলো"

#: fs/partitioning_wizard.pm:243
#, fuzzy, c-format
msgid ""
"You have more than one hard disk drive, which one do you want the installer "
"to use?"
msgstr "আপনার একের অধিক হার্ড ড্রাইভ আছে, আপনি কোনটাতে লিনাক্স ইনস্টল করতে চান?"

#: fs/partitioning_wizard.pm:251 fsedit.pm:634
#, c-format
msgid "ALL existing partitions and their data will be lost on drive %s"
msgstr "%s ড্রাইভে উপস্থিত সমস্থ ডাটা এবং পার্টিশন নষ্ট হয়ে যাবে"

#: fs/partitioning_wizard.pm:261
#, c-format
msgid "Custom disk partitioning"
msgstr "হাতে হাতে ডিস্ক পার্টিশন"

#: fs/partitioning_wizard.pm:267
#, c-format
msgid "Use fdisk"
msgstr "fdisk ব্যবহার করো"

#: fs/partitioning_wizard.pm:270
#, c-format
msgid ""
"You can now partition %s.\n"
"When you are done, do not forget to save using `w'"
msgstr ""
"এখন আপনি %s-কে পার্টিশন করতে পারেন।\n"
"যখন হয়ে যাবে, তখন `w' চেপে সেভ করতে ভূলবেননা"

#: fs/partitioning_wizard.pm:409
#, fuzzy, c-format
msgid "Ext2/3/4"
msgstr "বাহির"

#: fs/partitioning_wizard.pm:439 fs/partitioning_wizard.pm:585
#, c-format
msgid "I cannot find any room for installing"
msgstr "আমি ইনস্টল করার জন্য কোন জায়গা পাচ্ছিনা"

#: fs/partitioning_wizard.pm:448 fs/partitioning_wizard.pm:592
#, c-format
msgid "The DrakX Partitioning wizard found the following solutions:"
msgstr "DrakX পার্টিশন সহায়ক এই সমস্থ সমাধান পেয়েছে:"

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

#: fs/partitioning_wizard.pm:602
#, c-format
msgid "Partitioning failed: %s"
msgstr "পার্টিশনে ব্যার্থ: %s"

#: fs/type.pm:390
#, c-format
msgid "You cannot use JFS for partitions smaller than 16MB"
msgstr "১৬ মেগাবাইটের চাইতে ছোট পার্টিশনে আপনি JFS ব্যবহার করতে পারবেন না"

#: fs/type.pm:391
#, c-format
msgid "You cannot use ReiserFS for partitions smaller than 32MB"
msgstr "৩২ মেগাবাইটের চাইতে ছোট পার্টিশনে আপনি ReiserFS ব্যবহার করতে পারবেন না"

#: fsedit.pm:24
#, c-format
msgid "simple"
msgstr "সাধারণ"

#: fsedit.pm:28
#, c-format
msgid "with /usr"
msgstr "/usr -এর সাথে"

#: fsedit.pm:33
#, c-format
msgid "server"
msgstr "সার্ভার"

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

#: fsedit.pm:247
#, c-format
msgid ""
"I cannot read the partition table of device %s, it's too corrupted for me :"
"(\n"
"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
"The other solution is to not allow DrakX to modify the partition table.\n"
"(the error is %s)\n"
"\n"
"Do you agree to lose all the partitions?\n"
msgstr ""
"আমি %s যন্ত্রের পার্টিশন টেবিল পড়তে পাচ্ছি না, এটা আমার জন্য খুবই কলুষিত :(\n"
"আমি এর উপর দিয়ে কাজ করতে, নষ্ট পার্টশন মুছে ফেলতে চেষ্টা করব(সব ডাটা হারিয়ে "
"যাবে!)।\n"
"অন্য সমাধান হচ্ছে Drakx কে পার্টিশন টেবিল পরিবর্তন করার অনুমতি না দেয়া।\n"
"(ভুল হচ্ছে %s)\n"
"\n"
"আপনি কি সব পার্টিশন হারাতে রাজি?\n"

#: fsedit.pm:427
#, c-format
msgid "Mount points must begin with a leading /"
msgstr "মাউন্ট পয়েন্টগুলি অবশ্যই / দিয়ে শুরু হতে হবে"

# * = alphanumerical = বাংলাটা মনে পড়ছেনা
#: fsedit.pm:428
#, c-format
msgid "Mount points should contain only alphanumerical characters"
msgstr "মাউন্ট পয়েন্টগুলিতে শুধু * অক্ষর থাকবে"

#: fsedit.pm:429
#, c-format
msgid "There is already a partition with mount point %s\n"
msgstr "এই পার্টিশনটি আগে থেকেই %s মাউন্টপয়েন্ট নামে আছে\n"

#: fsedit.pm:434
#, fuzzy, c-format
msgid ""
"You've selected a software RAID partition as root (/).\n"
"No bootloader is able to handle this without a /boot partition.\n"
"Please be sure to add a separate /boot partition"
msgstr ""
"আপনি একটি সফ্টওয়্যার RAID পার্টিশনকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"

#: fsedit.pm:440
#, fuzzy, c-format
msgid ""
"Metadata version unsupported for a boot partition. Please be sure to add a "
"separate /boot partition."
msgstr ""
"আপনি একটি সফ্টওয়্যার RAID পার্টিশনকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"

#: fsedit.pm:448
#, fuzzy, c-format
msgid ""
"You've selected a software RAID partition as /boot.\n"
"No bootloader is able to handle this."
msgstr ""
"আপনি একটি সফ্টওয়্যার RAID পার্টিশনকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"

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

#: fsedit.pm:459
#, fuzzy, c-format
msgid ""
"You've selected an encrypted partition as root (/).\n"
"No bootloader is able to handle this without a /boot partition.\n"
"Please be sure to add a separate /boot partition"
msgstr ""
"আপনি একটি সফ্টওয়্যার RAID পার্টিশনকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"

#: fsedit.pm:465 fsedit.pm:485
#, c-format
msgid "You cannot use an encrypted filesystem for mount point %s"
msgstr "আপনি %s মাউন্ট পয়েন্টের জন্য একটি এনক্রিপটেড ফাইল ব্যবহার করতে পারবেন"

#: fsedit.pm:469
#, fuzzy, c-format
msgid ""
"You cannot use the LVM Logical Volume for mount point %s since it spans "
"physical volumes"
msgstr "আপনি LVM লজিকাল ভলিউমকে %s মাউন্ট পয়েন্ট হিসেবে ব্যবহার করতে পারবেননা"

#: fsedit.pm:471
#, fuzzy, c-format
msgid ""
"You've selected the LVM Logical Volume as root (/).\n"
"The bootloader is not able to handle this when the volume spans physical "
"volumes.\n"
"You should create a separate /boot partition first"
msgstr ""
"আপনি একটি সফ্টওয়্যার LVM লজিকাল ভলিউমকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"

#: fsedit.pm:475 fsedit.pm:477
#, c-format
msgid "This directory should remain within the root filesystem"
msgstr "root ফাইল সিস্টেমের মধ্যে এই ডিরেক্টরি থাকা উচিত"

#: fsedit.pm:479 fsedit.pm:481 fsedit.pm:483
#, c-format
msgid ""
"You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount "
"point\n"
msgstr ""
"এই মাউন্ট পয়েন্টের জন্য আপনার একটি সঠিক ফাইল সিস্টেম (ext2/3/4, reiserfs, xfs, "
"বা jfs) প্রয়োজন\n"

#: fsedit.pm:550
#, c-format
msgid "Not enough free space for auto-allocating"
msgstr "স্বয়ংক্রিয়-বন্টনের জন্য কোন খালি জায়গা নেই"

#: fsedit.pm:552
#, c-format
msgid "Nothing to do"
msgstr "কিছু করার নাই"

#: harddrake/data.pm:62
#, c-format
msgid "SATA controllers"
msgstr "SATA কন্ট্রলারসমূহ"

#: harddrake/data.pm:71
#, c-format
msgid "RAID controllers"
msgstr "RAID কন্ট্রলারসমূহ"

#: harddrake/data.pm:81
#, c-format
msgid "(E)IDE/ATA controllers"
msgstr "(E)IDE/ATA কন্ট্রলারসমূহ"

#: harddrake/data.pm:92
#, fuzzy, c-format
msgid "Card readers"
msgstr "কার্ড মডেল:"

#: harddrake/data.pm:101
#, c-format
msgid "Firewire controllers"
msgstr "Firewire কন্ট্রলারসমূহ"

#: harddrake/data.pm:110
#, c-format
msgid "PCMCIA controllers"
msgstr "PCMCIA কন্ট্রলারসমূহ"

#: harddrake/data.pm:119
#, c-format
msgid "SCSI controllers"
msgstr "SCSI কন্ট্রলারসমূহ"

#: harddrake/data.pm:128
#, c-format
msgid "USB controllers"
msgstr "ইউএসবি কন্ট্রলারসমূহ"

#: harddrake/data.pm:137
#, c-format
msgid "USB ports"
msgstr "ইউএসবি পোর্টসমূহ"

#: harddrake/data.pm:146
#, c-format
msgid "SMBus controllers"
msgstr "SMBus কন্ট্রলারসমূহ"

#: harddrake/data.pm:155
#, c-format
msgid "Bridges and system controllers"
msgstr "ব্রীজ এবং সিস্টেম কন্ট্রোলার সমূহ"

#: harddrake/data.pm:167
#, c-format
msgid "Floppy"
msgstr "ফ্লপি"

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

#: harddrake/data.pm:193
#, c-format
msgid "Hard Disk"
msgstr "ডিস্ক"

#: harddrake/data.pm:203
#, c-format
msgid "USB Mass Storage Devices"
msgstr ""

#: harddrake/data.pm:212
#, c-format
msgid "CDROM"
msgstr "সিডিরম"

#: harddrake/data.pm:222
#, c-format
msgid "CD/DVD burners"
msgstr "সিডি/ডিভিডি রাইটিং সফ্টওয়্যার"

#: harddrake/data.pm:232
#, c-format
msgid "DVD-ROM"
msgstr "ডিভিডি-রোম"

#: harddrake/data.pm:242
#, c-format
msgid "Tape"
msgstr "টেপ"

#: harddrake/data.pm:253
#, c-format
msgid "AGP controllers"
msgstr "AGP কন্ট্রোলার সমূহ"

#: harddrake/data.pm:262
#, c-format
msgid "Videocard"
msgstr "ভিডিওকার্ড"

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

#: harddrake/data.pm:279
#, c-format
msgid "Tvcard"
msgstr "টিভিকার্ড"

#: harddrake/data.pm:289
#, c-format
msgid "Other MultiMedia devices"
msgstr "অন্যান্য মাল্টিমিডিয়া ডিভাইস সমূহ"

#: harddrake/data.pm:298
#, c-format
msgid "Soundcard"
msgstr "সাউন্ডকার্ড"

#: harddrake/data.pm:312
#, c-format
msgid "Webcam"
msgstr "ওয়েব ক্যামেরা"

#: harddrake/data.pm:327
#, c-format
msgid "Processors"
msgstr "প্রসেসর"

#: harddrake/data.pm:337
#, c-format
msgid "ISDN adapters"
msgstr "ISDN এডোপ্টার সমূহ"

#: harddrake/data.pm:348
#, c-format
msgid "USB sound devices"
msgstr ""

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

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

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

#: harddrake/data.pm:384
#, c-format
msgid "Bluetooth devices"
msgstr ""

#: harddrake/data.pm:393
#, c-format
msgid "Ethernetcard"
msgstr "ইথারনেটকার্ড"

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

#: harddrake/data.pm:420
#, c-format
msgid "ADSL adapters"
msgstr "ADSL এডোপ্টার সমূহ"

#: harddrake/data.pm:432
#, c-format
msgid "Memory"
msgstr "মেমরি"

#: harddrake/data.pm:441
#, c-format
msgid "Printer"
msgstr "প্রিন্টার"

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

#: harddrake/data.pm:464
#, c-format
msgid "Joystick"
msgstr "জয়ষ্টিক"

#: harddrake/data.pm:474
#, c-format
msgid "Keyboard"
msgstr "কি-বোর্ড"

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

#: harddrake/data.pm:497
#, c-format
msgid "Mouse"
msgstr "মাউস"

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

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

#: harddrake/data.pm:529
#, c-format
msgid "Scanner"
msgstr "স্কেনার"

#: harddrake/data.pm:540
#, c-format
msgid "Unknown/Others"
msgstr "অজানা/অন্যান্য"

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

#: harddrake/sound.pm:270
#, c-format
msgid "Please Wait... Applying the configuration"
msgstr "অনুগ্রহ করে অপেক্ষা করুন.... কনফিগারেশন প্রস্তাব করা হচ্ছে"

#: harddrake/sound.pm:133
#, c-format
msgid "No known driver"
msgstr "কোন পরিচিত ড্রাইভার নেই"

#: harddrake/sound.pm:134
#, c-format
msgid "There's no known driver for your sound card (%s)"
msgstr "আপনার সাউন্ড কার্ড (%s)-এর জন্য কোন পরিচিত ড্রাইভার নেই"

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

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

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

#: harddrake/sound.pm:347
#, c-format
msgid "Troubleshooting"
msgstr "ট্রাবল শুটিং"

#: harddrake/sound.pm:354
#, c-format
msgid "No alternative driver"
msgstr "কোন বিকল্প ড্রাইভার নেই"

# বিকল্প
#: harddrake/sound.pm:355
#, c-format
msgid ""
"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
"currently uses \"%s\""
msgstr ""
"আপনার সাউন্ড কার্ড (%s) যা আপনি বর্তমানে ব্যবহার \"%s\" করছেন তার জন্য পরিচিত অন্য "
"কোন OSS/ALSA কোন ড্রাইভার নেই"

#: harddrake/sound.pm:362
#, c-format
msgid "Sound configuration"
msgstr "সাউন্ড কনফিগারেশন"

#: harddrake/sound.pm:364
#, c-format
msgid ""
"Here you can select an alternative driver (either OSS or ALSA) for your "
"sound card (%s)."
msgstr ""
"এখানে আপনি আপনার সাউন্ড কার্ডের (%s) জন্য বিকল্প ড্রাইভার (হয় OSS অথবা ALSA) পছন্দ "
"করতে পারেন।"

#. -PO: here the first %s is either "OSS" or "ALSA", 
#. -PO: the second %s is the name of the current driver
#. -PO: and the third %s is the name of the default driver
#: harddrake/sound.pm:369
#, fuzzy, c-format
msgid ""
"\n"
"\n"
"Your card currently uses the %s\"%s\" driver (the default driver for your "
"card is \"%s\")"
msgstr ""
"\n"
"\n"
"আপনি বর্তমানে %s\"%s\" ড্রাইভার ব্যবহার করছেন (আপনার সাউন্ড কার্ডের স্বাভাবিক "
"ড্রাইভার \"%s\")"

#: harddrake/sound.pm:371
#, c-format
msgid ""
"OSS (Open Sound System) was the first sound API. It's an OS independent "
"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
"and limited API.\n"
"What's more, OSS drivers all reinvent the wheel.\n"
"\n"
"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
"which\n"
"supports quite a large range of ISA, USB and PCI cards.\n"
"\n"
"It also provides a much higher API than OSS.\n"
"\n"
"To use alsa, one can either use:\n"
"- the old compatibility OSS API\n"
"- the new ALSA API that provides many enhanced features but requires using "
"the ALSA library.\n"
msgstr ""
"OSS (Open Sound System) ছিল প্রথম সাউন্ড API. এটা হচ্ছে একটি ওএস স্বাধীন সাউন্ড "
"API (এটা বেশিরভাগ UNIX(tm) সিস্টেমে পাওয়া যায়) কিন্তু এটা খুব সাধারণ এবং "
"স্বল্পসংখ্যক API.\n"
"নতুন আর কি, OSS ড্রাইভার সব চাকা নতুন করে তৈরি করে।\n"
"\n"
"ALSA (Advanced Linux Sound Architecture) হচ্ছে একটি নিয়ন্ত্রিত আর্কিটেকচার যা\n"
"ISA, ইউএসবি এবং PCI cards এর একটি বড় সীমা সমর্থন করে।\n"
"\n"
"এটা OSS এর চেয়ে বেশি API প্রদান করে\n"
"\n"
"alsa ব্যবহার করতে, একজন ব্যবহার করতে পারে:\n"
"- পুরাতন সমর্থিত OSS API\n"
"- নতুন ALSA API যা অনেক সুবিধা প্রদান করে কিন্তু ALSA লাইব্রেরী কতৃক ব্যবহৃত।\n"

#: harddrake/sound.pm:385 harddrake/sound.pm:487
#, c-format
msgid "Driver:"
msgstr "ড্রাইভার"

#: harddrake/sound.pm:243
#, c-format
msgid "Sound troubleshooting"
msgstr "সাউন্ড ট্রাবল শুটিং"

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

#: harddrake/sound.pm:476
#, c-format
msgid "Let me pick any driver"
msgstr "আমাকে যেকোন ড্রাইভার নিতে দাও"

#: harddrake/sound.pm:479
#, c-format
msgid "Choosing an arbitrary driver"
msgstr "ইচ্ছেমত ড্রাইভার পছন্দ"

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: harddrake/sound.pm:482
#, c-format
msgid ""
"If you really think that you know which driver is the right one for your "
"card\n"
"you can pick one from the above list.\n"
"\n"
"The current driver for your \"%s\" sound card is \"%s\" "
msgstr ""
"আপনি যদি মনে করেন যে কোন ড্রাইভার আপনার কার্ডের জন্য ঠিক হবে\n"
"তাহলে উপরের লিষ্ট থেকে আপনি একটি পছন্দ করে নিতে পারেন।\n"
"\n"
"আপনার \"%s\"-এর বর্তমান ড্রাইভার \"%s\""

#: harddrake/v4l.pm:12
#, c-format
msgid "Auto-detect"
msgstr "সয়ং-সনাক্ত"

#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
#, c-format
msgid "Unknown|Generic"
msgstr "অজানা|সাধারণ"

#: harddrake/v4l.pm:130
#, c-format
msgid "Unknown|CPH05X (bt878) [many vendors]"
msgstr "অজানা|CPH05X (bt878) [প্রচুর প্রস্তুতকারক]"

#: harddrake/v4l.pm:131
#, c-format
msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr "অজানা|CPH06X (bt878) [প্রচুর প্রস্তুতকারক]"

#: harddrake/v4l.pm:475
#, c-format
msgid ""
"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
"detect the rights parameters.\n"
"If your card is misdetected, you can force the right tuner and card types "
"here. Just select your TV card parameters if needed."
msgstr ""
"বেশিরভাগ আধুনিক টিভি কার্ডের ক্ষেত্রেই GNU/Linux -এর bttv মডিউল সঠিক প্যারামিটার "
"সয়ং সনাক্ত করে।\n"
"যদি আপনার কার্ড সনাক্ত না হয়, আপনি জোর করে এই কার্ডের জন্য সঠিক টিউনার এবং "
"কার্ডের ধরণ এখানে জোর করে দিতে পারেন। যদি প্রয়োজন হয় তাহলে শুধু আপনার কার্ডের "
"প্যারামিটার নির্বাচন করুন।"

#: harddrake/v4l.pm:478
#, c-format
msgid "Card model:"
msgstr "কার্ড মডেল:"

#: harddrake/v4l.pm:479
#, c-format
msgid "Tuner type:"
msgstr "টিউনারের ধরণ:"

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

#: interactive.pm:229 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:157
#, c-format
msgid "Yes"
msgstr "হ্যাঁ"

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

#: interactive.pm:263
#, c-format
msgid "Choose a file"
msgstr "একটি ফাইল পছন্দ করুন"

#: interactive.pm:388 interactive/gtk.pm:457
#, c-format
msgid "Add"
msgstr "যোগ"

#: interactive.pm:388 interactive/gtk.pm:457
#, c-format
msgid "Modify"
msgstr "পরিবর্তন"

#: interactive.pm:550 interactive/curses.pm:270 ugtk2.pm:519
#, c-format
msgid "Finish"
msgstr "সমাপ্ত"

# আগে
#: interactive.pm:551 interactive/curses.pm:267 ugtk2.pm:517
#, c-format
msgid "Previous"
msgstr "পূর্ববর্তী"

# সাম
#: interactive/curses.pm:576 ugtk2.pm:872
#, c-format
msgid "No file chosen"
msgstr "কোন ফাইল বেছে নেয়া হয়নি"

# সাম
#: interactive/curses.pm:580 ugtk2.pm:876
#, c-format
msgid "You have chosen a directory, not a file"
msgstr "আপনি একটি ডিরেক্টরি নির্বাচন করেছেন, ফাইল নয়"

# সাম
#: interactive/curses.pm:582 ugtk2.pm:878
#, c-format
msgid "No such directory"
msgstr "এই নামে কোন ডিরেক্টরি নেই"

# সাম
#: interactive/curses.pm:582 ugtk2.pm:878
#, c-format
msgid "No such file"
msgstr "এই নামে কোন ফাইল নেই"

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

#: interactive/stdio.pm:29 interactive/stdio.pm:154
#, c-format
msgid "Bad choice, try again\n"
msgstr "বাজে পছন্দ, আবার চেষ্টা করুন\n"

#: interactive/stdio.pm:30 interactive/stdio.pm:155
#, c-format
msgid "Your choice? (default %s) "
msgstr "আপনার পছন্দ? (সাধারনত %s)"

#: interactive/stdio.pm:54
#, c-format
msgid ""
"Entries you'll have to fill:\n"
"%s"
msgstr ""
"এই এন্ট্রিগুলি আপনাকে পূরণ করতে হবে:\n"
"%s"

#: interactive/stdio.pm:70
#, c-format
msgid "Your choice? (0/1, default `%s') "
msgstr "Your choice? (0/1, সাধারনত `%s')"

#: interactive/stdio.pm:97
#, c-format
msgid "Button `%s': %s"
msgstr "বাটন `%s': %s"

#: interactive/stdio.pm:98
#, c-format
msgid "Do you want to click on this button?"
msgstr "আপনি কি এই বাটনে ক্লিক করতে চান?"

#: interactive/stdio.pm:110
#, c-format
msgid "Your choice? (default `%s'%s) "
msgstr "আপনার পছন্দ? (সাধারনত `%s'%s)"

#: interactive/stdio.pm:110
#, c-format
msgid " enter `void' for void entry"
msgstr " সঠিক এন্ট্রর জন্য `void' প্রবেশ করুন"

#: interactive/stdio.pm:128
#, c-format
msgid "=> There are many things to choose from (%s).\n"
msgstr "=> (%s)-থেকে পছন্দ করার অনেক কিছু আছে।\n"

#: interactive/stdio.pm:131
#, c-format
msgid ""
"Please choose the first number of the 10-range you wish to edit,\n"
"or just hit Enter to proceed.\n"
"Your choice? "
msgstr ""
"সম্পাদিত করতে চান আপনার পছন্দের এমন ১০-রেজ্ঞের প্রথম সংখ্যাটিকে অনুগ্রহ করে আপনি "
"বেছে নিন,\n"
"অথবা শুধুমাত্র চালিয়ে যাও'তে হিট করুন।\n"
"আপনার পছন্দ? "

#: interactive/stdio.pm:144
#, c-format
msgid ""
"=> Notice, a label changed:\n"
"%s"
msgstr ""
"=> নোটিশ, একটি নাম পরিবর্তিত হয়েছে:\n"
"%s"

#: interactive/stdio.pm:151
#, c-format
msgid "Re-submit"
msgstr "পুনরায়-পেশ"

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

#: lang.pm:220
#, c-format
msgid "Andorra"
msgstr "এনডোররা"

#: lang.pm:221 timezone.pm:228
#, c-format
msgid "United Arab Emirates"
msgstr "সংযুক্ত আরব আমিরাত"

#: lang.pm:222
#, c-format
msgid "Afghanistan"
msgstr "আফগানিস্তান"

#: lang.pm:223
#, c-format
msgid "Antigua and Barbuda"
msgstr "আংটিগুয়া এবং বারবুদা"

#: lang.pm:224
#, c-format
msgid "Anguilla"
msgstr "অ্যাংগুইল্লিয়া"

#: lang.pm:225
#, c-format
msgid "Albania"
msgstr "আলবেনিয়া"

#: lang.pm:226
#, c-format
msgid "Armenia"
msgstr "আরমেনিয়া"

#: lang.pm:227
#, c-format
msgid "Netherlands Antilles"
msgstr "নেদারল্যান্ড এ্যন্টিল্লিস"

#: lang.pm:228
#, c-format
msgid "Angola"
msgstr "অ্যাংগোলা"

#: lang.pm:229
#, c-format
msgid "Antarctica"
msgstr "এন্টার্কটিকা"

#: lang.pm:230 timezone.pm:273
#, c-format
msgid "Argentina"
msgstr "আর্জেন্টিনা"

#: lang.pm:231
#, c-format
msgid "American Samoa"
msgstr "আমেরিকান সামোয়া"

#: lang.pm:232 mirror.pm:12 timezone.pm:231
#, c-format
msgid "Austria"
msgstr "অষ্ট্রিয়া"

#: lang.pm:233 mirror.pm:11 timezone.pm:269
#, c-format
msgid "Australia"
msgstr "অষ্ট্রেলিয়া"

#: lang.pm:234
#, c-format
msgid "Aruba"
msgstr "অরুবা"

#: lang.pm:235
#, c-format
msgid "Azerbaijan"
msgstr "আজেরবাঈজান"

#: lang.pm:236
#, c-format
msgid "Bosnia and Herzegovina"
msgstr "বসনিয়া এবং হার্জোগোভিনা"

#: lang.pm:237
#, c-format
msgid "Barbados"
msgstr "বার্বাডোস"

#: lang.pm:238 timezone.pm:213
#, c-format
msgid "Bangladesh"
msgstr "বাংলাদেশ"

#: lang.pm:239 mirror.pm:13 timezone.pm:233
#, c-format
msgid "Belgium"
msgstr "বেলজিয়াম"

#: lang.pm:240
#, c-format
msgid "Burkina Faso"
msgstr "বুর্কিনা ফাসো"

#: lang.pm:241 timezone.pm:234
#, c-format
msgid "Bulgaria"
msgstr "বুলগেরিয়া"

#: lang.pm:242
#, c-format
msgid "Bahrain"
msgstr "বাহরাইন"

#: lang.pm:243
#, c-format
msgid "Burundi"
msgstr "বুরুন্ডি"

#: lang.pm:244
#, c-format
msgid "Benin"
msgstr "বেনিন"

#: lang.pm:245
#, c-format
msgid "Bermuda"
msgstr "বার্মুডা"

#: lang.pm:246
#, c-format
msgid "Brunei Darussalam"
msgstr "ব্রুনেই দারুসসালাম"

#: lang.pm:247
#, c-format
msgid "Bolivia"
msgstr "বলিভিয়া"

#: lang.pm:248 mirror.pm:14 timezone.pm:274
#, c-format
msgid "Brazil"
msgstr "ব্রাজিল"

#: lang.pm:249
#, c-format
msgid "Bahamas"
msgstr "বাহামা"

#: lang.pm:250
#, c-format
msgid "Bhutan"
msgstr "ভূটান"

#: lang.pm:251
#, c-format
msgid "Bouvet Island"
msgstr "বৌভেট দীপসমূহ"

#: lang.pm:252
#, c-format
msgid "Botswana"
msgstr "বত্‌সওয়ানা"

#: lang.pm:253 timezone.pm:232
#, c-format
msgid "Belarus"
msgstr "বেলারুস"

#: lang.pm:254
#, c-format
msgid "Belize"
msgstr "বেলিজে"

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

#: lang.pm:256
#, c-format
msgid "Cocos (Keeling) Islands"
msgstr "কোকোস (কেলিং) দীপসমূহ"

#: lang.pm:257
#, c-format
msgid "Congo (Kinshasa)"
msgstr "কঙ্গো (কিংশাসা)"

#: lang.pm:258
#, c-format
msgid "Central African Republic"
msgstr "মধ্য আফ্রিকান গণপ্রজাতন্ত্র"

#: lang.pm:259
#, c-format
msgid "Congo (Brazzaville)"
msgstr "কঙ্গো (ব্রাজ্জাভিল্লে)"

#: lang.pm:260 mirror.pm:39 timezone.pm:257
#, c-format
msgid "Switzerland"
msgstr "সুইজারল্যান্ড"

#: lang.pm:261
#, c-format
msgid "Cote d'Ivoire"
msgstr "কোট ডি'লভোরে"

#: lang.pm:262
#, c-format
msgid "Cook Islands"
msgstr "কুক দীপপুঞ্জ"

#: lang.pm:263 timezone.pm:275
#, c-format
msgid "Chile"
msgstr "চিলি"

#: lang.pm:264
#, c-format
msgid "Cameroon"
msgstr "ক্যামেরুন"

#: lang.pm:265 timezone.pm:214
#, c-format
msgid "China"
msgstr "চীন"

#: lang.pm:266
#, c-format
msgid "Colombia"
msgstr "কলম্বিয়া"

#: lang.pm:267 mirror.pm:16
#, c-format
msgid "Costa Rica"
msgstr "কোষ্টা রিকা"

#: lang.pm:268
#, c-format
msgid "Serbia & Montenegro"
msgstr "সারবিয়া এবং মোনটেংগ্র"

#: lang.pm:269
#, c-format
msgid "Cuba"
msgstr "কিউবা"

#: lang.pm:270
#, c-format
msgid "Cape Verde"
msgstr "কেপ ভার্দে"

#: lang.pm:271
#, c-format
msgid "Christmas Island"
msgstr "ক্রিসমাস দীপপুঞ্জ"

#: lang.pm:272
#, c-format
msgid "Cyprus"
msgstr "সাইপ্রাস"

#: lang.pm:273 mirror.pm:17 timezone.pm:235
#, c-format
msgid "Czech Republic"
msgstr "চেক রিপাবলিক"

#: lang.pm:274 mirror.pm:22 timezone.pm:240
#, c-format
msgid "Germany"
msgstr "জার্মানী"

#: lang.pm:275
#, c-format
msgid "Djibouti"
msgstr "ডজিবুতি"

#: lang.pm:276 mirror.pm:18 timezone.pm:236
#, c-format
msgid "Denmark"
msgstr "ডেনমার্ক"

#: lang.pm:277
#, c-format
msgid "Dominica"
msgstr "ডোমিনিকা"

#: lang.pm:278
#, c-format
msgid "Dominican Republic"
msgstr "গণপ্রজাতন্ত্রী ডোমিনিকা"

#: lang.pm:279
#, c-format
msgid "Algeria"
msgstr "আলজেরিয়া"

#: lang.pm:280
#, c-format
msgid "Ecuador"
msgstr "ইকুয়েডর"

#: lang.pm:281 mirror.pm:19 timezone.pm:237
#, c-format
msgid "Estonia"
msgstr "এস্তোনিয়া"

#: lang.pm:282
#, c-format
msgid "Egypt"
msgstr "মিশর"

#: lang.pm:283
#, c-format
msgid "Western Sahara"
msgstr "পশ্চিম সাহারা"

#: lang.pm:284
#, c-format
msgid "Eritrea"
msgstr "এরিট্রিয়া"

#: lang.pm:285 mirror.pm:37 timezone.pm:255
#, c-format
msgid "Spain"
msgstr "স্পেন"

#: lang.pm:286
#, c-format
msgid "Ethiopia"
msgstr "ইথিওপিয়া"

#: lang.pm:287 mirror.pm:20 timezone.pm:238
#, c-format
msgid "Finland"
msgstr "ফিনল্যান্ড"

#: lang.pm:288
#, c-format
msgid "Fiji"
msgstr "ফুজি"

#: lang.pm:289
#, c-format
msgid "Falkland Islands (Malvinas)"
msgstr "ফোকল্যান্ড দীপপুঞ্জ (মালভিনাস)"

#: lang.pm:290
#, c-format
msgid "Micronesia"
msgstr "মাক্রোনেশিয়া"

#: lang.pm:291
#, c-format
msgid "Faroe Islands"
msgstr "ফারোয় দীপপুঞ্জ"

#: lang.pm:292 mirror.pm:21 timezone.pm:239
#, c-format
msgid "France"
msgstr "ফ্রান্স"

#: lang.pm:293
#, c-format
msgid "Gabon"
msgstr "গ্যাবোন"

#: lang.pm:294 timezone.pm:259
#, c-format
msgid "United Kingdom"
msgstr "যুক্তরাজ্য"

#: lang.pm:295
#, c-format
msgid "Grenada"
msgstr "গ্রেনেডা"

#: lang.pm:296
#, c-format
msgid "Georgia"
msgstr "জর্জিয়া"

#: lang.pm:297
#, c-format
msgid "French Guiana"
msgstr "ফ্রেঞ্জ গায়ানা"

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

#: lang.pm:299
#, c-format
msgid "Gibraltar"
msgstr "জিব্রাল্টার"

#: lang.pm:300
#, c-format
msgid "Greenland"
msgstr "গ্রীণল্যান্ড"

#: lang.pm:301
#, c-format
msgid "Gambia"
msgstr "জাম্বিয়া"

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

#: lang.pm:303
#, c-format
msgid "Guadeloupe"
msgstr "গুয়াদেলুপে"

#: lang.pm:304
#, c-format
msgid "Equatorial Guinea"
msgstr "ইকুয়েটরিয়াল গিনি"

#: lang.pm:305 mirror.pm:23 timezone.pm:241
#, c-format
msgid "Greece"
msgstr "গ্রীস"

#: lang.pm:306
#, c-format
msgid "South Georgia and the South Sandwich Islands"
msgstr "দক্ষিন জর্জিয়া এবং দক্ষিন স্যান্ডউইচ্‌ দীপপুঞ্জ"

#: lang.pm:307 timezone.pm:264
#, c-format
msgid "Guatemala"
msgstr "গুয়াতেমালা"

#: lang.pm:308
#, c-format
msgid "Guam"
msgstr "গুয়াম"

#: lang.pm:309
#, c-format
msgid "Guinea-Bissau"
msgstr "গিনি-বিসাউ"

#: lang.pm:310
#, c-format
msgid "Guyana"
msgstr "গায়ানা"

#: lang.pm:311
#, c-format
msgid "Hong Kong SAR (China)"
msgstr "হংকং (চীন)"

#: lang.pm:312
#, c-format
msgid "Heard and McDonald Islands"
msgstr "হার্ড এবং ম্যাকডোনাল্ড দীপপুঞ্জ"

#: lang.pm:313
#, c-format
msgid "Honduras"
msgstr "হন্ডুরাস"

#: lang.pm:314
#, c-format
msgid "Croatia"
msgstr "ক্রোয়েশিয়া"

#: lang.pm:315
#, c-format
msgid "Haiti"
msgstr "হাইতি"

#: lang.pm:316 mirror.pm:24 timezone.pm:242
#, c-format
msgid "Hungary"
msgstr "হাঙ্গেরী"

#: lang.pm:317 timezone.pm:217
#, c-format
msgid "Indonesia"
msgstr "ইন্দোনেশিয়া"

#: lang.pm:318 mirror.pm:25 timezone.pm:243
#, c-format
msgid "Ireland"
msgstr "আয়ারল্যান্ড"

#: lang.pm:319 mirror.pm:26 timezone.pm:219
#, c-format
msgid "Israel"
msgstr "ইসরাঈল"

#: lang.pm:320 timezone.pm:216
#, c-format
msgid "India"
msgstr "ভারত"

#: lang.pm:321
#, c-format
msgid "British Indian Ocean Territory"
msgstr "ব্রিটিশ ভারতীয় মহাসাগর সমরাজ্য"

#: lang.pm:322
#, c-format
msgid "Iraq"
msgstr "ইরাক"

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

#: lang.pm:324
#, c-format
msgid "Iceland"
msgstr "আইসল্যান্ড"

#: lang.pm:325 mirror.pm:27 timezone.pm:244
#, c-format
msgid "Italy"
msgstr "ইতালী"

#: lang.pm:326
#, c-format
msgid "Jamaica"
msgstr "জামাইকা"

#: lang.pm:327
#, c-format
msgid "Jordan"
msgstr "জর্ডান"

#: lang.pm:328 mirror.pm:28 timezone.pm:220
#, c-format
msgid "Japan"
msgstr "জাপান"

#: lang.pm:329
#, c-format
msgid "Kenya"
msgstr "কেনিয়া"

#: lang.pm:330
#, c-format
msgid "Kyrgyzstan"
msgstr "কিরগিজস্তান"

#: lang.pm:331
#, c-format
msgid "Cambodia"
msgstr "কম্বোডিয়া"

#: lang.pm:332
#, c-format
msgid "Kiribati"
msgstr "কিরিবাতি"

#: lang.pm:333
#, c-format
msgid "Comoros"
msgstr "কমোরোস"

#: lang.pm:334
#, c-format
msgid "Saint Kitts and Nevis"
msgstr "সেন্ট কিট্টস্‌ এবং নেভিস্‌"

#: lang.pm:335
#, c-format
msgid "Korea (North)"
msgstr "কোরিয়া (উত্তর)"

#: lang.pm:336 timezone.pm:221
#, c-format
msgid "Korea"
msgstr "কোরিয়া"

#: lang.pm:337
#, c-format
msgid "Kuwait"
msgstr "কুয়েত"

#: lang.pm:338
#, c-format
msgid "Cayman Islands"
msgstr "কেম্যান দীপপুঞ্জ"

#: lang.pm:339
#, c-format
msgid "Kazakhstan"
msgstr "কাজাকিস্তান"

#: lang.pm:340
#, c-format
msgid "Laos"
msgstr "লাওস্‌"

#: lang.pm:341
#, c-format
msgid "Lebanon"
msgstr "লেবানন"

#: lang.pm:342
#, c-format
msgid "Saint Lucia"
msgstr "সেইন্ট লুইস"

#: lang.pm:343
#, c-format
msgid "Liechtenstein"
msgstr "লিয়েচ্‌টেনস্তেইন"

#: lang.pm:344
#, c-format
msgid "Sri Lanka"
msgstr "শ্রীলঙ্কা"

#: lang.pm:345
#, c-format
msgid "Liberia"
msgstr "লাইবেরিয়া"

#: lang.pm:346
#, c-format
msgid "Lesotho"
msgstr "লেসথো"

#: lang.pm:347 timezone.pm:245
#, c-format
msgid "Lithuania"
msgstr "লিথুয়েনিয়া"

#: lang.pm:348 timezone.pm:246
#, c-format
msgid "Luxembourg"
msgstr "লুক্সেমবার্গ"

#: lang.pm:349
#, c-format
msgid "Latvia"
msgstr "লাটভিয়া"

#: lang.pm:350
#, c-format
msgid "Libya"
msgstr "লিবিয়া"

#: lang.pm:351
#, c-format
msgid "Morocco"
msgstr "মরক্কো"

#: lang.pm:352
#, c-format
msgid "Monaco"
msgstr "মোনাকো"

#: lang.pm:353
#, c-format
msgid "Moldova"
msgstr "মলডোভা"

#: lang.pm:354
#, c-format
msgid "Madagascar"
msgstr "মাদাগাস্‌কার"

#: lang.pm:355
#, c-format
msgid "Marshall Islands"
msgstr "মার্শাল দীপপুঞ্জ"

#: lang.pm:356
#, c-format
msgid "Macedonia"
msgstr "ম্যাসিডোনিয়া"

#: lang.pm:357
#, c-format
msgid "Mali"
msgstr "মালি"

#: lang.pm:358
#, c-format
msgid "Myanmar"
msgstr "মিয়ানমার"

#: lang.pm:359
#, c-format
msgid "Mongolia"
msgstr "মঙ্গোলীয়া"

#: lang.pm:360
#, c-format
msgid "Northern Mariana Islands"
msgstr "উত্তর মারিয়ানা দীপপুঞ্জ"

#: lang.pm:361
#, c-format
msgid "Martinique"
msgstr "মির্টিনিক্‌"

#: lang.pm:362
#, c-format
msgid "Mauritania"
msgstr "মৌরিতানিয়া"

#: lang.pm:363
#, c-format
msgid "Montserrat"
msgstr "মন্টসেরাত"

#: lang.pm:364
#, c-format
msgid "Malta"
msgstr "মাল্টা"

#: lang.pm:365
#, c-format
msgid "Mauritius"
msgstr "মরিসাস"

#: lang.pm:366
#, c-format
msgid "Maldives"
msgstr "মালদ্বীপ"

#: lang.pm:367
#, c-format
msgid "Malawi"
msgstr "মালাউ"

#: lang.pm:368 timezone.pm:265
#, c-format
msgid "Mexico"
msgstr "মেক্সিকো"

#: lang.pm:369 timezone.pm:222
#, c-format
msgid "Malaysia"
msgstr "মালয়েশিয়া"

#: lang.pm:370
#, c-format
msgid "Mozambique"
msgstr "মোজাম্বিক"

#: lang.pm:371
#, c-format
msgid "Namibia"
msgstr "নামিবিয়া"

#: lang.pm:372
#, c-format
msgid "New Caledonia"
msgstr "নিউ ক্যালেডোনিয়া"

#: lang.pm:373
#, c-format
msgid "Niger"
msgstr "নাইজার"

#: lang.pm:374
#, c-format
msgid "Norfolk Island"
msgstr "নরফোক দীপপুঞ্জ"

#: lang.pm:375
#, c-format
msgid "Nigeria"
msgstr "নাইজেরিয়া"

#: lang.pm:376
#, c-format
msgid "Nicaragua"
msgstr "নাইসারাগুয়া"

#: lang.pm:377 mirror.pm:29 timezone.pm:247
#, c-format
msgid "Netherlands"
msgstr "নেদারল্যান্ড"

#: lang.pm:378 mirror.pm:31 timezone.pm:248
#, c-format
msgid "Norway"
msgstr "নরওয়ে"

#: lang.pm:379
#, c-format
msgid "Nepal"
msgstr "নেপাল"

#: lang.pm:380
#, c-format
msgid "Nauru"
msgstr "নাউরু"

#: lang.pm:381
#, c-format
msgid "Niue"
msgstr "নিউও"

#: lang.pm:382 mirror.pm:30 timezone.pm:270
#, c-format
msgid "New Zealand"
msgstr "নিউজিল্যান্ড"

#: lang.pm:383
#, c-format
msgid "Oman"
msgstr "ওমান"

#: lang.pm:384
#, c-format
msgid "Panama"
msgstr "পানামা"

#: lang.pm:385
#, c-format
msgid "Peru"
msgstr "পেরু"

#: lang.pm:386
#, c-format
msgid "French Polynesia"
msgstr "ফ্রেঞ্জ পলিনেশিয়া"

#: lang.pm:387
#, c-format
msgid "Papua New Guinea"
msgstr "পাপুয়া নিউগিনি"

#: lang.pm:388 timezone.pm:223
#, c-format
msgid "Philippines"
msgstr "ফিলিপাইন"

#: lang.pm:389
#, c-format
msgid "Pakistan"
msgstr "পাকিস্তান"

#: lang.pm:390 mirror.pm:32 timezone.pm:249
#, c-format
msgid "Poland"
msgstr "পোল্যান্ড"

#: lang.pm:391
#, c-format
msgid "Saint Pierre and Miquelon"
msgstr "সেন্ট পিয়েরে এবং মুকুলন"

#: lang.pm:392
#, c-format
msgid "Pitcairn"
msgstr "পিটকাইরন"

#: lang.pm:393
#, c-format
msgid "Puerto Rico"
msgstr "পুয়ের্তোরিকো"

#: lang.pm:394
#, c-format
msgid "Palestine"
msgstr "প্যালেস্টাইন"

#: lang.pm:395 mirror.pm:33 timezone.pm:250
#, c-format
msgid "Portugal"
msgstr "পর্তুগাল"

#: lang.pm:396
#, c-format
msgid "Paraguay"
msgstr "পারাগুয়ে"

#: lang.pm:397
#, c-format
msgid "Palau"
msgstr "পালাউ"

#: lang.pm:398
#, c-format
msgid "Qatar"
msgstr "কাতার"

#: lang.pm:399
#, c-format
msgid "Reunion"
msgstr "রিইউনিয়ন"

#: lang.pm:400 timezone.pm:251
#, c-format
msgid "Romania"
msgstr "রোমানিয়া"

#: lang.pm:401 mirror.pm:34
#, c-format
msgid "Russia"
msgstr "রাশিয়া"

#: lang.pm:402
#, c-format
msgid "Rwanda"
msgstr "রুয়ান্ডা"

#: lang.pm:403
#, c-format
msgid "Saudi Arabia"
msgstr "সৌদী আরব"

#: lang.pm:404
#, c-format
msgid "Solomon Islands"
msgstr "সলোমন দীপপুঞ্জ"

#: lang.pm:405
#, c-format
msgid "Seychelles"
msgstr "সেইছিল্লেস"

#: lang.pm:406
#, c-format
msgid "Sudan"
msgstr "সুদান"

#: lang.pm:407 mirror.pm:38 timezone.pm:256
#, c-format
msgid "Sweden"
msgstr "সুইডেন"

#: lang.pm:408 timezone.pm:224
#, c-format
msgid "Singapore"
msgstr "সিঙ্গাপুর"

#: lang.pm:409
#, c-format
msgid "Saint Helena"
msgstr "সেন্ট হেলেনা"

#: lang.pm:410 timezone.pm:254
#, c-format
msgid "Slovenia"
msgstr "স্লোভেনিয়া"

#: lang.pm:411
#, c-format
msgid "Svalbard and Jan Mayen Islands"
msgstr "স্ভালবার্দ এবং জান মায়ান দীপপুঞ্জ"

#: lang.pm:412 mirror.pm:35 timezone.pm:253
#, c-format
msgid "Slovakia"
msgstr "স্লোভাকিয়া"

#: lang.pm:413
#, c-format
msgid "Sierra Leone"
msgstr "সিয়েররা লেওয়ান"

#: lang.pm:414
#, c-format
msgid "San Marino"
msgstr "সান মেরিনো"

#: lang.pm:415
#, c-format
msgid "Senegal"
msgstr "সেনেগাল"

#: lang.pm:416
#, c-format
msgid "Somalia"
msgstr "সোমালিয়া"

#: lang.pm:417
#, c-format
msgid "Suriname"
msgstr "সুরিনাম"

#: lang.pm:418
#, c-format
msgid "Sao Tome and Principe"
msgstr "সাও টোমি এবং প্রিন্সিপে"

#: lang.pm:419
#, c-format
msgid "El Salvador"
msgstr "এই সাল্ভাদোর"

#: lang.pm:420
#, c-format
msgid "Syria"
msgstr "সিরিয়া"

#: lang.pm:421
#, c-format
msgid "Swaziland"
msgstr "সুইজারল্যান্ড"

#: lang.pm:422
#, c-format
msgid "Turks and Caicos Islands"
msgstr "টার্ক এবং কাইকোস দীপপুঞ্জ"

#: lang.pm:423
#, c-format
msgid "Chad"
msgstr "চাদ"

#: lang.pm:424
#, c-format
msgid "French Southern Territories"
msgstr "দক্ষিন ফ্রান্স সাম্রাজ্য"

#: lang.pm:425
#, c-format
msgid "Togo"
msgstr "টোগো"

#: lang.pm:426 mirror.pm:41 timezone.pm:226
#, c-format
msgid "Thailand"
msgstr "থাইল্যান্ড"

#: lang.pm:427
#, c-format
msgid "Tajikistan"
msgstr "তাজিকিস্তান"

#: lang.pm:428
#, c-format
msgid "Tokelau"
msgstr "তোকেলাউ"

#: lang.pm:429
#, c-format
msgid "East Timor"
msgstr "পূর্ব তিমুর"

#: lang.pm:430
#, c-format
msgid "Turkmenistan"
msgstr "তুর্কমেনিস্তান"

#: lang.pm:431
#, c-format
msgid "Tunisia"
msgstr "তানিসিয়া"

#: lang.pm:432
#, c-format
msgid "Tonga"
msgstr "টঙ্গো"

#: lang.pm:433 timezone.pm:227
#, c-format
msgid "Turkey"
msgstr "তুর্কি"

#: lang.pm:434
#, c-format
msgid "Trinidad and Tobago"
msgstr "ট্রিনিদাদ এবং টোবাগো"

#: lang.pm:435
#, c-format
msgid "Tuvalu"
msgstr "টুভালু"

#: lang.pm:436 mirror.pm:40 timezone.pm:225
#, c-format
msgid "Taiwan"
msgstr "তাইওয়ান"

#: lang.pm:437 timezone.pm:210
#, c-format
msgid "Tanzania"
msgstr "তানজানিয়া"

#: lang.pm:438 timezone.pm:258
#, c-format
msgid "Ukraine"
msgstr "আকরাইসন"

#: lang.pm:439
#, c-format
msgid "Uganda"
msgstr "উগান্ডা"

#: lang.pm:440
#, c-format
msgid "United States Minor Outlying Islands"
msgstr "যুক্ত রাষ্ট্রের বাহিরের দীপপুঞ্জ"

#: lang.pm:441 mirror.pm:42 timezone.pm:266
#, c-format
msgid "United States"
msgstr "যুক্তরাষ্ট্র"

#: lang.pm:442
#, c-format
msgid "Uruguay"
msgstr "উরুগুয়ে"

#: lang.pm:443
#, c-format
msgid "Uzbekistan"
msgstr "উজবেকিস্তান"

#: lang.pm:444
#, c-format
msgid "Vatican"
msgstr "ভ্যাটিক্যান"

#: lang.pm:445
#, c-format
msgid "Saint Vincent and the Grenadines"
msgstr "সেন্ট ভিনসেন্ট এবং গ্রানাডা"

#: lang.pm:446
#, c-format
msgid "Venezuela"
msgstr "ভেনিজুয়েলা"

#: lang.pm:447
#, c-format
msgid "Virgin Islands (British)"
msgstr "ভার্জিন দীপপুঞ্জ (ব্রিটিশ)"

#: lang.pm:448
#, c-format
msgid "Virgin Islands (U.S.)"
msgstr "ভার্জিন দীপপুঞ্জ (ইউ.এস)"

#: lang.pm:449
#, c-format
msgid "Vietnam"
msgstr "ভিয়েতনাম"

#: lang.pm:450
#, c-format
msgid "Vanuatu"
msgstr "ভানাতু"

#: lang.pm:451
#, c-format
msgid "Wallis and Futuna"
msgstr "ওয়েলস্ এবং ফুটুনা"

#: lang.pm:452
#, c-format
msgid "Samoa"
msgstr "সামোয়া"

#: lang.pm:453
#, c-format
msgid "Yemen"
msgstr "ইয়েমান"

#: lang.pm:454
#, c-format
msgid "Mayotte"
msgstr "মায়োত্তে"

#: lang.pm:455 mirror.pm:36 timezone.pm:209
#, c-format
msgid "South Africa"
msgstr "দক্ষিন আফ্রিকা"

#: lang.pm:456
#, c-format
msgid "Zambia"
msgstr "জাম্বিয়া"

#: lang.pm:457
#, c-format
msgid "Zimbabwe"
msgstr "জিম্বাবুয়ে"

#: lang.pm:1191
#, c-format
msgid "Welcome to %s"
msgstr "%s -এ আপনাকে স্বাগতম"

#: lvm.pm:92
#, c-format
msgid "Moving used physical extents to other physical volumes failed"
msgstr ""

#: lvm.pm:152
#, c-format
msgid "Physical volume %s is still in use"
msgstr ""

#: lvm.pm:162
#, c-format
msgid "Remove the logical volumes first\n"
msgstr "প্রথমে লজিকাল ভলিউম সরিয়ে ফেলুন\n"

#: lvm.pm:205
#, c-format
msgid "The bootloader can't handle /boot on multiple physical volumes"
msgstr ""

#. -PO: Only write something if needed:
#: messages.pm:11
#, c-format
msgid "_: You can warn about unofficial translation here"
msgstr ""

#: messages.pm:18
#, c-format
msgid "Introduction"
msgstr ""

#: messages.pm:20
#, c-format
msgid ""
"The operating system and the different components available in the Mageia "
"distribution \n"
"shall be called the \"Software Products\" hereafter. The Software Products "
"include, but are not \n"
"restricted to, the set of programs, methods, rules and documentation related "
"to the operating \n"
"system and the different components of the Mageia distribution, and any "
"applications \n"
"distributed with these products provided by Mageia's licensors or suppliers."
msgstr ""

#: messages.pm:27
#, c-format
msgid "1. License Agreement"
msgstr ""

#: messages.pm:29
#, c-format
msgid ""
"Please read this document carefully. This document is a license agreement "
"between you and  \n"
"Mageia which applies to the Software Products.\n"
"By installing, duplicating or using any of the Software Products in any "
"manner, you explicitly \n"
"accept and fully agree to conform to the terms and conditions of this "
"License. \n"
"If you disagree with any portion of the License, you are not allowed to "
"install, duplicate or use \n"
"the Software Products. \n"
"Any attempt to install, duplicate or use the Software Products in a manner "
"which does not comply \n"
"with the terms and conditions of this License is void and will terminate "
"your rights under this \n"
"License. Upon termination of the License,  you must immediately destroy all "
"copies of the \n"
"Software Products."
msgstr ""

#: messages.pm:41
#, c-format
msgid "2. Limited Warranty"
msgstr ""

#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: messages.pm:44
#, c-format
msgid ""
"The Software Products and attached documentation are provided \"as is\", "
"with no warranty, to the \n"
"extent permitted by law.\n"
"Neither Mageia nor its licensors or suppliers will, in any circumstances and "
"to the extent \n"
"permitted by law, be liable for any special, incidental, direct or indirect "
"damages whatsoever \n"
"(including without limitation damages for loss of business, interruption of "
"business, financial \n"
"loss, legal fees and penalties resulting from a court judgment, or any other "
"consequential loss) \n"
"arising out of  the use or inability to use the Software Products, even if "
"Mageia or its \n"
"licensors or suppliers have been advised of the possibility or occurrence of "
"such damages.\n"
"\n"
"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
"COUNTRIES\n"
"\n"
"To the extent permitted by law, neither Mageia nor its licensors, suppliers "
"or\n"
"distributors will, in any circumstances, be liable for any special, "
"incidental, direct or indirect \n"
"damages whatsoever (including without limitation damages for loss of "
"business, interruption of \n"
"business, financial loss, legal fees and penalties resulting from a court "
"judgment, or any \n"
"other consequential loss) arising out of the possession and use of software "
"components or \n"
"arising out of  downloading software components from one of Mageia sites "
"which are \n"
"prohibited or restricted in some countries by local laws.\n"
"This limited liability applies to, but is not restricted to, the strong "
"cryptography components \n"
"included in the Software Products.\n"
"However, because some jurisdictions do not allow the exclusion or limitation "
"of liability for \n"
"consequential or incidental damages, the above limitation may not apply to "
"you."
msgstr ""

#: messages.pm:68
#, c-format
msgid "3. The GPL License and Related Licenses"
msgstr ""

#: messages.pm:70
#, c-format
msgid ""
"The Software Products consist of components created by different persons or "
"entities.\n"
"Most of these licenses allow you to use, duplicate, adapt or redistribute "
"the components which \n"
"they cover. Please read carefully the terms and conditions of the license "
"agreement for each component \n"
"before using any component. Any question on a component license should be "
"addressed to the component \n"
"licensor or supplier and not to Mageia.\n"
"The programs developed by Mageia are governed by the GPL License. "
"Documentation written \n"
"by Mageia is governed by \"%s\" License."
msgstr ""

#: messages.pm:79
#, c-format
msgid "4. Intellectual Property Rights"
msgstr ""

#: messages.pm:81
#, c-format
msgid ""
"All rights to the components of the Software Products belong to their "
"respective authors and are \n"
"protected by intellectual property and copyright laws applicable to software "
"programs.\n"
"Mageia and its suppliers and licensors reserves their rights to modify or "
"adapt the Software \n"
"Products, as a whole or in parts, by all means and for all purposes.\n"
"\"Mageia\" and associated logos are trademarks of %s"
msgstr ""

#: messages.pm:88
#, c-format
msgid "5. Governing Laws"
msgstr ""

#: messages.pm:90
#, c-format
msgid ""
"If any portion of this agreement is held void, illegal or inapplicable by a "
"court judgment, this \n"
"portion is excluded from this contract. You remain bound by the other "
"applicable sections of the \n"
"agreement.\n"
"The terms and conditions of this License are governed by the Laws of "
"France.\n"
"All disputes on the terms of this license will preferably be settled out of "
"court. As a last \n"
"resort, the dispute will be referred to the appropriate Courts of Law of "
"Paris - France.\n"
"For any question on this document, please contact Mageia."
msgstr ""

#: messages.pm:102
#, c-format
msgid ""
"Warning: Free Software may not necessarily be patent free, and some Free\n"
"Software included may be covered by patents in your country. For example, "
"the\n"
"MP3 decoders included may require a license for further usage (see\n"
"http://www.mp3licensing.com for more details). If you are unsure if a "
"patent\n"
"may be applicable to you, check your local laws."
msgstr ""
"সাবধান: বিনামূল্যের সফ্‌টওয়্যার পেটেন্‌ট মুক্ত হওয়ার প্রয়োজন নেই, এবং কিছু বিনামূল্যের\n"
"সফ্‌টওয়্যার আপনার দেশ কর্তৃক পেটেন্‌টকৃত হতে পারে। উদাহরণস্বরুপ, অতিরিক্ত ব্যবহারের\n"
"জন্য MP3 decoder একটি লাইসেন্স যুক্ত থাকে (বিস্তারিত জানার জন্য দেখুন\n"
"http://www.mp3licensing.com । আপনি যদি অনিশ্চিত হোন যদি এর যেকোন\n"
"একটি আপনার জন্যও প্রযোজ্য হতে পারে, আপনার স্থানীয় আইন পরীক্ষা করুন।"

#: messages.pm:111
#, c-format
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press Enter to reboot."
msgstr ""
"অভিনন্দন, ইনস্টলেশন পুরোপুরিভাবে হয়ে গেছে।\n"
"দ্নবুট মিডিয়া সরিয়ে ফেলুন, এবং পুনরায় চালু করার জন্য return চাপুন।"

#: messages.pm:113
#, c-format
msgid ""
"For information on fixes which are available for this release of Mageia,\n"
"consult the Errata available from:\n"
"%s"
msgstr ""
"এই সংস্করণের ম্যান্ড্রিব লিনাক্সের তথ্য এখানে পাওয়া যাচ্ছে,\n"
"কোন প্রকার সমস্যার সমাধান এখানে পাওয়া যাচ্ছে:\n"
"%s"

#: messages.pm:115
#, c-format
msgid ""
"Information on configuring your system is available in the post\n"
"install chapter of the Official Mageia User's Guide."
msgstr ""
"আপনার সিস্টেম কন্‌ফিগার করার তথ্য অফিসিয়াল ম্যান্ড্রিব লিনাক্স ব্যবহারকারীর গাইডের\n"
"ইনস্টল হবার পরের অধ্যায়ে পাওয়া যাবে।"

#: modules/interactive.pm:19
#, fuzzy, c-format
msgid "This driver has no configuration parameter!"
msgstr "ইউ-পি-এস ড্রাইভার কন্‌ফিগারেশন"

#: modules/interactive.pm:22
#, c-format
msgid "Module configuration"
msgstr "মডিউল কনফিগারেশন"

#: modules/interactive.pm:22
#, c-format
msgid "You can configure each parameter of the module here."
msgstr "আপনি এখানে প্রত্যেক মডিউলের প্যারামিটার কন্‌ফিগার করতে পারেন।"

#: modules/interactive.pm:64
#, c-format
msgid "Found %s interfaces"
msgstr "%s ইন্টারফেসসমূহ পাওয়া গিয়েছে"

#: modules/interactive.pm:65
#, c-format
msgid "Do you have another one?"
msgstr "আপনার কি আরও একটি আছে?"

#: modules/interactive.pm:66
#, c-format
msgid "Do you have any %s interfaces?"
msgstr "আপনার কি কোন %s ইন্টারফেস আছে?"

#: modules/interactive.pm:72
#, c-format
msgid "See hardware info"
msgstr "হার্ডওয়্যারের তথ্য দেখুন"

#  -PO: the first %s is the card type (scsi, network, sound,...)
#  -PO: the second is the vendor+model name
#: modules/interactive.pm:83
#, c-format
msgid "Installing driver for USB controller"
msgstr "ইউএসবি কন্ট্রোলারের জন্য ড্রাইভার ইনস্টল করা হচ্ছে"

#  -PO: the first %s is the card type (scsi, network, sound,...)
#  -PO: the second is the vendor+model name
#: modules/interactive.pm:84
#, c-format
msgid "Installing driver for firewire controller \"%s\""
msgstr "ফায়ারওয়ার কন্ট্রোলার \"%s\" এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"

#  -PO: the first %s is the card type (scsi, network, sound,...)
#  -PO: the second is the vendor+model name
#: modules/interactive.pm:85
#, c-format
msgid "Installing driver for hard disk drive controller \"%s\""
msgstr "হার্ড ড্রাইভ কন্ট্রোলার \"%s\" এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"

#  -PO: the first %s is the card type (scsi, network, sound,...)
#  -PO: the second is the vendor+model name
#: modules/interactive.pm:86
#, c-format
msgid "Installing driver for ethernet controller \"%s\""
msgstr "ইথার্নেট কন্ট্রোলার \"%s\" এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"

#  -PO: the first %s is the card type (scsi, network, sound,...)
#  -PO: the second is the vendor+model name
#. -PO: the first %s is the card type (scsi, network, sound,...)
#. -PO: the second is the vendor+model name
#: modules/interactive.pm:97
#, c-format
msgid "Installing driver for %s card %s"
msgstr "%s, %s কার্ডের জন্য ড্রাইভার ইনস্টল করা হচ্ছে"

#: modules/interactive.pm:100
#, c-format
msgid "Configuring Hardware"
msgstr ""

#: modules/interactive.pm:111
#, c-format
msgid ""
"You may now provide options to module %s.\n"
"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
"আপনি এখন হয়তো %s মডিউলের জন্য অপশন প্রদান করবেন\n"
"লক্ষ্য রাখবেন যাতেকরে প্রবেশ করানো ঠিকানাগুলি 0x প্রিফিক্স দিয়ে হয়, যেমন '0x123'"

#: modules/interactive.pm:117
#, c-format
msgid ""
"You may now provide options to module %s.\n"
"Options are in format ``name=value name2=value2 ...''.\n"
"For instance, ``io=0x300 irq=7''"
msgstr ""
"আপনি এখন %s মডিউলের অপশন পেতে পারেন।\n"
"অপশনের ফরম্যাট হচ্ছে ``name=value name2=value2 ...''।\n"
"এই মুহূর্তে, ``io=0x300 irq=7''"

#: modules/interactive.pm:119
#, c-format
msgid "Module options:"
msgstr "মডিউলের অপশন সমূহ:"

#  -PO: the %s is the driver type (scsi, network, sound,...)
#  -PO: the %s is the driver type (scsi, network, sound,...)
#. -PO: the %s is the driver type (scsi, network, sound,...)
#: modules/interactive.pm:132
#, c-format
msgid "Which %s driver should I try?"
msgstr "আমি কোন %s ড্রাইভার চেষ্টা করব?"

#: modules/interactive.pm:141
#, c-format
msgid ""
"In some cases, the %s driver needs to have extra information to work\n"
"properly, although it normally works fine without them. Would you like to "
"specify\n"
"extra options for it or allow the driver to probe your machine for the\n"
"information it needs? Occasionally, probing will hang a computer, but it "
"should\n"
"not cause any damage."
msgstr ""
"কোন কোন ক্ষেত্রে, ঠিকমত কাজ করার %s ড্রাইভারের কিছু অতিরিক্ত তথ্য প্রয়োজন, যদিও "
"এটা \n"
"স্বাভাবিকভাবে ওগুলো ছাড়াই ভাল কাজ করে। আপনি কি এর জন্য অতিরিক্ত অপশন বেছে "
"নিতেচান অথবা আপনার\n"
"মেশিনের প্রয়োজনীয় তথ্য আপনার ড্রাইভার দিয়ে ঠিক করে নিতে চান?\n"
"সাময়িকভাবে, এটি আপনার কম্পিউটারকে হ্যাং করবে, কিন্তু এটা কোন কিছু নষ্ট করবে না।"

#: modules/interactive.pm:145
#, c-format
msgid "Autoprobe"
msgstr "স্বয়ংক্রিয় পরীক্ষা"

#: modules/interactive.pm:145
#, c-format
msgid "Specify options"
msgstr "অপশনসমূহ বর্ননা করুন"

#: modules/interactive.pm:157
#, c-format
msgid ""
"Loading module %s failed.\n"
"Do you want to try again with other parameters?"
msgstr ""
"%s মডিউল লোড করতে ব্যর্থ।\n"
"আপনি কি অন্য প্যারামিটার দিয়ে আবার চেষ্টা করতে চান?"

#: mygtk2.pm:1229
#, fuzzy, c-format
msgid "Are you sure you want to quit?"
msgstr "আপনি কি এই বাটনে ক্লিক করতে চান?"

#: mygtk2.pm:1570 mygtk2.pm:1571
#, c-format
msgid "Password is trivial to guess"
msgstr ""

#: mygtk2.pm:1572
#, c-format
msgid "Password should be resistant to basic attacks"
msgstr ""

#: mygtk2.pm:1573 mygtk2.pm:1574
#, fuzzy, c-format
msgid "Password seems secure"
msgstr "ব্যবহারকারীর পাসওয়ার্ড"

#: partition_table.pm:428
#, c-format
msgid "mount failed: "
msgstr "মাউন্ট হয়নি:"

#: partition_table.pm:540
#, c-format
msgid "Extended partition not supported on this platform"
msgstr "এই প্লাটফর্মে এক্সটেনডেড পার্টিশন সাপোর্ট করেনা"

#: partition_table.pm:558
#, c-format
msgid ""
"You have a hole in your partition table but I cannot use it.\n"
"The only solution is to move your primary partitions to have the hole next "
"to the extended partitions."
msgstr ""
"আপনার পার্টিশন টেবিলে একটি ত্রুটি আছে কিন্তু তা আমি ব্যবহার করতে পারছি না।\n"
"একমাত্র সমাধান হচ্ছে আপনার প্রাইমারি পার্টিশনের ত্রুটিকে Extended পার্টিশনে সরিয়ে "
"নেয়া। "

#: partition_table/raw.pm:296
#, c-format
msgid ""
"Something bad is happening on your hard disk drive. \n"
"A test to check the integrity of data has failed. \n"
"It means writing anything on the disk will end up with random, corrupted "
"data."
msgstr ""