# translation of pl.po to Polish
# Piotr Drąg <raven@pmail.pl>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-12-11 22:36+0100\n"
"PO-Revision-Date: 2007-06-19 23:33+0200\n"
"Last-Translator: Piotr Drąg <raven@pmail.pl>, Bartosz Nowicki "
"<barteqpl@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: powertop.c:251 powertop.c:254
#, c-format
msgid "    <interrupt> : %s"
msgstr ""

#: powertop.c:1010
msgid "    <interrupt> : extra timer interrupt"
msgstr ""

#: powertop.c:249
#, c-format
msgid "   <kernel IPI> : %s"
msgstr ""

#: powertop.c:765
#, c-format
msgid ""
"  -d, --dump            read wakeups once and print list of top offenders\n"
msgstr ""

#: powertop.c:767
#, c-format
msgid "  -h, --help            Show this help message\n"
msgstr ""

#: powertop.c:766
#, c-format
msgid "  -t, --time=DOUBLE     default time to gather data in seconds\n"
msgstr ""

#: powertop.c:768
#, c-format
msgid "  -v, --version         Show version information and exit\n"
msgstr ""

#: misctips.c:174
msgid " A - Turn AC97 powersave on "
msgstr " A - włącz oszczędzanie energii AC97 "

#: bluetooth.c:146
msgid " B - Turn Bluetooth off "
msgstr " B - wyłącz Bluetooth "

#: misctips.c:266
msgid " C - Power aware CPU scheduler "
msgstr " C - planista CPU zajmujący się zasilaniem "

#: wireless.c:322
msgid " I - disable WIFI Radio "
msgstr " I - wyłącz zasilanie WiFi "

#: process.c:84
#, c-format
msgid " K - kill %s "
msgstr " K - zabij %s "

#: misctips.c:80
msgid " L - enable Laptop mode "
msgstr " L - włącz tryb laptopa "

#: misctips.c:111
msgid " N - Turn NMI watchdog off "
msgstr " N - wyłącz NMI watchdog "

#: cpufreq.c:118
msgid " O - enable Ondemand governor "
msgstr " O - włącz zarządcę ondemand "

#: display.c:108
msgid " Q - Quit "
msgstr " Q - Zakończ "

#: display.c:109
msgid " R - Refresh "
msgstr " R - Odśwież "

#: sata.c:104
msgid " S - SATA Link Power Management "
msgstr " S - zarządzanie zasilaniem magistrali SATA "

#: misctips.c:203
msgid " T - enable noatime "
msgstr " T - włącz noatime "

#: urbnum.c:212 usb.c:121
msgid " U - Enable USB suspend "
msgstr ""

#: xrandr.c:78
msgid " V - Disable TV out "
msgstr " V - Wyłącz wyjście TV "

#: wireless.c:311 wireless.c:317
msgid " W - Enable wireless power saving "
msgstr " W - Włącz oszczędzanie energii WiFi "

#: misctips.c:301
msgid " W - Increase Writeback time "
msgstr ""

#: ethernet.c:131
msgid " W - disable Wake-On-Lan "
msgstr " W - wyłącz Wake-On-Lan "

#: cpufreqstats.c:80
#, c-format
msgid "%6.2f Ghz"
msgstr "%6.2f GHz"

#: cpufreqstats.c:77
#, c-format
msgid "%6lli Mhz"
msgstr "%6lli MHz"

#: cpufreqstats.c:74
#, c-format
msgid "%9lli"
msgstr "%9lli"

#: powertop.c:921
#, fuzzy, c-format
msgid "%s\t%5.1fms (%4.1f%%)\n"
msgstr "C%i\t\t%5.1fms (%4.1f%%)\n"

#: display.c:205
#, c-format
msgid "(long term: %3.1fW,/%3.1fh)"
msgstr "(długoterminowo: %3.1fW,/%3.1fh)"

#: display.c:301
msgid "(which is CONFIG_DEBUG_KERNEL=y in the config file)\n"
msgstr "(czy jest CONFIG_DEBUG_KERNEL=y w pliku konfiguracji)\n"

#: powertop.c:898
#, fuzzy, c-format
msgid "< Detailed C-state information is not available.>\n"
msgstr ""
"< Szczegółowe informacje o stanie C są dostępne tylko na mobilnych CPU "
"(laptopach) >\n"

#: powertop.c:978
msgid "<kernel core>"
msgstr ""

#: powertop.c:974 powertop.c:976
msgid "<kernel module>"
msgstr ""

#: urbnum.c:207
#, c-format
msgid ""
"A USB device is active %4.1f%% of the time:\n"
"%s"
msgstr ""

#: urbnum.c:176
msgid "Active  Device name"
msgstr ""

#: powertop.c:907
#, c-format
msgid "C0 (cpu running)        (%4.1f%%)\n"
msgstr "C0 (CPU aktywny)        (%4.1f%%)\n"

#: powertop.c:904
#, c-format
msgid "Cn\t          Avg residency\n"
msgstr ""

#: powertop.c:842
#, c-format
msgid "Collecting data for %i seconds \n"
msgstr "Zbieranie danych przez %i sekund \n"

#: ethernet.c:128
msgid ""
"Disable Ethernet Wake-On-Lan with the following command:\n"
"  ethtool -s eth0 wol d \n"
"Wake-on-Lan keeps the phy active, this costs power."
msgstr ""
"Wyłącz funkcję Wake-On-Lan za pomocą poniższego polecenia:\n"
"  ethtool -s eth0 wol d \n"
"Wake-on-Lan utrzymuje aktywne zasilanie, co powoduje stratę energii"

#: powertop.c:1125
msgid ""
"Disable the SE-Alert software by removing the 'setroubleshoot-server' rpm\n"
"SE-Alert alerts you about SELinux policy violations, but also\n"
"has a bug that wakes it up 10 times per second."
msgstr ""
"Wyłącz oprogramowanie SE-Alert usuwając pakiet \"setroubleshoot-server\"\n"
"SE-Alert powiadamia o naruszeniach polityki SELinuksa, ale ma\n"
"błąd, który powoduje jego budzenie 10 razy na sekundę."

#: display.c:304
msgid ""
"No detailed statistics available; PowerTOP needs root privileges for that\n"
msgstr ""
"Szczegółowe statystki są niedostępne; PowerTOP wymaga do tego uprawnień "
"roota\n"

#: display.c:299
msgid ""
"No detailed statistics available; please enable the CONFIG_TIMER_STATS "
"kernel option\n"
msgstr ""
"Szczegółowe statystki są niedostępne; włącz opcję jądra CONFIG_TIMER_STATS\n"

#: display.c:302
msgid "Note: this is only available in 2.6.21 and later kernels\n"
msgstr "Uwaga: ta opcja jest dostępna wyłącznie w jądrze 2.6.21 i nowszych\n"

#: cpufreqstats.c:101
#, fuzzy, c-format
msgid "P-states (frequencies)\n"
msgstr "Cn\t    Średnie użycie (%is)\t\tStany-P (częstotliwości)\n"

#: powertop.c:170 powertop.c:254
msgid "PS/2 keyboard/mouse/touchpad"
msgstr ""

#: display.c:208
#, c-format
msgid "Power usage (5 minute ACPI estimate) : %5.1f W (%3.1f hours left)"
msgstr ""
"Użycie zasilania (średnia ACPI z 5 minut): %5.1f W (pozostało %3.1f godzin)"

#: display.c:201
#, c-format
msgid "Power usage (ACPI estimate): %3.1fW (%3.1f hours)"
msgstr "Użycie zasilania (szacunek ACPI): %3.1fW (%3.1f godzin)"

#: display.c:238
#, fuzzy, c-format
msgid "Power usage: %3.1fW (%3.1f hours)"
msgstr "Użycie zasilania (szacunek ACPI): %3.1fW (%3.1f godzin)"

#: powertop.c:841
#, c-format
msgid "PowerTOP needs to be run as root to collect enough information\n"
msgstr ""
"PowerTOP wymaga uruchomienia jako root, aby zebrać wystarczającą \n"
"ilość informacji\n"

#: urbnum.c:175
msgid "Recent USB suspend statistics"
msgstr ""

#: powertop.c:1119
#, fuzzy
msgid ""
"Suggestion: Disable 'hal' from polling your cdrom with:  \n"
"hal-disable-polling --device /dev/cdrom 'hal' is the component that auto-"
"opens a\n"
"window if you plug in a CD but disables SATA power saving from kicking in."
msgstr ""
"Podpowiedź: wyłącz sprawdzanie CD-ROM-u przez \"hal\" za pomocą:  \n"
"hal-disable-polling /dev/cdrom        \"hal\" jest składnikiem, który\n"
"automatycznie otwiera okno, gdy włożysz CD, ale wyłącza oszczędzanie\n"
"energii SATA."

#: powertop.c:1093 powertop.c:1097
msgid ""
"Suggestion: Disable or remove 'beagle' from your system. \n"
"Beagle is the program that indexes for easy desktop search, however it's \n"
"not very efficient and costs a significant amount of battery life."
msgstr ""
"Podpowiedź: wyłącz lub usuń \"beagle\" z systemu. \n"
"Beagle jest programem indeksującym, dzięki któremu można łatwo wyszukiwać \n"
"pliki, ale nie jest zbyt wydajny i szybko skraca życie baterii."

#: powertop.c:1106
#, fuzzy
msgid ""
"Suggestion: Disable or remove 'gnome-power-manager' from your system. \n"
"Older versions of gnome-power-manager wake up far more often than \n"
"needed costing you some power."
msgstr ""
"Podpowiedź: wyłącz lub usuń \"gnome-power-manager\" z systemu. \n"
"Pomimo nazwy niektóre wersje gnome-power-manager zużywają więcej energii \n"
"niż jej oszczędzają."

#: powertop.c:1112
msgid ""
"Suggestion: Disable or remove 'pcscd' from your system. \n"
"pcscd tends to keep the USB subsystem out of power save mode\n"
"and your processor out of deeper powersave states."
msgstr ""
"Podpowiedź: wyłącz lub usuń \"pcscd\" z systemu. \n"
"pcscd powstrzymuje podsystem USB od używania trybu oszczędzania energii i\n"
"procesor od używania głębszych stanów oszczędzania energii."

#: powertop.c:1081
msgid ""
"Suggestion: Disable the CONFIG_IRQBALANCE kernel configuration option.\n"
"The in-kernel irq balancer is obsolete and wakes the CPU up far more than "
"needed."
msgstr ""
"Podpowiedź: wyłącz opcję konfiguracji jądra CONFIG_IRQBALANCE.\n"
"Balansowanie IRQ jądra jest przestarzałe i budzi CPU o wiele więcej razy\n"
"niż tego potrzebuje."

#: wireless.c:320
#, c-format
msgid ""
"Suggestion: Disable the unused WIFI radio by executing the following "
"command:\n"
"  echo 1 > %s \n"
msgstr ""
"Podpowiedź: wyłącz nieużywany interfejs WiFi wykonując poniższe polecenie:\n"
"  echo 1 > %s \n"

#: bluetooth.c:144
msgid ""
"Suggestion: Disable the unused bluetooth interface with the following "
"command:\n"
"  hciconfig hci0 down ; rmmod hci_usb\n"
"Bluetooth is a radio and consumes quite some power, and keeps USB busy as "
"well.\n"
msgstr ""
"Podpowiedź: wyłącz nieużywany interfejs Bluetooth za pomocą poniższego "
"polecenia:\n"
"  hciconfig hci0 down ; rmmod hci_usb\n"
"Bluetooth jest urządzeniem radiowym i używa całkiem sporo energii, a także "
"utrzymuje aktywne USB\n"

#: sata.c:101
msgid ""
"Suggestion: Enable SATA ALPM link power management via: \n"
"  echo min_power > /sys/class/scsi_host/host0/link_power_management_policy\n"
"or press the S key."
msgstr ""
"Podpowiedź: włącz zarządzanie zasilaniem łącza SATA ALPM przez: \n"
"  echo min_power > /sys/class/scsi_host/host0/link_power_management_policy\n"
"lub naciśnij klawisz S."

#: usb.c:118
msgid ""
"Suggestion: Enable USB autosuspend by pressing the U key or adding \n"
"usbcore.autosuspend=1 to the kernel command line in the grub config"
msgstr ""

#: misctips.c:79
msgid ""
"Suggestion: Enable laptop-mode by executing the following command:\n"
"   echo 5 > /proc/sys/vm/laptop_mode \n"
msgstr ""
"Podpowiedź: włącz tryb laptopa wykonując poniższe polecenie:\n"
"   echo 5 > /proc/sys/vm/laptop_mode \n"

#: powertop.c:1069
msgid ""
"Suggestion: Enable the CONFIG_ACPI_BATTERY kernel configuration option.\n"
" This option is required to get power estimages from PowerTOP"
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_ACPI_BATTERY.\n"
" Ta opcja jest wymagana, aby używać szacunków energii PowerTOP"

#: powertop.c:1066
msgid ""
"Suggestion: Enable the CONFIG_CPU_FREQ_GOV_ONDEMAND kernel configuration "
"option.\n"
"The 'ondemand' CPU speed governor will minimize the CPU power usage while\n"
"giving you performance when it is needed."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_CPU_FREQ_GOV_ONDEMAND.\n"
"Zarządca prędkością CPU \"ondemand\" minimalizuje użycie energii przez CPU,\n"
"zwiększając wydajność, kiedy jest potrzebna."

#: powertop.c:1083
msgid ""
"Suggestion: Enable the CONFIG_CPU_FREQ_STAT kernel configuration option.\n"
"This option allows PowerTOP to show P-state percentages \n"
"P-states correspond to CPU frequencies."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_CPU_FREQ_STAT.\n"
"Ta opcja umożliwia PowerTOP wyświetlanie procentów stanów P \n"
"Stany P odpowiadają częstotliwościom CPU."

#: powertop.c:1072
msgid ""
"Suggestion: Enable the CONFIG_HPET_TIMER kernel configuration option.\n"
"Without HPET support the kernel needs to wake up every 20 milliseconds for \n"
"some housekeeping tasks."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_HPET_TIMER.\n"
"Bez obsługi HPET jądro musi budzić się co 20 milisekund, aby \n"
"wykonać niektóre zadania."

#: powertop.c:1086
#, fuzzy
msgid ""
"Suggestion: Enable the CONFIG_INOTIFY kernel configuration option.\n"
"This option allows programs to wait for changes in files and directories\n"
"instead of having to poll for these changes"
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_CPU_FREQ_STAT.\n"
"Ta opcja umożliwia PowerTOP wyświetlanie procentów stanów P \n"
"Stany P odpowiadają częstotliwościom CPU."

#: powertop.c:1068
msgid ""
"Suggestion: Enable the CONFIG_NO_HZ kernel configuration option.\n"
"This option is required to get any kind of longer sleep times in the CPU."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_NO_HZ.\n"
"Ta opcja jest wymagana, aby otrzymać jakiekolwiek dłuższe czasy uśpienia CPU."

#: powertop.c:1077
msgid ""
"Suggestion: Enable the CONFIG_SND_AC97_POWER_SAVE kernel configuration "
"option.\n"
"This option will automatically power down your sound codec when not in use,\n"
"and can save approximately half a Watt of power."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_SND_AC97_POWER_SAVE.\n"
"Ta opcja automatycznie wyłączy kodeki dźwięku, kiedy nie są używane, i może\n"
"zaoszczędzić około połowy wata energii."

#: powertop.c:1064
msgid ""
"Suggestion: Enable the CONFIG_USB_SUSPEND kernel configuration option.\n"
"This option will automatically disable UHCI USB when not in use, and may\n"
"save approximately 1 Watt of power."
msgstr ""
"Podpowiedź: włącz opcję konfiguracji jądra CONFIG_USB_SUSPEND.\n"
"Ta opcja automatycznie wyłączy UHCI USB, kiedy jest są używany, i może\n"
"zaoszczędzić około jednego wata energii."

#: cpufreq.c:116
msgid ""
"Suggestion: Enable the ondemand cpu speed governor for all processors via: \n"
" echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor \n"
msgstr ""
"Podpowiedź: włącz zarządcę prędkością CPU ondemand dla wszystkich procesorów "
"przez: \n"
" echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor \n"

#: wireless.c:314
#, fuzzy, c-format
msgid ""
"Suggestion: Enable wireless power saving mode by executing the following "
"command:\n"
"  echo 5 > %s \n"
"This will sacrifice network performance slightly to save power."
msgstr ""
"Podpowiedź: włącz tryb oszczędzanie energii urządzeń bezprzewodowych "
"wykonując poniższe polecenie:\n"
"  iwpriv %s set_power 5 \n"
"To nieznacznie zmniejszy wydajność sieci, aby oszczędzać energię."

#: wireless.c:308
#, c-format
msgid ""
"Suggestion: Enable wireless power saving mode by executing the following "
"command:\n"
"  iwpriv %s set_power 5 \n"
"This will sacrifice network performance slightly to save power."
msgstr ""
"Podpowiedź: włącz tryb oszczędzanie energii urządzeń bezprzewodowych "
"wykonując poniższe polecenie:\n"
"  iwpriv %s set_power 5 \n"
"To nieznacznie zmniejszy wydajność sieci, aby oszczędzać energię."

#: xrandr.c:75
msgid ""
"Suggestion: disable TV out via: \n"
"  xrandr --output TV --off \n"
"or press the V key."
msgstr ""
"Podpowiedź: wyłącz wyjście TV przez: \n"
"  xrandr --output TV --off \n"
"lub naciśnij klawisz V."

#: misctips.c:109
msgid ""
"Suggestion: disable the NMI watchdog by executing the following command:\n"
"   echo 0 > /proc/sys/kernel/nmi_watchdog \n"
"The NMI watchdog is a kernel debug mechanism to detect deadlocks"
msgstr ""
"Podpowiedź: wyłącz NMI watchdog wykonując poniższe polecenie:\n"
"   echo 0 > /proc/sys/kernel/nmi_watchdog \n"
"Jest to mechanizmem debugowania jądra służący do wykrywania blokad"

#: misctips.c:172
msgid ""
"Suggestion: enable AC97 powersave mode by executing the following command:\n"
"   echo 1 > /sys/module/snd_ac97_codec/parameters/power_save \n"
"or by passing power_save=1 as module parameter."
msgstr ""
"Podpowiedź: włącz tryb oszczędzania energii AC97 wykonując poniższe "
"polecenie:\n"
"   echo 1 > /sys/module/snd_ac97_codec/parameters/power_save \n"
"lub przez przekazanie power_save=1 jako parametr modułu."

#: misctips.c:137
msgid ""
"Suggestion: enable the HPET (Multimedia Timer) in your BIOS or add \n"
"the kernel patch to force-enable HPET. HPET support allows Linux to \n"
"have much longer sleep intervals."
msgstr ""
"Podpowiedź: włącz HPET (Zegar multimedialny) w BIOS-ie lub dodaj \n"
"łatę jądra, aby wymusić włączenie HPET. Obsługa HPET umożliwia Linuksowi \n"
"na dużo dłuższe czasy uśpienia."

#: misctips.c:201
msgid ""
"Suggestion: enable the noatime filesystem option by executing the following "
"command:\n"
"   mount -o remount,noatime /          or by pressing the T key \n"
"noatime disables persistent access time of file accesses, which causes lots "
"of disk IO."
msgstr ""
"Podpowiedź: włącz opcję noatime systemu plików wykonując poniższe "
"polecenie:\n"
"   mount -o remount,noatime /          lub przez naciśnięcie klawisza T \n"
"noatime wyłącza stały czas dostępu do plików, który powoduje dużo operacji "
"wejścia/wyjścia dysku."

#: misctips.c:264
msgid ""
"Suggestion: enable the power aware CPU scheduler with the following "
"command:\n"
"  echo 1 > /sys/devices/system/cpu/sched_mc_power_savings\n"
"or by pressing the C key."
msgstr ""
"Podpowiedź: włącz planistę CPU zajmującego się zasilaniem wykonując poniższe "
"polecenie:\n"
"  echo 1 > /sys/devices/system/cpu/sched_mc_power_savings\n"
"lub przez naciśnięcie klawisza C."

#: misctips.c:297
#, c-format
msgid ""
"Suggestion: increase the VM dirty writeback time from %1.2f to 15 seconds "
"with:\n"
"  echo 1500 > /proc/sys/vm/dirty_writeback_centisecs \n"
"This wakes the disk up less frequently for background VM activity"
msgstr ""

#: display.c:300
msgid "This option is located in the Kernel Debugging section of menuconfig\n"
msgstr "Ta opcja jest położona w sekcji 'Kernel Debugging' menuconfig\n"

#: display.c:281
#, fuzzy
msgid "Top causes for wakeups:\n"
msgstr "Najczęstsze powody wybudzenia:"

#: urbnum.c:123
#, c-format
msgid "USB device %4s : %s (%s)"
msgstr ""

#: powertop.c:764
#, c-format
msgid "Usage: powertop [OPTION...]\n"
msgstr ""

#: display.c:270
#, fuzzy, c-format
msgid "Wakeups-from-idle per second : %4.1f\tinterval: %0.1fs\n"
msgstr "Wybudzenia ze stanu bezczynności na sekundę: %4.1f"

#: intelcstates.c:152
#, c-format
msgid "Your BIOS reports the following C-states : "
msgstr ""

#: intelcstates.c:143
#, c-format
msgid "Your CPU supports the following C-states : "
msgstr ""

#: display.c:196
#, c-format
msgid "no ACPI power usage estimate available"
msgstr "szacowanie użycia energii ACPI jest niedostępne"

#: display.c:244
#, fuzzy, c-format
msgid "no power usage estimate available"
msgstr "szacowanie użycia energii ACPI jest niedostępne"

#: powertop.c:377
msgid "polling"
msgstr ""

#: powertop.c:774
#, c-format
msgid "powertop version %s\n"
msgstr ""

#~ msgid "< CPU was 100%% busy; no C-states were entered >\n"
#~ msgstr "< CPU był zajęty w 100%%; nie podano żadnych stanów C >\n"
