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

#use diagnostics;
#use strict;

#-######################################################################################
#- misc imports
#-######################################################################################
use common;
use modules;
use detect_devices;
use run_program;
use devices;
use modules;
use any;
use log;

my @mouses_fields = qw(nbuttons MOUSETYPE XMOUSETYPE name);

my %mice = 
 arch() =~ /^sparc/ ? 
(
 'sunmouse' =>
 [ [ 'sunmouse' ],
   [ [ 3, 'sun', 'sun', __("Sun - Mouse") ]
   ]]
) :
(
 'PS/2' => 
 [ [ 'psaux' ],
   [ [ 2, 'ps/2', 'PS/2', __("Standard") ],
     [ 5, 'ps/2', 'MouseManPlusPS/2', __("Logitech MouseMan+") ],
     [ 5, 'imps2', 'IMPS/2', __("Generic PS2 Wheel Mouse") ],
     [ 5, 'ps/2', 'GlidePointPS/2', __("GlidePoint") ],
     '',
     [ 5, 'ps/2', 'ThinkingMousePS/2', __("Kensington Thinking Mouse") ],
     [ 5, 'netmouse', 'NetMousePS/2', __("Genius NetMouse") ],
     [ 5, 'netmouse', 'NetScrollPS/2', __("Genius NetScroll") ],
     [ 7, 'ps/2', 'ExplorerPS/2', __("Microsoft Explorer") ],
   ]],
     
 'USB' =>
 [ [ 'usbmouse' ],
   [ if_(arch() eq 'ppc', [ 1, 'ps/2', 'PS/2', __("1 button") ]),
     [ 2, 'ps/2', 'PS/2', __("Generic 2 Button Mouse") ],
     [ 3, 'ps/2', 'PS/2', __("Generic") ],
     [ 5, 'ps/2', 'IMPS/2', __("Wheel") ],
     [ 7, 'ps/2', 'ExplorerPS/2', __("Microsoft Explorer") ],
   ]],

 __("serial") =>
 [ [ map { "ttyS$_" } 0..3 ],
   [ [ 2, 'Microsoft', 'Microsoft', __("Generic 2 Button Mouse") ],
     [ 3, 'Microsoft', 'Microsoft', __("Generic 3 Button Mouse") ],
     [ 5, 'ms3', 'IntelliMouse', __("Microsoft IntelliMouse") ],
     [ 3, 'MouseMan', 'MouseMan', __("Logitech MouseMan") ],
     [ 2, 'MouseSystems', 'MouseSystems', __("Mouse Systems") ],     
     '',
     [ 3, 'logim', 'MouseMan', __("Logitech CC Series") ],
     [ 5, 'pnp', 'IntelliMouse', __("Logitech MouseMan+/FirstMouse+") ],
     [ 5, 'ms3', 'IntelliMouse', __("Genius NetMouse") ],
     [ 2, 'MMSeries', 'MMSeries', __("MM Series") ],
     [ 2, 'MMHitTab', 'MMHittab', __("MM HitTablet") ],
     [ 3, 'Logitech', 'Logitech', __("Logitech Mouse (serial, old C7 type)") ],
     [ 3, 'Microsoft', 'ThinkingMouse', __("Kensington Thinking Mouse") ],
   ]],

 __("busmouse") =>
 [ [ arch() eq 'ppc' ? 'adbmouse' : ('atibm', 'inportbm', 'logibm') ],
   [ if_(arch() eq 'ppc', [ 1, 'Busmouse', 'BusMouse', __("1 button") ]),
     [ 2, 'Busmouse', 'BusMouse', __("2 buttons") ],
     [ 3, 'Busmouse', 'BusMouse', __("3 buttons") ],
   ]],

 __("none") =>
 [ [ 'none' ],
   [ [ 0, 'none', 'Microsoft', __("No mouse") ],
   ]],
);


sub xmouse2xId { 
    #- xmousetypes must be sorted as found in /usr/include/X11/extensions/xf86misc.h
    #- so that first mean "0", etc
    my @xmousetypes = (
		   "Microsoft",
		   "MouseSystems",
		   "MMSeries",
		   "Logitech",
		   "BusMouse", #MouseMan,
		   "Logitech",
		   "PS/2",
		   "MMHittab",
		   "GlidePoint",
		   "IntelliMouse",
		   "ThinkingMouse",
		   "IMPS/2",
		   "ThinkingMousePS/2",
		   "MouseManPlusPS/2",
		   "GlidePointPS/2",
		   "NetMousePS/2",
		   "NetScrollPS/2",
		   "SysMouse",
		   "Auto",
		   "AceCad",
		   "ExplorerPS/2",
		   "USB",
    );
    my ($id) = @_;
    $id = 'BusMouse' if $id eq 'MouseMan';
    $id = 'IMPS/2' if $id eq 'ExplorerPS/2' && $::isInstall;
    my $i; map_index { $_ eq $id and $i = $::i } @xmousetypes; $i;
}

my %mouse_btn_keymap = (
    0   => "NONE",
    67  => "F9",
    68  => "F10",
    87  => "F11",
    88  => "F12",
    85  => "F13",
    89  => "F14",
    90  => "F15",
    56  => "L-Option/Alt",
    125 => "L-Command",
    98  => "Num: /",
    55  => "Num: *",
    117 => "Num: =",
);
sub ppc_one_button_keys { keys %mouse_btn_keymap }
sub ppc_one_button_key2text { $mouse_btn_keymap{$_[0]} }

sub raw2mouse {
    my ($type, $raw) = @_;
    $raw or return;

    my %l; @l{@mouses_fields} = @$raw;
    +{ %l, type => $type };
}

sub update_type_name {
    my ($mouse) = @_;
    while (my ($k, $v) = each %mice) {
	$mouse->{device} =~ /usb/ && $k ne 'USB' and next; #- avoid mixing USB and PS/2 mice.
	foreach (@{$v->[1]}) {
	    if ($_->[0] == $mouse->{nbuttons} && $_->[2] eq $mouse->{XMOUSETYPE}) {
		add2hash($mouse, { MOUSETYPE => $_->[1],
				   type      => $k,
				   name      => $_->[3],
				 });
		return $mouse;
	    }
	}
    }
}

sub fullnames { 
    map_each { 
	my $type = $::a;
	grep { $_ } map {
	    if ($_) {
		my $l = raw2mouse($type, $_);
		"$type|$l->{name}";
	    } else { 
		$type .= "|[" . _("Other") . "]";
		'';
	    }
	} @{$::b->[1]}
    } %mice;
}

sub fullname2mouse {
    my ($fname, %opts) = @_;
    my ($type, @l) = split '\|', $fname;
    my ($name) = pop @l;
  search:
    $opts{device} ||= $mice{$type}[0][0];
    foreach (@{$mice{$type}[1]}) {
	my $l = raw2mouse($type, $_);
	$name eq $l->{name} and return { %$l, %opts };
    }
    if ($name eq '1 Button' || $name eq '1 button') {
	$name = "Generic 2 Button Mouse";
	goto search;
    }
    die "$fname not found ($type, $name)";
}

sub serial_ports() { map { "ttyS$_" } 0..7 }
sub serial_port2text {
    $_[0] =~ /ttyS(\d+)/ ? "$_[0] / COM" . ($1 + 1) : $_[0];
}

sub read {
    my %mouse = getVarsFromSh "$::prefix/etc/sysconfig/mouse";
    eval { add2hash_(\%mouse, fullname2mouse($mouse{FULLNAME})) };
    $mouse{nbuttons} ||= $mouse{XEMU3} eq "yes" ? 2 : $mouse{WHEEL} eq "yes" ? 5 : 3;
    \%mouse;
}

sub write {
    my ($in, $mouse) = @_;
    local $mouse->{FULLNAME} = qq("$mouse->{type}|$mouse->{name}"); #-"
    local $mouse->{XEMU3} = bool2yesno($mouse->{nbuttons} < 3);
    local $mouse->{WHEEL} = bool2yesno($mouse->{nbuttons} > 3);
    setVarsInSh("$::prefix/etc/sysconfig/mouse", $mouse, qw(MOUSETYPE XMOUSETYPE FULLNAME XEMU3 WHEEL device));
    any::devfssymlinkf($mouse, 'mouse');

    #- we should be using input/mice directly instead of usbmouse, but legacy...
    symlinkf 'input/mice', "$::prefix/dev/usbmouse" if $mouse->{device} eq "usbmouse";

    any::devfssymlinkf($mouse->{auxmouse}, 'mouse1') if $mouse->{auxmouse};


    various_xfree_conf($in, $mouse);

    if (arch() =~ /ppc/) {
	my $s = join('',
	  "dev.mac_hid.mouse_button_emulation = " . to_bool($mouse->{button2_key} || $mouse->{button3_key}) . "\n",
	  if_($mouse->{button2_key}, "dev.mac_hid.mouse_button2_keycode = $mouse->{button2_key}\n"),
	  if_($mouse->{button3_key}, "dev.mac_hid.mouse_button3_keycode = $mouse->{button3_key}\n"),
	);
	substInFile { 
	    $_ = '' if /^\Qdev.mac_hid.mouse_button/;
	    $_ .= $s if eof;
	} "$::prefix/etc/sysctl.conf";
    }
}

sub mouseconfig {
    my ($t, $mouse, @wacom);

    #- Whouah! probing all devices from ttyS0 to ttyS3 once a time!
    detect_devices::probeSerialDevices();

    #- check new probing methods keep everything used here intact!
    foreach (0..3) {
	$t = detect_devices::probeSerial("/dev/ttyS$_") or next;
	if ($t->{CLASS} eq 'MOUSE') {
	    $t->{MFG} ||= $t->{MANUFACTURER};

	    $mouse = fullname2mouse("serial|Microsoft IntelliMouse") if $t->{MFG} eq 'MSH' && $t->{MODEL} eq '0001';
	    $mouse = fullname2mouse("serial|Logitech MouseMan") if $t->{MFG} eq 'LGI' && $t->{MODEL} =~ /^80/;
	    $mouse = fullname2mouse("serial|Genius NetMouse") if $t->{MFG} eq 'KYE' && $t->{MODEL} eq '0003';

	    $mouse ||= fullname2mouse("serial|Generic 2 Button Mouse"); #- generic by default.
	    $mouse->{device} = "ttyS$_";
	    last;
	} elsif ($t->{CLASS} eq "PEN" || $t->{MANUFACTURER} eq "WAC") {
	    push @wacom, "ttyS$_";
	}
    }
    $mouse, @wacom;
}

sub detect() {
    if (arch() =~ /^sparc/) {
	return fullname2mouse("sunmouse|Sun - Mouse");
    }
    if (arch() eq "ppc") {
        return fullname2mouse(detect_devices::hasMousePS2("usbmouse") ? 
			      "USB|1 button" :
			      # No need to search for an ADB mouse.  If I did, the PPC kernel would
			      # find one whether or not I had one installed!  So..  default to it.
			      "busmouse|1 button");
    }

    my @wacom;
    my $fast_mouse_probe = sub {
	my $auxmouse = detect_devices::hasMousePS2("psaux") && fullname2mouse("PS/2|Standard", unsafe => 1);

	if (modules::get_probeall("usb-interface")) {
	    if (my (@l) = detect_devices::usbMice()) {
		log::l("found usb mouse $_->{driver} $_->{description} ($_->{type})") foreach @l;
		eval { modules::load(qw(hid mousedev usbmouse)) };
		if (!$@ && detect_devices::tryOpen("usbmouse")) {
		    my $mouse = fullname2mouse($l[0]{driver} =~ /Mouse:(.*)/ ? $1 : "USB|Generic");
		    $auxmouse and $mouse->{auxmouse} = $auxmouse; #- for laptop, we kept the PS/2 as secondary (symbolic).
		    return $mouse;
		}
		eval { modules::unload(qw(usbmouse mousedev hid)) };
	    }
	}
	$auxmouse;
    };

    if (modules::get_probeall("usb-interface")) {
	my $keep_mouse;
	if (my (@l) = detect_devices::usbWacom()) {
	    log::l("found usb wacom $_->{driver} $_->{description} ($_->{type})") foreach @l;
	    eval { modules::load("wacom", "evdev") };
	    unless ($@) {
		foreach (0..$#l) {
		    detect_devices::tryOpen("input/event$_") and $keep_mouse = 1, push @wacom, "input/event$_";
		}
	    }
	    $keep_mouse or eval { modules::unload("evdev", "wacom") };
	}
    }

    #- at this level, not all possible mice are detected so avoid invoking serial_probe
    #- which takes a while for its probe.
    if ($::isStandalone) {
	my $mouse = $fast_mouse_probe->();
	$mouse and return { wacom => \@wacom, %$mouse };
    }

    #- probe serial device to make sure a wacom has been detected.
    eval { modules::load("serial") };
    my ($r, @serial_wacom) = mouseconfig(); push @wacom, @serial_wacom;

    if (!$::isStandalone) {
	my $mouse = $fast_mouse_probe->();
	$r && $mouse and $r->{auxmouse} = $mouse; #- we kept the auxilliary mouse as PS/2.
	$r and return { wacom => \@wacom, %$r };
	$mouse and return { wacom => \@wacom, %$mouse };
    } else {
	$r and return { wacom => \@wacom, %$r };
    }

    #- in case only a wacom has been found, assume an inexistant mouse (necessary).
    @wacom and return { CLASS      => 'MOUSE',
			nbuttons   => 2,
			device     => "nothing",
			MOUSETYPE  => "Microsoft",
			XMOUSETYPE => "Microsoft", wacom => \@wacom };

    if (!modules::get_probeall("usb-interface") && detect_devices::is_a_recent_computer() && $::isInstall) {
	#- special case for non detected usb interface on a box with no mouse.
	#- we *must* find out if there really is no usb, otherwise the box may
	#- not be accessible via the keyboard (if the keyboard is USB)
	#- the only way to know this is to make a full pci probe
	modules::load_category('bus/usb', '', 'unsafe'); 
	if (my $mouse = $fast_mouse_probe->()) {
	    return $mouse;
	}
    }

    #- defaults to generic serial mouse on ttyS0.
    #- Oops? using return let return a hash ref, if not using it, it return a list directly :-)
    return fullname2mouse("serial|Generic 2 Button Mouse", unsafe => 1);
}

sub set_xfree_conf {
    my ($mouse, $xfree_conf, $keep_auxmouse_unchanged) = @_;
    
    my @mice = map {
	{
	    Protocol => $_->{XMOUSETYPE},
	    Device => "/dev/$_->{device}",
	    if_($_->{nbuttons} > 3, ZAxisMapping => [ $_->{nbuttons} > 5 ? '6 7' : '4 5' ]),
	    if_($_->{nbuttons} < 3, Emulate3Buttons => undef, Emulate3Timeout => 50),
	};
    } ($mouse, if_($mouse->{auxmouse}, $mouse->{auxmouse}));
    
    if (!$mouse->{auxmouse} && $keep_auxmouse_unchanged) {
	my (undef, @l) = $xfree_conf->get_mice;
	push @mice, @l;
    }

    $xfree_conf->set_mice(@mice);

    if (my @wacoms = @{$mouse->{wacom} || []}) {
	$xfree_conf->set_wacoms(map { { Device => "/dev/$_", USB => m|input/event| } } @wacoms);
	$xfree_conf->{xfree3}->add_load_module('xf86Wacom.so') if $xfree_conf->{xfree3};
    }
}

sub various_xfree_conf {
    my ($in, $mouse) = @_;

    {
	my $f = "$::prefix/etc/X11/xinit.d/mouse_buttons";
	if ($mouse->{nbuttons} <= 5) {
	    unlink($f);
	} else {
	    output_p($f, "xmodmap -e 'pointer = 1 2 3 6 7 4 5'\n");
	    chmod 0755, $f;
	}
    }
    {
	my $f = "$::prefix/etc/X11/xinit.d/auxmouse_buttons";
	if (!$mouse->{auxmouse} || $mouse->{auxmouse}{nbuttons} <= 5) {
	    unlink($f);
	} else {
	    $in->do_pkgs->install('xinput');
	    output_p($f, "xinput set-button-map Mouse2 1 2 3 6 7 4 5\n");
	    chmod 0755, $f;
	}
    }
}

#- write_conf : write the mouse infos into the Xconfig files.
#- input :
#-  $mouse : the hashtable containing the informations
#- $mouse input
#-  $mouse->{nbuttons} : number of buttons : integer
#-  $mouse->{device} : device of the mouse : string : ex 'psaux'
#-  $mouse->{XMOUSETYPE} : type of the mouse for gpm : string : ex 'PS/2'
#-  $mouse->{type} : type (generic ?) of the mouse : string : ex 'PS/2'
#-  $mouse->{name} : name of the mouse : string : ex 'Standard'
#-  $mouse->{MOUSETYPE} : type of the mouse : string : ex "ps/2"
#-  $mouse->{XEMU3} : emulate 3rd button : string : 'yes' or 'no'
sub write_conf {
    my ($in, $mouse, $keep_auxmouse_unchanged) = @_;

    &write($in, $mouse);
    modules::write_conf('') if $mouse->{device} eq "usbmouse" && !$::testing;

    require Xconfig::xfree;
    my $xfree_conf = Xconfig::xfree->read;
    set_xfree_conf($mouse, $xfree_conf, $keep_auxmouse_unchanged);
    $xfree_conf->write;
}

sub test_mouse_install {
    my ($mouse) = @_;
    require my_gtk;
    my_gtk->import(qw(:wrappers :helpers));
    my $w = my_gtk->new('', disallow_big_help => 1);
    my ($width, $height, $offset) = (210, round_up(min(350, $::windowheight - 150), 6), 25);
    my $darea = new Gtk::DrawingArea;
    $darea->set_events([ 'button_press_mask', 'button_release_mask' ]);  #$darea must be unrealized.
    gtkadd($w->{window},
  	   gtkpack(my $vbox_grab = new Gtk::VBox(0,0),
		   gtksize(gtkset_usize($darea, $width+1, $height+1), $width+1, $height+1),
		   my $okcancel = gtkset_sensitive(create_okcancel($w, undef, undef, "edge"), 1)
		  ),
	  );
    $okcancel->set_uposition(7, $height-43);
    Gtk->timeout_add(2000, sub { gtkset_sensitive($okcancel, 1); $okcancel->draw(undef) });
    test_mouse($mouse, $w, $darea, $width, $height);
    $w->{window}->set_usize(undef, $height+10);
    $w->sync; # HACK
    Gtk::Gdk->pointer_grab($darea->window, 1,
			   [ 'pointer_motion_mask'],
			   $darea->window, undef ,0);
    $w->main;
}

sub test_mouse_standalone {
    my ($mouse, $hbox) = @_;
    require my_gtk;
    my_gtk->import(qw(:wrappers));
    my ($width, $height, $offset) = (210, round_up(min(350, $::windowheight - 150), 6), 25);
    my $darea = new Gtk::DrawingArea;
    $darea->set_events([ 'button_press_mask', 'button_release_mask' ]);  #$darea must be unrealized.
    gtkpack($hbox,
	    gtkpack(gtkset_border_width(new Gtk::VBox(0,10), 10),
		    gtksize(gtkset_usize($darea, $width+1, $height+1), $width, $height)
		   )
	   );
    test_mouse($mouse, $hbox, $darea, $width, $height);
}

sub test_mouse {
    my ($mouse, $w, $darea, $width, $height) = @_;

    $darea->realize();
    my $wait = 0;
    my ($m3_image, $m3_mask) = gtkcreate_xpm('mouse_3b.xpm');
    my ($m3_imagep, $m3_maskp) = gtkcreate_xpm('mouse_3b+.xpm');
    my ($m3_left, $m3_left_mask) = gtkcreate_xpm('mouse_left.xpm');
    my ($m3_right, $m3_right_mask) = gtkcreate_xpm('mouse_right.xpm');
    my ($m3_middle, $m3_middle_mask) = gtkcreate_xpm('mouse_middle.xpm');
    my ($aru, $aru_mask) = gtkcreate_xpm('arrow_up.xpm');
    my ($ard, $ard_mask) = gtkcreate_xpm('arrow_down.xpm');
    my $image = $m3_image;
    $mouse->{nbuttons} > 3 and $image = $m3_imagep;
    my $draw_text = sub {
  	my ($t, $y) = @_;
  	my $font = $darea->style->font;
  	my $w = $font->string_width($t);
  	$darea->window->draw_string($font, $darea->style->black_gc, ($darea->allocation->[2]-$width)/2 + ($width - $w) / 2, ($darea->allocation->[3]-$height)/2 + $y, $t);
    };
    my $drawarea; 
    $drawarea = sub { $darea->window->draw_pixmap($darea->style->bg_gc('normal'),
						  $image, 0, 0,
						  ($darea->allocation->[2]-$width)/2, ($darea->allocation->[3]-$height)/2,
						  210, 350);
		      if ($::isInstall) {
			  $draw_text->(_("Please test the mouse"), $height - 120);
			  $draw_text->(_("To activate the mouse,"), $height - 105) if $mouse->{XMOUSETYPE} eq 'IMPS/2';
			  $draw_text->(_("MOVE YOUR WHEEL!"), $height - 90) if $mouse->{XMOUSETYPE} eq 'IMPS/2';
			  $darea->window->draw_rectangle($darea->style->bg_gc('normal'), 1, 0, $height-65, $width, $height);
		      }
		  };

    my $paintButton = sub {
	my ($nb, $pressed) = @_;
	my $x = 60 + $nb*33;
	$drawarea->();
	if ($nb == 0) {
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $m3_left, 0, 0,
					 ($darea->allocation->[2]-$width)/2+31, ($darea->allocation->[3]-$height)/2 + 52,
					 59, 91);
	} elsif ($nb == 2) {
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $m3_right, 0, 0,
					 ($darea->allocation->[2]-$width)/2+117, ($darea->allocation->[3]-$height)/2 + 52,
					 61, 91);
	} elsif ($nb == 1) {
	    if ($mouse->{nbuttons} > 3) {
		$darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					     $m3_middle, 0, 0,
					     ($darea->allocation->[2]-$width)/2+98, ($darea->allocation->[3]-$height)/2 + 67,
					     13, 62);
	    } else {
  		$darea->window->draw_arc ($darea->style->black_gc,
  					  1, ($darea->allocation->[2]-$width)/2 + $x, ($darea->allocation->[3]-$height)/2 + 90, 20, 25,
  					  0, 360*64);
	    }
	} elsif ($nb == 3) {
	    $wait = 1;
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $aru, 0, 0,
					 ($darea->allocation->[2]-$width)/2+102, ($darea->allocation->[3]-$height)/2 + 57,
					 6, 8);
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $m3_middle, 0, 0,
					 ($darea->allocation->[2]-$width)/2+98, ($darea->allocation->[3]-$height)/2 + 67,
					 13, 62);
	    Gtk->timeout_add(200, sub { $wait = 0 });
	} elsif ($nb == 4) {
	    $wait = 1;
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $ard, 0, 0,
					 ($darea->allocation->[2]-$width)/2+102, ($darea->allocation->[3]-$height)/2 + 131,
					 6, 8);
	    $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
					 $m3_middle, 0, 0,
					 ($darea->allocation->[2]-$width)/2+98, ($darea->allocation->[3]-$height)/2 + 67,
					 13, 62);
	    Gtk->timeout_add(200, sub { $wait = 0 });
	}
    };
    $darea->signal_connect(button_press_event => sub {
  			       my $b = $_[1]{button};
			       $paintButton->($b - 1);
  			   });
    $darea->signal_connect(button_release_event => sub {
			       while ($wait) { my_gtk::flush() }
			       $drawarea->()
  			   });
    $darea->signal_connect(expose_event => sub { $drawarea->() });
    $darea->size($width, $height);
}
msgstr "ямх" #: ../urpm.pm:2212 #, c-format msgid "mounting %s" msgstr "" #: ../urpm.pm:2225 #, c-format msgid "unmounting %s" msgstr "%s-ийг салгаж байна" #: ../urpm.pm:2247 #, fuzzy, c-format msgid "relocated %s entries in depslist" msgstr "с ямх" #: ../urpm.pm:2248 #, fuzzy, c-format msgid "no entries relocated in depslist" msgstr "үгүй ямх" #: ../urpm.pm:2261 #, c-format msgid "invalid rpm file name [%s]" msgstr "буруу rpm файлын нэр [%s]" #: ../urpm.pm:2267 #, c-format msgid "retrieving rpm file [%s] ..." msgstr "rpm файлыг хүлээн авч байна [%s] ..." #: ../urpm.pm:2274 ../urpm.pm:3117 #, c-format msgid "unable to access rpm file [%s]" msgstr "[%s] rpm файл руу хандаж болсонгүй" #: ../urpm.pm:2279 #, c-format msgid "unable to register rpm file" msgstr "rpm файлыг бүртгэж болсонгүй" #: ../urpm.pm:2282 #, fuzzy, c-format msgid "error registering local packages" msgstr "локал" #: ../urpm.pm:2383 #, c-format msgid "no package named %s" msgstr "%s нэртэй багц байхгүй байна" #: ../urpm.pm:2386 ../urpme:99 #, c-format msgid "The following packages contain %s: %s" msgstr "Дараах багцууд %s: %s-ийг агуулж байна" #: ../urpm.pm:2578 ../urpm.pm:2622 ../urpm.pm:2648 #, c-format msgid "there are multiple packages with the same rpm filename \"%s\"" msgstr "энд \"%s\" гэсэн ижил rpm файл нэртэй олон багцууд байна" #: ../urpm.pm:2633 #, fuzzy, c-format msgid "unable to correctly parse [%s] on value \"%s\"" msgstr "с с" #: ../urpm.pm:2660 #, fuzzy, c-format msgid "" "medium \"%s\" uses an invalid list file:\n" " mirror is probably not up-to-date, trying to use alternate method" msgstr "" "с хүчингүй жигсаалт\n" " бол" #: ../urpm.pm:2664 #, fuzzy, c-format msgid "medium \"%s\" does not define any location for rpm files" msgstr "с" #: ../urpm.pm:2676 #, fuzzy, c-format msgid "package %s is not found." msgstr "с бол." #: ../urpm.pm:2716 ../urpm.pm:2731 ../urpm.pm:2755 ../urpm.pm:2770 #, c-format msgid "urpmi database locked" msgstr "" #: ../urpm.pm:2822 ../urpm.pm:2825 ../urpm.pm:2855 #, fuzzy, c-format msgid "medium \"%s\" is not selected" msgstr "с бол" #: ../urpm.pm:2851 #, fuzzy, c-format msgid "unable to read rpm file [%s] from medium \"%s\"" msgstr "с с" #: ../urpm.pm:2859 #, fuzzy, c-format msgid "incoherent medium \"%s\" marked removable but not really" msgstr "с" #: ../urpm.pm:2872 #, fuzzy, c-format msgid "unable to access medium \"%s\"" msgstr "с" #: ../urpm.pm:2933 #, fuzzy, c-format msgid "malformed input: [%s]" msgstr "с" #: ../urpm.pm:2940 #, fuzzy, c-format msgid "retrieving rpm files from medium \"%s\"..." msgstr "с." #: ../urpm.pm:3018 ../urpmi:694 #, c-format msgid "Preparing..." msgstr "Бэлдэж байна..." #: ../urpm.pm:3049 #, c-format msgid "using process %d for executing transaction" msgstr "" #: ../urpm.pm:3079 #, fuzzy, c-format msgid "" "created transaction for installing on %s (remove=%d, install=%d, upgrade=%d)" msgstr "с" #: ../urpm.pm:3082 #, c-format msgid "unable to create transaction" msgstr "" #: ../urpm.pm:3090 #, c-format msgid "removing package %s" msgstr "%s багцийг устгалт" #: ../urpm.pm:3092 #, c-format msgid "unable to remove package %s" msgstr "%s багцийг устгаж болсонгүй" #: ../urpm.pm:3102 #, fuzzy, c-format msgid "adding package %s (id=%d, eid=%d, update=%d, file=%s)" msgstr "с с" #: ../urpm.pm:3105 #, c-format msgid "unable to install package %s" msgstr "%s багцийг суулгаж болсонгүй" #: ../urpm.pm:3304 ../urpm.pm:3335 #, c-format msgid "due to missing %s" msgstr "" #: ../urpm.pm:3305 ../urpm.pm:3333 #, c-format msgid "due to unsatisfied %s" msgstr "" #: ../urpm.pm:3306 #, fuzzy, c-format msgid "trying to promote %s" msgstr "Юу ч үгүй" #: ../urpm.pm:3307 #, fuzzy, c-format msgid "in order to keep %s" msgstr "ямх" #: ../urpm.pm:3328 #, fuzzy, c-format msgid "in order to install %s" msgstr "ямх" #: ../urpm.pm:3340 #, c-format msgid "due to conflicts with %s" msgstr "" #: ../urpm.pm:3342 #, c-format msgid "unrequested" msgstr "" #: ../urpm.pm:3358 #, c-format msgid "Invalid signature (%s)" msgstr "" #: ../urpm.pm:3385 #, c-format msgid "Invalid Key ID (%s)" msgstr "" #: ../urpm.pm:3387 #, c-format msgid "Missing signature (%s)" msgstr "" #: ../urpme:38 #, fuzzy, c-format msgid "" "urpme version %s\n" "Copyright (C) 1999, 2000, 2001, 2002 MandrakeSoft.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "с MandrakeSoft бол аас г" #: ../urpme:43 ../urpmf:31 ../urpmi:78 ../urpmi.addmedia:53 #: ../urpmi.removemedia:36 ../urpmi.update:62 ../urpmq:40 #, c-format msgid " --help - print this help message.\n" msgstr " --help - Энэ тусламжийг хэвлэх.\n" #: ../urpme:44 ../urpmi:84 #, fuzzy, c-format msgid " --auto - automatically select a package in choices.\n" msgstr "ямх" #: ../urpme:45 ../urpmi:123 #, c-format msgid "" " --test - verify if the installation can be achieved correctly.\n" msgstr "" #: ../urpme:46 ../urpmi:98 ../urpmq:60 #, c-format msgid "" " --force - force invocation even if some packages do not exist.\n" msgstr "" #: ../urpme:47 ../urpmi:103 ../urpmq:61 #, fuzzy, c-format msgid " --parallel - distributed urpmi accross machines of alias.\n" msgstr "аас" #: ../urpme:48 ../urpmi:104 #, fuzzy, c-format msgid " --root - use another root for rpm installation.\n" msgstr "Мөр" #: ../urpme:49 #, c-format msgid "" " --use-distrib - configure urpmi on the fly from a distrib tree, useful\n" " to (un)install a chroot with --root option.\n" msgstr "" #: ../urpme:51 ../urpmi:132 ../urpmq:73 #, fuzzy, c-format msgid " -v - verbose mode.\n" msgstr " -v - Ажилуулах горим.\n" #: ../urpme:52 #, c-format msgid " -a - select all packages matching expression.\n" msgstr "" #: ../urpme:71 #, fuzzy, c-format msgid "urpme: unknown option \"-%s\", check usage with --help\n" msgstr "Тодорхойгүй с" #: ../urpme:94 #, c-format msgid "unknown packages" msgstr "үл мэдэгдэх багцууд" #: ../urpme:94 #, c-format msgid "unknown package" msgstr "үл мэдэгдэх багц" #: ../urpme:104 #, c-format msgid "removing package %s will break your system" msgstr "%s багцийг устгах нь таны системийн ажиллагааг таслах болно" #: ../urpme:106 #, fuzzy, c-format msgid "Nothing to remove" msgstr "Юу ч үгүй" #: ../urpme:110 #, c-format msgid "Checking to remove the following packages" msgstr "Дараах багцуудыг устгахаар шалгаж байна" #: ../urpme:117 #, fuzzy, c-format msgid "To satisfy dependencies, the following packages will be removed (%d MB)" msgstr "тийш МБ" #: ../urpme:119 ../urpmi:485 ../urpmi:640 #, c-format msgid " (y/N) " msgstr " (y/N) " #: ../urpme:122 ../urpmi:683 #, fuzzy, c-format msgid "removing %s" msgstr "%s багцийг устгалт" #: ../urpme:126 #, c-format msgid "Removing failed" msgstr "" #: ../urpme:155 ../urpmi:878 #, c-format msgid "Sorry, bad choice, try again\n" msgstr "Харамсалтай нь буруу сонголт байна, дахин ородоно уу!\n" #: ../urpmf:26 #, fuzzy, c-format msgid "" "urpmf version %s\n" "Copyright (C) 2002 MandrakeSoft.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "с MandrakeSoft бол аас г" #: ../urpmf:32 ../urpmi:79 ../urpmq:41 #, c-format msgid " --update - use only update media.\n" msgstr "" #: ../urpmf:33 ../urpmi:80 ../urpmq:42 #, c-format msgid " --media - use only the given media, separated by comma.\n" msgstr "" #: ../urpmf:34 ../urpmi:81 ../urpmq:43 #, c-format msgid " --excludemedia - do not use the given media, separated by comma.\n" msgstr "" #: ../urpmf:35 ../urpmi:82 ../urpmq:44 #, c-format msgid "" " --sortmedia - sort media according to substrings separated by comma.\n" msgstr "" #: ../urpmf:36 ../urpmq:45 #, fuzzy, c-format msgid " --synthesis - use the synthesis given instead of urpmi db.\n" msgstr "аас" #: ../urpmf:37 #, fuzzy, c-format msgid " --verbose - verbose mode.\n" msgstr "горим" #: ../urpmf:38 #, fuzzy, c-format msgid "" " --quiet - do not print tag name (default if no tag given on " "command\n" " line, incompatible with interactive mode).\n" msgstr "" "аяархан нэр үгүй\n" " горим" #: ../urpmf:40 #, fuzzy, c-format msgid " --uniq - do not print identical lines.\n" msgstr "Мөр" #: ../urpmf:41 #, c-format msgid " --all - print all tags.\n" msgstr " --all - бүх тагуудыг хэвлэх.\n" #: ../urpmf:42 #, fuzzy, c-format msgid " --group - print tag group: group.\n" msgstr "бүлэг бүлэг бүлэг" #: ../urpmf:43 #, fuzzy, c-format msgid " --size - print tag size: size.\n" msgstr "хэмжээ хэмжээ хэмжээ" #: ../urpmf:44 #, c-format msgid " --epoch - print tag epoch: epoch.\n" msgstr "" #: ../urpmf:45 #, c-format msgid " --summary - print tag summary: summary.\n" msgstr "" #: ../urpmf:46 #, fuzzy, c-format msgid " --description - print tag description: description.\n" msgstr "Тодорхойлолт Тодорхойлолт Тодорхойлолт" #: ../urpmf:47 #, c-format msgid " --sourcerpm - print tag sourcerpm: source rpm.\n" msgstr "" #: ../urpmf:48 #, c-format msgid " --packager - print tag packager: packager.\n" msgstr "" #: ../urpmf:49 #, c-format msgid " --buildhost - print tag buildhost: build host.\n" msgstr "" #: ../urpmf:50 #, c-format msgid " --url - print tag url: url.\n" msgstr "" #: ../urpmf:51 #, c-format msgid " --provides - print tag provides: all provides.\n" msgstr "" #: ../urpmf:52 #, c-format msgid " --requires - print tag requires: all requires.\n" msgstr "" #: ../urpmf:53 #, c-format msgid " --files - print tag files: all files.\n" msgstr "" #: ../urpmf:54 #, c-format msgid " --conflicts - print tag conflicts: all conflicts.\n" msgstr "" #: ../urpmf:55 #, c-format msgid " --obsoletes - print tag obsoletes: all obsoletes.\n" msgstr "" #: ../urpmf:56 ../urpmi:116 ../urpmq:70 #, c-format msgid "" " --env - use specific environment (typically a bug\n" " report).\n" msgstr "" #: ../urpmf:58 #, fuzzy, c-format msgid " -i - ignore case distinctions in every pattern.\n" msgstr "ямх" #: ../urpmf:59 ../urpmq:85 #, fuzzy, c-format msgid " -f - print version, release and arch with name.\n" msgstr "нэр" #: ../urpmf:60 #, fuzzy, c-format msgid " -e - include perl code directly as perl -e.\n" msgstr "e e" #: ../urpmf:61 #, c-format msgid "" " -a - binary AND operator, true if both expression are true.\n" msgstr "" #: ../urpmf:62 #, fuzzy, c-format msgid "" " -o - binary OR operator, true if one expression is true.\n" msgstr "бол" #: ../urpmf:63 #, fuzzy, c-format msgid " ! - unary NOT, true if expression is false.\n" msgstr "бол" #: ../urpmf:64 #, fuzzy, c-format msgid " ( - left parenthesis to open group expression.\n" msgstr "зүүн бүлэг" #: ../urpmf:65 #, fuzzy, c-format msgid " ) - right parenthesis to close group expression.\n" msgstr "баруун бүлэг" #: ../urpmf:143 #, fuzzy, c-format msgid "" "callback is :\n" "%s\n" msgstr "бол г с" #: ../urpmf:148 ../urpmi:263 ../urpmq:183 #, fuzzy, c-format msgid "using specific environment on %s\n" msgstr "с" #: ../urpmi:73 #, fuzzy, c-format msgid "" "urpmi version %s\n" "Copyright (C) 1999, 2000, 2001, 2002 MandrakeSoft.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "с MandrakeSoft бол аас г" #: ../urpmi:83 #, fuzzy, c-format msgid " --synthesis - use the given synthesis instead of urpmi db.\n" msgstr "аас" #: ../urpmi:85 ../urpmq:46 #, c-format msgid "" " --auto-select - automatically select packages to upgrade the system.\n" msgstr "" #: ../urpmi:86 #, c-format msgid "" " --no-uninstall - never ask to uninstall a package, abort the " "installation.\n" msgstr "" #: ../urpmi:87 ../urpmq:48 #, c-format msgid "" " --keep - keep existing packages if possible, reject requested\n" " packages that leads to remove.\n" msgstr "" #: ../urpmi:89 #, c-format msgid "" " --split-level - split in small transaction if more than given packages\n" " are going to be installed or upgraded,\n" " default is %d.\n" msgstr "" #: ../urpmi:92 #, c-format msgid " --split-length - small transaction length, default is %d.\n" msgstr "" #: ../urpmi:93 ../urpmq:47 #, fuzzy, c-format msgid " --fuzzy - impose fuzzy search (same as -y).\n" msgstr "т" #: ../urpmi:94 ../urpmq:56 #, fuzzy, c-format msgid " --src - next package is a source package (same as -s).\n" msgstr "бол с" #: ../urpmi:95 #, fuzzy, c-format msgid " --install-src - install only source package (no binaries).\n" msgstr "үгүй" #: ../urpmi:96 #, c-format msgid " --clean - remove rpm from cache before anything else.\n" msgstr "" #: ../urpmi:97 #, fuzzy, c-format msgid " --noclean - keep rpm not used in cache.\n" msgstr "ямх" #: ../urpmi:99 #, c-format msgid "" " --allow-nodeps - allow asking user to install packages without\n" " dependencies checking.\n" msgstr "" #: ../urpmi:101 #, c-format msgid "" " --allow-force - allow asking user to install packages without\n" " dependencies checking and integrity.\n" msgstr "" #: ../urpmi:105 #, c-format msgid "" " --use-distrib - configure urpmi on the fly from a distrib tree, useful\n" " to install a chroot with --root option.\n" msgstr "" #: ../urpmi:107 ../urpmi.addmedia:54 ../urpmi.update:63 ../urpmq:64 #, c-format msgid " --wget - use wget to retrieve distant files.\n" msgstr "" #: ../urpmi:108 ../urpmi.addmedia:55 ../urpmi.update:64 ../urpmq:65 #, c-format msgid " --curl - use curl to retrieve distant files.\n" msgstr "" #: ../urpmi:109 ../urpmi.addmedia:56 ../urpmi.update:65 #, c-format msgid " --limit-rate - limit the download speed.\n" msgstr "" #: ../urpmi:110 ../urpmi.addmedia:57 ../urpmi.update:66 ../urpmq:66 #, fuzzy, c-format msgid "" " --proxy - use specified HTTP proxy, the port number is assumed\n" " to be 1080 by default (format is <proxyhost[:port]>).\n" msgstr "" "бол\n" " бол<proxyhost[:port]>" #: ../urpmi:112 ../urpmi.addmedia:59 ../urpmi.update:68 ../urpmq:68 #, fuzzy, c-format msgid "" " --proxy-user - specify user and password to use for proxy\n" " authentication (format is <user:password>).\n" msgstr "" "\n" " бол<user:password>" #: ../urpmi:114 #, fuzzy, c-format msgid "" " --bug - output a bug report in directory indicated by\n" " next arg.\n" msgstr "гаралт ямх\n" #: ../urpmi:118 #, fuzzy, c-format msgid " --X - use X interface.\n" msgstr "X X" #: ../urpmi:119 #, fuzzy, c-format msgid "" " --best-output - choose best interface according to the environment:\n" " X or text mode.\n" msgstr "" "гаралт\n" " X текст горим" #: ../urpmi:121 #, fuzzy, c-format msgid "" " --verify-rpm - verify rpm signature before installation\n" " (--no-verify-rpm disable it, default is enabled).\n" msgstr "" "\n" " үгүй бол" #: ../urpmi:124 #, c-format msgid " --excludepath - exclude path separated by comma.\n" msgstr "" #: ../urpmi:125 #, c-format msgid " --excludedocs - exclude docs files.\n" msgstr "" #: ../urpmi:126 ../urpmq:76 #, fuzzy, c-format msgid " -a - select all matches on command line.\n" msgstr "Нээх" #: ../urpmi:127 #, fuzzy, c-format msgid " -p - allow search in provides to find package.\n" msgstr "ямх" #: ../urpmi:128 ../urpmq:78 #, fuzzy, c-format msgid " -P - do not search in provides to find package.\n" msgstr "ямх" #: ../urpmi:129 ../urpmq:80 #, fuzzy, c-format msgid " -y - impose fuzzy search (same as --fuzzy).\n" msgstr "т" #: ../urpmi:130 ../urpmq:81 #, fuzzy, c-format msgid " -s - next package is a source package (same as --src).\n" msgstr "с бол" #: ../urpmi:131 #, fuzzy, c-format msgid " -q - quiet mode.\n" msgstr "аяархан горим" #: ../urpmi:133 #, fuzzy, c-format msgid " names or rpm files given on command line will be installed.\n" msgstr "Нээх" #: ../urpmi:189 ../urpmi:196 ../urpmi.addmedia:101 ../urpmi.addmedia:108 #: ../urpmi.update:45 ../urpmi.update:52 ../urpmq:130 ../urpmq:137 #, c-format msgid "bad proxy declaration on command line\n" msgstr "тушаалын мөрөнд буруу proxy зарлалт\n" #: ../urpmi:228 #, c-format msgid "urpmi: unknown option \"-%s\", check usage with --help\n" msgstr "" "urpmi: үл мэдэгдэх сонголт \"-%s\", хэрэглэх зааврыг --help гэж үзнэ үү!\n" #: ../urpmi:248 #, fuzzy, c-format msgid "What can be done with binary rpm files when using --install-src" msgstr "Хийгдсэн" #: ../urpmi:255 #, c-format msgid "" "Directory [%s] allready exist, please use another directory for bug report " "or delete it" msgstr "" #: ../urpmi:255 #, fuzzy, c-format msgid "Unable to create directory [%s] for bug report" msgstr "с" #: ../urpmi:274 #, fuzzy, c-format msgid "Only superuser is allowed to install packages" msgstr "бол" #: ../urpmi:410 #, c-format msgid "One of the following packages is needed to install %s:" msgstr "%s-ийг суулгахын тулд дараах багцуудын нэг нь шаардлагатай:" #: ../urpmi:411 #, c-format msgid "One of the following packages is needed:" msgstr "Дараах багцуудын нэг нь шаардлагатай:" #: ../urpmi:418 #, c-format msgid "What is your choice? (1-%d) " msgstr "Таны сонголт юу бэ? (1-%d) " #: ../urpmi:428 ../urpmi:545 #, c-format msgid "Package installation..." msgstr "Багц суулгалт..." #: ../urpmi:428 ../urpmi:545 #, c-format msgid "Initializing..." msgstr "Урьдчилан бэлдэж байна..." #: ../urpmi:449 #, fuzzy, c-format msgid "" "Some package requested cannot be installed:\n" "%s" msgstr "г с вы?" #: ../urpmi:454 ../urpmi:480 #, c-format msgid "do you agree ?" msgstr "" #: ../urpmi:469 #, fuzzy, c-format msgid "" "The installation cannot continue because the following packages\n" "have to be removed for others to be upgraded:\n" "%s\n" msgstr "г с вы?" #: ../urpmi:475 #, fuzzy, c-format msgid "" "The following packages have to be removed for others to be upgraded:\n" "%s" msgstr "г с вы?" #: ../urpmi:513 ../urpmi:522 #, fuzzy, c-format msgid "" "To satisfy dependencies, the following packages are going to be installed (%" "d MB)" msgstr "тийш МБ" #: ../urpmi:519 #, fuzzy, c-format msgid "" "You need to be root to install the following dependencies:\n" "%s\n" msgstr "Та г с" #: ../urpmi:540 ../urpmq:356 #, c-format msgid "unable to get source packages, aborting" msgstr "" #: ../urpmi:555 #, fuzzy, c-format msgid "Please insert the medium named \"%s\" on device [%s]" msgstr "с с" #: ../urpmi:556 #, c-format msgid "Press Enter when ready..." msgstr "Бэлэн болонгуут Enter товчоо дарна уу..." #: ../urpmi:596 #, c-format msgid "Downloading package `%s'..." msgstr "`%s' багцыг татан авч байна..." #: ../urpmi:627 #, c-format msgid "The following packages have bad signatures" msgstr "" #: ../urpmi:628 #, c-format msgid "Do you want to continue installation ?" msgstr "Та суулгалтыг үргэлжлүүлэхийг хүсэж байна уу?" #: ../urpmi:648 ../urpmi:770 #, c-format msgid "" "Installation failed, some files are missing:\n" "%s\n" "You may want to update your urpmi database" msgstr "" "Суулгалт бүтэлгүйтэв, учир нь зарим файл байхгүй байна:\n" "%s\n" "Та магадгүй urpmi баазаа шинэчлэх хэрэгтэй байх" #: ../urpmi:658 ../urpmi:711 ../urpmi:730 ../urpmi:748 #, c-format msgid "Installation failed" msgstr "" #: ../urpmi:673 #, fuzzy, c-format msgid "distributing %s" msgstr "хуваариалж байна %s\n" #: ../urpmi:681 #, fuzzy, c-format msgid "installing %s" msgstr "%s-ийг суулгаж байна\n" #: ../urpmi:696 #, c-format msgid "Installing package `%s' (%s/%s)..." msgstr "`%s' (%s/%s) багцийг суулгаж байна..." #: ../urpmi:718 #, c-format msgid "Try installation without checking dependencies? (y/N) " msgstr "Хамаарлыг шалгахгүйгээр суулгахыг оролдох уу? (y/N) " #: ../urpmi:735 #, fuzzy, c-format msgid "Try installation even more strongly (--force)? (y/N) " msgstr "Reyna т N " #: ../urpmi:775 #, fuzzy, c-format msgid "%d installation transactions failed" msgstr "Суулгалт боломжтой" #: ../urpmi:783 #, c-format msgid "Installation is possible" msgstr "Суулгалт боломжтой" #: ../urpmi:786 #, c-format msgid "Everything already installed" msgstr "Бүх зүйл хэдийн суусан байна" #: ../urpmi:800 #, c-format msgid "restarting urpmi" msgstr "" #: ../urpmi.addmedia:44 #, fuzzy, c-format msgid "" "usage: urpmi.addmedia [options] <name> <url> [with <relative_path>]\n" "where <url> is one of\n" " file://<path>\n" " ftp://<login>:<password>@<host>/<path> with <relative filename of " "hdlist>\n" " ftp://<host>/<path> with <relative filename of hdlist>\n" " http://<host>/<path> with <relative filename of hdlist>\n" " removable://<path>\n" "\n" "and [options] are from\n" msgstr "" "<name><url><relative_path><url> бол аас\n" "<path>\n" "<login><password><host><path><relative filename of hdlist>\n" "<host><path><relative filename of hdlist>\n" "<host><path><relative filename of hdlist>\n" "<path> г" #: ../urpmi.addmedia:61 #, c-format msgid " --update - create an update medium.\n" msgstr "" #: ../urpmi.addmedia:62 #, c-format msgid " --probe-synthesis - try to find and use synthesis file.\n" msgstr "" #: ../urpmi.addmedia:63 #, c-format msgid " --probe-hdlist - try to find and use hdlist file.\n" msgstr "" #: ../urpmi.addmedia:64 #, fuzzy, c-format msgid "" " --no-probe - do not try to find any synthesis or\n" " hdlist file.\n" msgstr "үгүй\n" #: ../urpmi.addmedia:66 #, c-format msgid "" " --distrib - automatically create all media from an installation\n" " medium.\n" msgstr "" #: ../urpmi.addmedia:68 #, fuzzy, c-format msgid "" " --distrib-XXX - automatically create a medium for XXX part of a\n" " distribution, XXX may be main, contrib, updates or\n" " anything else that has been configured ;-)\n" msgstr "" "аас\n" "\n" #: ../urpmi.addmedia:71 #, fuzzy, c-format msgid "" " --from - use specified url for list of mirrors, the default is\n" " %s\n" msgstr "" "жигсаалт аас бол\n" " с" #: ../urpmi.addmedia:73 #, fuzzy, c-format msgid "" " --version - use specified distribution version, the default is taken\n" " from the version of the distribution told by the\n" " installed mandrake-release package.\n" msgstr "" "бол\n" " аас\n" #: ../urpmi.addmedia:76 #, fuzzy, c-format msgid "" " --arch - use specified architecture, the default is arch of\n" " mandrake-release package installed.\n" msgstr "бол аас\n" #: ../urpmi.addmedia:78 #, c-format msgid "" " --virtual - create virtual media wich are always up-to-date,\n" " only file:// protocol is allowed.\n" msgstr "" #: ../urpmi.addmedia:80 ../urpmi.update:71 #, c-format msgid " --no-md5sum - disable MD5SUM file checking.\n" msgstr "" #: ../urpmi.addmedia:81 ../urpmi.removemedia:38 ../urpmi.update:74 #, c-format msgid " -c - clean headers cache directory.\n" msgstr " -c - түр санах ойн хавтасын толгойг цэвэрлэх.\n" #: ../urpmi.addmedia:82 ../urpmi.update:75 #, fuzzy, c-format msgid " -f - force generation of hdlist files.\n" msgstr "аас" #: ../urpmi.addmedia:124 ../urpmi.removemedia:39 ../urpmi.update:76 #, c-format msgid "" "\n" "unknown options '%s'\n" msgstr "" "\n" "үл мэдэгдэх сонголтууд '%s'\n" #: ../urpmi.addmedia:155 #, fuzzy, c-format msgid "cannot add updates of a cooker distribution\n" msgstr "аас" #: ../urpmi.addmedia:160 #, fuzzy, c-format msgid "retrieving mirrors at %s ..." msgstr "с." #: ../urpmi.addmedia:196 #, fuzzy, c-format msgid "" "%s\n" "no need to give <relative path of hdlist> with --distrib" msgstr "с<relative path of hdlist>" #: ../urpmi.addmedia:203 ../urpmi.addmedia:226 #, fuzzy, c-format msgid "unable to update medium \"%s\"\n" msgstr "с" #: ../urpmi.addmedia:214 #, fuzzy, c-format msgid "" "%s\n" "<relative path of hdlist> missing\n" msgstr "" \n" "<relative path of hdlist>" #: ../urpmi.addmedia:216 #, fuzzy, c-format msgid "" "%s\n" "`with' missing for network media\n" msgstr "с г" #: ../urpmi.addmedia:224 #, fuzzy, c-format msgid "unable to create medium \"%s\"\n" msgstr "с" #: ../urpmi.removemedia:34 #, fuzzy, c-format msgid "" "usage: urpmi.removemedia [-a] <name> ...\n" "where <name> is a medium name to remove.\n" msgstr "<name><name> бол нэр" #: ../urpmi.removemedia:37 #, c-format msgid " -a - select all media.\n" msgstr "" #: ../urpmi.removemedia:48 #, fuzzy, c-format msgid "nothing to remove (use urpmi.addmedia to add a media)\n" msgstr "юу ч үгүй" #: ../urpmi.removemedia:50 #, fuzzy, c-format msgid "" "the entry to remove is missing\n" "(one of %s)\n" msgstr "бол г аас с" #: ../urpmi.update:60 #, fuzzy, c-format msgid "" "usage: urpmi.update [options] <name> ...\n" "where <name> is a medium name to update.\n" msgstr "<name><name> бол нэр" #: ../urpmi.update:70 #, c-format msgid " --update - update only update media.\n" msgstr "" #: ../urpmi.update:72 #, c-format msgid " --force-key - force update of gpg key.\n" msgstr "" #: ../urpmi.update:73 #, c-format msgid " -a - select all non-removable media.\n" msgstr "" #: ../urpmi.update:86 #, fuzzy, c-format msgid "nothing to update (use urpmi.addmedia to add a media)\n" msgstr "юу ч үгүй" #: ../urpmi.update:98 #, fuzzy, c-format msgid "" "the entry to update is missing\n" "(one of %s)\n" msgstr "бол г аас с" #: ../urpmq:35 #, fuzzy, c-format msgid "" "urpmq version %s\n" "Copyright (C) 2000, 2001, 2002 MandrakeSoft.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "с MandrakeSoft бол аас г" #: ../urpmq:50 #, c-format msgid " --list - list available packages.\n" msgstr " --list - боломжтой багцуудын жагсаалт.\n" #: ../urpmq:51 #, fuzzy, c-format msgid " --list-media - list available media.\n" msgstr "жигсаалт жигсаалт" #: ../urpmq:52 #, fuzzy, c-format msgid " --list-url - list available media and their url.\n" msgstr "жигсаалт жигсаалт" #: ../urpmq:53 #, c-format msgid "" " --dump-config - dump the config in form of urpmi.addmedia argument.\n" msgstr "" #: ../urpmq:54 #, fuzzy, c-format msgid " --list-nodes - list available nodes when using --parallel.\n" msgstr "жигсаалт жигсаалт" #: ../urpmq:55 #, fuzzy, c-format msgid " --list-aliases - list available parallel aliases.\n" msgstr "жигсаалт жигсаалт" #: ../urpmq:57 #, c-format msgid "" " --headers - extract headers for package listed from urpmi db to\n" " stdout (root only).\n" msgstr "" #: ../urpmq:59 #, c-format msgid "" " --sources - give all source packages before downloading (root only).\n" msgstr "" #: ../urpmq:62 #, c-format msgid "" " --use-distrib - configure urpmi on the fly from a distrib tree.\n" " This permit to querying a distro.\n" msgstr "" #: ../urpmq:72 #, fuzzy, c-format msgid " --changelog - print changelog.\n" msgstr " --all - бүх тагуудыг хэвлэх.\n" #: ../urpmq:74 #, c-format msgid " -d - extend query to package dependencies.\n" msgstr "" #: ../urpmq:75 #, fuzzy, c-format msgid "" " -u - remove package if a more recent version is already " "installed.\n" msgstr "бол" #: ../urpmq:77 #, fuzzy, c-format msgid " -c - complete output with package to be removed.\n" msgstr "гаралт" #: ../urpmq:79 #, c-format msgid " -R - reverse search to what requires package.\n" msgstr "" #: ../urpmq:82 #, fuzzy, c-format msgid " -i - print useful information in human readeable form.\n" msgstr "" " -i - хэрэгтэй мэдээллийг хүн уншиж болохоор хэлбэрээр хэвлэх.\n" #: ../urpmq:83 #, fuzzy, c-format msgid " -g - print groups with name also.\n" msgstr "нэр" #: ../urpmq:84 #, fuzzy, c-format msgid " -r - print version and release with name also.\n" msgstr "нэр" #: ../urpmq:86 #, fuzzy, c-format msgid " -l - list files in package.\n" msgstr " --list - боломжтой багцуудын жагсаалт.\n" #: ../urpmq:87 #, fuzzy, c-format msgid " names or rpm files given on command line are queried.\n" msgstr "Нээх" #: ../urpmq:163 #, fuzzy, c-format msgid "urpmq: unknown option \"-%s\", check usage with --help\n" msgstr "Тодорхойгүй с" #: ../urpmq:166 #, c-format msgid "urpmq: cannot read rpm file \"%s\"\n" msgstr "urpmq: rpm файлыг уншиж чадахгүй \"%s\"\n" #: ../urpmq:219 #, fuzzy, c-format msgid "--list-nodes can only be used with --parallel" msgstr "жигсаалт" #~ msgid "urpmf version %s" #~ msgstr "urpmf хувилбар %s" #~ msgid "Copyright (C) 1999, 2000, 2001, 2002 MandrakeSoft." #~ msgstr "" #~ "Зохиогчийн эрх хуулиар хамгаалагдсан (C) 1999, 2000, 2001, 2002 " #~ "MandrakeSoft." #~ msgid "" #~ "This is free software and may be redistributed under the terms of the GNU " #~ "GPL." #~ msgstr "" #~ "Энэ үнэгүй программ хангамж бөгөөд GNU GPL-ийн дагуу дахин өөрчлөн " #~ "боловсруулагдаж болно." #~ msgid "usage: urpmf [options] <file>" #~ msgstr "хэрэглээ: urpmf [options] <file>" #~ msgid "" #~ " --quiet - do not print tag name (default if no tag given on " #~ "command" #~ msgstr "" #~ " --quiet - тагийн нэрийг битгий хэвлэ (үндсэн утга нь хэрэв " #~ "тушаал дээр өөр таг өгөгдсөн" #~ msgid " line, incompatible with interactive mode)." #~ msgstr " мөр, интерактив горимтой тохирохгүй)." #~ msgid " --all - print all tags." #~ msgstr " --бүгд - бүх тагийг хэвлэ." #~ msgid "" #~ " --name - print tag name: rpm filename (assumed if no tag given " #~ "on" #~ msgstr "" #~ " --name - print tag name: rpm filename (assumed if no tag given " #~ "on" #~ msgid " command line but without package name)." #~ msgstr " тушаалын мөр, тэгэхдээ багцын нэргүйгээр)." #~ msgid " --group - print tag group: group." #~ msgstr " --бүлэг - тэмдэглэгээний бүлгийг хэвлэх: бүлэг." #~ msgid " --size - print tag size: size." #~ msgstr " --хэмжээ - тэмдэглэгээний хэмжээг хэвлэх: хэмжээ." #~ msgid " --serial - print tag serial: serial." #~ msgstr " --дугаар - тэмдэглэгээний дугаарыг хэвлэх: дугаар." #~ msgid " --summary - print tag summary: summary." #~ msgstr " --дүн - тэмдэглэгээний дүнг хэвлэх: дүн." #~ msgid " --description - print tag description: description." #~ msgstr " --тайлбар - тэмдэглэгээний тайлбарыг хэвлэх: тайлбар." #, fuzzy #~ msgid "" #~ " --provides - print tag provides: all provides (multiple lines)." #~ msgstr "Мөр." #, fuzzy #~ msgid "" #~ " --requires - print tag requires: all requires (multiple lines)." #~ msgstr "Мөр." #, fuzzy #~ msgid " --files - print tag files: all files (multiple lines)." #~ msgstr "Мөр." #, fuzzy #~ msgid "" #~ " --conflicts - print tag conflicts: all conflicts (multiple lines)." #~ msgstr "Мөр." #, fuzzy #~ msgid "" #~ " --obsoletes - print tag obsoletes: all obsoletes (multiple lines)." #~ msgstr "Мөр." #, fuzzy #~ msgid " --prereqs - print tag prereqs: all prereqs (multiple lines)." #~ msgstr "Мөр." #~ msgid "try urpmf --help for more options" #~ msgstr "илүү мэдэхийг хүсвэл urpmf --help гэж бичээд үзнэ үү" #, fuzzy #~ msgid "no full media list was found" #~ msgstr "үгүй бүрэн жигсаалт" #~ msgid "copying source list of \"%s\"..." #~ msgstr "\"%s\"-ийн эх сурвалжийн жагсаалтыг хуулж байна..." #, fuzzy #~ msgid "mput failed, maybe a node is unreacheable" #~ msgstr "бол" #, fuzzy #~ msgid "" #~ " -d - force complete computation of depslist.ordered file.\n" #~ msgstr "аас" #, fuzzy #~ msgid "problem reading hdlist file of medium \"%s\"" #~ msgstr "аас с" #, fuzzy #~ msgid "on node %s" #~ msgstr "Нээх" #, fuzzy #~ msgid "host %s does not have a good version of urpmi" #~ msgstr "с аас" #, fuzzy #~ msgid "Installation failed on node %s" #~ msgstr "Нээх" #, fuzzy #~ msgid "" #~ " --name - print tag name: rpm filename (assumed if no tag given " #~ "on\n" #~ " command line but without package name).\n" #~ msgstr "" #~ "нэр нэр үгүй\n" #~ " нэр" #, fuzzy #~ msgid "rshp failed, maybe a node is unreacheable" #~ msgstr "бол" #, fuzzy #~ msgid "scp failed on host %s" #~ msgstr "Нээх"