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

use diagnostics;
use strict;
use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @icon_paths $wm_icon $force_center_at_pos $force_center $force_focus $grab $pop_it $border); #- leave it on one line, for automatic removal of the line at package creation
use lang;

$::o = { locale => lang::read() } if !$::isInstall;

@ISA = qw(Exporter);
%EXPORT_TAGS = (
    wrappers => [ qw(gtkadd gtkadd_widget gtkappend gtkappend_page gtkappenditems gtkcombo_setpopdown_strings gtkdestroy
                     gtkentry gtkflush gtkhide gtkmodify_font gtkmove gtkpack gtkpack2 gtkpack2_
                     gtkpack2__ gtkpack_ gtkpack__ gtkpowerpack gtkput gtkradio gtkresize gtkroot
                     gtkset_active gtkset_border_width gtkset_editable gtkset_justify gtkset_alignment gtkset_layout gtkset_line_wrap
                     gtkset_markup gtkset_modal gtkset_mousecursor gtkset_mousecursor_normal gtkset_mousecursor_wait gtkset_name
                     gtkset_property gtkset_relief gtkset_selectable gtkset_sensitive gtkset_shadow_type gtkset_size_request
                     gtkset_text gtkset_tip gtkset_visibility gtksetstyle gtkshow gtksignal_connect gtksize gtktext_append
                     gtktext_insert ) ],

    helpers => [ qw(add2notebook add_icon_path fill_tiled fill_tiled_coords gtkcolor gtkcreate_img
                    gtkcreate_pixbuf gtkfontinfo gtkset_background n_line_size set_back_pixbuf set_back_pixmap
                    string_size string_width string_height wrap_paragraph) ],

    create => [ qw(create_adjustment create_box_with_title create_dialog create_factory_menu create_factory_popup_menu
                   create_hbox create_hpaned create_menu create_notebook create_okcancel create_packtable
                   create_scrolled_window create_vbox create_vpaned _create_dialog gtkcreate_frame) ],

    ask => [ qw(ask_browse_tree_info ask_browse_tree_info_given_widgets ask_dir ask_from_entry ask_okcancel ask_warn
                ask_yesorno ) ],
    dialogs => [ qw(err_dialog info_dialog warn_dialog) ],

);
$EXPORT_TAGS{all} = [ map { @$_ } values %EXPORT_TAGS ];
@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;

use c;
use log;
use common;

use Gtk2;
use Gtk2::Gdk::Keysyms;

unless ($::no_ugtk_init) {
    !check_for_xserver() and print("Cannot be run in console mode.\n"), c::_exit(0);
    $::one_message_has_been_translated and warn("N() was called from $::one_message_has_been_translated BEFORE gtk2 initialisation, replace it with a N_() AND a translate() later.\n"), c::_exit(1);

    Gtk2->init;
    c::bind_textdomain_codeset($_, 'UTF8') foreach 'libDrakX', @::textdomains;
    $::need_utf8_i18n = 1;
}
Gtk2->croak_execeptions if (!$::no_ugtk_init || $::isInstall) && 0.95 < $Gtk2::VERSION;


$border = 5;


# -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---
#                 wrappers
#
# Functional-style wrappers to existing Gtk functions; allows to program in
# a more functional way, and especially, first, to avoid using temp
# variables, and second, to "see" directly in the code the user interface
# you're building.

sub gtkdestroy                { $_[0] and $_[0]->destroy }
sub gtkflush()                { Gtk2->main_iteration while Gtk2->events_pending }
sub gtkhide                   { $_[0]->hide; $_[0] }
sub gtkmove                   { $_[0]->window->move($_[1], $_[2]); $_[0] }
sub gtkpack                   { gtkpowerpack(1, 1, @_) }
sub gtkpack_                  { gtkpowerpack('arg', 1, @_) }
sub gtkpack__                 { gtkpowerpack(0, 1, @_) }
sub gtkpack2                  { gtkpowerpack(1, 0, @_) }
sub gtkpack2_                 { gtkpowerpack('arg', 0, @_) }
sub gtkpack2__                { gtkpowerpack(0, 0, @_) }
sub gtkput                    { $_[0]->put(gtkshow($_[1]), $_[2], $_[3]); $_[0] }
sub gtkresize                 { $_[0]->window->resize($_[1], $_[2]); $_[0] }
sub gtkset_active             { $_[0]->set_active($_[1]); $_[0] }
sub gtkset_border_width       { $_[0]->set_border_width($_[1]); $_[0] }
sub gtkset_editable           { $_[0]->set_editable($_[1]); $_[0] }
sub gtkset_selectable         { $_[0]->set_selectable($_[1]); $_[0] }
sub gtkset_justify            { $_[0]->set_justify($_[1]); $_[0] }
sub gtkset_alignment          { $_[0]->set_alignment($_[1], $_[2]); $_[0] }
sub gtkset_layout             { $_[0]->set_layout($_[1]); $_[0] }
sub gtkset_modal              { $_[0]->set_modal($_[1]); $_[0] }
sub gtkset_mousecursor_normal { gtkset_mousecursor('left-ptr', @_) }
sub gtkset_mousecursor_wait   { gtkset_mousecursor('watch', @_) }
sub gtkset_relief             { $_[0]->set_relief($_[1]); $_[0] }
sub gtkset_sensitive          { $_[0]->set_sensitive($_[1]); $_[0] }
sub gtkset_visibility         { $_[0]->set_visibility($_[1]); $_[0] }
sub gtkset_tip                { $_[0]->set_tip($_[1], $_[2]) if $_[2]; $_[1] }
sub gtkset_shadow_type        { $_[0]->set_shadow_type($_[1]); $_[0] }
sub gtkset_style              { $_[0]->set_style($_[1]); $_[0] }
sub gtkset_size_request       { $_[0]->set_size_request($_[1], $_[2]); $_[0] }
sub gtkshow                   { $_[0]->show; $_[0] }
sub gtksize                   { $_[0]->size($_[1], $_[2]); $_[0] }
sub gtkset_markup             { $_[0]->set_markup($_[1]); $_[0] }
sub gtkset_line_wrap          { $_[0]->set_line_wrap($_[1]); $_[0] }

sub gtkadd {
    my $w = shift;
    foreach my $l (@_) {
	ref $l or $l = Gtk2::WrappedLabel->new($l);
	$w->add(gtkshow($l));
    }
    $w
}

sub gtkadd_widget {
    my $sg = shift;
    map {
        my $l = $_;
        ref $l or $l = Gtk2::WrappedLabel->new($l);
        $sg->add_widget($l);
        $l;
    } @_;
}

sub gtkappend {
    my $w = shift;
    foreach my $l (@_) {
	ref $l or $l = Gtk2::WrappedLabel->new($l);
	$w->append(gtkshow($l));
    }
    $w
}

sub gtkappenditems {
    my $w = shift;
    $_->show foreach @_;
    $w->append_items(@_);
    $w
}

# append page to a notebook
sub gtkappend_page {
    my ($notebook, $page, $title) = @_;
    $notebook->append_page($page, $title);
    $notebook;
}

sub gtkentry {
    my ($text) = @_;
    my $e = Gtk2::Entry->new;
    $text and $e->set_text($text);
    $e;
}

sub gtksetstyle { 
    my ($w, $s) = @_;
    $w->set_style($s);
    $w;
}

sub gtkradio {
    my $def = shift;
    my $radio;
    map { gtkset_active($radio = Gtk2::RadioButton->new_with_label($radio ? $radio->get_group : undef, $_), $_ eq $def) } @_;
}

sub gtkroot() {
    my $root if 0;
    $root ||= Gtk2::Gdk->get_default_root_window;
}

sub gtkset_text {
    my ($w, $s) = @_;
    $w->set_text($s);
    $w;
}

sub gtkcombo_setpopdown_strings {
    my $w = shift;
    $w->set_popdown_strings(@_);
    $w;
}

sub gtkset_mousecursor {
    my ($type, $w) = @_;
    ($w || gtkroot())->set_cursor(Gtk2::Gdk::Cursor->new($type));
}

sub gtksignal_connect {
    my $w = shift;
    $w->signal_connect(@_);
    $w;
}

sub gtkset_name {
    my ($widget, $name) = @_;
    $widget->set_name($name);
    $widget;
}


sub gtkpowerpack {
    #- Get Default Attributes (if any). 2 syntaxes allowed :
    #- gtkpowerpack( {expand => 1, fill => 0}, $box...) : the attributes are picked from a specified hash ref
    #- gtkpowerpack(1, 0, 1, $box, ...) : the attributes are picked from the non-ref list, in the order (expand, fill, padding, pack_end).
    my @attributes_list = qw(expand fill padding pack_end);
    my $default_attrs = {};
    if (ref($_[0]) eq 'HASH') {
	$default_attrs = shift;
    } elsif (!ref($_[0])) {
	foreach (@attributes_list) {
	    ref($_[0]) and last;
	    $default_attrs->{$_} = shift;
	}
    }
    my $box = shift;

    while (@_) {
	#- Get attributes (if specified). 4 syntaxes allowed (default values are undef ie. false...) :
	#- gtkpowerpack({defaultattrs}, $box, $widget1, $widget2, ...) : the attrs are picked from the default ones (if they exist)
	#- gtkpowerpack($box, {fill=>1, expand=>0, ...}, $widget1, ...) : the attributes are picked from a specified hash ref
	#- gtkpowerpack($box, [1,0,1], $widget1, ...) : the attributes are picked from the array ref : (expand, fill, padding, pack_end).
	#- gtkpowerpack({attr=>'arg'}, $box, 1, $widget1, 0, $widget2, etc...) : the 'arg' value will tell gtkpowerpack to always read the 
	#- attr value directly in the arg list (avoiding confusion between value 0 and Gtk::Label("0"). That can simplify some writings but
	#- this arg(s) MUST then be present...
	my (%attr, $attrs);
	ref($_[0]) eq 'HASH' || ref($_[0]) eq 'ARRAY' and $attrs = shift;
	foreach (@attributes_list) {
	    if (($default_attrs->{$_} || '') eq 'arg') {
		ref($_[0]) and die "error in packing definition\n";
		$attr{$_} = shift;
		ref($attrs) eq 'ARRAY' and shift @$attrs;
	    } elsif (ref($attrs) eq 'HASH' && defined($attrs->{$_})) {
		$attr{$_} = $attrs->{$_};
	    } elsif (ref($attrs) eq 'ARRAY') {
		$attr{$_} = shift @$attrs;
	    } elsif (defined($default_attrs->{$_})) {
		$attr{$_} = int $default_attrs->{$_};
	    } else {
		$attr{$_} = 0;
	    }
	}
	#- Get and pack the widget (create it if necessary to  a label...)
	my $widget = ref($_[0]) ? shift : Gtk2::WrappedLabel->new(shift);
	my $pack_call = 'pack_'.($attr{pack_end} ? 'end' : 'start');
	$box->$pack_call($widget, $attr{expand}, $attr{fill}, $attr{padding});
	$widget->show;
    }
    return $box;
}

sub gtktreeview_children {
    my ($model, $iter) = @_;
    my @l;
    $model && $iter or return;
    for (my $p = $model->iter_children($iter); $p; $p = $model->iter_next($p)) {
	push @l, $p;
    }
    @l;
}



# -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---
#                 create
#
# Helpers that allow omitting common operations on common widgets
# (e.g. create widgets with good default properties)

sub create_pixbutton {
    my ($label, $pix, $reverse_order) = @_;
    my @label_and_pix = (0, $label, if_($pix, 0, $pix));
    gtkadd(Gtk2::Button->new,
	   gtkpack_(Gtk2::HBox->new(0, 3),
		    1, "",
		    $reverse_order ? reverse(@label_and_pix) : @label_and_pix,
		    1, ""));
}

sub create_adjustment {
    my ($val, $min, $max) = @_;
    Gtk2::Adjustment->new($val, $min, $max + 1, 1, ($max - $min + 1) / 10, 1);
}

sub create_scrolled_window {
    my ($W, $o_policy, $o_viewport_shadow) = @_;
    my $w = Gtk2::ScrolledWindow->new(undef, undef);
    $w->set_policy($o_policy ? @$o_policy : ('automatic', 'automatic'));
    if (member(ref($W), qw(Gtk2::Layout Gtk2::Text Gtk2::TextView Gtk2::TreeView))) {
	$w->add($W)
    } else {
	$w->add_with_viewport($W);
    }
    $o_viewport_shadow and gtkset_shadow_type($w->child, $o_viewport_shadow);
    $W->can('set_focus_vadjustment') and $W->set_focus_vadjustment($w->get_vadjustment);
    $W->show;
    if (ref($W) =~ /Gtk2::TextView|Gtk2::TreeView/) {
    	gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'in'), $w)
    } else {
	$w
    }
}

sub n_line_size {
    my ($nbline, $type, $widget) = @_;
    my $spacing = ${{ text => 3, various => 17 }}{$type};
    my %fontinfo = gtkfontinfo($widget);
    round($nbline * ($fontinfo{ascent} + $fontinfo{descent} + $spacing) + 8);
}

sub create_box_with_title {
    my $o = shift;

    my $nbline = sum(map { round(length($_) / 60 + 1/2) } map { split "\n" } @_);
    my $box = Gtk2::VBox->new(0,0);
    if ($nbline == 0) {
	$o->{box_size} = 0;
	return $box;
    }
    $o->{box_size} = n_line_size($nbline, 'text', $box);
    if (@_ <= 2 && $nbline > 4) {
	$o->{icon} && !$::isWizard and 
	  eval { gtkpack__($box, gtkset_border_width(gtkpack_(Gtk2::HBox->new(0,0), 1, gtkcreate_img($o->{icon})),5)) };
	my $wanted = $o->{box_size};
	$o->{box_size} = min(200, $o->{box_size});
	my $has_scroll = $o->{box_size} < $wanted;

	my $wtext = Gtk2::TextView->new;
	$wtext->set_left_margin(3);
	$wtext->can_focus($has_scroll);
	$wtext->signal_connect(button_press_event => sub { 1 }); #- disable selecting text and popping the contextual menu (GUI team says it's *horrible* to be able to do select text!)
	chomp(my $text = join("\n", @_));
	my $scroll = create_scrolled_window(gtktext_insert($wtext, $text));
     my $width = 400;
     $scroll->signal_connect(realize => sub {
                                my $layout = $wtext->create_pango_layout($text);
                                $layout->set_width(($width - 10) * Gtk2::Pango->scale);
                                $wtext->set_size_request($width,  min(200, ($layout->get_pixel_size)[1] + 10));
                                $scroll->set_size_request($width, min(200, ($layout->get_pixel_size)[1] + 10));
                                $o->{rwindow}->queue_resize;
                            });
     $scroll->set_size_request($width, 200);
	gtkpack_($box, 0, $scroll);
    } else {
	my $a = !$::no_separator;
	undef $::no_separator;
     my $new_label = sub {
         my ($txt) = @_;
         my $w = ref($txt) ? $txt : Gtk2::WrappedLabel->new($txt);
         gtkset_name($w, "Title");
     };
	if ($o->{icon} && (!$::isWizard || $::isInstall)) {
	    gtkpack__($box,
		      gtkpack_(Gtk2::HBox->new(0,0),
			       0, gtkset_size_request(Gtk2::VBox->new(0,0), 15, 0),
			       0, eval { gtkcreate_img($o->{icon}) },
			       0, gtkset_size_request(Gtk2::VBox->new(0,0), 15, 0),
			       1, gtkpack_($o->{box_title} = Gtk2::VBox->new(0,0),
					   1, Gtk2::HBox->new(0,0),
					   (map {
					       my $w = $new_label->($_);
					       $::isWizard and $w->set_justify("left");
					       (0, $w);
					   } @_),
					   1, Gtk2::HBox->new(0,0),
					  )
			      ),
		      if_($a, Gtk2::HSeparator->new)
		     )
	} else {
	    gtkpack__($box,
		      if_($::isWizard, gtkset_size_request(Gtk2::Label->new, 0, 10)),
		      (map {
			  my $w = $new_label->($_);
			  $::isWizard ? gtkpack__(Gtk2::HBox->new(0,0), gtkset_size_request(Gtk2::Label->new, 20, 0), $w)
			              : $w
		      } @_),
		      if_($::isWizard, gtkset_size_request(Gtk2::Label->new, 0, 15)),
		      if_($a, Gtk2::HSeparator->new)
		     )
	}
    }
}

sub _create_dialog {
    my ($title, $o_options) = @_;
    my $dialog = Gtk2::Dialog->new;
    $dialog->set_title($title);
    $dialog->set_position('center-on-parent');  # center-on-parent doesn't work
    may_set_icon($dialog, $wm_icon || $::Wizard_pix_up || "wiz_default_up.png");
    $dialog->set_size_request($o_options->{width} || -1, $o_options->{height} || -1);
    $dialog->set_modal(1);
    $dialog->set_transient_for($o_options->{transient}) if $o_options->{transient};
    $dialog;
}


# drakfloppy / drakfont / harddrake2 / mcc
sub create_dialog {
    my ($title, $label, $o_options) = @_;
    my $ret = 0;
    my $dialog =  gtkset_border_width(_create_dialog($title, $o_options), 10);
    $dialog->set_border_width(10);
    my $text = ref($label) ? $label : $o_options->{use_markup} ? gtkset_markup(Gtk2::WrappedLabel->new, $label) : Gtk2::WrappedLabel->new($label);
    gtkpack($dialog->vbox,
            gtkpack_(Gtk2::HBox->new,
                     if_($o_options->{stock}, 0, Gtk2::Image->new_from_stock($o_options->{stock}, 'dialog')),
                     0, Gtk2::Label->new("   "),
                     1, $o_options->{scroll} ? create_scrolled_window($text, [ 'never', 'automatic' ]) : $text,
                    ),
           );

    if ($o_options->{cancel}) {
	my $button2 = Gtk2::Button->new(N("Cancel"));
	$button2->signal_connect(clicked => sub { $ret = 0; $dialog->destroy; Gtk2->main_quit });
	$button2->can_default(1);
	$dialog->action_area->pack_start($button2, 1, 1, 0);
    }

    my $button = Gtk2::Button->new(N("Ok"));
    $button->can_default(1);
    $button->signal_connect(clicked => sub { $ret = 1; $dialog->destroy; Gtk2->main_quit });
    $dialog->action_area->pack_start($button, 1, 1, 0);
    $button->grab_default;

    $dialog->set_has_separator(0);;
    $dialog->show_all;
    Gtk2->main;
    $ret;
}

sub info_dialog {
    my ($title, $label, $o_options) = @_;
    $o_options ||= { };
    add2hash_($o_options, { stock => 'gtk-dialog-info' });
    create_dialog($title, $label, $o_options);
}

sub warn_dialog {
    my ($title, $label, $o_options) = @_;
    $o_options ||= { };
    add2hash_($o_options, { stock => 'gtk-dialog-warning', cancel => 1 });
    create_dialog($title, $label, $o_options);
}

sub err_dialog {
    my ($title, $label, $o_options) = @_;
    $o_options ||= { };
    add2hash_($o_options, { stock => 'gtk-dialog-error' });
    create_dialog($title, $label, $o_options);
}

sub create_hbox { gtkset_layout(gtkset_border_width(Gtk2::HButtonBox->new, 3), $_[0] || 'spread') }
sub create_vbox { gtkset_layout(Gtk2::VButtonBox->new, $_[0] || 'spread') }

sub create_factory_menu_ {
    my ($type, $name, $window, @menu_items) = @_;
    my $widget = Gtk2::ItemFactory->new($type, $name, my $accel_group = Gtk2::AccelGroup->new);
    $widget->create_items($window, @menu_items);
    $window->add_accel_group($accel_group);
    ($widget->get_widget($name), $widget);
}

sub create_factory_popup_menu { create_factory_menu_("Gtk2::Menu", '<main>', @_) }
sub create_factory_menu { create_factory_menu_("Gtk2::MenuBar", '<main>', @_) }

sub create_menu {
    my $title = shift;
    my $w = Gtk2::MenuItem->new($title);
    $w->set_submenu(gtkshow(gtkappend(Gtk2::Menu->new, @_)));
    $w
}

sub create_notebook {
    my $n = Gtk2::Notebook->new;
    while (@_) {
	my ($title, $book) = splice(@_, 0, 2);
	add2notebook($n, $title, $book);
    }
    $n
}

sub create_packtable {
    my ($options, @l) = @_;
    my $w = Gtk2::Table->new(0, 0, $options->{homogeneous} || 0);
    add2hash_($options, { xpadding => 5, ypadding => 0 });
    each_index {
	my ($i, $l) = ($::i, $_);
	each_index {
	    my $j = $::i;
	    if ($_) {
		ref $_ or $_ = Gtk2::WrappedLabel->new($_);
		$j != $#$l && !$options->{mcc} ?
		  $w->attach($_, $j, $j + 1, $i, $i + 1,
			     'fill', 'fill', $options->{xpadding}, $options->{ypadding}) :
		  $w->attach($_, $j, $j + 1, $i, $i + 1,
			     ['expand', 'fill'], ref($_) eq 'Gtk2::ScrolledWindow' || $_->get_data('must_grow') ? ['expand', 'fill'] : [], 0, 0);
		$_->show;
	    }
	} @$l;
    } @l;
    $w->set_col_spacings($options->{col_spacings} || 0);
    $w->set_row_spacings($options->{row_spacings} || 0);
    gtkset_border_width($w, 10);
}

sub create_okcancel {
    my ($w, $o_ok, $o_cancel, $_o_spread, @other) = @_;
    # @other is a list of extra buttons (usually help (eg: XFdrake/drakx caller) or advanced (eg: interactive caller) button)
    # extra buttons have the following structure [ label, handler, is_first, pack_right ]
    local $::isWizard = $::isWizard && !$w->{pop_it};
    my $cancel;
    if (defined $o_cancel || defined $o_ok) {
        $cancel = $o_cancel;
    } elsif (!$::Wizard_no_previous) {
        $cancel = $::isWizard ? N("Previous") : N("Cancel");
    }
    my $ok = defined $o_ok ? $o_ok : $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok");
    my $bok = $ok && gtksignal_connect($w->{ok} = Gtk2::Button->new($ok), clicked => $w->{ok_clicked} || sub { $w->{retval} = 1; Gtk2->main_quit });
    my $bprev;
    if ($cancel) {
        $bprev = gtksignal_connect($w->{cancel} = Gtk2::Button->new($cancel), clicked => $w->{cancel_clicked} || 
                                   sub { log::l("default cancel_clicked"); undef $w->{retval}; Gtk2->main_quit });
    }
    $w->{wizcancel} = gtksignal_connect(Gtk2::Button->new(N("Cancel")), clicked => sub { die 'wizcancel' }) if $::isWizard && !$::isInstall;
    my $f = sub { $w->{buttons}{$_[0][0]} = gtksignal_connect(Gtk2::Button->new($_[0][0]), clicked => $_[0][1]) };
    my @left  = ((map { $f->($_) } grep {  $_->[2] && !$_->[3] } @other),
                  map { $f->($_) } grep { !$_->[2] && !$_->[3] } @other);
    my @right = ((map { $f->($_) } grep {  $_->[2] &&  $_->[3] } @other),
                  map { $f->($_) } grep { !$_->[2] &&  $_->[3] } @other);
    # we put space to group buttons in two packs (but if there's only one when not in wizard mode)
    # but in the installer where all windows run in wizard mode because of design even when not in a wizard step
    $bprev = Gtk2::Label->new if !$cancel && $::Wizard_no_previous && !@left && !@right;
    if ($::isWizard) {
        # wizard mode: order is cancel/left_extras/white/right_extras/prev/next
        unshift @left, $w->{wizcancel} if !$::isInstall;
        push @right, $bprev, $bok;
    } else { 
        # normal mode: cancel/ok button follow GNOME's HIG
        unshift @left, $bprev;
        push @left, Gtk2::Label->new if $ok && $cancel; # space buttons but if there's only one button
        push @right, $bok;
    }

    gtkpack(Gtk2::VBox->new,
            Gtk2::HSeparator->new,
            gtkpack(Gtk2::HBox->new,
                    (map {
                        gtkpack(
                                create_hbox($_->[1]),
                                (map {
                                    $_->can_default($::isWizard);
                                    $_;
                                } grep { $_ } @{$_->[0]})
                               )
                    } ([ \@left, 'start' ],
                       [ \@right,  'end' ],
                      )
                    )
                   ),
           );
}

sub _setup_paned {
    my ($paned, $child1, $child2, %options) = @_;
    foreach ([ 'resize1', 0 ], [ 'shrink1', 1 ], [ 'resize2', 1 ], [ 'shrink2', 1 ]) {
        $options{$_->[0]} = $_->[1] unless defined($options{$_->[0]});
    }
    $paned->pack1(gtkshow($child1), $options{resize1}, $options{shrink1});
    $paned->pack2(gtkshow($child2), $options{resize2}, $options{shrink2});
    gtkshow($paned);
}

sub create_vpaned {
    _setup_paned(Gtk2::VPaned->new, @_);
}

sub create_hpaned {
    _setup_paned(Gtk2::HPaned->new, @_);
}

sub gtkcreate_frame {
    my ($label) = @_;
    gtkset_border_width(Gtk2::Frame->new($label), 5);
}


# -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---
#                 helpers
#
# Functions that do typical operations on widgets, that you may need in
# several places of your programs.

sub _find_imgfile {
    my ($name) = @_;

    if ($name =~ m|/| && -f $name) {
	$name;
    } else {
	foreach my $path (icon_paths()) {
	    foreach ('', '.png', '.xpm') {
		my $file = "$path/$name$_";
		-f $file and return $file;
	    }
	}
    }
}

# use it if you want to display an icon/image in your app
sub gtkcreate_img {
    return Gtk2::Image->new_from_file(_find_imgfile(@_) || internal_error("can't find $_[0]"));
}

# use it if you want to draw an image onto a drawingarea
sub gtkcreate_pixbuf {
    return Gtk2::Gdk::Pixbuf->new_from_file(_find_imgfile(@_) || internal_error("can't find $_[0]"));
}

sub gtktext_append { gtktext_insert(@_, append => 1) }

sub may_set_icon {
    my ($w, $name) = @_;
    if (my $f = $name && _find_imgfile($name)) {
	$w->set_icon(gtkcreate_pixbuf($f));
    }
}

# gtktext_insert() can be used with any of choose one of theses styles:
# - no tags:
#   gtktext_insert($textview, "My text..");
# - anonymous tags:
#   gtktext_insert($textview, [ [ 'first text',  { 'foreground' => 'blue', 'background' => 'green', ... } ],
#			        [ 'second text' ],
#		                [ 'third', { 'font' => 'Serif 15', ... } ],
#                               ... ]);
# - named tags:
#   $textview->{tags} = {
#                        'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
#                        'big_font' => { 'font' => 'Serif 35', ... },
#                       }
#   gtktext_insert($textview, [ [ 'first text',  'blue_green' ],
#		                [ 'second', 'big_font' ],
#                               ... ]);
# - mixed anonymous and named tags:
#   $textview->{tags} = {
#                        'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
#                        'big_font' => { 'font' => 'Serif 35', ... },
#                       }
#   gtktext_insert($textview, [ [ 'first text',  'blue_green' ],
#			        [ 'second text' ],
#		                [ 'third', 'big_font' ],
#		                [ 'fourth', { 'font' => 'Serif 15', ... } ],
#                               ... ]);
sub gtktext_insert {
    my ($textview, $t, %opts) = @_;
    my $buffer = $textview->get_buffer;
    $buffer->{tags} ||= {};
    $buffer->{gtk_tags} ||= {};
    my $gtk_tags = $buffer->{gtk_tags};
    my $tags = $buffer->{tags};
    if (ref($t) eq 'ARRAY') {
        $opts{append} or $buffer->set_text('');
        foreach my $token (@$t) {
            my ($item, $tag) = @$token;
            my $iter1 = $buffer->get_end_iter;
            if ($item =~ /^Gtk2::Gdk::Pixbuf/) {
                $buffer->insert_pixbuf($iter1, $item);
                next;
            }
            if ($tag) {
                if (ref($tag)) {
                    # use anonymous tags
                    $buffer->insert_with_tags($iter1, $item, $buffer->create_tag(undef, %$tag));
                } else {
                    # fast text insertion:
                    # since in some contexts (eg: localedrake, rpmdrake), we use quite a lot of identical tags,
                    # it's much more efficient and less memory pressure to use named tags
                    $gtk_tags->{$tag} ||= $buffer->create_tag($tag, %{$tags->{$token->[1]}});
                    $buffer->insert_with_tags($iter1, $item, $gtk_tags->{$tag});
                }
            } else {
                $buffer->insert($iter1, $item);
            }
        }
    } else {
        $buffer->set_text($t);
    }
    #- the following line is needed to move the cursor to the beginning, so that if the
    #- textview has a scrollbar, it won't scroll to the bottom when focusing (#3633)
    $buffer->place_cursor($buffer->get_start_iter);
    $textview->set_wrap_mode($opts{wrap_mode} || 'word');
    $textview->set_editable($opts{editable} || 0);
    $textview->set_cursor_visible($opts{visible} || 0);
    $textview;
}

# extracts interesting font metrics for a given widget
sub gtkfontinfo {
    my ($widget) = @_;
    my $context = $widget->get_pango_context;
    my $metrics = $context->get_metrics($context->get_font_description, $context->get_language);
    my %fontinfo;
    foreach (qw(ascent descent approximate_char_width approximate_digit_width)) {
	no strict;
	my $func = "get_$_";
	$fontinfo{$_} = Gtk2::Pango->pixels($metrics->$func);
    }
    %fontinfo;
}

sub gtkmodify_font {
    my ($w, $arg) = @_;
    $w->modify_font(ref($arg) ? $arg : Gtk2::Pango::FontDescription->from_string($arg));
    $w;
}

sub gtkset_property {
    my ($w, $property, $value) = @_;
    $w->set_property($property, $value);
    $w;
}

sub set_back_pixbuf {
    my ($widget, $pixbuf) = @_;
    my $window = $widget->window;
    my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height);
    my $pixmap = Gtk2::Gdk::Pixmap->new($window, $width, $height, $window->get_depth);
    $pixbuf->render_to_drawable($pixmap, $widget->style->fg_gc('normal'), 0, 0, 0, 0, $width, $height, 'none', 0, 0);
    $window->set_back_pixmap($pixmap, 0);
}

sub set_back_pixmap {
    my ($w) = @_;
    return if !$w->realized;
    my $window = $w->window;
    my $pixmap = $w->{back_pixmap} ||= Gtk2::Gdk::Pixmap->new($window, 1, 2, $window->get_depth);

    my $style = $w->get_style;
    $pixmap->draw_points($style->bg_gc('normal'), 0, 0);
    $pixmap->draw_points($style->base_gc('normal'), 0, 1);
    $window->set_back_pixmap($pixmap);
}

sub fill_tiled_coords {
    my ($widget, $pixbuf, $x_back, $y_back, $width, $height) = @_;
    my ($x2, $y2) = (0, 0);
    while (1) {
	$x2 = 0;
	while (1) {
	    $pixbuf->render_to_drawable($widget->window, $widget->style->fg_gc('normal'),
					0, 0, $x2, $y2, $x_back, $y_back, 'none', 0, 0);
	    $x2 += $x_back;
	    $x2 >= $width and last;
	}
	$y2 += $y_back;
	$y2 >= $height and last;
    }
}

sub fill_tiled {
    my ($widget, $pixbuf) = @_;
    my ($window_width, $window_height) = $widget->window->get_size;
    fill_tiled_coords($widget, $pixbuf, $pixbuf->get_width, $pixbuf->get_height, $window_width, $window_height);
}

sub add2notebook {
    my ($n, $title, $book) = @_;
    $n->append_page($book, gtkshow(Gtk2::Label->new($title)));
    $book->show;
}

sub string_size {
    my ($widget, $text) = @_;
    my $layout = $widget->create_pango_layout($text);
    my @size = $layout->get_pixel_size;
    @size;
}

sub string_width {
    my ($widget, $text) = @_;
    my ($width, undef) = string_size($widget, $text);
    $width;
}

sub string_height {
    my ($widget, $text) = @_;
    my (undef, $height) = string_size($widget, $text);
    $height;
}

sub get_text_coord {
    my ($text, $widget4style, $max_width, $currentx, $currenty, $o_wrap_char) = @_;
    my $wrap_char = $o_wrap_char || ' ';
    my @lines;
    my $current_text;
    my @t = split($wrap_char, $text);
    my @t2;
    if ($::isInstall && $::o->{locale}{lang} =~ /ja|zh/) {
	@t = map { $_ . $wrap_char } @t;
	$wrap_char = '';
	foreach (@t) {
	    my @c = split('');
	    my $i = 0;
	    my $el = '';
	    while (1) {
		$i >= @c and last;
		$el .= $c[$i];
		if (ord($c[$i]) >= 128) { $el .= $c[$i+1]; $i++; push @t2, $el; $el = '' }
		$i++;
	    }
	    $el ne '' and push @t2, $el;
	}
    } else {
	@t2 = @t;
    }
    my $add_line = sub {
        my ($w, $h) = string_size($widget4style, $current_text);
        push @lines, { text => $current_text, width => $w, height => $h + 1, 'x' => $currentx, 'y' => $currenty };
    };
    my $width;
    foreach my $word (@t2) {
	my $w = string_width($widget4style, $word . $wrap_char);
	if ($currentx + $width + $w > $max_width) {
            $add_line->();
            $current_text = $word;
	    $width = $w;
            $currentx = 0;
            $currenty += $lines[-1]{height};
	} else {
            $current_text .= ($current_text ne '' ? $wrap_char : '') . $word;
            $width += $w;
        }
    }
    #- if wrap_char was at the end, don't forget it, for cases when bold/nonbold text follows
    $text =~ /$wrap_char$/ and $current_text .= $wrap_char;
    $add_line->();

    return @lines;
}

sub wrap_paragraph {
    my ($text, $widget4style, $border, $max_width) = @_;

    $max_width -= 2*$border;
    my @lines;
    my $ydec;

    foreach my $paragraph (@$text) {
        my @paragraph_lines;
        my $center;
        if (ref($paragraph) eq 'ARRAY') {
            my ($text, %options) = @$paragraph;
            $center = $options{center};
            $paragraph = $text;
        }
        if ($paragraph ne '') {
            my @elements;
            while ($paragraph =~ m|(.*?)<b>(.*?)</b>(.*)|) {
                $1 ne '' and push @elements, [ $1, bold => 0 ];
                push @elements, [ $2, bold => 1 ];
                $paragraph = $3;
            }
            $paragraph ne '' and push @elements, [ $paragraph, bold => 0 ];

            my $currentx;
            foreach (@elements) {
                my ($text, %options) = @$_;
                #- hack :( if ' ' is at the beginning, don't forget it, substitute
                #- with an unbreakable space because gtk allocates too much space otherwise
                $text =~ /^ (.*)/ and $text = "$1";
                my @newlines = get_text_coord($text, $widget4style, $max_width, $currentx, $ydec);
                $currentx = $newlines[-1]{'x'} + $newlines[-1]{width};
                $ydec = $newlines[-1]{'y'};
                $options{bold} and $currentx++;
                $_->{options} = \%options foreach @newlines;
                push @paragraph_lines, @newlines;
            }
            $ydec = $paragraph_lines[-1]{'y'} + $paragraph_lines[-1]{height};
        }
        if ($center) {
            my %widths;
            $widths{$_->{'y'}} ||= $_->{x} + $_->{width} foreach reverse @paragraph_lines;
            $_->{x} += ($max_width - $widths{$_->{'y'}})/2 foreach @paragraph_lines;
        }
        $_->{x} += $border foreach @paragraph_lines;
        push @lines, @paragraph_lines;
    }

    return @lines;
}

sub gtkcolor {
    my ($r, $g, $b) = @_;
    my $color = Gtk2::Gdk::Color->new($r, $g, $b);
    gtkroot()->get_colormap->rgb_find_color($color);
    $color;
}

sub gtkset_background {
    my ($r, $g, $b) = @_;
    my $root = gtkroot();
    my $gc = Gtk2::Gdk::GC->new($root);
    my $color = gtkcolor($r, $g, $b);
    $gc->set_rgb_fg_color($color);
    $root->set_background($color);
    my ($w, $h) = $root->get_size;
    $root->draw_rectangle($gc, 1, 0, 0, $w, $h);
}

sub add_icon_path { push @icon_paths, @_ }
sub icon_paths() {
   (@icon_paths, (exists $ENV{SHARE_PATH} ? ($ENV{SHARE_PATH}, "$ENV{SHARE_PATH}/icons", "$ENV{SHARE_PATH}/libDrakX/pixmaps") : ()),
    "/usr/lib/libDrakX/icons", "pixmaps", 'standalone/icons', '/usr/share/rpmdrake/icons');
}  
add_icon_path(@icon_paths,
	      exists $ENV{SHARE_PATH} ? "$ENV{SHARE_PATH}/libDrakX/pixmaps" : (),
	      '/usr/lib/libDrakX/icons', 'standalone/icons');



# -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---
#                 toplevel window creation helper
#
# Use the 'new' function as a method constructor and then 'main' on it to
# launch the main loop. Use $o->{retval} to indicate that the window needs
# to terminate.
# Set $::isWizard to have a wizard appearance.
# Set $::isEmbedded and $::XID so that the window will plug.

sub new {
    my ($type, $title, %opts) = @_;


    my $o = bless { %opts }, $type;
    while (my $e = shift @tempory::objects) { $e->destroy }

    $o->{isWizard} ||= $::isWizard;
    $o->{isEmbedded} ||= $::isEmbedded;
    $o->{wm_icon} ||= $wm_icon || $::Wizard_pix_up || "wiz_default_up.png";

    $o->{pop_it} ||= $pop_it || !$o->{isWizard} && !$o->{isEmbedded} || $::WizardTable && do {
	#- don't take into account the DrawingArea
	any { !$_->isa('Gtk2::DrawingArea') && $_->visible } $::WizardTable->get_children;
    };

    if ($o->{pop_it}) {
	$o->{rwindow} = _create_window($title);
	may_set_icon($o->{rwindow}, $o->{wm_icon});
	$o->{rwindow}->set_position('center-on-parent');

	if ($::isInstall) {
	    gtkadd($o->{rwindow}, 
		   gtkadd(gtkset_shadow_type(Gtk2::Frame->new(undef), 'out'),
			  $o->{window} = gtkset_border_width(gtkset_shadow_type(Gtk2::Frame->new(undef), 'none'), 3)
			 ));
	} else {
	    $o->{window} = $o->{rwindow};
	}
	$o->{rwindow}->set_position('center_always') if $force_center || $o->{force_center};
	$o->{rwindow}->set_modal(1) if $grab || $o->{grab} || $o->{modal};
	$o->{rwindow}->set_transient_for($o->{transient}) if $o->{transient} && $o->{transient} =~ /Gtk2::Window/;

    } else {
	$o->{rwindow} = $o->{window} = Gtk2::VBox->new(0,0);
	$o->{window}->set_border_width($::Wizard_splash ? 0 : 10);
	set_main_window_size($o);

	$::WizardTable ||= Gtk2::VBox->new(0, 0);

	if (!$::Plug && $o->{isEmbedded}) {
	    $::Plug = $::WizardWindow = gtkshow(Gtk2::Plug->new($::XID));
	    may_set_icon($::Plug, $o->{wm_icon});
	    flush();
	    gtkadd($::Plug, $::WizardTable);
	} elsif (!$::WizardWindow) {
	    $::WizardWindow = _create_window($title);
	    gtkadd($::WizardWindow, gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'out'), $::WizardTable));

	    if ($::isInstall) {
		$::WizardWindow->signal_connect(key_press_event => sub {
		    my (undef, $event) = @_;
		    my $d = ${{ $Gtk2::Gdk::Keysyms{F2} => 'screenshot' }}{$event->keyval};
		    if ($d eq 'screenshot') {
			common::take_screenshot();
		    }
		    0;
		});
	    } elsif (!$o->{isEmbedded}) {
		$::WizardWindow->set_position('center_always') if !$::isStandalone;
		eval { gtkpack__($::WizardTable, Gtk2::Banner->new($::Wizard_pix_up || "wiz_default_up.png", $::Wizard_title)) };
		$@ and log::l("ERROR: missing wizard banner");
		may_set_icon($::WizardWindow, $o->{wm_icon});
	    }
	    $::WizardWindow->show;
	}
	$::WizardWindow->set_title($title || '');
	gtkpack($::WizardTable, $o->{window});
    }
    $o->{rwindow}->signal_connect(destroy => sub { $o->{destroyed} = 1 });

    $o;
}
sub set_main_window_size {
    my ($o) = @_;
    my ($width, $height) = $::isInstall ? ($::real_windowwidth, $::real_windowheight) : $o->{isWizard} ? (540, 360) : (600, 400);
    $o->{window}->set_size_request($width, $height);
}

sub main {
    my ($o, $o_completed, $o_canceled) = @_;
    gtkset_mousecursor_normal();
    my $timeout = Glib::Timeout->add(1000, sub { gtkset_mousecursor_normal(); 1 });
    my $_b = MDK::Common::Func::before_leaving { $o->destroy; Glib::Source->remove($timeout) };
    $o->show;

    do {
	Gtk2->main;
    } while (!$o->{destroyed} && ($o->{retval} ? $o_completed && !$o_completed->() : $o_canceled && !$o_canceled->()));
    $o->destroy;
    $o->{retval}
}
sub show($) {
    my ($o) = @_;
    $o->{window}->show;
    $o->{rwindow}->show;
}
sub destroy($) {
    my ($o) = @_;
    $o->{rwindow}->destroy if !$o->{destroyed};
    gtkset_mousecursor_wait();
    flush();
}
sub DESTROY { goto &destroy }
sub sync {
    my ($o) = @_;
    show($o);
    flush();
}
sub flush() { gtkflush() }
sub shrink_topwindow {
    my ($o) = @_;
    $o->{rwindow}->signal_emit('size_allocate', Gtk2::Gdk::Rectangle->new(-1, -1, -1, -1));
}
sub exit {
    gtkset_mousecursor_normal(); #- for restoring a normal in any case
    flush();
    c::_exit($_[1]) #- workaround 
}

#- in case "exit" above was not called by the program
END { &exit() }

sub _create_window {
    my ($title) = @_;
    my $w = Gtk2::Window->new('toplevel');

    $w->set_name("Title");
    $w->set_title($title || '');

    if ($force_focus) {
	(my $previous_current_window, $ugtk2::current_window) = ($ugtk2::current_window, $w);
	$w->signal_connect(expose_event => \&_XSetInputFocus);
	$w->signal_connect(destroy => sub { $ugtk2::current_window = $previous_current_window });
    }
    $w->signal_connect(delete_event => sub { 
	if ($::isWizard) {
	    $w->destroy; 
	    die 'wizcancel';
	} else { 
	    Gtk2->main_quit;
	} 
    });

    if ($::isInstall && $::o->{mouse}{unsafe}) {
	$w->add_events('pointer-motion-mask');
	my $signal;  #- don't make this line part of next one, signal_disconnect won't be able to access $signal value
	$signal = $w->signal_connect(motion_notify_event => sub {
	    delete $::o->{mouse}{unsafe};
	    log::l("unsetting unsafe mouse");
	    $w->signal_handler_disconnect($signal);
	});
    }

    if ($force_center_at_pos) {
	my ($wi, $he);

	$w->signal_connect(size_allocate => sub {
	    my (undef, $event) = @_;
	    my @w_size = $event->values;
	    return if $w_size[2] == $wi && $w_size[3] == $he; #BUG
	    (undef, undef, $wi, $he) = @w_size;
	    
	    my ($X, $Y, $Wi, $He) = @$force_center_at_pos;
            $w->set_uposition(max(0, $X + ($Wi - $wi) / 2), max(0, $Y + ($He - $he) / 2));
	});
    }

    $w;
}

sub _XSetInputFocus {
    my ($w) = @_;
    if ($ugtk2::current_window == $w) {
	$w->window->XSetInputFocus;
    } else {
	log::l("not XSetInputFocus since already done and not on top");
    }
    0;
}


# -=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---=-=---
#                 ask
#
# Full UI managed functions that will return to you the value that the
# user chose.

sub ask_warn       { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_warn(@_); main($w) }
sub ask_yesorno    { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_okcancel(@_, N("Yes"), N("No")); main($w) }
sub ask_okcancel   { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_okcancel(@_, N("Is this correct?"), N("Ok"), N("Cancel")); main($w) }
sub ask_from_entry { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_from_entry(@_); main($w) }
sub ask_dir        { my $w = ugtk2->new(shift @_, grab => 1); $w->_ask_dir(@_); main($w) }

sub _ask_from_entry($$@) {
    my ($o, @msgs) = @_;
    my $entry = Gtk2::Entry->new;
    my $f = sub { $o->{retval} = $entry->get_text; Gtk2->main_quit };
    $o->{ok_clicked} = $f;
    $o->{cancel_clicked} = sub { undef $o->{retval}; Gtk2->main_quit };

    gtkadd($o->{window},
	  gtkpack($o->create_box_with_title(@msgs),
		 gtksignal_connect($entry, 'activate' => $f),
		 ($o->{hide_buttons} ? () : create_okcancel($o))),
	  );
    $entry->grab_focus;
}

sub _ask_warn($@) {
    my ($o, @msgs) = @_;
    gtkadd($o->{window},
	  gtkpack($o->create_box_with_title(@msgs),
		 gtksignal_connect(my $w = Gtk2::Button->new(N("Ok")), "clicked" => sub { Gtk2->main_quit }),
		 ),
	  );
    $w->grab_focus;
}

sub _ask_okcancel($@) {
    my ($o, @msgs) = @_;
    my ($ok, $cancel) = splice @msgs, -2;

    gtkadd($o->{window},
	   gtkpack(create_box_with_title($o, @msgs),
		   create_okcancel($o, $ok, $cancel),
		 )
	 );
    $o->{ok}->grab_focus;
}


sub _ask_file {
    my ($o, $title, $path) = @_;
    my $f = Gtk2::FileSelection->new($title);
    if ($o->{rwindow}->isa('Gtk2::Window')) {
	my ($modality, $position) = ($o->{rwindow}->get_modal, $o->{rwindow}->get('window-position'));
	$f->set_modal($modality);
	$f->set_position($position);
    }
    my $bg = $o->{window};
    $o->{rwindow} = $o->{window} = $f;
    $f->set_filename($path) if $path;
    $f->signal_connect(destroy => sub { eval { $bg->destroy } });
    $f->ok_button->signal_connect(clicked => sub { $o->{retval} = $f->get_filename; Gtk2->main_quit });
    $f->cancel_button->signal_connect(clicked => sub { Gtk2->main_quit });
    $f->grab_focus;
    $f;
}

sub _ask_dir {
    my ($o) = @_;
    my $f = &_ask_file;
    $f->file_list->get_parent->hide;
    $f->selection_entry->get_parent->hide;
    $f->ok_button->signal_connect(clicked => sub {
				      my ($model, $iter) = $f->dir_list->get_selection->get_selected;
				      $o->{retval} .= '/'.$model->get($iter, 0) if $model;
				  });
}

sub ask_browse_tree_info {
    my ($common) = @_;

    my $w = ugtk2->new($common->{title});

    my $tree_model = Gtk2::TreeStore->new("Glib::String", "Gtk2::Gdk::Pixbuf", "Glib::String");
    my $tree = Gtk2::TreeView->new_with_model($tree_model);
    $tree->get_selection->set_mode('browse');
    $tree->append_column(my $textcolumn = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 0));
    $tree->append_column(my $pixcolumn  = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererPixbuf->new, 'pixbuf' => 1));
    $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 2));
    $tree->set_headers_visible(0);
    $tree->set_rules_hint(1);
    $textcolumn->set_min_width(200);
    $textcolumn->set_max_width(200);

    gtkadd($w->{window}, 
	   gtkpack_(Gtk2::VBox->new(0,5),
		    0, $common->{message},
		    1, gtkpack(Gtk2::HBox->new(0,0),
			       create_scrolled_window($tree),
			       gtkadd(Gtk2::Frame->new(N("Info")),
				      create_scrolled_window(my $info = Gtk2::TextView->new),
				     )),
		    0, my $box1 = Gtk2::HBox->new(0,15),
		    0, my $box2 = Gtk2::HBox->new(0,10),
		   ));
    #gtkpack__($box2, my $toolbar = Gtk2::Toolbar->new('horizontal', 'icons'));
    gtkpack__($box2, my $toolbar = Gtk2::Toolbar->new);

    my @l = ([ $common->{ok}, 1 ], if_($common->{cancel}, [ $common->{cancel}, 0 ]));
    @l = reverse @l if !$::isInstall;
    my @buttons = map {
	my ($t, $val) = @$_;
	$box2->pack_end(my $w = gtksignal_connect(Gtk2::Button->new($t), clicked => sub {
						      $w->{retval} = $val;
						      Gtk2->main_quit;
						  }), 0, 1, 20);
	$w;
    } @l;
    @buttons = reverse @buttons if !$::isInstall;    

    gtkpack__($box2, gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => sub {
					   ask_warn(N("Help"), $common->{interactive_help}->())
				       })) if $common->{interactive_help};

    if ($common->{auto_deps}) {
	gtkpack__($box1, gtksignal_connect(gtkset_active(Gtk2::CheckButton->new($common->{auto_deps}), $common->{state}{auto_deps}),
					clicked => sub { invbool \$common->{state}{auto_deps} }));
    }
    $box1->pack_end(my $status = Gtk2::Label->new, 0, 1, 20);

    $w->{window}->set_size_request(map { $_ - 2 * $border - 4 } $::windowwidth, $::windowheight) if !$::isInstall;
    $buttons[0]->grab_focus;
    $w->{rwindow}->show_all;

    #- TODO: $tree->queue_draw is a workaround to a bug in gtk-2.2.1; submit it in their bugzilla
    my @toolbar = (ftout  =>  [ N("Expand Tree"), sub { $tree->expand_all; $tree->queue_draw } ],
		   ftin   =>  [ N("Collapse Tree"), sub { $tree->collapse_all } ],
		   reload =>  [ N("Toggle between flat and group sorted"), sub { invbool(\$common->{state}{flat}); $common->{rebuild_tree}->() } ]);
    foreach my $ic (@{$common->{icons} || []}) {
	push @toolbar, ($ic->{icon} => [ $ic->{help}, sub {
					     if ($ic->{code}) {
						 my $_w = $ic->{wait_message} && $common->{wait_message}->('', $ic->{wait_message});
						 $ic->{code}();
						 $common->{rebuild_tree}->();
					     }
					 } ]);
    }
    my %toolbar = @toolbar;
    foreach (grep_index { $::i % 2 == 0 } @toolbar) {
	$toolbar->append_item(undef, $toolbar{$_}[0], undef, gtkcreate_img("$_.png"), $toolbar{$_}[1]);
    }

    $pixcolumn->{is_pix} = 1;
    $common->{widgets} = { w => $w, tree => $tree, tree_model => $tree_model, textcolumn => $textcolumn, pixcolumn => $pixcolumn,
                           info => $info, status => $status };
    ask_browse_tree_info_given_widgets($common);
}

sub ask_browse_tree_info_given_widgets {
    my ($common) = @_;
    my $w = $common->{widgets};

    my ($curr, $prev_label, $idle, $mouse_toggle_pending);
    my (%wtree, %ptree, %pix, %node_state, %state_stats);
    my $update_size = sub {
	my $new_label = $common->{get_status}();
	$prev_label ne $new_label and $w->{status}->set($prev_label = $new_label);
    };
    
    my $set_node_state_flat = sub {
	my ($iter, $state) = @_;
	$state eq 'XXX' and return;
        $pix{$state} ||= gtkcreate_pixbuf($state);
        $w->{tree_model}->set($iter, 1 => $pix{$state});
    };
    my $set_node_state_tree; $set_node_state_tree = sub {
	my ($iter, $state) = @_;
	my $iter_str = $w->{tree_model}->get_path_str($iter);
	$state eq 'XXX' and return;
        $pix{$state} ||= gtkcreate_pixbuf($state);
	if ($node_state{$iter_str} ne $state) {
	    my $parent;
	    if (!$w->{tree_model}->iter_has_child($iter) && ($parent = $w->{tree_model}->iter_parent($iter))) {
		my $parent_str = $w->{tree_model}->get_path_str($parent);
		my $stats = $state_stats{$parent_str} ||= {}; $stats->{$node_state{$iter_str}}--; $stats->{$state}++;
		my @list = grep { $stats->{$_} > 0 } keys %$stats;
		my $new_state = @list == 1 ? $list[0] : 'semiselected';
		$node_state{$parent_str} ne $new_state and $set_node_state_tree->($parent, $new_state);
	    }
            $w->{tree_model}->set($iter, 1 => $pix{$state});
	    $node_state{$iter_str} = $state;  #- cache for efficiency
	}
    };
    my $set_node_state = $common->{state}{flat} ? $set_node_state_flat : $set_node_state_tree;

    my $set_leaf_state = sub {
	my ($leaf, $state) = @_;
	$set_node_state->($_, $state) foreach @{$ptree{$leaf}};
    };
    my $add_parent; $add_parent = sub {
	my ($root, $state) = @_;
	$root or return undef;
	if (my $w = $wtree{$root}) { return $w }
	my $s; foreach (split '\|', $root) {
	    my $s2 = $s ? "$s|$_" : $_;
	    $wtree{$s2} ||= do {
		my $iter = $w->{tree_model}->append_set($s ? $add_parent->($s, $state) : undef, [ 0 => $_ ]);
		$iter;
	    };
	    $s = $s2;
	}
	$set_node_state->($wtree{$s}, $state); #- use this state by default as tree is building.
	$wtree{$s};
    };
    my $add_node = sub {
	my ($leaf, $root, $options) = @_;
	my $state = $common->{node_state}($leaf) or return;
	if ($leaf) {
	    my $iter = $w->{tree_model}->append_set($add_parent->($root, $state), [ 0 => $leaf ]);
	    $set_node_state->($iter, $state);
	    push @{$ptree{$leaf}}, $iter;
	} else {
	    my $parent = $add_parent->($root, $state);
	    #- hackery for partial displaying of trees, used in rpmdrake:
	    #- if leaf is void, we may create the parent and one child (to have the [+] in front of the parent in the ctree)
	    #- though we use '' as the label of the child; then rpmdrake will connect on tree_expand, and whenever
	    #- the first child has '' as the label, it will remove the child and add all the "right" children
	    $options->{nochild} or $w->{tree_model}->append_set($parent, [ 0 => '' ]);
	}
    };
    my $clear_all_caches = sub {
	foreach (values %ptree) {
	    foreach my $n (@$_) {
		delete $node_state{$w->{tree_model}->get_path_str($n)};
	    }
	}
	foreach (values %wtree) {
	    my $iter_str = $w->{tree_model}->get_path_str($_);
	    delete $node_state{$iter_str};
	    delete $state_stats{$iter_str};
	}
	%ptree = %wtree = ();
    };
    $common->{delete_all} = sub {
	$clear_all_caches->();
	$w->{tree_model}->clear;
    };
    $common->{rebuild_tree} = sub {
	$common->{delete_all}->();
	$set_node_state = $common->{state}{flat} ? $set_node_state_flat : $set_node_state_tree;
	$common->{build_tree}($add_node, $common->{state}{flat}, $common->{tree_mode});
	&$update_size;
    };
    $common->{delete_category} = sub {
	my ($cat) = @_;
	exists $wtree{$cat} or return;
	foreach (keys %ptree) {
	    my @to_remove;
	    foreach my $node (@{$ptree{$_}}) {
		my $category;
		my $parent = $node;
		my @parents;
		while ($parent = $w->{tree_model}->iter_parent($parent)) {    #- LEAKS
		    my $parent_name = $w->{tree_model}->get($parent, 0);
		    $category = $category ? "$parent_name|$category" : $parent_name;
		    $_->[1] = "$parent_name|$_->[1]" foreach @parents;
		    push @parents, [ $parent, $category ];
		}
		if ($category =~ /^\Q$cat/) {
		    push @to_remove, $node;
		    foreach (@parents) {
			next if $_->[1] eq $cat || !exists $wtree{$_->[1]};
			delete $wtree{$_->[1]};
			delete $node_state{$w->{tree_model}->get_path_str($_->[0])};
			delete $state_stats{$w->{tree_model}->get_path_str($_->[0])};
		    }
		}
	    }
	    foreach (@to_remove) {
		delete $node_state{$w->{tree_model}->get_path_str($_)};
	    }
	    @{$ptree{$_}} = difference2($ptree{$_}, \@to_remove);
	}
	if (exists $wtree{$cat}) {
	    my $iter_str = $w->{tree_model}->get_path_str($wtree{$cat});
	    delete $node_state{$iter_str};
	    delete $state_stats{$iter_str};
	    $w->{tree_model}->remove($wtree{$cat});
	    delete $wtree{$cat};
	}
	&$update_size;
    };
    $common->{add_nodes} = sub {
	my (@nodes) = @_;
	$add_node->($_->[0], $_->[1], $_->[2]) foreach @nodes;
	&$update_size;
    };
    
    $common->{display_info} = sub { gtktext_insert($w->{info}, $common->{get_info}($curr)); 0 };
    my $children = sub { map { my $v = $w->{tree_model}->get($_, 0); $v } gtktreeview_children($w->{tree_model}, $_[0]) };
    my $toggle = sub {
	if (ref($curr) && !$_[0]) {
	    $w->{tree}->toggle_expansion($w->{tree_model}->get_path($curr));
	} else {
	    if (ref $curr) {
		my @l = $common->{grep_allowed_to_toggle}($children->($curr)) or return;
		my @unsel = $common->{grep_unselected}(@l);
		my @p = @unsel ?
		  #- not all is selected, select all if no option to potentially override
		  (exists $common->{partialsel_unsel} && $common->{partialsel_unsel}->(\@unsel, \@l) ? difference2(\@l, \@unsel) : @unsel)
		  : @l;
		$common->{toggle_nodes}($set_leaf_state, @p);
		&$update_size;
	    } else {
		$common->{check_interactive_to_toggle}($curr) and $common->{toggle_nodes}($set_leaf_state, $curr);
		&$update_size;
	    }
	}
    };

    $w->{tree}->signal_connect(key_press_event => sub {
	my $c = chr($_[1]->keyval & 0xff);
	if ($_[1]->keyval >= 0x100 ? $c eq "\r" || $c eq "\x8d" : $c eq ' ') {
	    $toggle->(0);
	}
	0;
    });

    $w->{tree}->get_selection->signal_connect(changed => sub {
	my ($model, $iter) = $_[0]->get_selected;
	$model && $iter or return;
	Glib::Source->remove($idle) if $idle;
	
	if (!$model->iter_has_child($iter)) {
	    $curr = $model->get($iter, 0);
	    $idle = Glib::Timeout->add(100, $common->{display_info});
	} else {
	    $curr = $iter;
	}
	#- the following test for equality is because we can have a button_press_event first, then
	#- two changed events, the first being on a different row :/ (is it a bug in gtk2?) - that
	#- happens in rpmdrake when doing a "search" and directly trying to select a found package
	if ($mouse_toggle_pending eq $model->get($iter, 0)) {
	    $toggle->(1);
            $mouse_toggle_pending = 0;
	}
	0;
    });
    $w->{tree}->signal_connect(button_press_event => sub {  #- not too good, but CellRendererPixbuf doesn't have the needed signals :(
	my ($path, $column) = $w->{tree}->get_path_at_pos($_[1]->x, $_[1]->y);
	if ($path && $column) {
	    $column->{is_pix} and $mouse_toggle_pending = $w->{tree_model}->get($w->{tree_model}->get_iter($path), 0);
	}
        0;
    });
    $common->{rebuild_tree}->();
    &$update_size;
    $common->{initial_selection} and $common->{toggle_nodes}($set_leaf_state, @{$common->{initial_selection}});
    my $_b = before_leaving { $clear_all_caches->() };
    $w->{w}->main;
}

sub gtk_set_treelist {
    my ($treelist, $l) = @_;

    my $list = $treelist->get_model;
    $list->clear;
    $list->append_set([ 0 => $_ ]) foreach @$l;
}


sub gtk_TextView_get_log {
    my ($log_w, $log_scroll, $command, $filter_output, $when_command_is_over) = @_;

    my $pid = open(my $F, "$command |") or return;
    fcntl($F, c::F_SETFL(), c::O_NONBLOCK()) or die "can't fcntl F_SETFL: $!";

    my $gtk_buffer = $log_w->get_buffer;
    $log_w->signal_connect(destroy => sub { 
	kill 9, $pid if $pid; #- we do not continue in background
	$pid = $gtk_buffer = ''; #- ensure $gtk_buffer is valid when its value is non-null
    });

    my ($prev_scroll, $want_scroll_down) = (0, 1);
    Glib::Timeout->add(100, sub {
        if ($gtk_buffer) {
	    my $end = $gtk_buffer->get_end_iter;
	    while (defined (my $s = <$F>)) {
		$gtk_buffer->insert($end, $filter_output->($s));
	    }
	    my $new_scroll = $log_scroll->get_vadjustment->get_value;
	    $want_scroll_down &&= $new_scroll >= $prev_scroll;
	    $prev_scroll = $new_scroll;
	    $log_w->scroll_to_iter($end, 0, 0, 0, 0) if $want_scroll_down;
	}
	if (waitpid($pid, c::WNOHANG()) > 0) {
	    #- we do not call $when_command_is_over if $gtk_buffer doesn't exist anymore
	    #- since it is not a normal case
	    $when_command_is_over->($gtk_buffer) if $when_command_is_over && $gtk_buffer;
	    $pid = '';
	    0;
	} else {
	    to_bool($gtk_buffer);
	}
    });
    $pid; #- $pid becomes invalid after $when_command_is_over is called
}

sub gtk_new_TextView_get_log {
    my ($command, $filter_output, $when_command_is_over) = @_;

    my $log_w = gtkset_editable(Gtk2::TextView->new, 0);
    my $log_scroll = create_scrolled_window($log_w);  #- $log_scroll is a frame, not a ScrolledWindow, so giving $log_scroll->child
    my $pid = gtk_TextView_get_log($log_w, $log_scroll->child, $command, $filter_output, $when_command_is_over) or return;
    $log_scroll, $pid;
}

# misc helpers:

package Gtk2::TreeStore;
sub append_set {
    my ($model, $parent, @values) = @_;
    # compatibility:
    @values = @{$values[0]} if @values == 1 && ref($values[0]) eq 'ARRAY';
    my $iter = $model->append($parent);
    $model->set($iter, @values);
    return $iter;
}


package Gtk2::ListStore;
# Append a new row, set the values, return the TreeIter
sub append_set {
    my ($model, @values) = @_;
    # compatibility:
    @values = @{$values[0]} if @values == 1 && ref($values[0]) eq 'ARRAY';
    my $iter = $model->append;
    $model->set($iter, @values);
    return $iter;
}


package Gtk2::TreeModel;
# gets the string representation of a TreeIter
sub get_path_str {
    my ($self, $iter) = @_;
    my $path = $self->get_path($iter);
    $path or return;
    $path->to_string;
}

sub iter_each_children {
    my ($model, $iter, $f) = @_;
    for (my $child = $model->iter_children($iter); $child; $child = $model->iter_next($child)) {
	$f->($child);
    }
}

package Gtk2::TreeView;
# likewise gtk-1.2 function
sub toggle_expansion {
    my ($self, $path, $b_open_all) = @_;
    if ($self->row_expanded($path)) {
	$self->collapse_row($path);
    } else {
	$self->expand_row($path, $b_open_all || 0);
    }
}


# With GTK+, for more GUIes coherency, GtkOptionMenu is recommended instead of a
# combo if the user is selecting from a fixed set of options.
#
# That is, non-editable combo boxes are not encouraged. GtkOptionMenu is much
# easier to use than GtkCombo as well. Use GtkCombo only when you need the
# editable text entry.
#
# GtkOptionMenu is a much better-implemented widget and also the right UI for
# noneditable sets of choices.)
#
# GtkCombo is deprecated in 2.4.x because it still uses deprecated
# GtkList. GtkOption menu is deprecated in order to have an unified widget.
#
# GtkComBox widget replaces GtkOption menu whereas GtkComBoxEntry replaces GtkCombo.
#
#
# This layer try to make OptionMenu and ComboBox look being api
# compatible with Combo since its API is quite nice.

package Gtk2::OptionMenu;
use common;

# try to get combox <==> option menu mapping
sub set_popdown_strings {
    my ($w, @strs) = @_;
    my $menu = Gtk2::Menu->new;
    # keep string list around for ->set_text compatibilty helper
    $w->{strings} = \@strs;
    #$w->set_menu((ugtk2::create_factory_menu($window, [ "File", (undef) x 3, '<Branch>' ], map { [ "File/" . $_, (undef) x 3, '<Item>' ] } @strs))[0]);
    $menu->append(ugtk2::gtkshow(Gtk2::MenuItem->new_with_label($_))) foreach @strs;
    $w->set_menu($menu);
    $w
}

sub new_with_strings {
    my ($class, $strs, $o_val) = @_;
    my $w = $class->new;
    $w->set_popdown_strings(@$strs);
    $w->set_text($o_val) if $o_val;
    $w;
}

sub entry {
    my ($w) = @_;
    return $w;
}

sub get_text {
    my ($w) = @_;
    $w->{strings}[$w->get_history];
}

sub set_text {
    my ($w, $val) = @_;
    each_index {
        if ($_ eq $val) {
            $w->set_history($::i);
            return;
        }
    } @{$w->{strings}};
}




package Gtk2::ComboBox;
use common;

# try to get combox <==> option menu mapping
sub set_popdown_strings {
    my ($w, @strs) = @_;
    # keep string list around for ->set_text compatibilty helper
    $w->{strings} = \@strs;
    $w->append_text($_) foreach @strs;
    $w
}

sub new_with_strings {
    my ($class, $strs, $o_val) = @_;
    my $w = $class->new;
    $w->set_popdown_strings(@$strs);
    $w->set_text($o_val) if $o_val;
    $w;
}

sub entry {
    my ($w) = @_;
    return $w;
}

sub get_text {
    my ($w) = @_;
    $w->{strings}[$w->get_active];
}

sub set_text {
    my ($w, $val) = @_;
    eval { 
	my $val_index = find_index { $_ eq $val } @{$w->{strings}};
	$w->set_active($val_index);
    };
}


package Gtk2::Label;
sub set {
    my ($label) = shift;
    $label->set_label(@_);
}


package Gtk2::WrappedLabel;
sub new {
    my ($_type, $o_text, $o_align) = @_;
    ugtk2::gtkset_alignment(ugtk2::gtkset_line_wrap(Gtk2::Label->new($o_text || ''), 1), $o_align || 0, 0.5);
}


package Gtk2::Entry;
sub new_with_text {
    my ($_class, @text) = @_;
    my $entry = Gtk2::Entry->new;
    @text and $entry->set_text(@text);
    return $entry;
}


package Gtk2::Banner;

use ugtk2 qw(:helpers :wrappers);

sub set_pixmap {
    my ($darea) = @_;
    return if !$darea->realized;
    ugtk2::set_back_pixmap($darea);
    $darea->{layout} = $darea->create_pango_layout($darea->{text});
}


sub new {
    my ($_class, $icon, $text, $o_options) = @_;

    my $darea = Gtk2::DrawingArea->new;
    $darea->set_size_request(-1, 75);
    $darea->modify_font(Gtk2::Pango::FontDescription->from_string(common::N("_banner font:\nSans 14")));
    $darea->{icon} = ugtk2::gtkcreate_pixbuf($icon);
    $darea->{text} = $text;

    $darea->signal_connect(realize => \&set_pixmap);
    $darea->signal_connect("style-set" => \&set_pixmap);
    $darea->signal_connect(expose_event => sub {
                               my $style = $darea->get_style;
                               my $height = $darea->{icon}->get_height;
                               $darea->{icon}->render_to_drawable($darea->window, $style->bg_gc('normal'),
                                                                  0, 0, 10, 10, -1, -1, 'none', 0, 0);
                               $darea->window->draw_layout($style->text_gc('normal'), $height + 20, $o_options->{txt_ypos} || 25,
                                                           $darea->{layout});
                               1;
                           });
                               
    return $darea;
}

1;

ot; #: diskdrake/interactive.pm:503 diskdrake/interactive.pm:1119 #, c-format msgid "Filesystem type: " msgstr "Vrsta datotečnega sistema: " #: diskdrake/interactive.pm:513 #, c-format msgid "Preference: " msgstr "Možnosti: " #: diskdrake/interactive.pm:516 #, c-format msgid "Logical volume name " msgstr "Ime logičnega razdelka " #: diskdrake/interactive.pm:518 #, c-format msgid "Encrypt partition" msgstr "Šifriraj razdelek" #: diskdrake/interactive.pm:519 #, c-format msgid "Encryption key " msgstr "Šifrirni ključ " #: diskdrake/interactive.pm:520 diskdrake/interactive.pm:1549 #, c-format msgid "Encryption key (again)" msgstr "Šifrirni ključ (ponovno)" #: diskdrake/interactive.pm:532 diskdrake/interactive.pm:1545 #, c-format msgid "The encryption keys do not match" msgstr "Šifrirna ključa se ne ujemata" #: diskdrake/interactive.pm:533 #, c-format msgid "Missing encryption key" msgstr "Manjka šifrirni ključ" #: diskdrake/interactive.pm:553 #, 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 "" "Ne morete ustvariti novega razdelka\n" "(imate največje dopustno število primarnih razdelkov)\n" "Najprej odstranite en primarni razdelek in ustvarite razširjen razdelek." #: diskdrake/interactive.pm:605 #, c-format msgid "Remove the loopback file?" msgstr "Ali izbrišem povratno datoteko?" #: diskdrake/interactive.pm:625 #, c-format msgid "" "After changing type of partition %s, all data on this partition will be lost" msgstr "" "Po spremembi tipa razdelka %s, bodo vsi podatki na tem razdelku izgubljeni." #: diskdrake/interactive.pm:641 #, c-format msgid "Change partition type" msgstr "Spremeni vrsto razdelka" #: diskdrake/interactive.pm:643 diskdrake/removable.pm:47 #, c-format msgid "Which filesystem do you want?" msgstr "Kateri datotečni sistem želite?" #: diskdrake/interactive.pm:650 #, c-format msgid "Switching from %s to %s" msgstr "Preklapljam z %s na %s" #: diskdrake/interactive.pm:685 #, c-format msgid "Set volume label" msgstr "Nastavi oznako razdelka" #: diskdrake/interactive.pm:687 #, c-format msgid "Beware, this will be written to disk as soon as you validate!" msgstr "Pazite, to bo zapisano na disk takoj po potrditvi." #: diskdrake/interactive.pm:688 #, c-format msgid "Beware, this will be written to disk only after formatting!" msgstr "Pazite, to bo zapisano na disk samo po formatiranju." #: diskdrake/interactive.pm:690 #, c-format msgid "Which volume label?" msgstr "Oznaka razdelka?" #: diskdrake/interactive.pm:691 #, c-format msgid "Label:" msgstr "Oznaka:" #: diskdrake/interactive.pm:712 #, c-format msgid "Where do you want to mount the loopback file %s?" msgstr "Kam želite priklopiti povratno datoteko %s?" #: diskdrake/interactive.pm:713 #, c-format msgid "Where do you want to mount device %s?" msgstr "Kam želite priklopiti razdelek %s?" #: diskdrake/interactive.pm:718 #, c-format msgid "" "Cannot unset mount point as this partition is used for loop back.\n" "Remove the loopback first" msgstr "" "Priklopne točke ni mogoče odstraniti, ker ta razdelek vsebuje povratno " "datoteko.\n" "Najprej odstranite povratno datoteko" #: diskdrake/interactive.pm:748 #, c-format msgid "Where do you want to mount %s?" msgstr "Kam želite priklopiti %s?" #: diskdrake/interactive.pm:798 diskdrake/interactive.pm:901 #: fs/partitioning_wizard.pm:165 fs/partitioning_wizard.pm:247 #, c-format msgid "Resizing" msgstr "Spreminjanje velikosti" #: diskdrake/interactive.pm:798 #, c-format msgid "Computing FAT filesystem bounds" msgstr "Računanje mej datotečnega sistema FAT" #: diskdrake/interactive.pm:847 #, c-format msgid "This partition is not resizeable" msgstr "Temu razdelku ni mogoče spremeniti velikosti" #: diskdrake/interactive.pm:852 #, c-format msgid "All data on this partition should be backed up" msgstr "Priporočljiva je varnostna kopija podatkov s tega razdelka" #: diskdrake/interactive.pm:854 #, c-format msgid "After resizing partition %s, all data on this partition will be lost" msgstr "" "Po spremembi velikosti razdelka %s bodo vsi podatki na tem razdelku " "izgubljeni." #: diskdrake/interactive.pm:861 #, c-format msgid "Choose the new size" msgstr "Izberite novo velikost" #: diskdrake/interactive.pm:862 #, c-format msgid "New size in MB: " msgstr "Nova velikost v MB: " #: diskdrake/interactive.pm:863 #, c-format msgid "Minimum size: %s MB" msgstr "Najmanjša velikost: %s MB" #: diskdrake/interactive.pm:864 #, c-format msgid "Maximum size: %s MB" msgstr "Največja velikost: %s MB" #: diskdrake/interactive.pm:912 fs/partitioning_wizard.pm:255 #, 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 "" "Zaradi zagotovljanja celovitosti podatkov po spremembi velikosti \n" "razdelkov Windows® bo ob njegovem naslednjem zagonu zagnan program\n" "za preverjanje datotečnega sistema." #: diskdrake/interactive.pm:981 diskdrake/interactive.pm:1540 #, c-format msgid "Filesystem encryption key" msgstr "Šifrirni ključ datotečnega sistema: " #: diskdrake/interactive.pm:982 #, c-format msgid "Enter your filesystem encryption key" msgstr "Vnesite šifrirni ključ za datotečni sistem" #: diskdrake/interactive.pm:983 diskdrake/interactive.pm:1548 #, c-format msgid "Encryption key" msgstr "Šifrirni ključ" #: diskdrake/interactive.pm:990 #, c-format msgid "Invalid key" msgstr "Neveljaven ključ" #: diskdrake/interactive.pm:1013 #, c-format msgid "Choose an existing RAID to add to" msgstr "Izberite obstoječ RAID za dodajanje" #: diskdrake/interactive.pm:1015 diskdrake/interactive.pm:1034 #, c-format msgid "new" msgstr "nov" #: diskdrake/interactive.pm:1032 #, c-format msgid "Choose an existing LVM to add to" msgstr "Izberite obstoječ LVM za dodajanje" #: diskdrake/interactive.pm:1044 diskdrake/interactive.pm:1053 #, c-format msgid "LVM name" msgstr "Ime LVM" #: diskdrake/interactive.pm:1045 #, c-format msgid "Enter a name for the new LVM volume group" msgstr "Vnesite ime nove skupine nosilca LVM" #: diskdrake/interactive.pm:1050 #, c-format msgid "\"%s\" already exists" msgstr %s« že obstaja" #: diskdrake/interactive.pm:1058 #, c-format msgid "Setting up LVM" msgstr "Nastavitev LVM" #: diskdrake/interactive.pm:1083 #, 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 "" "Fizični nosilec %s je še vedno v uporabi.\n" "Želite premakniti uporabljane fizične razširitve s tega nosilca na druge " "nosilce?" #: diskdrake/interactive.pm:1085 #, c-format msgid "Moving physical extents" msgstr "Premikanje fizičnih razširitev" #: diskdrake/interactive.pm:1103 #, c-format msgid "This partition cannot be used for loopback" msgstr "Tega razdelka ne morete uporabiti za povratno datoteko." #: diskdrake/interactive.pm:1116 #, c-format msgid "Loopback" msgstr "Povratna datoteka" #: diskdrake/interactive.pm:1117 #, c-format msgid "Loopback file name: " msgstr "Ime povratne datoteke: " #: diskdrake/interactive.pm:1122 #, c-format msgid "Give a file name" msgstr "Vnesite ime datoteke" #: diskdrake/interactive.pm:1125 #, c-format msgid "File is already used by another loopback, choose another one" msgstr "Ta datoteka je že uporabljena kot povratna datoteka, izberite drugo." #: diskdrake/interactive.pm:1126 #, c-format msgid "File already exists. Use it?" msgstr "Datoteka že obstaja. Jo uporabim?" #: diskdrake/interactive.pm:1158 diskdrake/interactive.pm:1161 #, c-format msgid "Mount options" msgstr "Možnosti priklopa" #: diskdrake/interactive.pm:1168 #, c-format msgid "Various" msgstr "Dodatne možnosti" #: diskdrake/interactive.pm:1214 #, c-format msgid "device" msgstr "naprava" #: diskdrake/interactive.pm:1215 #, c-format msgid "level" msgstr "raven" #: diskdrake/interactive.pm:1216 #, c-format msgid "chunk size in KiB" msgstr "velikost dela v KiB" #: diskdrake/interactive.pm:1234 #, c-format msgid "Be careful: this operation is dangerous." msgstr "Previdno: Ta operacija je nevarna." #: diskdrake/interactive.pm:1250 #, c-format msgid "Partitioning Type" msgstr "Vrsta razdelitve" #: diskdrake/interactive.pm:1250 #, c-format msgid "What type of partitioning?" msgstr "Vrsta razdelitve?" #: diskdrake/interactive.pm:1288 #, c-format msgid "You'll need to reboot before the modification can take effect" msgstr "Za uveljavitev sprememb je potreben ponoven zagon računalnika." #: diskdrake/interactive.pm:1297 #, c-format msgid "Partition table of drive %s is going to be written to disk" msgstr "Razdelitvena tabela pogona %s bo zapisana na disk" #: diskdrake/interactive.pm:1316 fs/format.pm:172 fs/format.pm:179 #, c-format msgid "Formatting partition %s" msgstr "Formatiranje razdelka %s" #: diskdrake/interactive.pm:1329 #, c-format msgid "After formatting partition %s, all data on this partition will be lost" msgstr "" "Po formatiranju razdelka %s bodo vsi podatki na tem razdelku izgubljeni." #: diskdrake/interactive.pm:1343 fs/partitioning.pm:50 #, c-format msgid "Check for bad blocks?" msgstr "Ali želite preveriti obstoj slabih blokov?" #: diskdrake/interactive.pm:1358 #, c-format msgid "Move files to the new partition" msgstr "Premakni datoteke na novi razdelek" #: diskdrake/interactive.pm:1358 #, c-format msgid "Hide files" msgstr "Skrij datoteke" #: diskdrake/interactive.pm:1359 #, 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 "" "Mapa %s že vsebuje podatke\n" "(%s)\n" "\n" "Lahko jih premaknete na razdelek, ki bo priklopljen, lahko pa jih tudi " "pustite, kjer so. (V tem primeru jih bo prikrila vsebina priklopljenega " "razdelka.)" #: diskdrake/interactive.pm:1374 #, c-format msgid "Moving files to the new partition" msgstr "Premikanje podatkov na novi razdelek" #: diskdrake/interactive.pm:1378 #, c-format msgid "Copying %s" msgstr "Kopiranje %s" #: diskdrake/interactive.pm:1382 #, c-format msgid "Removing %s" msgstr "Odstranjevanje %s" #: diskdrake/interactive.pm:1396 #, c-format msgid "partition %s is now known as %s" msgstr "Razdelek %s ima novo oznako %s" #: diskdrake/interactive.pm:1397 #, c-format msgid "Partitions have been renumbered: " msgstr "Razdelki so bili preštevilčeni" #: diskdrake/interactive.pm:1422 diskdrake/interactive.pm:1487 #, c-format msgid "Device: " msgstr "Naprava: " #: diskdrake/interactive.pm:1423 #, c-format msgid "Volume label: " msgstr "Oznaka razdelka: " #: diskdrake/interactive.pm:1424 #, c-format msgid "UUID: " msgstr "UUID: " #: diskdrake/interactive.pm:1425 #, c-format msgid "DOS drive letter: %s (just a guess)\n" msgstr "Črka pogona DOS: %s (ugibanje)\n" #: diskdrake/interactive.pm:1429 diskdrake/interactive.pm:1508 #, c-format msgid "Type: " msgstr "Vrsta: " #: diskdrake/interactive.pm:1431 #, c-format msgid "Start: sector %s\n" msgstr "Začetni sektor %s\n" #: diskdrake/interactive.pm:1433 #, c-format msgid "Size: %s (%s%% of disk)" msgstr "Velikost: %s (%s%% od diska)" #: diskdrake/interactive.pm:1435 #, c-format msgid "Size: %s" msgstr "Velikost: %s" #: diskdrake/interactive.pm:1437 #, c-format msgid ", %s sectors" msgstr ", %s sektorjev" #: diskdrake/interactive.pm:1439 #, c-format msgid "Cylinder %d to %d\n" msgstr "Cilinder %d do %d\n" #: diskdrake/interactive.pm:1440 #, c-format msgid "Number of logical extents: %d\n" msgstr "Število logičnih razširitev: %d\n" #: diskdrake/interactive.pm:1441 #, c-format msgid "Formatted\n" msgstr "Formatirano\n" #: diskdrake/interactive.pm:1442 #, c-format msgid "Not formatted\n" msgstr "Neformatirano\n" #: diskdrake/interactive.pm:1443 #, c-format msgid "Mounted\n" msgstr "Priklopljeno\n" #: diskdrake/interactive.pm:1444 #, c-format msgid "RAID %s\n" msgstr "RAID %s\n" #: diskdrake/interactive.pm:1446 #, c-format msgid "Encrypted" msgstr "Šifrirano" #: diskdrake/interactive.pm:1448 #, c-format msgid " (mapped on %s)" msgstr " (preslikano na %s)" #: diskdrake/interactive.pm:1449 #, c-format msgid " (to map on %s)" msgstr " (bo preslikano na %s)" #: diskdrake/interactive.pm:1450 #, c-format msgid " (inactive)" msgstr " (nedejaven)" #: diskdrake/interactive.pm:1457 #, c-format msgid "" "Loopback file(s):\n" " %s\n" msgstr "" "Povratne datoteke:\n" " %s\n" #: diskdrake/interactive.pm:1458 #, c-format msgid "" "Partition booted by default\n" " (for MS-DOS boot, not for lilo)\n" msgstr "" "Privzeti zagonski razdelek\n" " (za zagon MS-DOS, ne za lilo)\n" #: diskdrake/interactive.pm:1460 #, c-format msgid "Level %s\n" msgstr "Raven %s\n" #: diskdrake/interactive.pm:1461 #, c-format msgid "Chunk size %d KiB\n" msgstr "Velikost dela %d KiB\n" #: diskdrake/interactive.pm:1462 #, c-format msgid "RAID-disks %s\n" msgstr "RAID-diski %s\n" #: diskdrake/interactive.pm:1464 #, c-format msgid "Loopback file name: %s" msgstr "Ime povratne datoteke: %s" #: diskdrake/interactive.pm:1467 #, c-format msgid "" "\n" "Chances are, this partition is\n" "a Driver partition. You should\n" "probably leave it alone.\n" msgstr "" "\n" "Lahko, da je to razdelek\n" "z gonilniki. Najbolje bo,\n" "da ga ne spreminjate.\n" #: diskdrake/interactive.pm:1470 #, c-format msgid "" "\n" "This special Bootstrap\n" "partition is for\n" "dual-booting your system.\n" msgstr "" "\n" "To je posebni razdelek\n" "za začetno nalaganje, ki\n" "se uporablja za dvojni zagon.\n" #: diskdrake/interactive.pm:1479 #, c-format msgid "Free space on %s (%s)" msgstr "Prazen prostor na %s (%s)" #: diskdrake/interactive.pm:1488 #, c-format msgid "Read-only" msgstr "Samo za branje" #: diskdrake/interactive.pm:1489 #, c-format msgid "Size: %s\n" msgstr "Velikost: %s\n" #: diskdrake/interactive.pm:1490 #, c-format msgid "Geometry: %s cylinders, %s heads, %s sectors\n" msgstr "Geometrija: %s cilindrov, %s glav, %s sektorjev\n" #: diskdrake/interactive.pm:1491 #, c-format msgid "Name: " msgstr "Ime: " #: diskdrake/interactive.pm:1492 #, c-format msgid "Medium type: " msgstr "Vrsta nosilca: " #: diskdrake/interactive.pm:1493 #, c-format msgid "LVM-disks %s\n" msgstr "LVM-diski %s\n" #: diskdrake/interactive.pm:1494 #, c-format msgid "Partition table type: %s\n" msgstr "Vrsta razdelitvene tabele: %s\n" #: diskdrake/interactive.pm:1495 #, c-format msgid "on channel %d id %d\n" msgstr "na kanalu %d id %d\n" #: diskdrake/interactive.pm:1541 #, c-format msgid "Choose your filesystem encryption key" msgstr "Izberite šifrirni ključ datotečnega sistema" #: diskdrake/interactive.pm:1544 #, c-format msgid "This encryption key is too simple (must be at least %d characters long)" msgstr "" "Šifrirni ključ datotečnega sistema je preveč preprost.(vsebovati mora vsaj " "%d znakov)" #: diskdrake/interactive.pm:1551 #, c-format msgid "Encryption algorithm" msgstr "Algoritem za šifriranje" #: diskdrake/removable.pm:46 #, c-format msgid "Change type" msgstr "Spremeni vrsto" #: diskdrake/smbnfs_gtk.pm:164 #, c-format msgid "Cannot login using username %s (bad password?)" msgstr "Z uporabniškim imenom %s se ni mogoče prijaviti (napačno geslo?)" #: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177 #, c-format msgid "Domain Authentication Required" msgstr "Potrebna je overitev domene." #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Which username" msgstr "Katero uporabniško ime?" #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Another one" msgstr "Drugo" #: diskdrake/smbnfs_gtk.pm:178 #, c-format msgid "" "Please enter your username, password and domain name to access this host." msgstr "" "Vnesite svoje uporabniško ime, geslo in domeno za dostop do gostitelja." #: diskdrake/smbnfs_gtk.pm:180 #, c-format msgid "Username" msgstr "Uporabniško ime" #: diskdrake/smbnfs_gtk.pm:182 #, c-format msgid "Domain" msgstr "Domena" #: diskdrake/smbnfs_gtk.pm:206 #, c-format msgid "Search servers" msgstr "Iskanje strežnikov" #: diskdrake/smbnfs_gtk.pm:211 #, c-format msgid "Search for new servers" msgstr "Iskanje novih strežnikov" #: do_pkgs.pm:45 do_pkgs.pm:100 #, c-format msgid "The package %s needs to be installed. Do you want to install it?" msgstr "Potrebno je namestiti paket %s. Naj ga namestim?" #: do_pkgs.pm:49 do_pkgs.pm:79 do_pkgs.pm:103 do_pkgs.pm:142 #, c-format msgid "Could not install the %s package!" msgstr "Paketa %s ni mogoče namestiti!" #: do_pkgs.pm:54 do_pkgs.pm:108 #, c-format msgid "Mandatory package %s is missing" msgstr "Manjka nepogrešljivi paket %s." #: do_pkgs.pm:74 do_pkgs.pm:137 #, c-format msgid "The following packages need to be installed:\n" msgstr "Namestiti je treba naslednje pakete:\n" #: do_pkgs.pm:342 #, c-format msgid "Installing packages..." msgstr "Nameščanje paketov …" #: do_pkgs.pm:388 pkgs.pm:301 #, c-format msgid "Removing packages..." msgstr "Odstranjevanje paketov …" #: fs/any.pm:21 #, 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 "" "Napaka - ni nobene naprave, na kateri bi bilo mogoče ustvariti nov datotečni " "sistem. Preverite strojno opremo, če je vzrok za to." #: fs/any.pm:77 fs/partitioning_wizard.pm:91 #, c-format msgid "You must have a ESP FAT32 partition mounted in /boot/EFI" msgstr "Imeti morate priklopljen razdelek ESP FAT32 na /boot/EFI" #: fs/any.pm:83 fs/partitioning_wizard.pm:96 #, c-format msgid "" "You must have a BIOS boot partition for non-UEFI GPT-partitioned disks. " "Please create one before continuing." msgstr "" "če nameščate brez podpore načina UEFI, potrebujete za diske z razdelitvijo " "GPT še razdelek Boot BIOS. Ustvarite ga preden nadaljujete." #: fs/format.pm:176 #, c-format msgid "Creating and formatting file %s" msgstr "Ustvarjanje in formatiranje datoteke %s" #: fs/format.pm:202 #, c-format msgid "I do not know how to set label on %s with type %s" msgstr "Program ne more nastaviti oznake za %s, z vrsto %s" #: fs/format.pm:214 #, c-format msgid "setting label on %s failed, is it formatted?" msgstr "nastavljanje oznake za %s ni uspelo. Ali je formatiran?" #: fs/format.pm:280 #, c-format msgid "I do not know how to format %s in type %s" msgstr "Program ne more formatirati %s z vrsto %s. " #: fs/format.pm:285 fs/format.pm:287 #, c-format msgid "%s formatting of %s failed" msgstr "%s formatiranje %s ni uspelo" #: fs/loopback.pm:24 #, c-format msgid "Circular mounts %s\n" msgstr "Krožni priklop %s\n" #: fs/mount.pm:85 #, c-format msgid "Mounting partition %s" msgstr "Priklapljanje razdelka %s" #: fs/mount.pm:87 #, c-format msgid "mounting partition %s in directory %s failed" msgstr "Priklapljanje razdelka %s v mapo %s ni uspelo. " #: fs/mount.pm:92 fs/mount.pm:109 #, c-format msgid "Checking %s" msgstr "Preverjanje %s" #: fs/mount.pm:126 partition_table.pm:502 #, c-format msgid "error unmounting %s: %s" msgstr "napaka pri odklapljanju %s: %s" #: fs/mount.pm:141 #, c-format msgid "Enabling swap partition %s" msgstr "Omogočanje izmenjalnega razdelka (swap) %s" #: fs/mount_options.pm:114 #, c-format msgid "Enable POSIX Access Control Lists" msgstr "Omogoči sezname za nadzor dostopa (ACL) po standardu POSIX" #: fs/mount_options.pm:116 #, c-format msgid "Flush write cache on file close" msgstr "Ob zaprtju datoteke zapis predpomnilnika za pisanje na disk" #: fs/mount_options.pm:118 #, c-format msgid "Enable group disk quota accounting and optionally enforce limits" msgstr "" "Spremljanje omejitev prostora na diskih za skupine in izbirno uveljavitev " "omejitev." #: 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 "" "Brez sprememb časa dostopanja do podatkovne strukture (inode)\n" "na tem datotečnem sistemu.\n" "(npr. za hitrejši dostop do vrstilnika novic na novičarskih strežnikov)." #: fs/mount_options.pm:123 #, c-format msgid "" "Update inode access times on this filesystem in a more efficient way\n" "(e.g, for faster access on the news spool to speed up news servers)." msgstr "" "Posodabljanje časa dostopanja do podatkovne strukture (inode) na tem " "datotečnem sistemu na bolj učinkovit način.\n" "(n.pr. za hitrejši dostop do novičarskih strežnikov)." #: 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 "" "Priklop mogoč samo na izrecno zahtevo\n" "(možnost -a ne bo povzročila priklopa tega datototečnega sistema)." #: fs/mount_options.pm:129 #, c-format msgid "Do not interpret character or block special devices on the filesystem." msgstr "" "Brez tolmačenja znakovnih ali posebnih blokovnih naprav v datotečnem sistemu." #: 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 "" "Ne dovoli zagona izvedljivih programov na priklopljenem datotečnem\n" "sistemu. Ta nastavitev je koristna pri strežnikih z datotečnimi sistemi,\n" "ki vsebujejo izvedljive programe za drugačno arhitekturo od njihove." #: 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 "" "Ne dovoli, da bita set-user-identifier in set-group-identifier delujeta.\n" "(To se zdi varno, a je pravzaprav nevarno, če imate nameščen\n" "suidperl(1).)" #: fs/mount_options.pm:139 #, c-format msgid "Mount the filesystem read-only." msgstr "Datotečni sistem priklopi samo za branje." #: fs/mount_options.pm:141 #, c-format msgid "All I/O to the filesystem should be done synchronously." msgstr "" "Vsa branja z in pisanja na datotečni sistem morajo biti izvedena usklajeno." #: fs/mount_options.pm:143 #, c-format msgid "Allow every user to mount and umount the filesystem." msgstr "Dovoli priklop in odklop datotečnega sistema vsem uporabnikom." #: fs/mount_options.pm:145 #, c-format msgid "Allow an ordinary user to mount the filesystem." msgstr "Dovoli priklop in odklop datotečnega sistema navadnemu uporabniku." #: fs/mount_options.pm:147 #, c-format msgid "Enable user disk quota accounting, and optionally enforce limits" msgstr "" "Spremljanje omejitev prostora na diskih za uporabnike in izbirno uveljavitev " "omejitev." #: fs/mount_options.pm:149 #, c-format msgid "Support \"user.\" extended attributes" msgstr "Podpora za razširjene lastnosti »user.« " #: fs/mount_options.pm:151 #, c-format msgid "Give write access to ordinary users" msgstr "Dovoli zapisovanje navadnim uporabnikom" #: fs/mount_options.pm:153 #, c-format msgid "Give read-only access to ordinary users" msgstr "Dovoli navadnim uporabnikom dostop samo za branje" #: fs/mount_point.pm:87 #, c-format msgid "Duplicate mount point %s" msgstr "Podvojena priklopna točka %s" #: fs/mount_point.pm:102 #, c-format msgid "No partition available" msgstr "Na voljo ni nobenega razdelka." #: fs/mount_point.pm:105 #, c-format msgid "Scanning partitions to find mount points" msgstr "Pregledovanje priklopnih točk razdelkov." #: fs/mount_point.pm:112 #, c-format msgid "Choose the mount points" msgstr "Izberite priklopne točke" #: fs/partitioning.pm:48 #, c-format msgid "Choose the partitions you want to format" msgstr "Izberite razdelke, ki jih želite formatirati" #: fs/partitioning.pm:77 #, c-format msgid "" "Failed to check filesystem %s. Do you want to repair the errors? (beware, " "you can lose data)" msgstr "" "Preverjanje datotečnega sistema %s ni uspelo. Želite popraviti napake? " "(Previdno, to lahko povzroči izgubo podatkov!)" #: fs/partitioning.pm:80 #, c-format msgid "Not enough swap space to fulfill installation, please add some" msgstr "" "Za nadaljevanje namestitve je premalo izmenjalnega prostora (swap); treba ga " "je dodati. " #: fs/partitioning_wizard.pm:80 #, 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 "" "Potrebujete korenski razdelek.\n" "Ustvarite nov razdelek (ali izberite obstoječega).\n" "Nato izberite »Priklopna točka« in jo nastavite na »/«." #: fs/partitioning_wizard.pm:86 #, c-format msgid "" "You do not have a swap partition.\n" "\n" "Continue anyway?" msgstr "" "Nimate izmenjalnega razdelka (swap).\n" "\n" "Naj vseeno nadaljujem?" #: fs/partitioning_wizard.pm:129 #, c-format msgid "Use free space" msgstr "Uporabi razpoložljivi prostor" #: fs/partitioning_wizard.pm:131 #, c-format msgid "Not enough free space to allocate new partitions" msgstr "Za nov razdelek ni dovolj prostega prostora." #: fs/partitioning_wizard.pm:139 #, c-format msgid "Use existing partitions" msgstr "Uporabi obstoječe razdelke" #: fs/partitioning_wizard.pm:141 #, c-format msgid "There is no existing partition to use" msgstr "Nobenega obstoječega razdelka ni mogoče uporabiti." #: fs/partitioning_wizard.pm:165 #, c-format msgid "Computing the size of the Microsoft Windows® partition" msgstr "Preračunavanje velikosti razdelka za Microsoft Windows®." #: fs/partitioning_wizard.pm:201 #, c-format msgid "Use the free space on a Microsoft Windows® partition" msgstr "Uporabi razpoložljivi prostor v razdelku za Windows" #: fs/partitioning_wizard.pm:205 #, c-format msgid "Which partition do you want to resize?" msgstr "Kateremu razdelku želite spremeniti velikost?" #: fs/partitioning_wizard.pm:208 #, 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 "" "Vaš razdelek za Microsoft Windows® je preveč razdrobljen. Poženite »defrag« " "v okolju Microsoft Windows® in znova poskusite namestitev %s." #: fs/partitioning_wizard.pm:215 #, c-format msgid "Failed to find the partition to resize (%d choices)" msgstr "Ni bilo možno najti razdelka za spremembo velikosti (%d izbire)" #: fs/partitioning_wizard.pm:222 #, 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 "" "OPOZORILO!\n" "\n" "\n" "DrakX bo sedaj spremenil velikost razdelka za Windows.\n" "\n" "\n" "Bodite previdni: ta operacija lahko povzroči izgubo podatkov. Zato je ta " "razdelek prej treba preveriti. Če tega še niste opravili, prekinite " "namestitev in v Microsoft Windows® iz ukazne vrstice zaženite " "»chdisk« (zagon »scandisk« v grafičnem načinu ne zadošča!). Priporočljiv je " "tudi zagon programa za defragmentiranje (defrag). Nato ponovno zaženite " "namestitev. Napravite tudi varnostno kopijo podatkov.\n" "\n" "\n" "Če ste prepričani, pritisnite »%s«." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: fs/partitioning_wizard.pm:231 fs/partitioning_wizard.pm:608 #: interactive.pm:674 interactive/curses.pm:270 ugtk2.pm:519 ugtk3.pm:593 #, c-format msgid "Next" msgstr "Naprej" #: fs/partitioning_wizard.pm:237 #, c-format msgid "Partitionning" msgstr "Razdelitev diska" #: fs/partitioning_wizard.pm:237 #, c-format msgid "Which size do you want to keep for Microsoft Windows® on partition %s?" msgstr "Kako velik želite obdržati Microsoft Windows® razdelek %s?" #: fs/partitioning_wizard.pm:238 #, c-format msgid "Size" msgstr "Velikost" #: fs/partitioning_wizard.pm:247 #, c-format msgid "Resizing Microsoft Windows® partition" msgstr "Spreminjanje velikosti razdelka za Microsoft Windows®." #: fs/partitioning_wizard.pm:252 #, c-format msgid "FAT resizing failed: %s" msgstr "Spreminjanje velikosti FAT je spodletelo: %s" #: fs/partitioning_wizard.pm:268 #, c-format msgid "There is no FAT partition to resize (or not enough space left)" msgstr "" "Ni razdelka FAT, ki bi mu bilo mogoče spremeniti velikost ali za to ni " "dovolj prostora." #: fs/partitioning_wizard.pm:273 #, c-format msgid "Remove Microsoft Windows®" msgstr "Odstrani Microsoft Windows®" #: fs/partitioning_wizard.pm:273 #, c-format msgid "Erase and use entire disk" msgstr "Zbriši in uporabi celoten disk" #: fs/partitioning_wizard.pm:277 #, c-format msgid "" "You have more than one hard disk drive, which one do you want the installer " "to use?" msgstr "Imate več trdih diskov. Katerega naj uporabi namestitev?" #: fs/partitioning_wizard.pm:285 fsedit.pm:669 #, c-format msgid "ALL existing partitions and their data will be lost on drive %s" msgstr "VSI razdelki na disku %s in podatki na njih bodo izgubljeni." #: fs/partitioning_wizard.pm:298 #, c-format msgid "Custom disk partitioning" msgstr "Razdeljevanje diska po meri" #: fs/partitioning_wizard.pm:304 #, c-format msgid "Use fdisk" msgstr "Uporabi fdisk" #: fs/partitioning_wizard.pm:307 #, c-format msgid "" "You can now partition %s.\n" "When you are done, do not forget to save using `w'" msgstr "" "Sedaj lahko razdelite %s.\n" "Ko zaključite, ne pozabite shraniti sprememb z ukazom »w«." #: fs/partitioning_wizard.pm:450 #, c-format msgid "Ext2/3/4" msgstr "Ext2/3/4" #: fs/partitioning_wizard.pm:480 fs/partitioning_wizard.pm:628 #, c-format msgid "I cannot find any room for installing" msgstr "Za namestitev ni dovolj prostora." #: fs/partitioning_wizard.pm:489 fs/partitioning_wizard.pm:635 #, c-format msgid "The DrakX Partitioning wizard found the following solutions:" msgstr "Čarovnik za razdeljevanje diska je našel naslednje rešitve:" #: fs/partitioning_wizard.pm:559 #, c-format msgid "Here is the content of your disk drive " msgstr "To je vsebina trdega diska " #: fs/partitioning_wizard.pm:646 #, c-format msgid "Partitioning failed: %s" msgstr "Razdeljevanje je spodletelo: %s" #: fs/type.pm:430 #, c-format msgid "You cannot use JFS for partitions smaller than 16MB" msgstr "Na razdelkih, manjših od 16MB, ne morete uporabiti JFS" #: fs/type.pm:431 #, c-format msgid "You cannot use ReiserFS for partitions smaller than 32MB" msgstr "Na razdelkih, manjših od 32MB, ne morete uporabiti ReiserFS" #: fs/type.pm:432 #, c-format msgid "You cannot use btrfs for partitions smaller than 256MB" msgstr "Na razdelkih, manjših od 256MB, ne morete uporabiti btrfs" #: fsedit.pm:25 #, c-format msgid "simple" msgstr "preprosto" #: fsedit.pm:29 #, c-format msgid "with /usr" msgstr "z /usr" #: fsedit.pm:34 #, c-format msgid "server" msgstr "strežnik" #: fsedit.pm:159 #, c-format msgid "BIOS software RAID detected on disks %s. Activate it?" msgstr "Na diskih %s je zaznan programski BIOS RAID. Naj ga omogočim?" #: fsedit.pm:283 #, 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 "" "Razdelitvene tabele naprave %s ni mogoče prebrati, ker ima preveč napak.\n" "Nadaljevanje je možno z brisanjem slabih razdelkov. (VSI PODATKI BODO " "IZGUBLJENI!).\n" "Druga možnost je, da orodju DrakX ne dovolite spreminjanja razdelitvene " "tabele.\n" "(Napaka je %s)\n" "\n" "Ali soglašate z izgubo vseh razdelkov?\n" #: fsedit.pm:467 #, c-format msgid "Mount points must begin with a leading /" msgstr "Priklopne točke se morajo začeti z /" #: fsedit.pm:468 #, c-format msgid "Mount points should contain only alphanumerical characters" msgstr "Priklopne točke smejo vsebovati samo alfanumerične znake." #: fsedit.pm:469 #, c-format msgid "There is already a partition with mount point %s\n" msgstr "Razdelek s priklopno točko %s že obstaja.\n" #: fsedit.pm:472 #, c-format msgid "" "You've selected an encrypted partition as root (/).\n" "No bootloader is able to handle this without a /boot partition.\n" "Please be sure to add a separate /boot partition" msgstr "" "Za korenski (/) razdelek ste izbrali šifriran razdelek.\n" "Nobeden zagonski nalagalnik ne podpira tega brez ločenega razdelka /boot.\n" "Ne pozabite ga dodati." #: fsedit.pm:478 fsedit.pm:489 #, c-format msgid "You cannot use an encrypted filesystem for mount point %s" msgstr "" "Za priklopno točko %s ni mogoče uporabiti šifriranega datotečnega sistema." #: fsedit.pm:481 fsedit.pm:483 #, c-format msgid "This directory should remain within the root filesystem" msgstr "Ta imenik bi moral ostati v okviru korenskega datotečnega sistema." #: fsedit.pm:485 fsedit.pm:487 #, c-format msgid "" "You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount " "point\n" msgstr "" "Za to priklopno točko potrebujete pravi datotečni sistem (ext2/ext3, " "reiserfs, xfs, ali jfs)\n" #: fsedit.pm:562 #, c-format msgid "Not enough free space for auto-allocating" msgstr "Za samodejno razdeljevanje ni dovolj prostora." #: fsedit.pm:564 #, c-format msgid "Nothing to do" msgstr "Ni opravil." #: harddrake/data.pm:62 #, c-format msgid "SATA controllers" msgstr "Krmilniki SATA" #: harddrake/data.pm:72 #, c-format msgid "RAID controllers" msgstr "Krmilniki RAID" #: harddrake/data.pm:82 #, c-format msgid "(E)IDE/ATA controllers" msgstr "Krmilniki (E)IDE/ATA" #: harddrake/data.pm:93 #, c-format msgid "Card readers" msgstr "Bralniki kartic" #: harddrake/data.pm:102 #, c-format msgid "Firewire controllers" msgstr "Krmilniki Firewire" #: harddrake/data.pm:111 #, c-format msgid "PCMCIA controllers" msgstr "Krmilniki PCMCIA" #: harddrake/data.pm:120 #, c-format msgid "SCSI controllers" msgstr "Krmilniki SCSI" #: harddrake/data.pm:129 #, c-format msgid "USB controllers" msgstr "Krmilniki USB" #: harddrake/data.pm:138 #, c-format msgid "USB ports" msgstr "Vrata USB" #: harddrake/data.pm:147 #, c-format msgid "SMBus controllers" msgstr "Krmilniki SMBus" #: harddrake/data.pm:156 #, c-format msgid "Bridges and system controllers" msgstr "Mostički in sistemski krmilniki" #: harddrake/data.pm:168 #, c-format msgid "Floppy" msgstr "Disketna enota" #: harddrake/data.pm:178 #, c-format msgid "Zip" msgstr "Zip" #: harddrake/data.pm:194 #, c-format msgid "Hard Disk" msgstr "Trdi disk" #: harddrake/data.pm:204 #, c-format msgid "USB Mass Storage Devices" msgstr "USB naprave za shranjevanje" #: harddrake/data.pm:213 #, c-format msgid "CDROM" msgstr "CDROM" #: harddrake/data.pm:223 #, c-format msgid "CD/DVD burners" msgstr "Zapisovalniki CD/DVD" #: harddrake/data.pm:233 #, c-format msgid "DVD-ROM" msgstr "DVD-ROM" #: harddrake/data.pm:243 #, c-format msgid "Tape" msgstr "Tračna enota" #: harddrake/data.pm:254 #, c-format msgid "AGP controllers" msgstr "Krmilniki AGP" #: harddrake/data.pm:263 #, c-format msgid "Videocard" msgstr "Grafična kartica" #: harddrake/data.pm:272 #, c-format msgid "DVB card" msgstr "Kartica DVB" #: harddrake/data.pm:280 #, c-format msgid "Tvcard" msgstr "TV kartica" #: harddrake/data.pm:290 #, c-format msgid "Other MultiMedia devices" msgstr "Druge naprave za grafiko, video in zvok" #: harddrake/data.pm:299 #, c-format msgid "Soundcard" msgstr "Zvočna kartica" #: harddrake/data.pm:313 #, c-format msgid "Webcam" msgstr "Spletna kamera" #: harddrake/data.pm:328 #, c-format msgid "Processors" msgstr "Procesne enote" #: harddrake/data.pm:338 #, c-format msgid "ISDN adapters" msgstr "Vmesniki ISDN" #: harddrake/data.pm:349 #, c-format msgid "USB sound devices" msgstr "Zvočne naprave USB" #: harddrake/data.pm:358 #, c-format msgid "Radio cards" msgstr "Radijske kartice" #: harddrake/data.pm:367 #, c-format msgid "ATM network cards" msgstr "Kartice za omrežja ATM" #: harddrake/data.pm:376 #, c-format msgid "WAN network cards" msgstr "Kartice za omrežja WAN" #: harddrake/data.pm:385 #, c-format msgid "Bluetooth devices" msgstr "Naprave Blootooth" #: harddrake/data.pm:394 #, c-format msgid "Ethernetcard" msgstr "Mrežna kartica" #: harddrake/data.pm:412 #, c-format msgid "Modem" msgstr "Modem" #: harddrake/data.pm:422 #, c-format msgid "ADSL adapters" msgstr "Vmesniki ADSL" #: harddrake/data.pm:434 #, c-format msgid "Memory" msgstr "Pomnilnik" #: harddrake/data.pm:443 #, c-format msgid "Printer" msgstr "Tiskalnik" #. -PO: these are joysticks controllers: #: harddrake/data.pm:457 #, c-format msgid "Game port controllers" msgstr "Krmilniki za igralna vrata" #: harddrake/data.pm:466 #, c-format msgid "Joystick" msgstr "Igralna palica" #: harddrake/data.pm:476 #, c-format msgid "Keyboard" msgstr "Tipkovnica" #: harddrake/data.pm:490 #, c-format msgid "Tablet and touchscreen" msgstr "Tablični in zasloni, občutljivi na dotik" #: harddrake/data.pm:499 #, c-format msgid "Mouse" msgstr "Miška" #: harddrake/data.pm:514 #, c-format msgid "Biometry" msgstr "Biometrija" #: harddrake/data.pm:522 #, c-format msgid "UPS" msgstr "Naprave za rezervno napajanje (UPS)" #: harddrake/data.pm:531 #, c-format msgid "Scanner" msgstr "Optični bralnik" #: harddrake/data.pm:542 #, c-format msgid "Unknown/Others" msgstr "Neznane naprave" #: harddrake/data.pm:572 #, c-format msgid "cpu # " msgstr "Centralna procesna enota # " #: harddrake/sound.pm:235 harddrake/sound.pm:320 harddrake/sound.pm:426 #, fuzzy, c-format msgid "Couldn't install the required packages" msgstr "Paketa %s ni mogoče namestiti!" #: harddrake/sound.pm:236 harddrake/sound.pm:321 harddrake/sound.pm:427 #, c-format msgid "Please check the repositories are correctly configured" msgstr "" #: harddrake/sound.pm:462 #, c-format msgid "No known driver" msgstr "Ni znanega gonilnika" #: harddrake/sound.pm:463 #, c-format msgid "There's no known driver for your sound card (%s)" msgstr "Za to zvočno kartico ni znanega gonilnika (%s)" #: harddrake/sound.pm:517 #, fuzzy, c-format msgid "You need to reboot for changes to take effect" msgstr "Za uveljavitev sprememb se morate odjaviti in ponovno prijaviti." #: harddrake/sound.pm:522 #, c-format msgid "" "Warning: both pulseaudio and pipewire are installed and can conflict each " "other. Please fix your config by applying a choice" msgstr "" #: harddrake/sound.pm:527 #, c-format msgid "" "Warning: task-pipewire is not available in any media sources, so only " "pulseaudio could be set up. Please fix your repo configuration." msgstr "" #: harddrake/sound.pm:541 #, fuzzy, c-format msgid "Select the sound server" msgstr "Zažene strežnik pisav za X." #: harddrake/sound.pm:551 #, fuzzy, c-format msgid "PulseAudio" msgstr "Omogoči PulseAudio" #: harddrake/sound.pm:552 #, fuzzy, c-format msgid "PulseAudio with Glitch-Free mode" msgstr "Uporabi način brez napak" #: harddrake/sound.pm:553 #, c-format msgid "PipeWire with WirePlumber" msgstr "" #: harddrake/sound.pm:554 #, c-format msgid "PipeWire with PipeWire Media Session" msgstr "" #: harddrake/sound.pm:561 #, c-format msgid "Reset sound mixer to default values" msgstr "Ponastavi mešalko na privzete vrednosti in glasnosti" #: harddrake/sound.pm:565 #, c-format msgid "Troubleshooting" msgstr "Odpravljanje napak" #: harddrake/sound.pm:571 #, fuzzy, c-format msgid "Your card uses the <b>\"%s\"</b> driver\n" msgstr "Strojna oprema uporablja gonilnik \"%s\"" #: harddrake/sound.pm:581 #, c-format msgid "No alternative driver" msgstr "Ne najdem nadomestnega gonilnika" #: harddrake/sound.pm:582 #, c-format msgid "" "There's no known OSS/ALSA alternative driver for your sound card (%s) which " "currently uses \"%s\"" msgstr "" "Ne najdem OSS/ALSA nadomestnega gonilnika za zvočno kartico (%s), ki " "trenutno uporablja »%s« " #: harddrake/sound.pm:589 #, c-format msgid "Sound configuration" msgstr "Nastavitve zvočnega sistema" #: harddrake/sound.pm:603 #, c-format msgid "Sound troubleshooting" msgstr "Odpravljanje napak pri zvoku" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: harddrake/sound.pm:606 #, c-format msgid "" "Below are some basic tips to help debug audio problems, but for accurate and " "up-to-date tips and tricks, please see:\n" "\n" "https://wiki.mageia.org/en/Support:DebuggingSoundProblems\n" "\n" "\n" "\n" "- General Recommendation: Enable PulseAudio. If you have opted to not to use " "PulseAudio, we would strongly advise you enable it. For the vast majority of " "desktop use cases, PulseAudio is the recommended and best supported option.\n" "\n" "\n" "\n" "- \"kmix\" (KDE), \"gnome-control-center sound\" (GNOME) and \"pavucontrol" "\" (generic) will launch graphical applications to allow you to view your " "sound devices and adjust volume levels\n" "\n" "\n" "- \"ps aux | grep pulseaudio\" will check that PulseAudio is running.\n" "\n" "\n" "- \"pactl stat\" will check that you can connect to the PulseAudio daemon " "correctly.\n" "\n" "\n" "- \"pactl list sink-inputs\" will tell you which programs are currently " "playing sound via PulseAudio.\n" "\n" "\n" "- \"systemctl status osspd.service\" will tell you the current state of the " "OSS Proxy Daemon. This is used to enable sound from legacy applications " "which use the OSS sound API. You should install the \"ossp\" package if you " "need this functionality.\n" "\n" "\n" "- \"pacmd ls\" will give you a LOT of debug information about the current " "state of your audio.\n" "\n" "\n" "- \"lspcidrake -v | grep -i audio\" will tell you which low-level driver " "your card uses by default.\n" "\n" "\n" "- \"/usr/sbin/lsmod | grep snd\" will enable you to check which sound " "related kernel modules (drivers) are loaded.\n" "\n" "\n" "- \"alsamixer -c 0\" will give you a text-based mixer to the low level ALSA " "mixer controls for first sound card\n" "\n" "\n" "- \"/usr/sbin/fuser -v /dev/snd/pcm* /dev/dsp\" will tell which programs are " "currently using the sound card directly (normally this should only show " "PulseAudio)\n" msgstr "" "Spodaj je nekaj osnovnih nasvetov za pomoč pri odpravljanju težav z zvokom, " "a natančne in sveže nasvete si oglejte na wiki strani:\n" "\n" "https://wiki.mageia.org/en/Support:DebuggingSoundProblems\n" "\n" "\n" "\n" "- Splošno priporočilo: omogočite PulseAudio. To vam toplo priporočamo, tudi " "če ste se odločili, da ga ne boste uporabljali. Za veliko večino primerov " "uporabe namiznega računalnika je PulseAudio priporočljiva in najbolj podprta " "možnost.\n" "\n" "\n" "Ukaz:\n" "- »kmix« (za KDE), »gnome-control-center sound« (za GNOME) ali " "»pavucontrol« (za vsa namizna okolja) bo zagnal pripadajoč grafičen program " "za ogled vaših zvočnih naprav in nastavitev nivojev glasnosti,\n" "\n" "\n" "- »ps aux | grep pulseaudio« bo preveril, da PulseAudio teče,\n" "\n" "\n" "- »pactl stat« preveri ali je povezava z ozadnjim programom PulseAudio " "uspešna,\n" "\n" "\n" "- »pactl list sink-inputs« izpiše kateri programi trenutno predvajajo zvok " "prek programa PulseAudio,\n" "\n" "\n" "- »systemctl status osspd.service« vam bo povedal trenutno stanje ozadnjega " "programa »OSS Proxy«. Ta se uporablja pri starejših programov, ki kličejo le " "zvočni programski vmesnik OSS. Za to funkcionalnost morate namestiti paket " "»ossp«.\n" "\n" "\n" "- »pacmd ls« izpiše podrobne infomacije o trenutnem stanju zvočnega " "sistema,\n" "\n" "\n" "- »lspcidrake -v | grep -i audio« izpiše izpiše kateri nizkonivojski " "gonilnik privzeto uporablja zvočna kartica,\n" "\n" "\n" "- »/usr/sbin/lsmod | grep snd« izpiše naložene module (gonilnike) jedra, ki " "so povezani z zvokom,\n" "\n" "\n" "- »alsamixer -c 0« odpre tekstovno mešalko za nizkonivojsko kontrolo ALSA " "prve zvočne kartice,\n" "\n" "\n" "- »/usr/sbin/fuser -v /dev/snd/pcm* /dev/dsp« izpiše programe, ki trenutno " "direktno dostopajo do zvočne kartice (običajno naj bi bil le PulseAudio)\n" #: harddrake/v4l.pm:12 #, c-format msgid "Auto-detect" msgstr "Samodejna zaznava" #: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337 #, c-format msgid "Unknown|Generic" msgstr "Neznano|Generično" #: harddrake/v4l.pm:130 #, c-format msgid "Unknown|CPH05X (bt878) [many vendors]" msgstr "Neznano|CPH05X (bt878) [različni proizvajalci]" #: harddrake/v4l.pm:131 #, c-format msgid "Unknown|CPH06X (bt878) [many vendors]" msgstr "Neznano|CPH06X (bt878) [različni proizvajalci]" #: 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 "" "Za večino sodobnih TV kartic, modul jedra bttv GNU/Linuxa samodejno zazna " "prave nastavitve.\n" "Če vaša kartica ni pravilno zaznana, lahko vsilite pravi sprejemnik in tip " "kartice. Po potrebi samo izberite nastavitve vaše TV kartice." #: harddrake/v4l.pm:478 #, c-format msgid "Card model:" msgstr "Model kartice:" #: harddrake/v4l.pm:479 #, c-format msgid "Tuner type:" msgstr "Tip tv kartice:" #: interactive.pm:119 interactive.pm:674 interactive/curses.pm:270 #: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39 #: interactive/stdio.pm:148 interactive/stdio.pm:149 mygtk2.pm:846 #: mygtk3.pm:928 ugtk2.pm:421 ugtk2.pm:519 ugtk2.pm:810 ugtk2.pm:833 #: ugtk3.pm:507 ugtk3.pm:593 ugtk3.pm:906 ugtk3.pm:929 #, c-format msgid "Ok" msgstr "V redu" #: interactive.pm:219 modules/interactive.pm:72 ugtk2.pm:809 ugtk3.pm:905 #: wizards.pm:156 #, c-format msgid "Yes" msgstr "Da" #: interactive.pm:219 modules/interactive.pm:72 ugtk2.pm:809 ugtk3.pm:905 #: wizards.pm:156 #, c-format msgid "No" msgstr "Ne" #: interactive.pm:253 #, c-format msgid "Choose a file" msgstr "Izberite datoteko" #: interactive.pm:390 interactive/gtk.pm:456 #, c-format msgid "Add" msgstr "Dodaj" #: interactive.pm:390 interactive/gtk.pm:456 #, c-format msgid "Modify" msgstr "Prilagodi" #: interactive.pm:674 interactive/curses.pm:270 ugtk2.pm:519 ugtk3.pm:593 #, c-format msgid "Finish" msgstr "Zaključi" #: interactive.pm:675 interactive/curses.pm:267 ugtk2.pm:517 ugtk3.pm:591 #, c-format msgid "Previous" msgstr "Nazaj" #: interactive/curses.pm:576 ugtk2.pm:870 ugtk3.pm:966 #, c-format msgid "No file chosen" msgstr "Izbrana ni nobena datoteka" #: interactive/curses.pm:580 ugtk2.pm:874 ugtk3.pm:970 #, c-format msgid "You have chosen a directory, not a file" msgstr "Namesto datoteke ste izbrali mapo" #: interactive/curses.pm:582 ugtk2.pm:876 ugtk3.pm:972 #, c-format msgid "No such directory" msgstr "Ta mapa ne obstaja" #: interactive/curses.pm:582 ugtk2.pm:876 ugtk3.pm:972 #, c-format msgid "No such file" msgstr "Ta datoteka ne obstaja" #: interactive/gtk.pm:596 #, c-format msgid "Beware, Caps Lock is enabled" msgstr "Pozor, omogočene so velike črke (Caps Lock)!" #: interactive/stdio.pm:29 interactive/stdio.pm:154 #, c-format msgid "Bad choice, try again\n" msgstr "Slaba izbira, poskusite znova\n" #: interactive/stdio.pm:30 interactive/stdio.pm:155 #, c-format msgid "Your choice? (default %s) " msgstr "Vaša izbira? (privzeto %s) " #: interactive/stdio.pm:54 #, c-format msgid "" "Entries you'll have to fill:\n" "%s" msgstr "" "Vnosi, ki jih boste morali izpolniti:\n" "%s" #: interactive/stdio.pm:70 #, c-format msgid "Your choice? (0/1, default `%s') " msgstr "Vaša izbira? (0/1, privzeto »%s«) " #: interactive/stdio.pm:97 #, c-format msgid "Button `%s': %s" msgstr "Gumb »%s«: %s" #: interactive/stdio.pm:98 #, c-format msgid "Do you want to click on this button?" msgstr "Ali želite klikniti na ta gumb?" #: interactive/stdio.pm:110 #, c-format msgid "Your choice? (default `%s'%s) " msgstr "Vaša izbira? (privzeto »%s«%s) " #: interactive/stdio.pm:110 #, c-format msgid " enter `void' for void entry" msgstr "vnesite »void« za prazen vnos" #: interactive/stdio.pm:128 #, c-format msgid "=> There are many things to choose from (%s).\n" msgstr "=> Izbirate lahko med mnogo stvarmi (%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 "" "Izberite prvo številko v obsegu do 10, ki jo želite urediti,\n" "ali pa pritisnite Enter za nadaljevanje.\n" "Kakšna je vaša izbira? " #: interactive/stdio.pm:144 #, c-format msgid "" "=> Notice, a label changed:\n" "%s" msgstr "" "=> Opomba, oznaka se je spremenila:\n" "%s" #: interactive/stdio.pm:151 #, c-format msgid "Re-submit" msgstr "Pošlji znova" #. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR" #. -PO: or as "default:RTL", depending if your language is written from #. -PO: left to right, or from right to left; any other string is wrong. #: lang.pm:247 #, c-format msgid "default:LTR" msgstr "privzeto: LTR" #: lang.pm:301 #, c-format msgid "Andorra" msgstr "Andora" #: lang.pm:302 timezone.pm:237 #, c-format msgid "United Arab Emirates" msgstr "Združeni arabski emirati" #: lang.pm:303 #, c-format msgid "Afghanistan" msgstr "Afganistan" #: lang.pm:304 #, c-format msgid "Antigua and Barbuda" msgstr "Antigva in Barbuda" #: lang.pm:305 #, c-format msgid "Anguilla" msgstr "Angvila" #: lang.pm:306 #, c-format msgid "Albania" msgstr "Albanija" #: lang.pm:307 #, c-format msgid "Armenia" msgstr "Armenija" #: lang.pm:308 #, c-format msgid "Netherlands Antilles" msgstr "Nizozemski Antili" #: lang.pm:309 #, c-format msgid "Angola" msgstr "Angola" #: lang.pm:310 #, c-format msgid "Antarctica" msgstr "Antarktika" #: lang.pm:311 timezone.pm:282 #, c-format msgid "Argentina" msgstr "Argentina" #: lang.pm:312 #, c-format msgid "American Samoa" msgstr "Ameriška Samoa" #: lang.pm:313 timezone.pm:240 #, c-format msgid "Austria" msgstr "Avstrija" #: lang.pm:314 timezone.pm:278 #, c-format msgid "Australia" msgstr "Avstralija" #: lang.pm:315 #, c-format msgid "Aruba" msgstr "Aruba" #: lang.pm:316 #, c-format msgid "Azerbaijan" msgstr "Azerbajdžan" #: lang.pm:317 #, c-format msgid "Bosnia and Herzegovina" msgstr "Bosna in Hercegovina" #: lang.pm:318 #, c-format msgid "Barbados" msgstr "Barbados" #: lang.pm:319 timezone.pm:222 #, c-format msgid "Bangladesh" msgstr "Bangladeš" #: lang.pm:320 timezone.pm:242 #, c-format msgid "Belgium" msgstr "Belgija" #: lang.pm:321 #, c-format msgid "Burkina Faso" msgstr "Burkina Faso" #: lang.pm:322 timezone.pm:243 #, c-format msgid "Bulgaria" msgstr "Bolgarija" #: lang.pm:323 #, c-format msgid "Bahrain" msgstr "Bahrain" #: lang.pm:324 #, c-format msgid "Burundi" msgstr "Burundi" #: lang.pm:325 #, c-format msgid "Benin" msgstr "Benin (Dahomej)" #: lang.pm:326 #, c-format msgid "Bermuda" msgstr "Bermudi" #: lang.pm:327 #, c-format msgid "Brunei Darussalam" msgstr "Brunej" #: lang.pm:328 #, c-format msgid "Bolivia" msgstr "Bolivija" #: lang.pm:329 timezone.pm:283 #, c-format msgid "Brazil" msgstr "Brazilija" #: lang.pm:330 #, c-format msgid "Bahamas" msgstr "Bahami" #: lang.pm:331 #, c-format msgid "Bhutan" msgstr "Butan" #: lang.pm:332 #, c-format msgid "Bouvet Island" msgstr "Bouvetov otok" #: lang.pm:333 #, c-format msgid "Botswana" msgstr "Bocvana" #: lang.pm:334 timezone.pm:241 #, c-format msgid "Belarus" msgstr "Belorusija" #: lang.pm:335 #, c-format msgid "Belize" msgstr "Belize" #: lang.pm:336 timezone.pm:272 #, c-format msgid "Canada" msgstr "Kanada" #: lang.pm:337 #, c-format msgid "Cocos (Keeling) Islands" msgstr "Kokosovo otočje" #: lang.pm:338 #, c-format msgid "Congo (Kinshasa)" msgstr "Demokratična republika Kongo" #: lang.pm:339 #, c-format msgid "Central African Republic" msgstr "Srednjeafriška republika" #: lang.pm:340 #, c-format msgid "Congo (Brazzaville)" msgstr "Republika Kongo" #: lang.pm:341 timezone.pm:266 #, c-format msgid "Switzerland" msgstr "Švica" #: lang.pm:342 #, c-format msgid "Cote d'Ivoire" msgstr "Slonokoščena obala" #: lang.pm:343 #, c-format msgid "Cook Islands" msgstr "Cookovi otoki" #: lang.pm:344 timezone.pm:284 #, c-format msgid "Chile" msgstr "Čile" #: lang.pm:345 #, c-format msgid "Cameroon" msgstr "Kamerun" #: lang.pm:346 timezone.pm:223 #, c-format msgid "China" msgstr "Kitajska" #: lang.pm:347 #, c-format msgid "Colombia" msgstr "Kolumbija" #: lang.pm:348 #, c-format msgid "Costa Rica" msgstr "Kostarika" #: lang.pm:349 #, c-format msgid "Serbia & Montenegro" msgstr "Srbija in Črna gora" #: lang.pm:350 #, c-format msgid "Cuba" msgstr "Kuba" #: lang.pm:351 #, c-format msgid "Cape Verde" msgstr "Kapverdski otoki" #: lang.pm:352 #, c-format msgid "Christmas Island" msgstr "Božični otoki" #: lang.pm:353 #, c-format msgid "Cyprus" msgstr "Ciper" #: lang.pm:354 timezone.pm:244 #, c-format msgid "Czech Republic" msgstr "Češka" #: lang.pm:355 timezone.pm:249 #, c-format msgid "Germany" msgstr "Nemčija" #: lang.pm:356 #, c-format msgid "Djibouti" msgstr "Džibuti" #: lang.pm:357 timezone.pm:245 #, c-format msgid "Denmark" msgstr "Danska" #: lang.pm:358 #, c-format msgid "Dominica" msgstr "Dominika" #: lang.pm:359 #, c-format msgid "Dominican Republic" msgstr "Dominikanska republika" #: lang.pm:360 #, c-format msgid "Algeria" msgstr "Alžirija" #: lang.pm:361 #, c-format msgid "Ecuador" msgstr "Ekvador" #: lang.pm:362 timezone.pm:246 #, c-format msgid "Estonia" msgstr "Estonija" #: lang.pm:363 #, c-format msgid "Egypt" msgstr "Egipt" #: lang.pm:364 #, c-format msgid "Western Sahara" msgstr "Zahodna Sahara" #: lang.pm:365 #, c-format msgid "Eritrea" msgstr "Eritreja" #: lang.pm:366 timezone.pm:264 #, c-format msgid "Spain" msgstr "Španija" #: lang.pm:367 #, c-format msgid "Ethiopia" msgstr "Etiopija" #: lang.pm:368 timezone.pm:247 #, c-format msgid "Finland" msgstr "Finska" #: lang.pm:369 #, c-format msgid "Fiji" msgstr "Fidži" #: lang.pm:370 #, c-format msgid "Falkland Islands (Malvinas)" msgstr "Falklandski otoki (Malvini)" #: lang.pm:371 #, c-format msgid "Micronesia" msgstr "Mikronezija" #: lang.pm:372 #, c-format msgid "Faroe Islands" msgstr "Farski otoki" #: lang.pm:373 timezone.pm:248 #, c-format msgid "France" msgstr "Francija" #: lang.pm:374 #, c-format msgid "Gabon" msgstr "Gabon" #: lang.pm:375 timezone.pm:268 #, c-format msgid "United Kingdom" msgstr "Združeno kraljestvo" #: lang.pm:376 #, c-format msgid "Grenada" msgstr "Grenada" #: lang.pm:377 #, c-format msgid "Georgia" msgstr "Gruzija" #: lang.pm:378 #, c-format msgid "French Guiana" msgstr "Francoska Gvajana" #: lang.pm:379 #, c-format msgid "Ghana" msgstr "Gana" #: lang.pm:380 #, c-format msgid "Gibraltar" msgstr "Gibraltar" #: lang.pm:381 #, c-format msgid "Greenland" msgstr "Grenlandija" #: lang.pm:382 #, c-format msgid "Gambia" msgstr "Gambija" #: lang.pm:383 #, c-format msgid "Guinea" msgstr "Gvineja" #: lang.pm:384 #, c-format msgid "Guadeloupe" msgstr "Gvadelupe" #: lang.pm:385 #, c-format msgid "Equatorial Guinea" msgstr "Ekvatorijalna Gvineja" #: lang.pm:386 timezone.pm:250 #, c-format msgid "Greece" msgstr "Grčija" #: lang.pm:387 #, c-format msgid "South Georgia and the South Sandwich Islands" msgstr "Južna Georgija" #: lang.pm:388 timezone.pm:273 #, c-format msgid "Guatemala" msgstr "Gvatemala" #: lang.pm:389 #, c-format msgid "Guam" msgstr "Guam" #: lang.pm:390 #, c-format msgid "Guinea-Bissau" msgstr "Gvineja Bissao" #: lang.pm:391 #, c-format msgid "Guyana" msgstr "Gvajana" #: lang.pm:392 #, c-format msgid "Hong Kong SAR (China)" msgstr "Hong Kong" #: lang.pm:393 #, c-format msgid "Heard and McDonald Islands" msgstr "Heardovo in McDonaldovo otočje" #: lang.pm:394 #, c-format msgid "Honduras" msgstr "Honduras" #: lang.pm:395 #, c-format msgid "Croatia" msgstr "Hrvaška" #: lang.pm:396 #, c-format msgid "Haiti" msgstr "Haiti" #: lang.pm:397 timezone.pm:251 #, c-format msgid "Hungary" msgstr "Madžarska" #: lang.pm:398 timezone.pm:226 #, c-format msgid "Indonesia" msgstr "Indonezija" #: lang.pm:399 timezone.pm:252 #, c-format msgid "Ireland" msgstr "Irska" #: lang.pm:400 timezone.pm:228 #, c-format msgid "Israel" msgstr "Izrael" #: lang.pm:401 timezone.pm:225 #, c-format msgid "India" msgstr "Indija" #: lang.pm:402 #, c-format msgid "British Indian Ocean Territory" msgstr "Britanski teritorij Indijskega oceana" #: lang.pm:403 #, c-format msgid "Iraq" msgstr "Irak" #: lang.pm:404 timezone.pm:227 #, c-format msgid "Iran" msgstr "Iran" #: lang.pm:405 #, c-format msgid "Iceland" msgstr "Islandija" #: lang.pm:406 timezone.pm:253 #, c-format msgid "Italy" msgstr "Italija" #: lang.pm:407 #, c-format msgid "Jamaica" msgstr "Jamajka" #: lang.pm:408 #, c-format msgid "Jordan" msgstr "Jordanija" #: lang.pm:409 timezone.pm:229 #, c-format msgid "Japan" msgstr "Japonska" #: lang.pm:410 #, c-format msgid "Kenya" msgstr "Kenija" #: lang.pm:411 #, c-format msgid "Kyrgyzstan" msgstr "Kirgizija" #: lang.pm:412 #, c-format msgid "Cambodia" msgstr "Kambodža" #: lang.pm:413 #, c-format msgid "Kiribati" msgstr "Kiribati" #: lang.pm:414 #, c-format msgid "Comoros" msgstr "Komori" #: lang.pm:415 #, c-format msgid "Saint Kitts and Nevis" msgstr "St. Kitts - Nevis" #: lang.pm:416 #, c-format msgid "Korea (North)" msgstr "Severna Koreja" #: lang.pm:417 timezone.pm:230 #, c-format msgid "Korea" msgstr "Južna Koreja" #: lang.pm:418 #, c-format msgid "Kuwait" msgstr "Kuvajt" #: lang.pm:419 #, c-format msgid "Cayman Islands" msgstr "Kajmanski otoki" #: lang.pm:420 #, c-format msgid "Kazakhstan" msgstr "Kazahstan" #: lang.pm:421 #, c-format msgid "Laos" msgstr "Laos" #: lang.pm:422 #, c-format msgid "Lebanon" msgstr "Libanon" #: lang.pm:423 #, c-format msgid "Saint Lucia" msgstr "Sveta Lucija" #: lang.pm:424 #, c-format msgid "Liechtenstein" msgstr "Liechtenstein" #: lang.pm:425 #, c-format msgid "Sri Lanka" msgstr "Šrilanka" #: lang.pm:426 #, c-format msgid "Liberia" msgstr "Liberija" #: lang.pm:427 #, c-format msgid "Lesotho" msgstr "Lesoto" #: lang.pm:428 timezone.pm:254 #, c-format msgid "Lithuania" msgstr "Litva" #: lang.pm:429 timezone.pm:255 #, c-format msgid "Luxembourg" msgstr "Luksemburg" #: lang.pm:430 #, c-format msgid "Latvia" msgstr "Latvija" #: lang.pm:431 #, c-format msgid "Libya" msgstr "Libija" #: lang.pm:432 #, c-format msgid "Morocco" msgstr "Maroko" #: lang.pm:433 #, c-format msgid "Monaco" msgstr "Monako" #: lang.pm:434 #, c-format msgid "Moldova" msgstr "Moldavija" #: lang.pm:435 #, c-format msgid "Madagascar" msgstr "Madagaskar" #: lang.pm:436 #, c-format msgid "Marshall Islands" msgstr "Marshallovi otoki" #: lang.pm:437 #, c-format msgid "Macedonia" msgstr "Makedonija" #: lang.pm:438 #, c-format msgid "Mali" msgstr "Mali" #: lang.pm:439 #, c-format msgid "Myanmar" msgstr "Mjanmar (Burma)" #: lang.pm:440 #, c-format msgid "Mongolia" msgstr "Mongolija" #: lang.pm:441 #, c-format msgid "Northern Mariana Islands" msgstr "Severni Marianski otoki" #: lang.pm:442 #, c-format msgid "Martinique" msgstr "Martinique" #: lang.pm:443 #, c-format msgid "Mauritania" msgstr "Mavretanija" #: lang.pm:444 #, c-format msgid "Montserrat" msgstr "Montserrat" #: lang.pm:445 #, c-format msgid "Malta" msgstr "Malta" #: lang.pm:446 #, c-format msgid "Mauritius" msgstr "Mauritius" #: lang.pm:447 #, c-format msgid "Maldives" msgstr "Maldivi" #: lang.pm:448 #, c-format msgid "Malawi" msgstr "Malavi" #: lang.pm:449 timezone.pm:274 #, c-format msgid "Mexico" msgstr "Mehika" #: lang.pm:450 timezone.pm:231 #, c-format msgid "Malaysia" msgstr "Malezija" #: lang.pm:451 #, c-format msgid "Mozambique" msgstr "Mozambik" #: lang.pm:452 #, c-format msgid "Namibia" msgstr "Namibija" #: lang.pm:453 #, c-format msgid "New Caledonia" msgstr "Nova Kaledonija" #: lang.pm:454 #, c-format msgid "Niger" msgstr "Niger" #: lang.pm:455 #, c-format msgid "Norfolk Island" msgstr "Norfolški otoki" #: lang.pm:456 #, c-format msgid "Nigeria" msgstr "Nigerija" #: lang.pm:457 #, c-format msgid "Nicaragua" msgstr "Nikaragva" #: lang.pm:458 timezone.pm:256 #, c-format msgid "Netherlands" msgstr "Nizozemska" #: lang.pm:459 timezone.pm:257 #, c-format msgid "Norway" msgstr "Norveška" #: lang.pm:460 #, c-format msgid "Nepal" msgstr "Nepal" #: lang.pm:461 #, c-format msgid "Nauru" msgstr "Nauru" #: lang.pm:462 #, c-format msgid "Niue" msgstr "Niue" #: lang.pm:463 timezone.pm:279 #, c-format msgid "New Zealand" msgstr "Nova Zelandija" #: lang.pm:464 #, c-format msgid "Oman" msgstr "Oman" #: lang.pm:465 #, c-format msgid "Panama" msgstr "Panama" #: lang.pm:466 #, c-format msgid "Peru" msgstr "Peru" #: lang.pm:467 #, c-format msgid "French Polynesia" msgstr "Francoska Polinezija" #: lang.pm:468 #, c-format msgid "Papua New Guinea" msgstr "Papua Nova Gvineja" #: lang.pm:469 timezone.pm:232 #, c-format msgid "Philippines" msgstr "Filipini" #: lang.pm:470 #, c-format msgid "Pakistan" msgstr "Pakistan" #: lang.pm:471 timezone.pm:258 #, c-format msgid "Poland" msgstr "Poljska" #: lang.pm:472 #, c-format msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre and Miquelon" #: lang.pm:473 #, c-format msgid "Pitcairn" msgstr "Pitcairn" #: lang.pm:474 #, c-format msgid "Puerto Rico" msgstr "Portoriko" #: lang.pm:475 #, c-format msgid "Palestine" msgstr "Palestina" #: lang.pm:476 timezone.pm:259 #, c-format msgid "Portugal" msgstr "Portugalska" #: lang.pm:477 #, c-format msgid "Paraguay" msgstr "Paragvaj" #: lang.pm:478 #, c-format msgid "Palau" msgstr "Palau" #: lang.pm:479 #, c-format msgid "Qatar" msgstr "Katar" #: lang.pm:480 #, c-format msgid "Reunion" msgstr "Reunion" #: lang.pm:481 timezone.pm:260 #, c-format msgid "Romania" msgstr "Romunija" #: lang.pm:482 #, c-format msgid "Russia" msgstr "Rusija" #: lang.pm:483 #, c-format msgid "Rwanda" msgstr "Ruanda" #: lang.pm:484 #, c-format msgid "Saudi Arabia" msgstr "Saudska Arabija" #: lang.pm:485 #, c-format msgid "Solomon Islands" msgstr "Salomonovi otoki" #: lang.pm:486 #, c-format msgid "Seychelles" msgstr "Sejšeli" #: lang.pm:487 #, c-format msgid "Sudan" msgstr "Sudan" #: lang.pm:488 timezone.pm:265 #, c-format msgid "Sweden" msgstr "Švedska" #: lang.pm:489 timezone.pm:233 #, c-format msgid "Singapore" msgstr "Singapur" #: lang.pm:490 #, c-format msgid "Saint Helena" msgstr "Sveta Helena" #: lang.pm:491 timezone.pm:263 #, c-format msgid "Slovenia" msgstr "Slovenija" #: lang.pm:492 #, c-format msgid "Svalbard and Jan Mayen Islands" msgstr "Svalbard in Jan Mayen" #: lang.pm:493 timezone.pm:262 #, c-format msgid "Slovakia" msgstr "Slovaška" #: lang.pm:494 #, c-format msgid "Sierra Leone" msgstr "Sierra Leone" #: lang.pm:495 #, c-format msgid "San Marino" msgstr "San Marino" #: lang.pm:496 #, c-format msgid "Senegal" msgstr "Senegal" #: lang.pm:497 #, c-format msgid "Somalia" msgstr "Somalija" #: lang.pm:498 #, c-format msgid "Suriname" msgstr "Surinam" #: lang.pm:499 #, c-format msgid "Sao Tome and Principe" msgstr "Sao Tome in Principe" #: lang.pm:500 #, c-format msgid "El Salvador" msgstr "Salvador" #: lang.pm:501 #, c-format msgid "Syria" msgstr "Sirija" #: lang.pm:502 #, c-format msgid "Swaziland" msgstr "Svazi" #: lang.pm:503 #, c-format msgid "Turks and Caicos Islands" msgstr "Turks and Caicos Islands" #: lang.pm:504 #, c-format msgid "Chad" msgstr "Čad" #: lang.pm:505 #, c-format msgid "French Southern Territories" msgstr "Francoski južni teritorij" #: lang.pm:506 #, c-format msgid "Togo" msgstr "Togo" #: lang.pm:507 timezone.pm:235 #, c-format msgid "Thailand" msgstr "Tajska" #: lang.pm:508 #, c-format msgid "Tajikistan" msgstr "Tadžikistan" #: lang.pm:509 #, c-format msgid "Tokelau" msgstr "Tokelau" #: lang.pm:510 #, c-format msgid "East Timor" msgstr "Vzhodni Timor" #: lang.pm:511 #, c-format msgid "Turkmenistan" msgstr "Turkmenija" #: lang.pm:512 #, c-format msgid "Tunisia" msgstr "Tunizija" #: lang.pm:513 #, c-format msgid "Tonga" msgstr "Tonga" #: lang.pm:514 timezone.pm:236 #, c-format msgid "Turkey" msgstr "Turčija" #: lang.pm:515 #, c-format msgid "Trinidad and Tobago" msgstr "Trinidad in Tobago" #: lang.pm:516 #, c-format msgid "Tuvalu" msgstr "Tuvalu" #: lang.pm:517 timezone.pm:234 #, c-format msgid "Taiwan" msgstr "Tajvan" #: lang.pm:518 timezone.pm:219 #, c-format msgid "Tanzania" msgstr "Tanzanija" #: lang.pm:519 timezone.pm:267 #, c-format msgid "Ukraine" msgstr "Ukrajina" #: lang.pm:520 #, c-format msgid "Uganda" msgstr "Uganda" #: lang.pm:521 #, c-format msgid "United States Minor Outlying Islands" msgstr "Združene države Amerike - manjši okoliški otoki" #: lang.pm:522 timezone.pm:275 #, c-format msgid "United States" msgstr "Združene države Amerike" #: lang.pm:523 #, c-format msgid "Uruguay" msgstr "Urugvaj" #: lang.pm:524 #, c-format msgid "Uzbekistan" msgstr "Uzbekistan" #: lang.pm:525 #, c-format msgid "Vatican" msgstr "Vatikan" #: lang.pm:526 #, c-format msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent in Grenadine" #: lang.pm:527 #, c-format msgid "Venezuela" msgstr "Venezuela" #: lang.pm:528 #, c-format msgid "Virgin Islands (British)" msgstr "Deviški otoki (Britanski)" #: lang.pm:529 #, c-format msgid "Virgin Islands (U.S.)" msgstr "Deviški otoki (ZDA)" #: lang.pm:530 #, c-format msgid "Vietnam" msgstr "Vietnam" #: lang.pm:531 #, c-format msgid "Vanuatu" msgstr "Vanuatu" #: lang.pm:532 #, c-format msgid "Wallis and Futuna" msgstr "Wallis and Futuna" #: lang.pm:533 #, c-format msgid "Samoa" msgstr "Samoa" #: lang.pm:534 #, c-format msgid "Yemen" msgstr "Jemen" #: lang.pm:535 #, c-format msgid "Mayotte" msgstr "Mayotte" #: lang.pm:536 timezone.pm:218 #, c-format msgid "South Africa" msgstr "Južna Afrika" #: lang.pm:537 #, c-format msgid "Zambia" msgstr "Zambija" #: lang.pm:538 #, c-format msgid "Zimbabwe" msgstr "Zimbabve" #: lang.pm:1539 #, c-format msgid "Welcome to %s" msgstr "Pozdravljeni v %s" #: lvm.pm:128 #, c-format msgid "Moving used physical extents to other physical volumes failed" msgstr "" "Premikanje uporabljanih fizičnih razširitev na druge nosilce je spodletelo" #: lvm.pm:194 #, c-format msgid "Physical volume %s is still in use" msgstr "Fizični nosilec %s je še vedno v uporabi" #: lvm.pm:204 #, c-format msgid "Remove the logical volumes first\n" msgstr "Najprej zbrišite logične nosilce\n" #: lvm.pm:248 #, c-format msgid "The bootloader can't handle /boot on multiple physical volumes" msgstr "" "Zagonski nalagalnik ne deluje, če je /boot na logičnem nosilcu, ki obsega " "več fizičnih nosilcev" #. -PO: Only write something if needed: #: messages.pm:11 #, c-format msgid "_: You can warn about unofficial translation here" msgstr "" "Ta prevod licence je na voljo samo v informacijo, uradna, pravno veljavna " "verzija\n" "je v angleščini." #: messages.pm:18 #, c-format msgid "Introduction" msgstr "Predstavitev" #: 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 "" "Operacijski sistem in razne komponente, ki so na voljo v distribuciji " "Mageia,\n" "se v nadaljevanju imenujejo »Programska oprema«. Programska oprema\n" "vključuje, vendar ni omejena na, nabor programov, metod, pravila in\n" "dokumentacijo v zvezi z operacijskim sistemom in različnimi komponentami\n" "distribucije Mageia, ter vse programe dodane tem izdelkom, ki jih razširja\n" "skupnost Mageia." #: messages.pm:27 #, c-format msgid "1. License Agreement" msgstr "1. Licenčna pogodba" #: 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 "" "Pazljivo preberite ta dokument. Ta dokument je licenčna pogodba med vami\n" "in skupnostjo Mageia ter se nanaša na Programsko opremo.\n" "Z namestitvijo, kopiranjem ali z uporabo katerega koli dela Programske\n" "opreme na kateri koli način, izrecno sprejemate in se v celoti strinjate\n" "s pogoji te licence.\n" "Če se ne strinjate s katerim koli delom licence, ne smete namestiti,\n" "kopirati ali uporabljati Programske opreme.\n" "Vsak poskus namestitve, kopiranja ali uporabe Programske opreme\n" "na način, ki ni v skladu s pogoji te licence, je kršitev in bo prekinil\n" "vaše pravice pod to licenco.\n" "Po preklicu licence morate takoj uničiti vse kopije Programske opreme." #: messages.pm:41 #, c-format msgid "2. Limited Warranty" msgstr "2. Omejena garancija" #. -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 "" "Programska oprema in priložena dokumentacija je ponujena »kakršna je«,\n" "brez kakršne koli garancije do obsega, ki ga dovoljuje zakonodaja.\n" "Skupnost Mageia v nobenem primeru in v obsegu, ki ga dovoljuje\n" "zakonodaja, ni odgovorna za kakršno koli posebno, naključno, neposredno\n" "ali posredno škodo (vključno brez omejitev odškodnine za izgubo posla,\n" "prekinitve poslovanja, finančno izgubo, sodne takse in kazni, ki izhajajo\n" "iz sodbe sodišča ali kateri koli drugo posledično izgubo), ki izhaja\n" "iz uporabe ali nezmožnosti uporabe Programske opreme, tudi če je bila\n" "skupnost Mageia opozorjena na nastanek ali možnost nastanka takšne\n" "škode.\n" "\n" "OMEJENA ODGOVORNOST, POVEZANA S POSEDOVANJEM ALI\n" "UPORABO PREPOVEDANE PROGRAMSKE OPREME V NEKATERIH\n" "DRŽAVAH\n" "\n" "V obsegu, ki ga dovoljuje zakonodaja, niti skupnost Mageia niti njeni\n" "ponudniki, v nobenem primeru niso odgovorni za kakršno koli posebno,\n" "naključno, neposredno ali posredno škodo (vključno brez omejitev\n" "odškodnine za izgubo posla, prekinitve poslovanja, finančno izgubo,\n" "sodne takse in kazni, ki izhajajo iz sodbe sodišča ali kateri koli drugo\n" "posledično izgubo), ki izhaja iz posesti in uporabe Programske opreme,\n" "ali izhajajo iz prenašanja Programske opreme iz ene od spletnih strani \n" "Mageia za prenos, ki so prepovedana ali omejena v nekaterih državah z\n" "njihovo krajevno zakonodajo.\n" "To omejena odgovornost se nanaša, vendar ni omejena na, močne\n" "kriptografske komponente, ki so vključene v Programsko opremo.\n" "Nekatere zakonodaje ne dovoljujejo izključitve ali omejitve obveznosti\n" "za posledično ali naključno škodo, zato zgornje omejitve morda ne\n" "veljajo za vas." #: messages.pm:68 #, c-format msgid "3. The GPL License and Related Licenses" msgstr "3. Licenca GPL in povezane licence" #: 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 "" "Programska oprema je sestavljena iz komponent, ki so jih ustvarile različne\n" "fizične ali pravne osebe.\n" "Vsaka komponenta ima svojo licenco. Večina teh licenc dovoljuje uporabo,\n" "kopiranje, prilagajanje ali razširjanje komponent, ki jih pokrivajo.\n" "Pazljivo preberite pogoje licenčne pogodbe za vsako komponento pred njeno\n" "uporabo.\n" "Vsa vprašanja v zvezi z licenco komponente je treba nasloviti na nosilca\n" "licence ali ponudnika komponente in ne na skupnost Mageia.\n" "Programe, ki jih je razvila skupnost Mageia, lahko razširjate in/ali\n" "spreminjate pod pogoji licence GPL.\n" "Pisno dokumentacijo, ki jo je napisala skupnost Mageia, ureja licenca\n" %s«." #: messages.pm:79 #, c-format msgid "4. Intellectual Property Rights" msgstr "4. Pravice intelektualne lastnine" #: 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 "" "Vse pravice komponent Programske opreme so last njihovih avtorjev in so\n" "zaščitene s pravicami intelektualne lastnine in avtorskih pravic, ki se\n" "nanašajo na programsko opremo.\n" "Skupnost Mageia in njeni ponudniki ter nosilci licenc si pridržujejo " "njihove\n" "pravice, da spremenijo ali prilagodijo Programsko opremo kot celoto ali po\n" "delih, s kakršnimi koli sredstvi in ​​za vse namene.\n" "Ime »Mageia« in s njim povezani logotipi so last blagovne znamke skupnosti\n" "%s." #: messages.pm:88 #, c-format msgid "5. Governing Laws" msgstr "5. Zavezujoči predpisi" #: 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 "" "Če se katerikoli del tega sporazuma izkaže za neveljavnega, nezakonitega\n" "ali nezavezujočega s sodno odločbo, se ta del izključi iz te licenčne\n" "pogodbe.\n" "Preostali njeni deli vas še vedno zavezujejo.\n" "Pogoje te licenčne pogodbe urejajo zakoni Francije.\n" "Vsi spori o pogojih te licenčne pogodbe se bodo poskušali rešiti " "izvensodno.\n" "Kot zadnja možnost se bo spor predložil pristojnemu sodišču v Parizu\n" "v Franciji.\n" "Za vsa vprašanja o tem dokumentu, se obrnite na skupnost Mageia." #: messages.pm:102 #, c-format msgid "" "Warning: Free Software may not necessarily be patent free, and some Free\n" "Software included may be covered by patents in your country. For example, " "the\n" "MP3 decoders included may require a license for further usage (see\n" "http://www.mp3licensing.com for more details). If you are unsure if a " "patent\n" "may be applicable to you, check your local laws." msgstr "" "Opozorilo: Mogoče je, da je sicer prosto programje zaščiteno s patentnimi\n" "pravicami. V takšnem primeru si morate za uporabo programja pridobiti\n" "dovoljenje lastnika patenta. Npr. vključeni odkodirniki MP3 lahko zahtevajo\n" "licenco za uporabo (glej http://www.mp3licensing.com za več informacij).\n" "Pred uporabo programja se prepričajte, kakšna je pravna ureditev\n" "patentiranja programske opreme v državi, na katere ozemlju nameravate\n" "uporabljati programje." #: messages.pm:111 #, c-format msgid "" "Congratulations, installation is complete.\n" "Remove the installation medium and press Enter to reboot." msgstr "" "Čestitamo, uspešno ste zaključili namestitev.\n" "Odstranite vir namestitve iz pogona in pritisnite »Enter« za ponovni zagon." #: 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 "" "Informacije o popravkih, ki so na voljo za to različico Mageje preverite v " "dokumentu Errata, ki ga najdete:\n" "%s" #: messages.pm:115 #, c-format msgid "" "After rebooting and logging into Mageia, you will see the MageiaWelcome " "screen.\n" "It is full of very useful information and links." msgstr "" "Po ponovnem zagonu in prijavi se bo prikazal program MageiaWelcome.\n" "V njem je polno koristnih informacij in povezav." #: modules/interactive.pm:19 #, c-format msgid "This driver has no configuration parameter!" msgstr "Ta gonilnik ne vsebuje nobenih nastavitvenih parametrov!" #: modules/interactive.pm:22 #, c-format msgid "Module configuration" msgstr "Nastavitve modula" #: modules/interactive.pm:22 #, c-format msgid "You can configure each parameter of the module here." msgstr "Tukaj lahko nastavite vse parametre modula." #: modules/interactive.pm:64 #, c-format msgid "Found %s interfaces" msgstr "Najdenih %s vmesnikov" #: modules/interactive.pm:65 #, c-format msgid "Do you have another one?" msgstr "Imate še kakšnega?" #: modules/interactive.pm:66 #, c-format msgid "Do you have any %s interfaces?" msgstr "Imate vmesnike %s?" #: modules/interactive.pm:72 #, c-format msgid "See hardware info" msgstr "Glejte informacije o strojni opremi" #: modules/interactive.pm:83 #, c-format msgid "Installing driver for USB controller" msgstr "Nameščanje gonilnika za krmilnik USB" #: modules/interactive.pm:84 #, c-format msgid "Installing driver for firewire controller \"%s\"" msgstr "Nameščanje gonilnika za krmilnik Firewire »%s«" #: modules/interactive.pm:85 #, c-format msgid "Installing driver for hard disk drive controller \"%s\"" msgstr "Nameščanje gonilnika za krmilnik trdega diska »%s«" #: modules/interactive.pm:86 #, c-format msgid "Installing driver for ethernet controller \"%s\"" msgstr "Nameščanje gonilnika za krmilnik mrežne kartice »%s«" #. -PO: the first %s is the card type (scsi, network, sound,...) #. -PO: the second is the vendor+model name #: modules/interactive.pm:97 #, c-format msgid "Installing driver for %s card %s" msgstr "Namestitev gonilnika za %s kartico %s" #: modules/interactive.pm:100 #, c-format msgid "Configuring Hardware" msgstr "Nastavljanje strojne opreme" #: 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 "" "Zdaj lahko nastavite možnosti modula %s.\n" "Vedite, da mora imeti vsak naslov predpono 0x (npr. »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 "" "Sedaj lahko posredujete nastavitve za modul %s.\n" "Nastavitve so oblike »ime=vrednost ime2=vrednost2 …«.\n" "Na primer: »io=0x300 irq=7«" #: modules/interactive.pm:119 #, c-format msgid "Module options:" msgstr "Nastavitve modula:" #. -PO: the %s is the driver type (scsi, network, sound,...) #: modules/interactive.pm:132 #, c-format msgid "Which %s driver should I try?" msgstr "Kateri %s gonilnik naj poizkusim?" #: 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 "" "V nekaterih primerih potrebuje gonilnik %s za pravilno delovanje dodatne\n" "informacije. Želite navesti dodatne nastavitve zanj ali dovolite gonilniku " "da\n" "poskusi pridobiti potrebne informacije samodejno? Lahko se zgodi, da se " "računalnik\n" "pri tem nepričakovano ustavi, kar pa ne bi smelo povzročiti nobene škode." #: modules/interactive.pm:145 #, c-format msgid "Autoprobe" msgstr "Samodejna zaznava" #: modules/interactive.pm:145 #, c-format msgid "Specify options" msgstr "Navedite nastavitve" #: modules/interactive.pm:157 #, c-format msgid "" "Loading module %s failed.\n" "Do you want to try again with other parameters?" msgstr "" "Nalaganje modula %s ni uspelo.\n" "Ali želite poskusiti znova z drugimi parametri?" #: mygtk2.pm:1229 mygtk3.pm:1312 #, c-format msgid "Are you sure you want to quit?" msgstr "Ali res želite prekiniti?" #: mygtk2.pm:1570 mygtk2.pm:1571 mygtk3.pm:1646 mygtk3.pm:1647 #, c-format msgid "Password is trivial to guess" msgstr "Geslo je šibko" #: mygtk2.pm:1572 mygtk3.pm:1648 #, c-format msgid "Password should be resistant to basic attacks" msgstr "Geslo bi moralo biti odporno na osnovne napade" #: mygtk2.pm:1573 mygtk2.pm:1574 mygtk3.pm:1649 mygtk3.pm:1650 #, c-format msgid "Password seems secure" msgstr "Geslo je varno" #: partition_table.pm:508 #, c-format msgid "mount failed: " msgstr "Priklop ni uspel: " #: partition_table.pm:679 #, 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 "" "V vaši razdelitveni tabeli je praznina, ki je ni mogoče uporabiti.\n" "Edina rešitev je, da premaknete primarne razdelke, tako da bo praznina ob " "razširjenih razdelkih." #: partition_table/raw.pm:294 #, 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 "" "Nekaj je narobe z vašim pogonom.\n" "Test celovitosti podatkov ni uspel. \n" "To pomeni, da bi lahko vsak zapis na disk povzročil okvaro podatkov." #: pkgs.pm:268 pkgs.pm:271 pkgs.pm:284 #, c-format msgid "Unused packages removal" msgstr "Odstranjevanje neuporabljenih paketov" #: pkgs.pm:268 #, c-format msgid "Finding unused hardware packages..." msgstr "Iskanje neuporabljenih paketov za strojno opremo …" #: pkgs.pm:271 #, c-format msgid "Finding unused localization packages..." msgstr "Iskanje neuporabljenih paketov s prevodi …" #: pkgs.pm:285 #, c-format msgid "" "We have detected that some packages are not needed for your system " "configuration." msgstr "" "Zaznani so bili nekateri paketi, ki za to sestavo računalnika niso potrebni." #: pkgs.pm:286 #, c-format msgid "We will remove the following packages, unless you choose otherwise:" msgstr "Če se ne odločite drugače, bodo naslednji paketi odstranjeni:" #: pkgs.pm:289 pkgs.pm:290 #, c-format msgid "Unused hardware support" msgstr "Neuporabljena podpora za strojno opremo" #: pkgs.pm:293 pkgs.pm:294 #, c-format msgid "Unused localization" msgstr "Neuporabljeni prevodi" #: raid.pm:59 #, c-format msgid "Cannot add a partition to _formatted_ RAID %s" msgstr "V _formatiran_ RAID %s ni mogoče dodati razdelka" #: raid.pm:201 #, c-format msgid "Not enough partitions for RAID level %d\n" msgstr "Za RAID stopnje %d ni dovolj razdelkov.\n" #: scanner.pm:95 #, c-format msgid "Could not create directory /usr/share/sane/firmware!" msgstr "Mape /usr/share/sane/firmware ni bilo mogoče ustvariti!" #: scanner.pm:106 #, c-format msgid "Could not create link /usr/share/sane/%s!" msgstr "Povezave /usr/share/sane/%s ni bilo mogoče ustvariti!" #: scanner.pm:113 #, c-format msgid "Could not copy firmware file %s to /usr/share/sane/firmware!" msgstr "" "Strojne programske opreme %s ni bilo mogoče kopirati v /usr/share/sane/" "firmware!" #: scanner.pm:120 #, c-format msgid "Could not set permissions of firmware file %s!" msgstr "Dovoljenj za strojno programsko opremo %s ni bilo mogoče spremeniti!" #: scanner.pm:197 #, c-format msgid "Scannerdrake" msgstr "Scannerdrake" #: scanner.pm:198 #, c-format msgid "Could not install the packages needed to share your scanner(s)." msgstr "" "Paketov, ki so potrebni za skupno rabo optičnega bralnika, ni bilo mogoče " "namestiti." #: scanner.pm:199 #, c-format msgid "Your scanner(s) will not be available for non-root users." msgstr "Optični bralnik navadnim uporabnikom ne bo dosegljiv." #: security/help.pm:11 #, c-format msgid "Accept bogus IPv4 error messages." msgstr "Sprejmi napačna sporočila o napakah IPv4." #: security/help.pm:13 #, c-format msgid "Accept broadcasted icmp echo." msgstr "Sprejmi odmev ICMP, ki je bil oddan vsesmerno." #: security/help.pm:15 #, c-format msgid "Accept icmp echo." msgstr "Sprejmi odmev ICMP." #: security/help.pm:17 #, c-format msgid "Allow autologin." msgstr "Dovoli samodejno prijavo." #. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is #: security/help.pm:21 #, c-format msgid "" "If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n" "\n" "If set to \"None\", no issues are allowed.\n" "\n" "Else only /etc/issue is allowed." msgstr "" "Z nastavitvijo »VSI« boste dovolili obstoj datotek /etc/issue in /etc/issue." "net.\n" "\n" "Z nastavitvijo »NOBEN« boste prepovedali obstoj obeh datotek.\n" "\n" "Druge nastavitve dovoljujejo samo obstoj /etc/issue." #: security/help.pm:27 #, c-format msgid "Allow reboot by the console user." msgstr "Dovoli ponovni zagon uporabniku konzole." #: security/help.pm:29 #, c-format msgid "Allow remote root login." msgstr "Omogoči oddaljeno prijavo skrbnika." #: security/help.pm:31 #, c-format msgid "Allow direct root login." msgstr "Dovoli neposredno prijavo skrbnika." #: security/help.pm:33 #, c-format msgid "" "Allow the list of users on the system on display managers (kdm and gdm)." msgstr "Dovoli prikaz seznama uporabnikov v upravitelju prikaza (kdm in gdm)." #: security/help.pm:35 #, c-format msgid "" "Allow to export display when\n" "passing from the root account to the other users.\n" "\n" "See pam_xauth(8) for more details.'" msgstr "" "Dovoli izvoz zaslona ob prehodu prijave\n" "s skrbnika na navadnega uporabnika.\n" "\n" "Za podrobnosti si oglejte pam_xauth(8)." #: security/help.pm:40 #, c-format msgid "" "Allow X connections:\n" "\n" "- \"All\" (all connections are allowed),\n" "\n" "- \"Local\" (only connection from local machine),\n" "\n" "- \"None\" (no connection)." msgstr "" "Dovoli povezave s strežnikom X:\n" "\n" "- »Vse« (dovoljene so vse povezave),\n" "\n" "- »Krajevne« (dovoljene so le povezave s tega računalnika),\n" "\n" "- »Nobena« (nobena povezava ni dovoljena)." #: security/help.pm:48 #, c-format msgid "" "The argument specifies if clients are authorized to connect\n" "to the X server from the network on the tcp port 6000 or not." msgstr "" "Vnešena vrednost določa, ali so odjemalci pooblaščeni\n" "za omrežno povezavo s strežnikom X na vratih tcp 6000." #. -PO: here "ALL", "Local" and "None" are values in a pull-down menu; translate them the same as they're #: security/help.pm:53 #, c-format msgid "" "Authorize:\n" "\n" "- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if " "set to \"ALL\",\n" "\n" "- only local ones if set to \"Local\"\n" "\n" "- none if set to \"None\".\n" "\n" "To authorize the services you need, use /etc/hosts.allow (see hosts." "allow(5))." msgstr "" "Odobri:\n" "\n" "- vse storitve, ki jih krmilijo »tcp_wrappers« (glej priročniško stran hosts." "deny(5)), če je nastavljeno na »Vse«,\n" "\n" "- samo krajevne, če je nastavljeno na »Krajevne«\n" "\n" "- nobenih, če je nastavljeno na »Nobena«.\n" "\n" "Za omogočanje storitev, ki jih potrebujete, uporabite /etc/hosts.allow " "(glejte priročniško stran hosts.allow(5))." #: security/help.pm:63 #, c-format msgid "" "If SERVER_LEVEL (or SECURE_LEVEL if absent)\n" "is greater than 3 in /etc/security/msec/security.conf, creates the\n" "symlink /etc/security/msec/server to point to\n" "/etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" "The /etc/security/msec/server is used by chkconfig --add to decide to\n" "add a service if it is present in the file during the installation of\n" "packages." msgstr "" "Če je SERVER_LEVEL oz. SECURE_LEVEL (če manjka prvi)\n" "v /etc/security/msec/security.conf večji kot 3, ustvari\n" "simbolno povezavo /etc/security/msec/server, ki kaže na\n" "/etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" "Datoteko /etc/security/msec/server uporablja »chkconfig --add«,\n" "za odločanje o omogočanju storitve, če je navedena v datoteki\n" "med namestitvijo paketov." #: security/help.pm:72 #, c-format msgid "" "Enable crontab and at for users.\n" "\n" "Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n" "and crontab(1))." msgstr "" "Omogoči uporabnikom »crontab« in »at«.\n" "\n" "Vnesite uporabnike z dovoljenjem v /etc/cron.allow in v /etc/at.allow (več o " "tem v man at(1) in v man crontab(1))." #: security/help.pm:77 #, c-format msgid "Enable syslog reports to console 12" msgstr "Omogoči poročila syslog na konzolo 12" #: security/help.pm:79 #, c-format msgid "" "Enable name resolution spoofing protection. If\n" "\"%s\" is true, also reports to syslog." msgstr "" "Omogoči zaščito pred lažnim predstavljanje pri\n" "razreševanju naslova. Če je omogočen »%s«,\n" "beleži tudi v syslog." #: security/help.pm:80 #, c-format msgid "Security Alerts:" msgstr "Varnostna opozorila:" #: security/help.pm:82 #, c-format msgid "Enable IP spoofing protection." msgstr "Omogoči zaščito pred lažnim predstavljanjem naslova IP." #: security/help.pm:84 #, c-format msgid "Enable libsafe if libsafe is found on the system." msgstr "Omogoči libsafe, če je nameščen na sistemu." #: security/help.pm:86 #, c-format msgid "Enable the logging of IPv4 strange packets." msgstr "Omogoči beleženje čudnih paketov IPv4." #: security/help.pm:88 #, c-format msgid "Enable msec hourly security check." msgstr "Omogoči urno varnostno preverjanje msec." #: security/help.pm:90 #, c-format msgid "" "Enable su only from members of the wheel group. If set to no, allows su from " "any user." msgstr "" "Omogočanje možnosti, da lahko ukaz »su« uporabljajo le člani skupine »wheel« " "Če je možnost onemogočena, lahko ta ukaz uporabljajo vsi uporabniki." #: security/help.pm:92 #, c-format msgid "Use password to authenticate users." msgstr "Za overjanje uporabnikov uporabi geslo." #: security/help.pm:94 #, c-format msgid "Activate Ethernet cards promiscuity check." msgstr "Omogoči preverjanje promiskuitetnega delovanja omrežnih kartic." #: security/help.pm:96 #, c-format msgid "Activate daily security check." msgstr "Omogoči dnevno preverjanje varnosti." #: security/help.pm:98 #, c-format msgid "Enable sulogin(8) in single user level." msgstr "Omogoči sulogin(8) v eno-uporabniškem načinu." #: security/help.pm:100 #, c-format msgid "Add the name as an exception to the handling of password aging by msec." msgstr "Dodajte ime pri katerem storitev msec ne omogoči staranja gesla." #: security/help.pm:102 #, c-format msgid "Set password aging to \"max\" days and delay to change to \"inactive\"." msgstr "" "Nastavite staranje gesla na »max« dni in zamik spremembe v »neaktiven« " "uporabnik." #: security/help.pm:104 #, c-format msgid "Set the password history length to prevent password reuse." msgstr "" "Nastavi velikost zgodovine gesel za preprečitev ponovne uporabe istega gesla." #: security/help.pm:106 #, c-format msgid "" "Set the password minimum length and minimum number of digit and minimum " "number of capitalized letters." msgstr "Določi minimalno dolžino gesla in števila števk ter velikih črk." #: security/help.pm:108 #, c-format msgid "Set the root's file mode creation mask." msgstr "Nastavi masko skrbnika za ustvarjanje datotek." #: security/help.pm:109 #, c-format msgid "if set to yes, check open ports." msgstr "Če je nastavljeno na »da«, preveri odprta vrata." #: security/help.pm:110 #, c-format msgid "" "if set to yes, check for:\n" "\n" "- empty passwords,\n" "\n" "- no password in /etc/shadow\n" "\n" "- for users with the 0 id other than root." msgstr "" "Če je nastavljeno na »da«, preveri ali:\n" "\n" "- se uporabljajo prazna gesla,\n" "\n" "- ni gesla v /etc/shadow\n" "\n" "- poleg uporabnika root obstajajo drugi uporabniki z ID 0." #: security/help.pm:117 #, c-format msgid "if set to yes, check permissions of files in the users' home." msgstr "" "Če je nastavljeno na »da«, preveri dovoljenja datotek in uporabnikovih " "domačih map." #: security/help.pm:118 #, c-format msgid "if set to yes, check if the network devices are in promiscuous mode." msgstr "" "Če je nastavljeno na »da«, preveri, če je omrežna naprava v promiskuitetnem " "načinu." #: security/help.pm:119 #, c-format msgid "if set to yes, run the daily security checks." msgstr "Če je nastavljeno na »da«, poženi dnevno preverjanje varnosti." #: security/help.pm:120 #, c-format msgid "if set to yes, check additions/removals of sgid files." msgstr "" "Če je nastavljeno na »da«, preveri, ali so bile dodane ali odstranjene " "datoteke sgid." #: security/help.pm:121 #, c-format msgid "if set to yes, check empty password in /etc/shadow." msgstr "" "Če je nastavljeno na »da«, preveri ali obstajajo prazna gesla v /etc/shadow." #: security/help.pm:122 #, c-format msgid "if set to yes, verify checksum of the suid/sgid files." msgstr "Če je nastavljeno na »da«, preveri kontrolno vsoto datotek suid/sgid." #: security/help.pm:123 #, c-format msgid "if set to yes, check additions/removals of suid root files." msgstr "" "Če je nastavljeno na »da«, preveri, ali so bile dodane ali odstranjene " "datoteke suid uporabnika root." #: security/help.pm:124 #, c-format msgid "if set to yes, report unowned files." msgstr "Če je nastavljeno na »da«, poročaj o datotekah brez lastnika." #: security/help.pm:125 #, c-format msgid "if set to yes, check files/directories writable by everybody." msgstr "" "Če je nastavljeno na »da«, preveri datoteke in mape v katere lahko piše " "vsakdo." #: security/help.pm:126 #, c-format msgid "if set to yes, run chkrootkit checks." msgstr "Če je nastavljeno na »da«, poženi preverjanje chkrootkit." #: security/help.pm:127 #, c-format msgid "" "if set, send the mail report to this email address else send it to root." msgstr "" "Če je nastavljeno, pošlji e-poštno poročilo na ta e-poštni naslov, v " "nasprotnem primeru pošlji uporabniku »root«." #: security/help.pm:128 #, c-format msgid "if set to yes, report check result by mail." msgstr "Če je nastavljeno na »da«, sporoči rezultate preverjanja po e-pošti." #: security/help.pm:129 #, c-format msgid "Do not send mails if there's nothing to warn about" msgstr "Ne pošiljaj e-pošte, če ni opozoril" #: security/help.pm:130 #, c-format msgid "if set to yes, run some checks against the rpm database." msgstr "" "Če je nastavljeno na »da«, poženi nekatera preverjanja podatkovne baze rpm." #: security/help.pm:131 #, c-format msgid "if set to yes, report check result to syslog." msgstr "Če je nastavljeno na »da«, pošlji rezultate preverjanja v syslog." #: security/help.pm:132 #, c-format msgid "if set to yes, reports check result to tty." msgstr "Če je nastavljeno na »da«, pošlji rezultate preverjanja v tty." #: security/help.pm:134 #, c-format msgid "Set shell commands history size. A value of -1 means unlimited." msgstr "Velikost zgodovine lupinskih ukazov. Vrednost -1 pomeni neskončno." #: security/help.pm:136 #, c-format msgid "Set the shell timeout. A value of zero means no timeout." msgstr "Določi časovno omejitev lupine. Vrednost nič pomeni, da omejitve ni." #: security/help.pm:136 #, c-format msgid "Timeout unit is second" msgstr "Enota časovne omejitve je sekunda" #: security/help.pm:138 #, c-format msgid "Set the user's file mode creation mask." msgstr "Nastavi masko trenutnega uporabnika za ustvarjanje datotek." #: security/l10n.pm:11 #, c-format msgid "Accept bogus IPv4 error messages" msgstr "Sprejmi nepravilna sporočila o napakah IPv4" #: security/l10n.pm:12 #, c-format msgid "Accept broadcasted icmp echo" msgstr "Sprejmi posredovani ICMP odmev" #: security/l10n.pm:13 #, c-format msgid "Accept icmp echo" msgstr "Sprejmi ICMP odmev" #: security/l10n.pm:15 #, c-format msgid "/etc/issue* exist" msgstr "/etc/issue* obstaja" #: security/l10n.pm:16 #, c-format msgid "Reboot by the console user" msgstr "Ponovni zagon s strani uporabnika konzole" #: security/l10n.pm:17 #, c-format msgid "Allow remote root login" msgstr "Omogoči oddaljeno prijavo skrbnika (root)" #: security/l10n.pm:18 #, c-format msgid "Direct root login" msgstr "Neposredna prijava skrbnika (root)" #: security/l10n.pm:19 #, c-format msgid "List users on display managers (kdm and gdm)" msgstr "Prikaži seznam uporabnikov v upraviteljih prikaza (kdm in gdm)" #: security/l10n.pm:20 #, c-format msgid "Export display when passing from root to the other users" msgstr "Izvozi prikazovalnik ob preklopu s skrbnika na drugega uporabnika" #: security/l10n.pm:21 #, c-format msgid "Allow X Window connections" msgstr "Omogoči povezave X Window" #: security/l10n.pm:22 #, c-format msgid "Authorize TCP connections to X Window" msgstr "Odobritev povezav TCP na X Window" #: security/l10n.pm:23 #, c-format msgid "Authorize all services controlled by tcp_wrappers" msgstr "Odobritev vseh storitev, ki jih krmilijo »tcp_wrappers«" #: security/l10n.pm:24 #, c-format msgid "Chkconfig obey msec rules" msgstr "Chkconfig spoštuje pravila msec" #: security/l10n.pm:25 #, c-format msgid "Enable \"crontab\" and \"at\" for users" msgstr "Uporabnikom omogoči »crontab« in »at«" #: security/l10n.pm:26 #, c-format msgid "Syslog reports to console 12" msgstr "Poročila syslog v konzolo 12" #: security/l10n.pm:27 #, c-format msgid "Name resolution spoofing protection" msgstr "Zaščita pred lažnim predstavljanjem pri razreševanju naslova" #: security/l10n.pm:28 #, c-format msgid "Enable IP spoofing protection" msgstr "Omogoči zaščito pred lažnim predstavljanjem naslova IP" #: security/l10n.pm:29 #, c-format msgid "Enable libsafe if libsafe is found on the system" msgstr "Omogoči libsafe, če je nameščen" #: security/l10n.pm:30 #, c-format msgid "Enable the logging of IPv4 strange packets" msgstr "Omogoči beleženje čudnih paketov IPv4" #: security/l10n.pm:31 #, c-format msgid "Enable msec hourly security check" msgstr "Omogoči urno varnostno preverjanje msec" #: security/l10n.pm:32 #, c-format msgid "Enable su only from the wheel group members" msgstr "" "Omogoči možnost, da lahko ukaz »su« uporabljajo le člani skupine »wheel«" #: security/l10n.pm:33 #, c-format msgid "Use password to authenticate users" msgstr "Za overjanje uporabnikov uporabi geslo" #: security/l10n.pm:34 #, c-format msgid "Ethernet cards promiscuity check" msgstr "Preverjanje promiskuitetnega načina omrežnih kartic" #: security/l10n.pm:35 #, c-format msgid "Daily security check" msgstr "Dnevno preverjanje varnosti" #: security/l10n.pm:36 #, c-format msgid "Sulogin(8) in single user level" msgstr "Sulogin(8) v enouporabniški način" #: security/l10n.pm:37 #, c-format msgid "No password aging for" msgstr "Brez staranja gesla za" #: security/l10n.pm:38 #, c-format msgid "Set password expiration and account inactivation delays" msgstr "Določi zakasnitvi poteka gesla in deaktiviranja uporabniškega računa" #: security/l10n.pm:39 #, c-format msgid "Password history length" msgstr "Dolžina zgodovine gesel" #: security/l10n.pm:40 #, c-format msgid "Password minimum length and number of digits and upcase letters" msgstr "Minimalna dolžina gesla in število števk ter velikih črk" #: security/l10n.pm:41 #, c-format msgid "Root umask" msgstr "Umask skrbnika (root)" #: security/l10n.pm:42 #, c-format msgid "Shell history size" msgstr "Velikost zgodovine lupine" #: security/l10n.pm:43 #, c-format msgid "Shell timeout" msgstr "Časovna omejitev lupine" #: security/l10n.pm:44 #, c-format msgid "User umask" msgstr "Umask uporabnika" #: security/l10n.pm:45 #, c-format msgid "Check open ports" msgstr "Preveri odprta vrata" #: security/l10n.pm:46 #, c-format msgid "Check for unsecured accounts" msgstr "Poišči uporabniške račune, ki niso varni" #: security/l10n.pm:47 #, c-format msgid "Check permissions of files in the users' home" msgstr "Preveri dovoljenja datotek v domačih mapah uporabnikov" #: security/l10n.pm:48 #, c-format msgid "Check if the network devices are in promiscuous mode" msgstr "Preveri ali so omrežne naprave v promiskuitetnem načinu" #: security/l10n.pm:49 #, c-format msgid "Run the daily security checks" msgstr "Izvedi dnevno preverjanje varnosti" #: security/l10n.pm:50 #, c-format msgid "Check additions/removals of sgid files" msgstr "Preveri, ali so bile dodane ali odstranjene datoteke sgid." #: security/l10n.pm:51 #, c-format msgid "Check empty password in /etc/shadow" msgstr "Preveri ali so v /etc/shadow prazna gesla" #: security/l10n.pm:52 #, c-format msgid "Verify checksum of the suid/sgid files" msgstr "Preveri kontrolno vsoto datotek suid/sgid." #: security/l10n.pm:53 #, c-format msgid "Check additions/removals of suid root files" msgstr "Preveri, ali so bile dodane ali odstranjene datoteke suid skrbnika." #: security/l10n.pm:54 #, c-format msgid "Report unowned files" msgstr "Poročaj o datotekah brez lastnika." #: security/l10n.pm:55 #, c-format msgid "Check files/directories writable by everybody" msgstr "Preveri datoteke in mape v katere lahko piše vsakdo." #: security/l10n.pm:56 #, c-format msgid "Run chkrootkit checks" msgstr "Poženi preverjanje chkrootkit" #: security/l10n.pm:57 #, c-format msgid "Do not send empty mail reports" msgstr "Ne pošiljaj praznih elektronskih sporočil" #: security/l10n.pm:58 #, c-format msgid "If set, send the mail report to this email address else send it to root" msgstr "" "Če je nastavljeno, pošlji e-poštno poročilo na ta e-poštni naslov, v " "nasprotnem primeru ga pošlji skrbniku" #: security/l10n.pm:59 #, c-format msgid "Report check result by mail" msgstr "Sporoči rezultate preverjanja po e-pošti." #: security/l10n.pm:60 #, c-format msgid "Run some checks against the rpm database" msgstr "Poženi nekatera preverjanja podatkovne baze rpm." #: security/l10n.pm:61 #, c-format msgid "Report check result to syslog" msgstr "Pošlji rezultate preverjanja v syslog." #: security/l10n.pm:62 #, c-format msgid "Reports check result to tty" msgstr "Pošlji rezultate preverjanja v tty." #: security/level.pm:10 #, c-format msgid "Disable msec" msgstr "Onemogoči msec" #: security/level.pm:11 #, c-format msgid "Standard" msgstr "Standardno" #: security/level.pm:12 #, c-format msgid "Secure" msgstr "Varno" #: security/level.pm:52 #, c-format msgid "" "This level is to be used with care, as it disables all additional security\n" "provided by msec. Use it only when you want to take care of all aspects of " "system security\n" "on your own." msgstr "" "To stopnjo uporabljajte pazljivo, saj onemogoči vso dodatno varovanje, ki " "ga\n" "ponuja msec. Uporabljajte jo le, če želite varovanje v celoti vzeti v svoje " "roke." #: security/level.pm:55 #, c-format msgid "" "This is the standard security recommended for a computer that will be used " "to connect to the Internet as a client." msgstr "" "To je normalna varnost, priporočeno za računalnike, ki bodo povezani v " "Internet kot odjemalci." #: security/level.pm:56 #, c-format msgid "" "With this security level, the use of this system as a server becomes " "possible.\n" "The security is now high enough to use the system as a server which can " "accept\n" "connections from many clients. Note: if your machine is only a client on the " "Internet, you should choose a lower level." msgstr "" "Na tej varnostni stopnji postane uporaba sistema kot strežnika mogoča.\n" "Varnost je zdaj dovolj velika za uporabo sistema kot strežnika, s katerim se " "lahko\n" "povezujejo mnogi odjemalci. Opomba: če je vaš sistem na internetu le " "odjemalec, je priporočeno, da nastavite nižjo varnostno stopnjo." #: security/level.pm:63 #, c-format msgid "DrakSec Basic Options" msgstr "Osnovne možnosti za DrakSec" #: security/level.pm:66 #, c-format msgid "Please choose the desired security level" msgstr "Izberite željeno stopnjo varnosti" #. -PO: this string is used to properly format "<security level>: <level description>" #: security/level.pm:70 #, c-format msgid "%s: %s" msgstr "%s: %s" #: security/level.pm:73 #, c-format msgid "Security Administrator:" msgstr "Varnostni administrator:" #: security/level.pm:74 #, c-format msgid "Login or email:" msgstr "Prijava ali e-pošta:" #: services.pm:31 #, c-format msgid "Listen and dispatch ACPI events from the kernel" msgstr "Prisluškuje in odpošilja dogodke ACPI jedra" #: services.pm:32 #, c-format msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system" msgstr "Zažene zvočni sistem ALSA (Advanced Linux Sound Architecture)" #: services.pm:33 #, c-format msgid "Anacron is a periodic command scheduler." msgstr "Anacron omogoča ponavljajoč zagon programov ob določenem času." #: services.pm:34 #, c-format msgid "" "apmd is used for monitoring battery status and logging it via syslog.\n" "It can also be used for shutting down the machine when the battery is low." msgstr "" "apmd se uporablja za nadzor baterij in beleženje stanja v syslog.\n" "Uporabi se lahko tudi za izklop računalnika pred izpraznitvijo baterije." #: services.pm:36 #, c-format msgid "" "Runs commands scheduled by the at command at the time specified when\n" "at was run, and runs batch commands when the load average is low enough." msgstr "" "Izvede ukaze določene z ukazom at ob določenem času in\n" "omogoča, da se ukazi izvedejo, ko je računalnik manj obremenjen." #: services.pm:38 #, c-format msgid "Avahi is a ZeroConf daemon which implements an mDNS stack" msgstr "Avahi je pritajeni program za ZeroConf, ki podpira sklad mDNS" #: services.pm:39 #, c-format msgid "An NTP client/server" msgstr "Odjemalec/strežnik NTP" #: services.pm:40 #, c-format msgid "Set CPU frequency settings" msgstr "Nastavlja hitrost procesorja" #: services.pm:41 #, c-format msgid "" "cron is a standard UNIX program that runs user-specified programs\n" "at periodic scheduled times. vixie cron adds a number of features to the " "basic\n" "UNIX cron, including better security and more powerful configuration options." msgstr "" "cron je standardni UNIX program, za izvajanje programov periodično\n" "ob določenem času. vixie cron k temu doda še veliko dodatnih možnosti,\n" "med drugim boljšo varnost in večjo prilagodljivost." #: services.pm:44 #, c-format msgid "" "Common UNIX Printing System (CUPS) is an advanced printer spooling system" msgstr "Common UNIX Printing System (CUPS) je napreden tiskalniški sistem" #: services.pm:45 #, c-format msgid "Launches the graphical display manager" msgstr "Zažene grafični uporabniški vmesnik upravljalnika prikazovalnikov" #: services.pm:46 #, c-format msgid "" "FAM is a file monitoring daemon. It is used to get reports when files " "change.\n" "It is used by GNOME and KDE" msgstr "" "FAM je ozadnji program, ki beleži spremembe datotek.\n" "Uporabljata ga tudi GNOME in KDE." #: services.pm:48 #, c-format msgid "" "G15Daemon allows users access to all extra keys by decoding them and \n" "pushing them back into the kernel via the linux UINPUT driver. This driver " "must be loaded \n" "before g15daemon can be used for keyboard access. The G15 LCD is also " "supported. By default, \n" "with no other clients active, g15daemon will display a clock. Client " "applications and \n" "scripts can access the LCD via a simple API." msgstr "" "Ozadnji program G15Daemon uporabnikom omogoča dostop do do vseh dodatnih " "tipk,\n" "tako da jih dekodira in preda nazaj jedru s pomočjo gonilnika UINPUT. Da bi " "lahko\n" "bil uporabljen za tipkovnico mora biti gonilnik naložen pred g15daemon.\n" "Podprt je tudi G15 LCD. Privzeto, ko ni naložen noben drug odjemalec,\n" "g15daemon prikazuje uro. Odjemalci in skripti lahko do LCD-ja dostopajo s\n" "preprostim programskim vmesnikom." #: services.pm:53 #, c-format msgid "" "GPM adds mouse support to text-based Linux applications such the\n" "Midnight Commander. It also allows mouse-based console cut-and-paste " "operations,\n" "and includes support for pop-up menus on the console." msgstr "" "Program GPM omogoča rabo miške tudi v besedilnem načinu v programih kot so\n" "Midnight Commander. Omogoča, da z miško opravljamo funkcije\n" "kopiraj-prilepi in vključuje podporo za menije v konzoli." #: services.pm:56 #, c-format msgid "HAL is a daemon that collects and maintains information about hardware" msgstr "HAL je ozadnji program, ki zbira in vzdržuje podatke o strojni opremi" #: services.pm:57 #, c-format msgid "" "HardDrake runs a hardware probe, and optionally configures\n" "new/changed hardware." msgstr "" "HardDrake preveri strojno opremo ter po potrebi nastavi\n" "novo ali spremenjeno strojno opremo." #: services.pm:59 #, c-format msgid "" "Apache is a World Wide Web server. It is used to serve HTML files and CGI." msgstr "" "Apache je spletni strežnik. Uporablja se za strežbo datotek HTML ter PHP in " "izvajanje programov CGI." #: services.pm:60 #, c-format msgid "" "The internet superserver daemon (commonly called inetd) starts a\n" "variety of other internet services as needed. It is responsible for " "starting\n" "many services, including telnet, ftp, rsh, and rlogin. Disabling inetd " "disables\n" "all of the services it is responsible for." msgstr "" "Nadzorni proces za internetne aplikacije (poznan kot inetd) skrbi za paleto\n" "z internetom povezanih storitev. Skrbi za zagon storitev, kot so telnet, " "ftp, rsh in rlogin.\n" "Izključitev inetd onemogoči programe, ki skrbijo za te storitve." #: services.pm:64 #, c-format msgid "Automates a packet filtering firewall with ip6tables" msgstr "Avtomatizira požarni zid za filtriranje paketov z ip6tables" #: services.pm:65 #, c-format msgid "Automates a packet filtering firewall with iptables" msgstr "Avtomatizira požarni zid za filtriranje paketov z iptables" #: services.pm:66 #, c-format msgid "" "Evenly distributes IRQ load across multiple CPUs for enhanced performance" msgstr "" "Enakomerno porazdeli zahtevke IRQ med več procesorjev, kar izboljša hitrost " "delovanja" #: services.pm:67 #, c-format msgid "" "This package loads the selected keyboard map as set in\n" "/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n" "You should leave this enabled for most machines." msgstr "" "Ta paket naloži izbrano tipkovno razvrstitev, kot je zapisano v\n" "/etc/sysconfig/keyboard. Ta nastavitev se spremeni s programom kbdconfig.\n" "Na večini računalnikov naj bo storitev omogočena." #: services.pm:70 #, c-format msgid "" "Automatic regeneration of kernel header in /boot for\n" "/usr/include/linux/{autoconf,version}.h" msgstr "" "Samodejna obnova zaglavij jedra v /boot za\n" "/usr/include/linux/{autoconf,version}.h" #: services.pm:72 #, c-format msgid "Automatic detection and configuration of hardware at boot." msgstr "Samodejna zaznava in namestitev strojne opreme ob zagonu." #: services.pm:73 #, c-format msgid "Tweaks system behavior to extend battery life" msgstr "Prilagodi obnašanje sistema za daljše trajanje baterije" #: services.pm:74 #, c-format msgid "" "Linuxconf will sometimes arrange to perform various tasks\n" "at boot-time to maintain the system configuration." msgstr "" "Linuxconf samodejno nastavi izvajanje različnih opravil\n" "ob zagonu za vzdrževanje sistemskih nastavitev." #: services.pm:76 #, c-format msgid "" "lpd is the print daemon required for lpr to work properly. It is\n" "basically a server that arbitrates print jobs to printer(s)." msgstr "" "Tiskalniški ozadnji program lpd je potreben za delovanje\n" "lpr. V osnovi je strežnik, ki razvršča opravila tiskalnikom." #: services.pm:78 #, c-format msgid "" "Linux Virtual Server, used to build a high-performance and highly\n" "available server." msgstr "" "Linux Virtual Server, namenjen izgradnji visoko zmogljivega in vzdržljivega " "strežnika." #: services.pm:80 #, c-format msgid "Monitors the network (Interactive Firewall and wireless" msgstr "Nadzoruje omrežje (interaktivni požarni zid in brezžično omrežje)" #: services.pm:81 #, c-format msgid "Software RAID monitoring and management" msgstr "Nadzorovanje in upravljanje s programskim RAID-om" #: services.pm:82 #, c-format msgid "" "DBUS is a daemon which broadcasts notifications of system events and other " "messages" msgstr "" "DBUS je ozadnji program, ki prenaša obvestila o sistemskih dogodkih in " "ostala sporočila" #: services.pm:83 #, c-format msgid "Enables MSEC security policy on system startup" msgstr "Ob zagonu sistema omogoči varnostna pravila MSEC" #: services.pm:84 #, c-format msgid "" "named (BIND) is a Domain Name Server (DNS) that is used to resolve host " "names to IP addresses." msgstr "" "named (BIND) je domenski (DNS) strežnik, ki imena strežnikov razrešuje v " "naslove IP." #: services.pm:85 #, c-format msgid "Initializes network console logging" msgstr "Nastavlja začetne vrednosti beleženja dnevnika konzole prek omrežja" #: services.pm:86 #, c-format msgid "" "Mounts and unmounts all Network File System (NFS), SMB (Lan\n" "Manager/Windows), and NCP (NetWare) mount points." msgstr "" "Priklopi in odkopi vse priklopne točke za omrežni datotečni sistem (NFS),\n" "SMB (LAN Manager/Windows) in NCP (NetWare)." #: services.pm:88 #, c-format msgid "" "Activates/Deactivates all network interfaces configured to start\n" "at boot time." msgstr "" "Vključi/izključi vse mrežne vmesnike, ki so nastavljeni,\n" "da se vključijo ob zagonu." #: services.pm:90 #, c-format msgid "Requires network to be up if enabled" msgstr "Če je omogočeno, zahteva delujoče omrežje" #: services.pm:91 #, c-format msgid "Wait for the hotplugged network to be up" msgstr "Počakaj na delujoče omrežje" #: services.pm:92 #, c-format msgid "" "NFS is a popular protocol for file sharing across TCP/IP networks.\n" "This service provides NFS server functionality, which is configured via the\n" "/etc/exports file." msgstr "" "NFS je priljubljen protokol za skupno rabo datotek po omrežjih TCP/IP.\n" "Storitev omogoča funkcije strežnika NFS, ki so nastavljene v datoteki\n" "/etc/exports." #: services.pm:95 #, c-format msgid "" "NFS is a popular protocol for file sharing across TCP/IP\n" "networks. This service provides NFS file locking functionality." msgstr "" "NFS je priljubljen protokol za skupno rabo datotek po omrežjih TCP/IP.\n" "Ta storitev omogoča NFS zaklepanje posameznih datotek." #: services.pm:97 #, c-format msgid "Synchronizes system time using the Network Time Protocol (NTP)" msgstr "" "Usklajuje sistemski čas z uporabo protokola NTP (Network Time Protocol)" #: services.pm:98 #, c-format msgid "" "Automatically switch on numlock key locker under console\n" "and Xorg at boot." msgstr "" "Ob zagonu samodejno vklopi številčni del tipkovnice za konzolo in Xorg." #: services.pm:100 #, c-format msgid "Support the OKI 4w and compatible winprinters." msgstr "" "Podpora za OKI 4w in združljive tiskalnike, ki so sicer omejeni le na " "Windows®." #: services.pm:101 #, c-format msgid "Checks if a partition is close to full up" msgstr "Preverja ali je razdelek skoraj povsem poln" #: services.pm:102 #, c-format msgid "" "PCMCIA support is usually to support things like ethernet and\n" "modems in laptops. It will not get started unless configured so it is safe " "to have\n" "it installed on machines that do not need it." msgstr "" "PCMCIA podpora je običajno namenjena tovrstnim mrežnim karticam in modemom\n" "v prenosnikih. Zagnana bo samo v primeru, da je dejansko omogočena.\n" "Namestitev na računalnikih, ki je ne potrebujejo, je torej varna." #: services.pm:105 #, c-format msgid "" "The portmapper manages RPC connections, which are used by\n" "protocols such as NFS and NIS. The portmap server must be running on " "machines\n" "which act as servers for protocols which make use of the RPC mechanism." msgstr "" "Strežnik portmapper nadzira povezave RPC, ki jih uporabljajo protokoli\n" "kot sta NFS in NIS. Zagnan mora biti na računalnikih, ki delujejo\n" "kot strežniki za protokole, ki uporabljajo mehanizem RPC." #: services.pm:108 #, c-format msgid "Reserves some TCP ports" msgstr "Rezervira nekaj vrat TCP" #: services.pm:109 #, c-format msgid "" "Postfix is a Mail Transport Agent, which is the program that moves mail from " "one machine to another." msgstr "" "Postfix je strežnik za elektronsko pošto, ki skrbi za prenos sporočil med " "strežniki." #: services.pm:110 #, c-format msgid "" "Saves and restores system entropy pool for higher quality random\n" "number generation." msgstr "Skrbi za kvalitetnejše ustvarjanje naključnih števil." #: services.pm:112 #, c-format msgid "" "Assign raw devices to block devices (such as hard disk drive\n" "partitions), for the use of applications such as Oracle or DVD players" msgstr "" "Priredi neposredne (raw) naprave bločnim napravam (kot so razdelki diska)\n" "za potrebe aplikacij kot so Oracle in DVD predvajalniki." #: services.pm:114 #, c-format msgid "Nameserver information manager" msgstr "Upravljalnik podatkov imenskega strežnika" #: services.pm:115 #, c-format msgid "" "The routed daemon allows for automatic IP router table updated via\n" "the RIP protocol. While RIP is widely used on small networks, more complex\n" "routing protocols are needed for complex networks." msgstr "" "Ozadnji program routed omogoča samodejno nastavljanje usmerjevalne tabele\n" "za IP, posodobljene preko protokola RIP. Medtem, ko je RIP široko zastopam " "pri\n" "manjših omrežjih, se za večja omrežja uporabljajo kompleksnejši protokoli." #: services.pm:118 #, c-format msgid "" "The rstat protocol allows users on a network to retrieve\n" "performance metrics for any machine on that network." msgstr "" "Protokol rstat omogoča pridobivanje podatkov o zmogljivostih\n" "računalnikov priključenih v omrežje." #: services.pm:120 #, c-format msgid "" "Syslog is the facility by which many daemons use to log messages to various " "system log files. It is a good idea to always run rsyslog." msgstr "" "Syslog je storitev, ki omogoča večim ozadnjim programom, da uporabljajo " "skupen sistem zapisovanja sporočil v dnevnike. Priporočeno je, da rsyslog " "vedno teče." #: services.pm:121 #, c-format msgid "" "The rusers protocol allows users on a network to identify who is\n" "logged in on other responding machines." msgstr "" "Protokol rusers omogoča uporabnikom v krajevni mreži\n" "identifikacijo prijavljenih uporabnikov na drugih računalnikih." #: services.pm:123 #, c-format msgid "" "The rwho protocol lets remote users get a list of all of the users\n" "logged into a machine running the rwho daemon (similar to finger)." msgstr "" "Protokol rwho omogoča oddaljenim uporabnikom, da pridobijo spisek " "uporabnikov,\n" "prijavljenih na računalnikih, na katerih teče rwho (podobno kot finger)." #: services.pm:125 #, c-format msgid "" "SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..." msgstr "" "SANE (Scanner Access Now Easy) omogoča dostop do optičnih bralnikov, video " "kamer, …" #: services.pm:126 #, c-format msgid "Packet filtering firewall" msgstr "Požarni zid za filtriranje paketov" #: services.pm:127 #, c-format msgid "Packet filtering firewall for IPv6" msgstr "Požarni zid za filtriranje paketov prek IPv6" #: services.pm:128 #, c-format msgid "" "The SMB/CIFS protocol enables to share access to files & printers and also " "integrates with a Windows Server domain" msgstr "" "Protokol SMB/CIFS omogoča skupno rabo datotek in tiskalnikov ter se lahko " "integrira v domeno strežnikov Windows" #: services.pm:129 #, c-format msgid "Launch the sound system on your machine" msgstr "Zažene zvočni sistem na vašem računalniku" #: services.pm:130 #, c-format msgid "layer for speech analysis" msgstr "Plast za analizo govora" #: services.pm:131 #, c-format msgid "" "Secure Shell is a network protocol that allows data to be exchanged over a " "secure channel between two computers" msgstr "" "Varna lupina (Secure Shell) je omrežni protokol, ki omogoča izmenjavo " "podatkov prek varnega kanala med dvema računalnikoma" #: services.pm:132 #, c-format msgid "" "Syslog is the facility by which many daemons use to log messages\n" "to various system log files. It is a good idea to always run syslog." msgstr "" "Syslog je storitev, ki omogoča večim ozadnjim programom, da uporabljajo " "skupen sistem zapisovanja sporočil v dnevnike. Priporočeno je, da syslog " "storitev vedno teče." #: services.pm:134 #, c-format msgid "Moves the generated persistent udev rules to /etc/udev/rules.d" msgstr "Premakne ustvarjena trajna pravila za udev v /etc/udev/rules.d" #: services.pm:135 #, c-format msgid "Load the drivers for your usb devices." msgstr "Naloži gonilnike za naprave USB." #: services.pm:136 #, c-format msgid "A lightweight network traffic monitor" msgstr "Preprost nadzornik omrežnega prometa" #: services.pm:137 #, c-format msgid "Starts the X Font Server." msgstr "Zažene strežnik pisav za X." #: services.pm:138 #, c-format msgid "Starts other deamons on demand." msgstr "Zažene ostale ozadnje programe na zahtevo." #: services.pm:167 #, c-format msgid "Printing" msgstr "Tiskanje" #: services.pm:170 #, c-format msgid "Internet" msgstr "Internet" #: services.pm:175 #, c-format msgid "" "_: Keep these entry short\n" "Networking" msgstr "Omrežje" #: services.pm:177 #, c-format msgid "System" msgstr "Sistem" #: services.pm:184 #, c-format msgid "Remote Administration" msgstr "Skrbništvo na daljavo" #: services.pm:193 #, c-format msgid "Database Server" msgstr "Podatkovni strežnik" #: services.pm:204 services.pm:246 #, c-format msgid "Services" msgstr "Storitve" #: services.pm:204 #, c-format msgid "Choose which services should be automatically started at boot time" msgstr "" "Izberite, katere storitve naj se samodejno zaženejo ob zagonu računalnika" #: services.pm:227 #, c-format msgid "%d activated for %d registered" msgstr "%d aktiviranih od %d registriranih" #: services.pm:250 #, c-format msgid "running" msgstr "teče" #: services.pm:250 #, c-format msgid "stopped" msgstr "ustavljeno" #: services.pm:255 #, c-format msgid "Services and daemons" msgstr "Storitve in ozadnji programi" #: services.pm:261 #, c-format msgid "" "No additional information\n" "about this service, sorry." msgstr "" "Žal o tej storitvi ni\n" "dodatnih informacij." #: services.pm:268 #, c-format msgid "Start when requested" msgstr "Na zahtevo" #: services.pm:268 #, c-format msgid "On boot" msgstr "Ob zagonu" #: services.pm:282 #, c-format msgid "Start" msgstr "Zaženi" #: services.pm:282 #, c-format msgid "Stop" msgstr "Ustavi" #: standalone.pm:27 #, c-format msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" "the Free Software Foundation; either version 2, or (at your option)\n" "any later version.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " "USA.\n" msgstr "" "To je prosto programje: lahko ga posredujete dalje in/ali ga\n" "spreminjate pod pogoji licence »GNU General Public License«,\n" "ki so jo objavili pri »Free Software Foundation«; lahko kot\n" "verzija 2 ali na željo višja.\n" "\n" "Ta program razširjamo v upanju da bo uporaben, toda BREZ\n" "KAKRŠNEGAKOLI JAMSTVA; celo brez posledičnega jamstva za\n" "CENOVNO VREDNOST ali PRIMERNOST DOLOČENEMU NAMENU. Za\n" "podrobnosti preberite licenco »GNU General Public License«.\n" "\n" "Kopijo licence »GNU General Public License« bi morali dobiti\n" "skupaj s programom; če je niste, pišite na naslov Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n" "MA 02110-1301, USA.\n" #: standalone.pm:46 #, c-format msgid "" "[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n" "Backup and Restore application\n" "\n" "--default : save default directories.\n" "--debug : show all debug messages.\n" "--show-conf : list of files or directories to backup.\n" "--config-info : explain configuration file options (for non-X " "users).\n" "--daemon : use daemon configuration. \n" "--help : show this message.\n" "--version : show version number.\n" msgstr "" "[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n" "Program za varnostno kopiranje in obnovo\n" "\n" "--default : shrani privzete mape.\n" "--debug : pokaži vsa razhroščevalna sporočila.\n" "--show-conf : seznam datotek ali map za arhiviranje.\n" "--config-info : pojasni lastnosti nastavitvene datoteke (za ne-X " "uporabnike).\n" "--daemon : uporabi nastavitve ozadnjega programa. \n" "--help : prikaži to sporočilo.\n" "--version : prikaži številko različice.\n" #: standalone.pm:58 #, c-format msgid "" "[--boot]\n" "OPTIONS:\n" " --boot - enable to configure boot loader\n" "default mode: offer to configure autologin feature" msgstr "" "[--boot]\n" "MOŽNOSTI:\n" " --boot - omogoči nastavljanje zagonskega nalagalnika\n" "privzeti način: omogoča nastavljanje samodejne prijave" #: standalone.pm:62 #, c-format msgid "" "[OPTIONS] [PROGRAM_NAME]\n" "\n" "OPTIONS:\n" " --help - print this help message.\n" " --report - program should be one of %s tools\n" " --incident - program should be one of %s tools" msgstr "" "[MOŽNOSTI] [IME_PROGRAMA]\n" "\n" "MOŽNOSTI:\n" " --help - izpiši to sporočilo za pomoč.\n" " --report - program mora biti eno izmed orodij v distribuciji %s\n" " --incident - program mora biti eno izmed orodij v distribuciji %s" #: standalone.pm:68 #, c-format msgid "" "[--add]\n" " --add - \"add a network interface\" wizard\n" " --del - \"delete a network interface\" wizard\n" " --skip-wizard - manage connections\n" " --internet - configure internet\n" " --wizard - like --add" msgstr "" "[--add]\n" " --add - čarovnik za »dodajanje omrežnega vmesnika«\n" " --del - čarovnik za »odstranjevanje omrežnega vmesnika«\n" " --skip-wizard - upravljanje s povezavami\n" " --internet - nastavljanje interneta\n" " --wizard - isto kot --add" #: standalone.pm:74 #, c-format msgid "" "\n" "Font Importation and monitoring application\n" "\n" "OPTIONS:\n" "--windows_import : import from all available windows partitions.\n" "--xls_fonts : show all fonts that already exist from xls\n" "--install : accept any font file and any directory.\n" "--uninstall : uninstall any font or any directory of font.\n" "--replace : replace all font if already exist\n" "--application : 0 none application.\n" " : 1 all application available supported.\n" " : name_of_application like so for staroffice \n" " : and gs for ghostscript for only this one." msgstr "" "\n" "Program za uvoz in nadzor pisav.\n" "\n" "MOŽNOSTI:\n" "--windows_import : uvozi z vseh dostopnih razdelkov Windows.\n" "--xls_fonts : pokaži vse pisave, ki so že v xls\n" "--install : sprejmi vsako datoteko pisave ali mapo.\n" "--uninstall : odstrani vsako datoteko ali mapo pisav.\n" "--replace : zamenjaj vse pisave, če že obstajajo\n" "--application : 0 v noben program.\n" " : 1 v vse podprte programe.\n" " : ime_programa kot npr. za libreoffice \n" " : in gs za ghostscript samo v ta program." #: standalone.pm:89 #, c-format msgid "" "[OPTIONS]...\n" "%s Terminal Server Configurator\n" "--enable : enable MTS\n" "--disable : disable MTS\n" "--start : start MTS\n" "--stop : stop MTS\n" "--adduser : add an existing system user to MTS (requires username)\n" "--deluser : delete an existing system user from MTS (requires " "username)\n" "--addclient : add a client machine to MTS (requires MAC address, IP, " "nbi image name)\n" "--delclient : delete a client machine from MTS (requires MAC address, " "IP, nbi image name)" msgstr "" "[MOŽNOSTI] …\n" "Nastavitev terminalskega strežnika %s\n" "--enable : omogoči MTS\n" "--disable : onemogoči MTS\n" "--start : poženi MTS\n" "--stop : ustavi MTS\n" "--adduser : dodaj že obstoječega sistemskega uporabnika v MTS " "(zahtevano je uporabniško ime)\n" "--deluser : zbriši obstoječega sistemskega uporabnika iz MTS " "(zahtevano je uporabniško ime)\n" "--addclient : dodaj odjemalca v MTS (zahtevan je naslov MAC, IP, ime " "slike nbi)\n" "--delclient : zbriši odjemalca iz MTS (zahtevan je naslov MAC, IP, ime " "slike nbi)" #: standalone.pm:101 #, c-format msgid "[keyboard]" msgstr "[tipkovnica]" #: standalone.pm:102 #, c-format msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]" msgstr "" "[--file=mojadatoteka] [--word=mojabeseda] [--explain=logičniizraz] [--alert]" #: standalone.pm:103 #, c-format msgid "" "[OPTIONS]\n" "Network & Internet connection and monitoring application\n" "\n" "--defaultintf interface : show this interface by default\n" "--connect : connect to internet if not already connected\n" "--disconnect : disconnect to internet if already connected\n" "--force : used with (dis)connect : force (dis)connection.\n" "--status : returns 1 if connected 0 otherwise, then exit.\n" "--quiet : do not be interactive. To be used with (dis)connect." msgstr "" "[MOŽNOSTI]\n" "Program za omrežno in internetno povezovanje ter nadzor\n" "\n" "--defaultintf vmesnik : privzeto pokaži ta vmesnik\n" "--connect : poveži se na Internet, če povezava še ni vzpostavljena\n" "--disconnect : prekini povezavo z internetom, če je povezava že " "vzpostavljena\n" "--force : se uporablja z (dis)connect : prisili vzpostavitev / prekinitev " "povezave.\n" "--status : vrne 1, če je povezava vzpostavljena, drugače 0, potem konča\n" "--quiet : brez interaktivnosti. Uporablja se z --(dis)connect." #: standalone.pm:113 #, c-format msgid "" "[OPTION]...\n" " --no-confirmation do not ask first confirmation question in %s Update " "mode\n" " --no-verify-rpm do not verify packages signatures\n" " --changelog-first display changelog before filelist in the " "description window\n" " --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found" msgstr "" "[MOŽNOST] …\n" " --no-confirmation v %s Update načinu ne zahtevaj prve potrditve\n" " --no-verify-rpm brez preverjanja podpisov paketov\n" " --changelog-first v oknu z opisom prikaži dnevnik sprememb pred " "seznamom datotek\n" " --merge-all-rpmnew predlog za združitev vseh najdenih datotek ." "rpmnew / .rpmsave" #: standalone.pm:118 #, c-format msgid "" "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-" "usbtable] [--dynamic=dev]" msgstr "" "[--manual] [--device=naprava] [--update-sane=izvorna_mapa_za_sane] [--update-" "usbtable] [--dynamic=naprava]" #: standalone.pm:119 #, c-format msgid "" " [everything]\n" " XFdrake [--noauto] monitor\n" " XFdrake resolution" msgstr "" " [vse]\n" " XFdrake [--noauto] zaslon\n" " XFdrake ločljivost" #: standalone.pm:156 #, c-format msgid "" "\n" "Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--" "testing] [-v|--version] " msgstr "" "\n" "Uporaba: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--" "testing] [-v|--version] " #: timezone.pm:170 timezone.pm:171 #, c-format msgid "All servers" msgstr "Vsi strežniki" #: timezone.pm:207 #, c-format msgid "Global" msgstr "Globalni" #: timezone.pm:210 #, c-format msgid "Africa" msgstr "Afrika" #: timezone.pm:211 #, c-format msgid "Asia" msgstr "Azija" #: timezone.pm:212 #, c-format msgid "Europe" msgstr "Evropa" #: timezone.pm:213 #, c-format msgid "North America" msgstr "Severna Amerika" #: timezone.pm:214 #, c-format msgid "Oceania" msgstr "Oceanija" #: timezone.pm:215 #, c-format msgid "South America" msgstr "Južna Amerika" #: timezone.pm:224 #, c-format msgid "Hong Kong" msgstr "Hong Kong" #: timezone.pm:261 #, c-format msgid "Russian Federation" msgstr "Ruska Federacija" #: timezone.pm:269 #, c-format msgid "Yugoslavia" msgstr "Jugoslavija" #: ugtk2.pm:810 ugtk3.pm:906 #, c-format msgid "Is this correct?" msgstr "Pravilno?" #: ugtk2.pm:872 ugtk3.pm:968 #, c-format msgid "You have chosen a file, not a directory" msgstr "Namesto mape ste izbrali datoteko" #: ugtk2.pm:922 ugtk3.pm:1018 #, c-format msgid "Info" msgstr "Informacije" #: wizards.pm:95 #, c-format msgid "" "%s is not installed\n" "Click \"Next\" to install or \"Cancel\" to quit" msgstr "" "%s ni nameščen\n" "Kliknite »Naprej« za namestitev oziroma »Prekliči« za prekinitev." #: wizards.pm:99 #, c-format msgid "Installation failed" msgstr "Namestitev ni uspela"