# Srpski cirilicni prevod MandrakeUpdate fajla. # Copyright (C) 1997-2000 GeaArt, Inc. # Tomislav Jankovic ,1999,2000,2001 # # msgid "" msgstr "" "Project-Id-Version: rpmdrake 1.3\n" "POT-Creation-Date: 2002-08-27 18:23+0200\n" "PO-Revision-Date: 2002-08-23 19:11GMT+1\n" "Last-Translator: Toma Jankovic \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" #: ../edit-urpm-sources.pl_.c:42 msgid "Unable to create medium." msgstr "Не могу да креирам медијум." #: ../edit-urpm-sources.pl_.c:43 msgid "Unable to update medium; it will be automatically disabled." msgstr "Не могу да ажурирам медијум; он ќе бити аутоматски искључен." #: ../edit-urpm-sources.pl_.c:54 ../edit-urpm-sources.pl_.c:164 msgid "Edit a source" msgstr "Измени изворни код" #: ../edit-urpm-sources.pl_.c:55 msgid "Local files" msgstr "Локални фајлови" #: ../edit-urpm-sources.pl_.c:55 msgid "Path:" msgstr "Путaња:" #: ../edit-urpm-sources.pl_.c:56 msgid "FTP server" msgstr "FTP сервер" #: ../edit-urpm-sources.pl_.c:56 ../edit-urpm-sources.pl_.c:57 #: ../edit-urpm-sources.pl_.c:59 ../edit-urpm-sources.pl_.c:170 msgid "URL:" msgstr "URL:" #: ../edit-urpm-sources.pl_.c:57 msgid "HTTP server" msgstr "HTTP сервер" #: ../edit-urpm-sources.pl_.c:58 msgid "Path or mount point:" msgstr "Путања или тaчке монтирaња:" #: ../edit-urpm-sources.pl_.c:58 msgid "Removable device" msgstr "Преносни уреѓај" #: ../edit-urpm-sources.pl_.c:59 ../rpmdrake_.c:444 msgid "Security updates" msgstr "Безбедносни пакети за ажурирaњe" #: ../edit-urpm-sources.pl_.c:70 msgid "Browse..." msgstr "Претражи..." #: ../edit-urpm-sources.pl_.c:72 msgid "Choose a mirror..." msgstr "Изаберите своj мирор саjт..." #: ../edit-urpm-sources.pl_.c:92 msgid "Login:" msgstr "Login:" #: ../edit-urpm-sources.pl_.c:92 msgid "Password:" msgstr "Лозинка:" #: ../edit-urpm-sources.pl_.c:97 msgid "Name:" msgstr "Имe:" #: ../edit-urpm-sources.pl_.c:99 ../edit-urpm-sources.pl_.c:171 msgid "Relative path to synthesis/hdlist:" msgstr "Релативна путaња ка synthesis/hdlist:" #: ../edit-urpm-sources.pl_.c:107 msgid "You need to fill up at least the two first entries." msgstr "Морате да попуните најмање прва два поља." #: ../edit-urpm-sources.pl_.c:111 msgid "" "There is already a medium by that name, do you\n" "really want to replace it?" msgstr "" "Веќ постоји медиј са тим именом, да ли\n" "заиста желите да је замените?" #: ../edit-urpm-sources.pl_.c:119 msgid "Adding a source:" msgstr "Додаjем извор:" #: ../edit-urpm-sources.pl_.c:120 msgid "Type of source:" msgstr "Тип изворa:" #: ../edit-urpm-sources.pl_.c:124 ../edit-urpm-sources.pl_.c:183 #: ../rpmdrake.pm_.c:77 ../rpmdrake.pm_.c:97 ../rpmdrake.pm_.c:271 #: ../rpmdrake_.c:305 ../rpmdrake_.c:706 msgid "Ok" msgstr "ОK" #: ../edit-urpm-sources.pl_.c:127 ../edit-urpm-sources.pl_.c:175 #: ../edit-urpm-sources.pl_.c:183 ../edit-urpm-sources.pl_.c:202 #: ../rpmdrake.pm_.c:271 ../rpmdrake_.c:305 ../rpmdrake_.c:706 msgid "Cancel" msgstr "Поништи" #: ../edit-urpm-sources.pl_.c:144 msgid "Please wait, adding medium..." msgstr "Молим вас сачекајте, додајем медиј..." #: ../edit-urpm-sources.pl_.c:153 msgid "Please wait, removing medium..." msgstr "Молим Вас сачекајте, уклањам медиј..." #: ../edit-urpm-sources.pl_.c:168 #, c-format msgid "Editing source \"%s\":" msgstr "Уреѓијем извор \"%s\":" #: ../edit-urpm-sources.pl_.c:174 msgid "Save changes" msgstr "Сашувај измене" #: ../edit-urpm-sources.pl_.c:181 msgid "You need to insert the medium to continue" msgstr "" #: ../edit-urpm-sources.pl_.c:182 msgid "" "In order to save the changes, you need to insert the medium in the drive." msgstr "" #: ../edit-urpm-sources.pl_.c:187 msgid "Please wait, updating medium..." msgstr "Полим Вас сачекајте, ажурирам медиј..." #: ../edit-urpm-sources.pl_.c:194 msgid "Update source(s)" msgstr "Ажурирање Извора" #: ../edit-urpm-sources.pl_.c:197 msgid "Select the source(s) you wish to update:" msgstr "Изаберите које пакет(е) желите да ажурирате:" #: ../edit-urpm-sources.pl_.c:201 msgid "Update" msgstr "Aжурирaњe" #: ../edit-urpm-sources.pl_.c:209 msgid "Please wait, updating media..." msgstr "Молим Вас сачекајте, ажурирам медиј..." #: ../edit-urpm-sources.pl_.c:216 msgid "Configure sources" msgstr "Подешавање извора" #: ../edit-urpm-sources.pl_.c:217 msgid "Enabled?" msgstr "Омогуќи?" #: ../edit-urpm-sources.pl_.c:217 msgid "Source" msgstr "Извор" #: ../edit-urpm-sources.pl_.c:245 ../rpmdrake_.c:565 msgid "Remove" msgstr "Уклони" #: ../edit-urpm-sources.pl_.c:247 msgid "Edit" msgstr "Измени" #: ../edit-urpm-sources.pl_.c:249 msgid "Add..." msgstr "Додај..." #: ../edit-urpm-sources.pl_.c:251 msgid "Update..." msgstr "Ажурирај..." #: ../edit-urpm-sources.pl_.c:254 msgid "Save and quit" msgstr "Сачувај и Изаѓи" #: ../edit-urpm-sources.pl_.c:255 ../rpmdrake_.c:568 msgid "Quit" msgstr "Краj" #: ../edit-urpm-sources.pl_.c:265 ../rpmdrake_.c:792 #, c-format msgid "" "%s\n" "\n" "Is it ok to continue?" msgstr "" "%s\n" "\n" "Да ли је У реду да наставим?" #: ../edit-urpm-sources.pl_.c:268 msgid "" "Welcome to the packages source editor!\n" "\n" "This tool will help you configure the packages sources you wish to use on\n" "your computer. They will then be available to install new software package\n" "or to perform updates." msgstr "" "Добродошли у Едитор изворног кода у Пакетима!\n" "\n" "Овај алат вам може помоќи да подесите код у пакетима које желите да " "користите\n" "на вашем рачунару. Након тога ќе бити спреми за инсталацију као нови пакети\n" "или за ажурирање старих." #: ../rpmdrake.pm_.c:73 msgid "Yes" msgstr "Да" #: ../rpmdrake.pm_.c:75 msgid "No" msgstr "Не" #: ../rpmdrake.pm_.c:89 msgid "Info..." msgstr "" #: ../rpmdrake.pm_.c:139 msgid "Austria" msgstr "Аустрија" #: ../rpmdrake.pm_.c:140 msgid "Australia" msgstr "Аустралија" #: ../rpmdrake.pm_.c:141 msgid "Belgium" msgstr "Белгија" #: ../rpmdrake.pm_.c:142 msgid "Brazil" msgstr "Бразил" #: ../rpmdrake.pm_.c:143 msgid "Canada" msgstr "Канада" #: ../rpmdrake.pm_.c:144 msgid "Costa Rica" msgstr "Коста Рика" #: ../rpmdrake.pm_.c:145 msgid "Czech Republic" msgstr "Чешка" #: ../rpmdrake.pm_.c:146 msgid "Germany" msgstr "Немачка" #: ../rpmdrake.pm_.c:147 msgid "Danmark" msgstr "Данска" #: ../rpmdrake.pm_.c:148 ../rpmdrake.pm_.c:152 msgid "Greece" msgstr "Грчка" #: ../rpmdrake.pm_.c:149 msgid "Spain" msgstr "Шпанија" #: ../rpmdrake.pm_.c:150 msgid "Finland" msgstr "Финска" #: ../rpmdrake.pm_.c:151 msgid "France" msgstr "Француска" #: ../rpmdrake.pm_.c:153 msgid "Israel" msgstr "Израел" #: ../rpmdrake.pm_.c:154 msgid "Italy" msgstr "Италија" #: ../rpmdrake.pm_.c:155 msgid "Japan" msgstr "Јапан" #: ../rpmdrake.pm_.c:156 msgid "Korea" msgstr "Кореја" #: ../rpmdrake.pm_.c:157 msgid "Netherlands" msgstr "Холандија" #: ../rpmdrake.pm_.c:158 msgid "Norway" msgstr "Норвешка" #: ../rpmdrake.pm_.c:159 msgid "Poland" msgstr "Пољска" #: ../rpmdrake.pm_.c:160 msgid "Portugal" msgstr "Португал" #: ../rpmdrake.pm_.c:161 msgid "Russia" msgstr "Русија" #: ../rpmdrake.pm_.c:162 msgid "Sweden" msgstr "Шведска" #: ../rpmdrake.pm_.c:163 msgid "Taiwan" msgstr "Тајван" #: ../rpmdrake.pm_.c:164 msgid "United Kingdom" msgstr "Уједињено Краљевство" #: ../rpmdrake.pm_.c:165 msgid "China" msgstr "Кина" #: ../rpmdrake.pm_.c:166 ../rpmdrake.pm_.c:167 ../rpmdrake.pm_.c:168 #: ../rpmdrake.pm_.c:169 ../rpmdrake.pm_.c:221 msgid "United States" msgstr "Сједињене Америчке Државе" #: ../rpmdrake.pm_.c:229 msgid "" "I need to contact MandrakeSoft website to get the mirrors list.\n" "Please check that your network is currently running.\n" "\n" "Is it ok to continue?" msgstr "" "Желим да посетим MandrakeSoft веб сајт да би добавио листу мирора.\n" "Проверите да ли је ваша конекција фукционална.\n" "\n" "Да ли је У реду да наставим?" #: ../rpmdrake.pm_.c:233 msgid "Please wait, downloading mirrors addresses from MandrakeSoft website." msgstr "" "Молим Вас сачекајте, скидам листу мирор адреса са MandrakeSoft веб сајтаe." #: ../rpmdrake.pm_.c:239 msgid "Error during download" msgstr "Грешка током download-а" #: ../rpmdrake.pm_.c:240 #, c-format msgid "" "There was an error downloading the mirrors list:\n" "\n" "%s\n" "The network, or MandrakeSoft website, are maybe unavailable.\n" "Please try again later." msgstr "" "Појавила се грешка током download-а листе мирор сајтова:\n" "\n" "%s\n" "Интернет, или MandrakeSoft-ов веб сајт можда нису тренутно доступни.\n" "Покушајте касније поново." #: ../rpmdrake.pm_.c:248 msgid "No mirror" msgstr "Нема мирора" #: ../rpmdrake.pm_.c:249 msgid "" "I can't find any suitable mirror.\n" "\n" "There can be many reasons for this problem; the most frequent is\n" "the case when the architecture of your processor is not supported\n" "by Mandrake Linux Official Updates." msgstr "" "Не могу да пронаѓем ниједан одговарајуѓи мирор.\n" "\n" "Може постојати неколико разлога за овај проблем; најчешќи је\n" "случај да архитектура вашег процесора није подржана\n" "од стране Mandrake Linux Official Updates." #: ../rpmdrake.pm_.c:263 msgid "Please choose the desired mirror." msgstr "Изаберите мирор сајт по жељи." #: ../rpmdrake_.c:94 msgid "Other" msgstr "" #: ../rpmdrake_.c:122 msgid "(Non available)" msgstr "(Није доступно)" #: ../rpmdrake_.c:129 ../rpmdrake_.c:182 msgid "Search results" msgstr "Резултати претрагe" #: ../rpmdrake_.c:129 msgid "Search results (none)" msgstr "Резултат претрагe (нема)" #: ../rpmdrake_.c:144 msgid "Please wait, searching..." msgstr "Молим Вас сачекајте,тражим..." #: ../rpmdrake_.c:147 msgid "Stop" msgstr "Стоп" #: ../rpmdrake_.c:215 msgid "More information on package..." msgstr "" #: ../rpmdrake_.c:217 msgid "One of the following packages is needed:" msgstr "Један од следеќих пакета је неопходан:" #: ../rpmdrake_.c:217 msgid "Please choose" msgstr "Изаберите" #: ../rpmdrake_.c:233 msgid "unknown package " msgstr "непознати пакет " #: ../rpmdrake_.c:243 msgid "Please wait, listing packages..." msgstr "Молим Вас сaчекаjте, приказујем пакете..." #: ../rpmdrake_.c:257 msgid "(none)" msgstr "(ниjедан)" #: ../rpmdrake_.c:259 msgid "No update" msgstr "Без ажурирaња" #: ../rpmdrake_.c:260 msgid "" "The list of updates is void. This means that either there is\n" "no available update for the packages installed on your computer,\n" "or you already installed all of them." msgstr "" "Листа пакета за ажурирање није креирана. Ово или значи или да нема " "доступних\n" "пакета за ажурирање за ваш рачунар,\n" "или су они веќ инсталирани." #: ../rpmdrake_.c:278 msgid "Addable" msgstr "Могу се додати" #: ../rpmdrake_.c:278 msgid "Upgradable" msgstr "Могу се ажурирати" #: ../rpmdrake_.c:311 msgid "Some additional packages need to be removed" msgstr "Још неки пакети морају бити уклоњени" #: ../rpmdrake_.c:312 msgid "" "Because of their dependencies, the following package(s) also need to be\n" "removed:\n" "\n" msgstr "" "Да би задовољили све зависности,следеќи пакет(и) такоѓе\n" "треба да буду уклоњени:\n" "\n" #: ../rpmdrake_.c:318 msgid "Some packages can't be removed" msgstr "Неки пакети се не могу уклонити" #: ../rpmdrake_.c:319 ../rpmdrake_.c:377 msgid "" "Because of their dependencies, the following package(s) must be\n" "unselected now:\n" "\n" msgstr "" "Због меѓузависности, следеќи пакет(и) морају\n" "сада да се деселектују:\n" "\n" #: ../rpmdrake_.c:347 msgid "Additional packages needed" msgstr "Потребни су додатни пакети" #: ../rpmdrake_.c:348 msgid "" "To satisfy dependencies, the following package(s) also need\n" "to be installed:\n" "\n" msgstr "" "Да би задовољили меѓузависности, следеќи пакет(и) такоѓе треба\n" "да буду инсталирани:\n" "\n" #: ../rpmdrake_.c:361 msgid "Some packages can't be installed" msgstr "Неки пакети не могу бити инсталирани" #: ../rpmdrake_.c:362 msgid "" "Sorry, the following package(s) can't be selected:\n" "\n" msgstr "" "Жалим, али следеќи пакет(и) не могу да буду селектовани:\n" "\n" #: ../rpmdrake_.c:376 ../rpmdrake_.c:528 msgid "Some packages need to be removed" msgstr "Неки пакети морају да буду уклоњени" #: ../rpmdrake_.c:398 #, c-format msgid "Selected: %d MB / Free disk space: %d MB" msgstr "Селектовано: %d MB / Слободни простор на диску: %d MB" #: ../rpmdrake_.c:400 #, c-format msgid "Selected size: %d MB" msgstr "Величина селектованог: %d MB" #: ../rpmdrake_.c:408 #, c-format msgid "" "Name: %s\n" "Version: %s\n" "Size: %s KB\n" "Importance: %s\n" "\n" "Summary: %s\n" "\n" "%s\n" msgstr "" "Име: %s\n" "Верзија: %s\n" "Величина: %s KB\n" "Важност: %s\n" "\n" "Сажетак: %s\n" "\n" "%s\n" #: ../rpmdrake_.c:412 #, c-format msgid "" "Name: %s\n" "Version: %s\n" "Size: %s KB\n" "\n" "Summary: %s\n" "\n" "%s\n" msgstr "" "Име: %s\n" "Верзија: %s\n" "Величина: %s KB\n" "\n" "Сажетак: %s\n" "\n" "%s\n" #: ../rpmdrake_.c:444 msgid "Bugfixes updates" msgstr "Пакети са исправњеним грешкама за ажурирaњe" #: ../rpmdrake_.c:444 msgid "Normal updates" msgstr "Нормално ажурирање" #: ../rpmdrake_.c:463 msgid "Mandrake choices" msgstr "Mandrake Избор" #: ../rpmdrake_.c:464 msgid "All packages, alphabetical" msgstr "Сви пакети, по абецеди" #: ../rpmdrake_.c:465 msgid "All packages," msgstr "Сви пакети," #: ../rpmdrake_.c:488 msgid "by group" msgstr "по групи" #: ../rpmdrake_.c:488 msgid "by size" msgstr "по величини" #: ../rpmdrake_.c:489 msgid "by selection state" msgstr "по стању селекције" #: ../rpmdrake_.c:490 msgid "by source repository" msgstr "по стању изворног кода" #: ../rpmdrake_.c:490 msgid "by update availability" msgstr "по доступности" #: ../rpmdrake_.c:511 msgid "in descriptions" msgstr "у описима" #: ../rpmdrake_.c:511 msgid "in names" msgstr "у именима" #: ../rpmdrake_.c:512 msgid "in files" msgstr "у фајловима" #: ../rpmdrake_.c:529 #, c-format msgid "" "The following packages have to be removed for others to be upgraded:\n" "\n" "%s\n" "\n" "Is it ok to continue?" msgstr "" "Следеќи пакети треба да буду уклоњени да би се други инсталирали:\n" "\n" "%s\n" "\n" "да ли је У реду да наставим?" #: ../rpmdrake_.c:549 msgid "Find:" msgstr "Пронaђи: " #: ../rpmdrake_.c:554 msgid "Search" msgstr "Тражи" #: ../rpmdrake_.c:566 msgid "Install" msgstr "Инсталираj" #: ../rpmdrake_.c:577 msgid "-adobe-times-bold-r-normal--25-*-100-100-p-*-iso8859-*,*-r-*" msgstr "-adobe-times-bold-r-normal--25-*-100-100-p-*-iso8859-*,*-r-*" #: ../rpmdrake_.c:578 msgid "Mandrake Update" msgstr "Mandrake Update" #: ../rpmdrake_.c:578 msgid "Software Packages Removal" msgstr "Уклањање Софтверских Пакета" #: ../rpmdrake_.c:579 msgid "Software Packages Installation" msgstr "Инсталација Софтверских Пакета" #: ../rpmdrake_.c:611 msgid "" "I need to contact the mirror to get latest update packages.\n" "Please check that your network is currently running.\n" "\n" "Is it ok to continue?" msgstr "" "Ја желим да посетим мирор ради добављања најновијих верзија пакета.\n" "Проверите да ли је ваша конекција функционална и успостављена.\n" "\n" "Да ли је У реду да наставим?" #: ../rpmdrake_.c:615 msgid "Please wait, contacting mirror to update packages information." msgstr "" "Молим Вас сачекајте, успостављам везу са мирор сајтом ради информације о " "ажурираним пакетима." #: ../rpmdrake_.c:617 msgid "Error updating medium" msgstr "Грешка при ажурирању медија" #: ../rpmdrake_.c:618 msgid "There was an unrecoverable error while updating packages information." msgstr "" "Појавила са непоправљива грешка током ажурирања информација о пакетима." #: ../rpmdrake_.c:624 msgid "How to choose manually your mirror" msgstr "Како ручно изабрати свој мирор сајт" #: ../rpmdrake_.c:625 msgid "" "You may also choose your desired mirror manually: to do so,\n" "launch the Software Sources Manager, and then add a `Security\n" "updates' source.\n" "\n" "Then, restart MandrakeUpdate." msgstr "" "Можете изабрати жељени мирор сајт и ручно: да би то урадили,\n" "покрените Менаџер Софтвера, а затим додајте `Security\n" "updates' извор.\n" "\n" "Затим, рестарујте MandrakeUpdate." #: ../rpmdrake_.c:631 msgid "Please wait, contacting mirror to initialize updates packages." msgstr "" "Милм Вас сачекајте, комтактирам мирор сајт ради иницирања ажурирања пакета." #: ../rpmdrake_.c:635 msgid "Error adding update medium" msgstr "Грешка приликом додавања пакета" #: ../rpmdrake_.c:636 #, c-format msgid "" "There was an error while adding the update medium via urpmi.\n" "\n" "This may be due to a broken or temporary unavailable mirror, or when your\n" "Mandrake Linux version (%s) is not yet / no more supported by Mandrake " "Linux\n" "Official Updates.\n" "\n" "Do you want to try another mirror?" msgstr "" "Појавила се грешка током покушаја да се ажурира медиј преко urpmi.\n" "\n" "Ово је уследило можда услед прекида или тренутне недоступности мирора, или " "ваша\n" "Mandrake Linux верзија (%s) још није / није више подржаана од стране " "Mandrake Linux\n" "Official Updates.\n" "\n" "Да ли желите да пробате са другим мирором?" #: ../rpmdrake_.c:665 msgid "Please wait, finding available packages..." msgstr "Милим Вас сачекајте, проналазим доступне пакете..." #: ../rpmdrake_.c:696 msgid "Unable to get source packages." msgstr "Не могу да добавим изворне пакете." #: ../rpmdrake_.c:697 msgid "Unable to get source packages, sorry." msgstr "Не могу да добавим изворне пакете, жао ми је." #: ../rpmdrake_.c:704 msgid "Change medium" msgstr "Промени медиј" #: ../rpmdrake_.c:705 #, c-format msgid "Please insert the medium named \"%s\" on device [%s]" msgstr "Убаците медиј са именом \"%s\" у уреѓај [%s]" #: ../rpmdrake_.c:713 msgid "Installation failed" msgstr "Инсталација неуспела" #: ../rpmdrake_.c:714 msgid "" "Installation failed, some files are missing.\n" "You may want to update your sources database." msgstr "" "Инсталација неуспела, неки фајлови недостају.\n" "Можда би требало да ажурирате вашу базу пакета." #: ../rpmdrake_.c:717 msgid "Please wait, removing packages to allow others to be upgraded..." msgstr "" "Молим Вас сачекајте, уклањам пакете да би омогуќио ажурирање осталих..." #: ../rpmdrake_.c:726 msgid "Program missing" msgstr "Програм недостаје" #: ../rpmdrake_.c:727 msgid "A required program is missing (grpmi). Check your installation." msgstr "Недостаје потребни програм (grpmi). Проверите своју инсталацију." #: ../rpmdrake_.c:730 msgid "All requested packages were installed successfully." msgstr "" #: ../rpmdrake_.c:730 msgid "Everything installed successfully" msgstr "" #: ../rpmdrake_.c:732 msgid "Everything already installed." msgstr "Све је веќ инсталирано." #: ../rpmdrake_.c:733 msgid "Everything already installed (is this supposed to happen at all?)." msgstr "Све је веќ инсталирано (да ли је ово уопште требало да се догоди?)." #: ../rpmdrake_.c:743 msgid "Please wait, reading packages database..." msgstr "Молим вас сачекајте, учитавам базу података о пакетима..." #: ../rpmdrake_.c:781 msgid "Please wait, removing packages..." msgstr "Молим Вас сачекајте, уклањам пакете..." #: ../rpmdrake_.c:796 msgid "" "Welcome to the software removal tool!\n" "\n" "This tool will help you choose which software you want to remove from\n" "your computer." msgstr "" "Добродошли у програм за деинсталацију сотвера!\n" "\n" "Овај алат вам може помоќи да изаберете који софтвер желите да уклоните са\n" "вашег рачунара." #: ../rpmdrake_.c:801 msgid "" "Welcome to MandrakeUpdate!\n" "\n" "This tool will help you choose the updates you want to install on your\n" "computer." msgstr "" "Добродошли у MandrakeUpdate!\n" "\n" "Овај алат вам може помоќи да изабете нове верзије пакета које желите да " "инсталирате на\n" "ваш рачунар." #: ../rpmdrake_.c:806 msgid "" "Welcome to the software installation tool!\n" "\n" "Your Mandrake Linux system comes with several thousands of software\n" "packages on CDROM or DVD. This tool will help you choose which software\n" "you want to install on your computer." msgstr "" "Добродошли у програм за инсталацију софтвера!\n" "\n" "Your Mandrake Linux system comes with several thousands of package services; # $Id$ #-###################################################################################### #- misc imports #-###################################################################################### use strict; use common; use run_program; use common; use run_program; sub description { my %services = ( alsa => N_("Launch the ALSA (Advanced Linux Sound Architecture) sound system"), anacron => N_("Anacron is a periodic command scheduler."), apmd => N_("apmd is used for monitoring battery status and logging it via syslog. It can also be used for shutting down the machine when the battery is low."), atd => N_("Runs commands scheduled by the at command at the time specified when at was run, and runs batch commands when the load average is low enough."), crond => N_("cron is a standard UNIX program that runs user-specified programs at periodic scheduled times. vixie cron adds a number of features to the basic UNIX cron, including better security and more powerful configuration options."), cups => N_("Common UNIX Printing System (CUPS) is an advanced printer spooling system"), dm => N_("Launches the graphical display manager"), fam => N_("FAM is a file monitoring daemon. It is used to get reports when files change. It is used by GNOME and KDE"), gpm => N_("GPM adds mouse support to text-based Linux applications such the Midnight Commander. It also allows mouse-based console cut-and-paste operations, and includes support for pop-up menus on the console."), haldaemon => N_("HAL is a daemon that collects and maintains information about hardware"), harddrake => N_("HardDrake runs a hardware probe, and optionally configures new/changed hardware."), httpd => N_("Apache is a World Wide Web server. It is used to serve HTML files and CGI."), inet => N_("The internet superserver daemon (commonly called inetd) starts a variety of other internet services as needed. It is responsible for starting many services, including telnet, ftp, rsh, and rlogin. Disabling inetd disables all of the services it is responsible for."), ipchains => N_("Launch packet filtering for Linux kernel 2.2 series, to set up a firewall to protect your machine from network attacks."), keytable => N_("This package loads the selected keyboard map as set in /etc/sysconfig/keyboard. This can be selected using the kbdconfig utility. You should leave this enabled for most machines."), kheader => N_("Automatic regeneration of kernel header in /boot for /usr/include/linux/{autoconf,version}.h"), kudzu => N_("Automatic detection and configuration of hardware at boot."), linuxconf => N_("Linuxconf will sometimes arrange to perform various tasks at boot-time to maintain the system configuration."), lpd => N_("lpd is the print daemon required for lpr to work properly. It is basically a server that arbitrates print jobs to printer(s)."), lvs => N_("Linux Virtual Server, used to build a high-performance and highly available server."), messagebus => N_("DBUS is a daemon which broadcasts notifications of system events and other messages"), named => N_("named (BIND) is a Domain Name Server (DNS) that is used to resolve host names to IP addresses."), netfs => N_("Mounts and unmounts all Network File System (NFS), SMB (Lan Manager/Windows), and NCP (NetWare) mount points."), network => N_("Activates/Deactivates all network interfaces configured to start at boot time."), nfs => N_("NFS is a popular protocol for file sharing across TCP/IP networks. This service provides NFS server functionality, which is configured via the /etc/exports file."), nfslock => N_("NFS is a popular protocol for file sharing across TCP/IP networks. This service provides NFS file locking functionality."), ntpd => N_("Synchronizes system time using the Network Time Protocol (NTP)"), numlock => N_("Automatically switch on numlock key locker under console and Xorg at boot."), oki4daemon => N_("Support the OKI 4w and compatible winprinters."), pcmcia => N_("PCMCIA support is usually to support things like ethernet and modems in laptops. It will not get started unless configured so it is safe to have it installed on machines that do not need it."), portmap => N_("The portmapper manages RPC connections, which are used by protocols such as NFS and NIS. The portmap server must be running on machines which act as servers for protocols which make use of the RPC mechanism."), postfix => N_("Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another."), random => N_("Saves and restores system entropy pool for higher quality random number generation."), rawdevices => N_("Assign raw devices to block devices (such as hard drive partitions), for the use of applications such as Oracle or DVD players"), routed => N_("The routed daemon allows for automatic IP router table updated via the RIP protocol. While RIP is widely used on small networks, more complex routing protocols are needed for complex networks."), rstatd => N_("The rstat protocol allows users on a network to retrieve performance metrics for any machine on that network."), rusersd => N_("The rusers protocol allows users on a network to identify who is logged in on other responding machines."), rwhod => N_("The rwho protocol lets remote users get a list of all of the users logged into a machine running the rwho daemon (similar to finger)."), saned => N_("SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..."), smb => N_("The SMB/CIFS protocol enables to share access to files & printers and also integrates with a Windows Server domain"), sound => N_("Launch the sound system on your machine"), sshd => N_("Secure Shell is a network protocol that allows data to be exchanged over a secure channel between two computers"), syslog => N_("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 syslog."), usb => N_("Load the drivers for your usb devices."), xfs => N_("Starts the X Font Server."), xinetd => N_("Starts other deamons on demand."), ); my ($name) = @_; my $s = $services{$name}; if ($s) { $s = translate($s); } else { my $file = find { -e $_ } map { "$::prefix$_/$name" } '/etc/rc.d/init.d', '/etc/init.d', '/etc/xinetd.d'; $s = cat_($file); $s =~ s/\\\s*\n#\s*//mg; $s = $s =~ /^#\s+(?:Short-)?[dD]escription:\s+(.*?)^(?:[^#]|# {0,2}\S)/sm ? $1 : $s =~ /^#\s*(.*?)^[^#]/sm ? $1 : ''; $s =~ s/#\s*//mg; } $s =~ s/\n/ /gm; $s =~ s/\s+$//; $s; } sub ask_ { my ($in) = @_; my %root_services = ( N("Printing") => [ qw(cups cupslpd lpr lpd oki4daemon hpoj cups-lpd) ], N("Internet") => [ qw(httpd boa tux roxen ftp pftp tftp proftpd wu-ftpd pure-ftpdipsec proftpd-xinetd ipchains iptables ipvsadm isdn4linux ibod jabber jabber-icq adsl squid portsentry prelude nessusd junkbuster radvd cddbp ippl iptoip jail.init) ], N("File sharing") => [ qw(nfs nfslock smb nettalk netfs mcserv autofs amd venus.init auth2.init codasrv.init update.init swat) ], N("System") => [ qw(usb usbd pcmcia irda xinetd inetd kudzu harddrake apmd sound network xfs alsa functions halt kheader killall mandrake_everytime mandrake_firstime random rawdevices single keytable syslog crond medusa-init portmap acon anacron atd gpm psacct wine acpid numlock jserver sensors mosix bpowerd bpowerfail fcron powertweak.init ups syslog-ng cvs apcupsd) ], N("Remote Administration") => [ qw(sshd telnetd telnet rsh rlogin rexec webmin cfd heartbeat ldirectord iplog mon vncserver netsaint olympusd drakxtools_http) ], # N("Network Client") => [ qw(ypbind nscd arpwatch fetchmail dnrd_rc diald rsync) ], # N("Network Server") => [ qw(named bootparamd ntpd xntpd chronyd postfix sendmail # imap imaps ipop2 ipop3 pop3s routed yppasswdd ypserv ldap dhcpd dhcrelay # hylafax innd identd rstatd rusersd rwalld rwhod gated # kadmin kprop krb524 krb5kdc krb5server hldsld bayonne sockd dhsd gnu-pop3d # gdips pptpd.conf vrrpd crossfire bnetd pvmd ircd sympa finger ntalk talk) ], N("Database Server") => [ qw(mysql postgresql) ], ); my %services_root; foreach my $root (keys %root_services) { $services_root{$_} = $root foreach @{$root_services{$root}}; } my ($l, $on_services) = services(); my %services; $services{$_} = 0 foreach @{$l || []}; $services{$_} = 1 foreach @{$on_services || []}; $in->ask_browse_tree_info(N("Services"), N("Choose which services should be automatically started at boot time"), { node_state => sub { $services{$_[0]} ? 'selected' : 'unselected' }, build_tree => sub { my ($add_node, $flat) = @_; $add_node->($_, !$flat && ($services_root{$_} || N("Other"))) foreach sort keys %services; }, grep_unselected => sub { grep { !$services{$_} } @_ }, toggle_nodes => sub { my ($set_state, @nodes) = @_; my $new_state = !$services{$nodes[0]}; foreach (@nodes) { $set_state->($_, $new_state ? 'selected' : 'unselected'); $services{$_} = $new_state; } }, get_status => sub { N("Services: %d activated for %d registered", scalar(grep { $_ } values %services), scalar(values %services)); }, get_info => sub { formatLines(description($_[0])) }, interactive_help_id => 'configureServices', }) or return $l, $on_services; #- no change on cancel. [ grep { $services{$_} } @$l ]; } sub ask_standalone_gtk { my ($_in) = @_; my ($l, $on_services) = services(); my @xinetd_services = map { $_->[0] } @{(services_raw())[1]}; require ugtk2; ugtk2->import(qw(:wrappers :create)); my $W = ugtk2->new(N("Services")); my ($x, $y, $w_popup); my $nopop = sub { $w_popup and $w_popup->destroy; undef $w_popup }; my $display = sub { my ($text) = @_; $nopop->(); gtkshow(gtkadd($w_popup = Gtk2::Window->new('popup'), gtksignal_connect(gtkadd(Gtk2::EventBox->new, gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'etched_out'), gtkset_justify(Gtk2::Label->new($text), 'left'))), button_press_event => sub { $nopop->() } )))->move($x, $y) if $text; }; my $update_service = sub { my ($service, $label) = @_; my $started = -e "/var/lock/subsys/$service"; $label->set_label($started ? N("running") : N("stopped")); }; my $b = Gtk2::EventBox->new; $b->set_events('pointer_motion_mask'); gtkadd($W->{window}, gtkadd($b, gtkpack_($W->create_box_with_title, 0, mygtk2::gtknew('Title1', label => N("Services and daemons")), 1, gtkset_size_request(create_scrolled_window(create_packtable({ col_spacings => 10, row_spacings => 3 }, map { my $service = $_; my $is_xinetd_service = member($service, @xinetd_services); my $infos = warp_text(description($_), 40); $infos ||= N("No additional information\nabout this service, sorry."); my $label = gtkset_justify(Gtk2::Label->new, 'left'); $update_service->($service, $label) if !$is_xinetd_service; [ gtkpack__(Gtk2::HBox->new(0,0), $_), gtkpack__(Gtk2::HBox->new(0,0), $label), gtkpack__(Gtk2::HBox->new(0,0), gtksignal_connect(Gtk2::Button->new(N("Info")), clicked => sub { $display->($infos) })), gtkpack__(Gtk2::HBox->new(0,0), gtkset_active(gtksignal_connect( Gtk2::CheckButton->new($is_xinetd_service ? N("Start when requested") : N("On boot")), clicked => sub { if ($_[0]->get_active) { push @$on_services, $service if !member($service, @$on_services); } else { @$on_services = grep { $_ ne $service } @$on_services; } }), member($service, @$on_services))), map { my $a = $_; gtkpack__(Gtk2::HBox->new(0,0), gtksignal_connect(Gtk2::Button->new(translate($a)), clicked => sub { my $action = $a eq "Start" ? 'restart' : 'stop'; log::explanations(qq(GP_LANG="UTF-8" service $service $action)); # as we need the output in UTF-8, force it local $_ = `GP_LANG="UTF-8" service $service $action 2>&1`; s/\033\[[^mG]*[mG]//g; c::set_tagged_utf8($_); $update_service->($service, $label); $display->($_); })) if !$is_xinetd_service; } (N_("Start"), N_("Stop")) ]; } @$l), [ $::isEmbedded ? 'automatic' : 'never', 'automatic' ]), -1, $::isEmbedded ? -1 : 400), 0, gtkpack(gtkset_border_width(Gtk2::HBox->new(0,0),5), $W->create_okcancel) )) ); $b->signal_connect(motion_notify_event => sub { my ($w, $e) = @_; my ($ox, $oy) = $w->window->get_origin; $x = $e->x+$ox; $y = $e->y+$oy }); $b->signal_connect(button_press_event => sub { $nopop->() }); $::isEmbedded and gtkflush(); $W->main or return; $on_services; } sub ask { my ($in) = @_; !$::isInstall && $in->isa('interactive::gtk') ? &ask_standalone_gtk : &ask_; } sub _set_service { my ($service, $enable) = @_; my $script = "/etc/rc.d/init.d/$service"; run_program::rooted($::prefix, "chkconfig", $enable ? "--add" : "--del", $service); #- FIXME: handle services with no chkconfig line and with no Default-Start levels in LSB header if ($enable && cat_("$::prefix$script") =~ /^#\s+chkconfig:\s+-/m) { run_program::rooted($::prefix, "chkconfig", "--level", "35", $service, "on"); } } sub _run_action { my ($service, $action) = @_; run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", $action); } sub doit { my ($in, $on_services) = @_; my ($l, $was_on_services) = services(); foreach (@$l) { my $before = member($_, @$was_on_services); my $after = member($_, @$on_services); if ($before != $after) { _set_service($_, $after); if (!$after && !$::isInstall && !$in->isa('interactive::gtk')) { #- only done after install AND when not using the gtk frontend (since it allows one to start/stop services) #- this allows to skip stopping service "dm" _run_action($_, "stop"); } } } } sub services_raw() { local $ENV{LANGUAGE} = 'C'; my (@services, @xinetd_services); foreach (run_program::rooted_get_stdout($::prefix, '/sbin/chkconfig', '--list')) { if (my ($xinetd_name, $on_off) = m!^\t(\S+):\s*(on|off)!) { push @xinetd_services, [ $xinetd_name, $on_off eq 'on' ]; } elsif (my ($name, $l) = m!^(\S+)\s+(0:(on|off).*)!) { push @services, [ $name, [ $l =~ /(\d+):on/g ] ]; } } \@services, \@xinetd_services; } #- returns: #--- the listref of installed services #--- the listref of "on" services sub services() { my ($services, $xinetd_services) = services_raw(); my @l = @$xinetd_services; if ($::isInstall) { push @l, map { [ $_->[0], @{$_->[1]} > 0 ] } @$services; } else { my $runlevel = (split " ", `/sbin/runlevel`)[1]; push @l, map { [ $_->[0], member($runlevel, @{$_->[1]}) ] } @$services; } @l = sort { $a->[0] cmp $b->[0] } @l; [ map { $_->[0] } @l ], [ map { $_->[0] } grep { $_->[1] } @l ]; } sub service_exists { my ($service) = @_; -x "$::prefix/etc/rc.d/init.d/$service"; } sub restart ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; _run_action($service, "restart"); } sub restart_or_start ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; _run_action($service, is_service_running($service) ? "restart" : "start"); } sub start ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; _run_action($service, "start"); } sub start_not_running_service ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; is_service_running($service) || _run_action($service, "start"); } sub stop ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; _run_action($service, "stop"); } sub is_service_running ($) { my ($service) = @_; # Exit silently if the service is not installed service_exists($service) or return 1; run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", '>', '/dev/null', '2>', '/dev/null', "status"); } sub starts_on_boot { my ($service) = @_; my (undef, $on_services) = services(); member($service, @$on_services); } sub start_service_on_boot ($) { my ($service) = @_; _set_service($service, 1); } sub do_not_start_service_on_boot ($) { my ($service) = @_; _set_service($service, 0); } sub enable { my ($service, $o_dont_apply) = @_; start_service_on_boot($service); restart_or_start($service) unless $o_dont_apply; } sub disable { my ($service, $o_dont_apply) = @_; do_not_start_service_on_boot($service); stop($service) unless $o_dont_apply; } sub set_status { my ($service, $enable, $o_dont_apply) = @_; if ($enable) { enable($service, $o_dont_apply); } else { disable($service, $o_dont_apply); } } 1;