summaryrefslogtreecommitdiffstats
path: root/perl-install/share/po/gl.po
diff options
context:
space:
mode:
authorPablo Saratxaga <pablo@mandriva.com>2005-09-21 21:41:11 +0000
committerPablo Saratxaga <pablo@mandriva.com>2005-09-21 21:41:11 +0000
commite833e5453d35222f212f9b0ca9ebc92aa2f42313 (patch)
tree9302cbaf566273b1db160d5b3c369657dc274fc8 /perl-install/share/po/gl.po
parentf54350b32ae9147c4061b2d35ab2972546141af6 (diff)
downloaddrakx-e833e5453d35222f212f9b0ca9ebc92aa2f42313.tar
drakx-e833e5453d35222f212f9b0ca9ebc92aa2f42313.tar.gz
drakx-e833e5453d35222f212f9b0ca9ebc92aa2f42313.tar.bz2
drakx-e833e5453d35222f212f9b0ca9ebc92aa2f42313.tar.xz
drakx-e833e5453d35222f212f9b0ca9ebc92aa2f42313.zip
updated pot file
Diffstat (limited to 'perl-install/share/po/gl.po')
-rw-r--r--perl-install/share/po/gl.po746
1 files changed, 441 insertions, 305 deletions
diff --git a/perl-install/share/po/gl.po b/perl-install/share/po/gl.po
index adba42d43..e3e2d3dd5 100644
--- a/perl-install/share/po/gl.po
+++ b/perl-install/share/po/gl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DrakX-gl\n"
"POT-Creation-Date: 2005-09-19 21:17+0800\n"
-"PO-Revision-Date: 2005-07-18 12:33+0100\n"
+"PO-Revision-Date: 2005-09-10 13:26+0100\n"
"Last-Translator: Leandro Regueiro <unho@gulo.org>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
"MIME-Version: 1.0\n"
@@ -148,9 +148,11 @@ msgstr ""
"USB..."
#: ../move/move.pm:546
-#, c-format
+#, fuzzy, c-format
msgid "Enter your user information, password will be used for screensaver"
msgstr ""
+"Introduza a súa información de usuario, o contrasinal usarase para o "
+"salvapantallas"
#: ../move/move.pm:556
#, c-format
@@ -418,9 +420,9 @@ msgid "Configure all heads independently"
msgstr ""
#: Xconfig/card.pm:393
-#, fuzzy, c-format
+#, c-format
msgid "Use Xinerama extension"
-msgstr "Usar detección automática"
+msgstr "Usar extensión Xinerama"
#: Xconfig/card.pm:398
#, c-format
@@ -800,16 +802,16 @@ msgstr ""
"Ten esta funcionalidade?"
#: Xconfig/various.pm:99
-#, fuzzy, c-format
+#, c-format
msgid "What norm is your TV using?"
-msgstr "¿Que tipo de conexión RDSI ten?"
+msgstr "Que norma usa a súa TV?"
#: Xconfig/xfree.pm:648
#, c-format
msgid ""
"_:weird aspect ratio\n"
"other"
-msgstr ""
+msgstr "outro"
#: any.pm:142 harddrake/sound.pm:192 interactive.pm:474 pkgs.pm:473
#: standalone/drakconnect:160 standalone/drakconnect:635 standalone/draksec:68
@@ -1200,9 +1202,9 @@ msgid "Group ID"
msgstr "ID do Grupo"
#: any.pm:625
-#, fuzzy, c-format
+#, c-format
msgid "%s must be a number"
-msgstr "¡A opción %s debe ser un número!"
+msgstr "%s debe ser un número"
#: any.pm:626
#, c-format
@@ -1271,9 +1273,9 @@ msgstr ""
"un usuario determinado."
#: any.pm:705
-#, fuzzy, c-format
+#, c-format
msgid "Use this feature"
-msgstr "Desexa usar esta funcionalidade?"
+msgstr "Usar esta funcionalidade"
#: any.pm:706
#, c-format
@@ -1370,7 +1372,7 @@ msgid "Allow all users"
msgstr "Permitirlle a tódolos usuarios"
#: any.pm:977
-#, c-format
+#, fuzzy, c-format
msgid ""
"Would you like to allow users to share some of their directories?\n"
"Allowing this will permit users to simply click on \"Share\" in konqueror "
@@ -1378,6 +1380,11 @@ msgid ""
"\n"
"\"Custom\" permit a per-user granularity.\n"
msgstr ""
+"Desexa permitir que os usuarios compartan algúns dos seus directorios?\n"
+"Se permite isto deixará que os usuarios simplemente cliquen en \"Compartir\" "
+"en konqueror e en nautilus.\n"
+"\n"
+"\"Personalizado\" permite especificalo usuario a usuario.\n"
#: any.pm:989
#, c-format
@@ -1509,6 +1516,8 @@ msgid ""
"iWinbind allows the system to retrieve information and authenticate users in "
"a Windows domain."
msgstr ""
+"iWinbind permítelle ó sistema recuperar información e autenticar usuarios "
+"nun dominio Windows."
#: authentication.pm:59
#, c-format
@@ -1519,6 +1528,7 @@ msgstr "Directorio Activo con SFU:"
#, c-format
msgid "With Kerberos and Ldap for authentication in Active Directory Server "
msgstr ""
+"Con Kerberos e Ldap para autenticación nun Servidor de Active Directory"
#: authentication.pm:60
#, c-format
@@ -1531,6 +1541,8 @@ msgid ""
"Winbind allows the system to authenticate users in a Windows Active "
"Directory Server."
msgstr ""
+"Winbind permítelle ó sistema autenticar usuarios nun Servidor Windows de "
+"Active Directory."
#: authentication.pm:85
#, c-format
@@ -1729,12 +1741,12 @@ msgstr "LILO con menú de texto"
#: bootloader.pm:906
#, c-format
msgid "GRUB with graphical menu"
-msgstr ""
+msgstr "GRUB con menú gráfico"
#: bootloader.pm:907
#, c-format
msgid "GRUB with text menu"
-msgstr ""
+msgstr "GRUB con menú de texto"
#: bootloader.pm:908
#, c-format
@@ -1766,6 +1778,8 @@ msgid ""
"The bootloader can not be installed correctly. You have to boot rescue and "
"choose \"%s\""
msgstr ""
+"Non se puido instalar de xeito correcto o cargador de arrinque. Ten que "
+"arrincar co disco de rescate e elixir \"%s\""
#: bootloader.pm:1529
#, c-format
@@ -3059,10 +3073,9 @@ msgid "Enabling swap partition %s"
msgstr "Activando a partición de intercambio %s"
#: fs/mount_options.pm:111
-#, fuzzy, c-format
+#, c-format
msgid "Use an encrypted file system"
-msgstr ""
-"Non pode usar un sistema de ficheiros cifrado para o punto de montaxe %s"
+msgstr "Usar un sistema de ficheiros cifrado"
#: fs/mount_options.pm:113
#, c-format
@@ -3124,6 +3137,7 @@ msgstr "Monta-lo sistema de ficheiros coma de só lectura."
#, c-format
msgid "All I/O to the file system should be done synchronously."
msgstr ""
+"Toda a E/S do sistema de ficheiros debe facerse de maneira sincronizada."
#: fs/mount_options.pm:137
#, c-format
@@ -3307,7 +3321,7 @@ msgstr "Tarxeta de Video"
#: harddrake/data.pm:146
#, c-format
msgid "DVB card"
-msgstr ""
+msgstr "Tarxeta DVB"
#: harddrake/data.pm:154
#, c-format
@@ -3352,12 +3366,12 @@ msgstr "Tarxetas de radio"
#: harddrake/data.pm:238
#, c-format
msgid "ATM network cards"
-msgstr ""
+msgstr "Tarxetas de rede ATM"
#: harddrake/data.pm:247
#, c-format
msgid "WAN network cards"
-msgstr ""
+msgstr "Tarxetas de rede WAN"
#: harddrake/data.pm:256
#, c-format
@@ -3584,7 +3598,7 @@ msgstr "Driver:"
#: harddrake/sound.pm:263
#, c-format
msgid "Trouble shooting"
-msgstr ""
+msgstr "Solución de problemas"
#: harddrake/sound.pm:271
#, c-format
@@ -3707,13 +3721,18 @@ msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr "Descoñecido|CPH06X (bt878) [varios vendedores]"
#: harddrake/v4l.pm:404
-#, c-format
+#, fuzzy, c-format
msgid ""
"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
"detect the rights parameters.\n"
"If your card is misdetected, you can force the right tuner and card types "
"here. Just select your tv card parameters if needed."
msgstr ""
+"Para a maioría das tarxetas de TV modernas, o módulo bttv do kernel Linux "
+"detecta automáticamente os parámetros correctos.\n"
+"Se a súa tarxeta non se detecta, vostede pode forzar \n"
+" the right tuner and card types here. Just select your tv card parameters if "
+"needed."
#: harddrake/v4l.pm:407
#, c-format
@@ -5917,7 +5936,7 @@ msgstr "Rede (FTP)"
#: install_any.pm:423
#, c-format
msgid "Network (NFS)"
-msgstr ""
+msgstr "Rede (NFS)"
#: install_any.pm:453
#, c-format
@@ -5947,7 +5966,7 @@ msgstr "URL do sitio espello?"
#: install_any.pm:527
#, c-format
msgid "NFS setup"
-msgstr ""
+msgstr "Configuración de NFS"
#: install_any.pm:527
#, c-format
@@ -6097,7 +6116,7 @@ msgstr "Permiso denegado"
#: install_any.pm:1807
#, c-format
msgid "Bad NFS name"
-msgstr ""
+msgstr "Nome NFS incorrecto"
#: install_any.pm:1828
#, fuzzy, c-format
@@ -6892,7 +6911,7 @@ msgstr "Por favor, escolla o seu tipo de rato."
#: install_steps_interactive.pm:196
#, c-format
msgid "Mouse choice"
-msgstr ""
+msgstr "Elección de rato"
#: install_steps_interactive.pm:205 standalone/mousedrake:46
#, c-format
@@ -7730,6 +7749,13 @@ msgid ""
"Dvorak (US)"
msgstr "Dvorak (EEUU)"
+#: keyboard.pm:211
+#, c-format
+msgid ""
+"_: keyboard\n"
+"Dvorak (Esperanto)"
+msgstr "Dvorak (Esperanto)"
+
#: keyboard.pm:215
#, c-format
msgid ""
@@ -7913,11 +7939,11 @@ msgid ""
msgstr "Teclado coreano"
#: keyboard.pm:254
-#, fuzzy, c-format
+#, c-format
msgid ""
"_: keyboard\n"
"Kurdish (arabic script)"
-msgstr "Árabe"
+msgstr "Kurdo (escritura árabe)"
#: keyboard.pm:255
#, c-format
@@ -7940,6 +7966,13 @@ msgid ""
"Laotian"
msgstr "Laosiano"
+#: keyboard.pm:255
+#, c-format
+msgid ""
+"_: keyboard\n"
+"Lithuanian AZERTY (old)"
+msgstr "Lituano AZERTY (antigo)"
+
#: keyboard.pm:261
#, c-format
msgid ""
@@ -7954,6 +7987,13 @@ msgid ""
"Lithuanian \"number row\" QWERTY"
msgstr "Lituano \"ringleira de números\" QWERTY"
+#: keyboard.pm:259
+#, c-format
+msgid ""
+"_: keyboard\n"
+"Lithuanian \"phonetic\" QWERTY"
+msgstr "Lituano \"fonético\" QWERTY"
+
#: keyboard.pm:264
#, c-format
msgid ""
@@ -9435,7 +9475,7 @@ msgstr ""
#: lvm.pm:135
#, c-format
msgid "Physical volume %s is still in use"
-msgstr ""
+msgstr "O volume físico %s ainda se está usando"
#: lvm.pm:145
#, c-format
@@ -9802,7 +9842,7 @@ msgstr "Ningún rato"
#: mouse.pm:304 mouse.pm:367 mouse.pm:376 mouse.pm:435
#, c-format
msgid "Synaptics Touchpad"
-msgstr ""
+msgstr "Touchpad Synaptic"
#: mouse.pm:561
#, c-format
@@ -9867,7 +9907,7 @@ msgstr "Servidor CUPS"
#: network/drakfirewall.pm:60
#, c-format
msgid "Echo request (ping)"
-msgstr ""
+msgstr "Solicitude de eco (ping)"
#: network/drakfirewall.pm:65
#, c-format
@@ -9877,7 +9917,7 @@ msgstr "BitTorrent"
#: network/drakfirewall.pm:74
#, c-format
msgid "Port scan detection"
-msgstr ""
+msgstr "Detección de escaneo de portos"
#: network/drakfirewall.pm:165
#, c-format
@@ -9953,9 +9993,9 @@ msgstr "Outros portos"
#: standalone/drakids:170 standalone/drakids:179 standalone/drakids:189
#: standalone/drakids:265 standalone/net_applet:59 standalone/net_applet:202
#: standalone/net_applet:380 standalone/net_applet:417
-#, fuzzy, c-format
+#, c-format
msgid "Interactive Firewall"
-msgstr "Cortalumes"
+msgstr "Cortalumes Interactivo"
#: network/drakfirewall.pm:252
#, c-format
@@ -9968,32 +10008,32 @@ msgstr ""
#: network/drakfirewall.pm:257
#, c-format
msgid "Use Interactive Firewall"
-msgstr ""
+msgstr "Usar Cortalumes Interactivo"
#: network/ifw.pm:136
-#, fuzzy, c-format
+#, c-format
msgid "Port scanning"
-msgstr "Non compartir"
+msgstr "Escaneo de portos"
#: network/ifw.pm:137
-#, fuzzy, c-format
+#, c-format
msgid "Service attack"
-msgstr "Servicio atacado: %s"
+msgstr "Ataque a servicios"
#: network/ifw.pm:138
-#, fuzzy, c-format
+#, c-format
msgid "Password cracking"
-msgstr "Contrasinal outra vez:"
+msgstr "Descifrado de contrasinais"
#: network/ifw.pm:139
#, c-format
msgid "\"%s\" attack"
-msgstr ""
+msgstr "ataque \"%s\""
#: network/ifw.pm:141
#, c-format
msgid "A port scanning attack has been attempted by %s."
-msgstr ""
+msgstr "%s intentou un ataque de escaneo de portos."
#: network/ifw.pm:142
#, c-format
@@ -10003,12 +10043,12 @@ msgstr "O servicio %s foi atacado por %s."
#: network/ifw.pm:143
#, c-format
msgid "A password cracking attack has been attempted by %s."
-msgstr ""
+msgstr "%s intentou un ataque de descifrado de contrasinais."
#: network/ifw.pm:144
-#, fuzzy, c-format
+#, c-format
msgid "A \"%s\" attack has been attempted by %s"
-msgstr "O servicio %s foi atacado por %s."
+msgstr "Intentouse un ataque de \"%s\" por parte de %s"
#: network/isdn.pm:117 network/netconnect.pm:452 network/netconnect.pm:546
#: network/netconnect.pm:549 network/netconnect.pm:692
@@ -10047,7 +10087,7 @@ msgstr "Manual"
#: network/ndiswrapper.pm:27
#, c-format
msgid "No device supporting the %s ndiswrapper driver is present!"
-msgstr ""
+msgstr "Non hai ningún dispositivo que soporte o driver ndiswrapper %s!"
#: network/ndiswrapper.pm:33
#, c-format
@@ -10070,11 +10110,13 @@ msgid ""
"The selected device has already been configured with the %s driver.\n"
"Do you really want to use a ndiswrapper driver?"
msgstr ""
+"O dispositivo seleccionado xa está configurado co driver %s.\n"
+"Desexa usar un driver ndiswrapper?"
#: network/ndiswrapper.pm:101
#, c-format
msgid "Unable to find the ndiswrapper interface!"
-msgstr ""
+msgstr "Non foi posible atopar a interface ndiswrapper!"
#: network/netconnect.pm:69 network/netconnect.pm:482
#: network/netconnect.pm:494
@@ -10272,7 +10314,7 @@ msgstr "Conexión por módem"
#: network/netconnect.pm:251
#, c-format
msgid "DVB connection"
-msgstr ""
+msgstr "Conexión DVB"
#: network/netconnect.pm:261
#, c-format
@@ -10375,7 +10417,7 @@ msgstr "Cable: opcións da conta"
#: network/netconnect.pm:311
#, c-format
msgid "Use BPALogin (needed for Telstra)"
-msgstr ""
+msgstr "Usar BPALogin (necesario para Telstra)"
#: network/netconnect.pm:337 network/netconnect.pm:659
#: network/netconnect.pm:810 network/netconnect.pm:1149
@@ -10612,6 +10654,8 @@ msgid ""
"Please choose your DSL connection type.\n"
"If you do not know it, keep the preselected type."
msgstr ""
+"Elixa o tipo de conexión ADSL que ten.\n"
+"Se non o sabe, deixe o tipo preseleccionado."
#: network/netconnect.pm:722
#, c-format
@@ -10712,7 +10756,7 @@ msgstr "restrinxir"
#: network/netconnect.pm:929
#, c-format
msgid "Enable IPv6 to IPv4 tunnel"
-msgstr ""
+msgstr "Habilitar o túnel IPv6 a IPv4"
#: network/netconnect.pm:931 standalone/drakconnect:369
#: standalone/drakconnect:886
@@ -10770,7 +10814,7 @@ msgstr "Escolla un driver ndiswrapper"
#: network/netconnect.pm:999
#, c-format
msgid "Use the ndiswrapper driver %s"
-msgstr ""
+msgstr "Usar o driver ndiswrapper %s"
#: network/netconnect.pm:999
#, c-format
@@ -11004,7 +11048,7 @@ msgstr ""
#: network/netconnect.pm:1205
#, c-format
msgid "Last but not least you can also type in your DNS server IP addresses."
-msgstr ""
+msgstr "Por último tamén pode introducir os enderezos IP do seu servidor DNS."
#: network/netconnect.pm:1207 standalone/drakconnect:991
#, c-format
@@ -11353,7 +11397,7 @@ msgstr "Non foi posible atopar \"%s\" no seu sistema Windows!"
#: network/thirdparty.pm:372
#, c-format
msgid "No Windows system has been detected!"
-msgstr ""
+msgstr "Non se detectou ningún sistema Windows!"
#: network/thirdparty.pm:382
#, c-format
@@ -11421,12 +11465,12 @@ msgstr "Agarde, executando os comandos de configuración do dispositivo..."
#: network/wireless.pm:8
#, c-format
msgid "Open WEP"
-msgstr ""
+msgstr "WEP aberto"
#: network/wireless.pm:9
#, c-format
msgid "Restricted WEP"
-msgstr ""
+msgstr "WEP restrinxido"
#: network/wireless.pm:10
#, c-format
@@ -11617,9 +11661,9 @@ msgid "Network printer (TCP/Socket)"
msgstr "Impresora de rede (TCP/Socket)"
#: printer/main.pm:32
-#, fuzzy, c-format
+#, c-format
msgid "Printer on SMB/Windows server"
-msgstr "Impresora SMB/Windows 95/98/NT server"
+msgstr "Impresora no servidor SMB/Windows"
#: printer/main.pm:33
#, c-format
@@ -12219,9 +12263,9 @@ msgid ""
msgstr ""
#: printer/printerdrake.pm:622
-#, fuzzy, c-format
+#, c-format
msgid "Printer auto administration"
-msgstr "Detección automática da impresora"
+msgstr "Administración automática de impresoras"
#: printer/printerdrake.pm:623
#, c-format
@@ -12229,21 +12273,23 @@ msgid ""
"Here you can configure printer administration tasks which should be done "
"automatically."
msgstr ""
+"Aquí pode configurar as tarefas de administración de impresoras que deben "
+"facerse automáticamente."
#: printer/printerdrake.pm:626
-#, fuzzy, c-format
+#, c-format
msgid "Do automatic configuration of new printers"
-msgstr "Usar configuración automática (DHCP)"
+msgstr "Usar configuración automática nas novas impresoras"
#: printer/printerdrake.pm:627 printer/printerdrake.pm:641
-#, fuzzy, c-format
+#, c-format
msgid "when a USB printer is connected and turned on"
-msgstr " (Asegúrese de que tódalas impresoras están conectadas e prendidas).\n"
+msgstr "cando se conecta e se prende unha impresora USB"
#: printer/printerdrake.pm:630
-#, fuzzy, c-format
+#, c-format
msgid "when Printerdrake is started"
-msgstr "Esta impresora está deshabilitada"
+msgstr "cando se iniciou Printerdrake"
#: printer/printerdrake.pm:634
#, c-format
@@ -12251,14 +12297,14 @@ msgid "Mode for automatic printer setup:"
msgstr ""
#: printer/printerdrake.pm:640
-#, fuzzy, c-format
+#, c-format
msgid "Re-enable disabled printers"
-msgstr "Impresoras dispoñibles"
+msgstr "Volver habilitar as impresoras deshabilitadas"
#: printer/printerdrake.pm:644
-#, fuzzy, c-format
+#, c-format
msgid "when the printing system is started"
-msgstr "Cambia-lo sistema de impresión"
+msgstr "cando se iniciou o sistema de impresión"
#: printer/printerdrake.pm:680
#, fuzzy, c-format
@@ -12272,11 +12318,14 @@ msgid ""
"computer and the printer \"%s\" should be handled (for example if the "
"printer is not turned on)."
msgstr ""
+"Aquí pode configurar como se deben manexar os erros durante a comunicación "
+"entre o seu ordenador e a impresora \"%s\" (por exemplo se a impresora non "
+"está acesa)."
#: printer/printerdrake.pm:686
-#, fuzzy, c-format
+#, c-format
msgid "The number of retries should be an integer number of at least 1!"
-msgstr "¡O número do porto debe ser un número enteiro!"
+msgstr "O número de reintentos debe ser un número enteiro ou polo menos 1!"
#: printer/printerdrake.pm:690
#, fuzzy, c-format
@@ -12284,9 +12333,9 @@ msgid "The delay between retries should be a positive integer number!"
msgstr "¡A opción %s debe ser un número enteiro!"
#: printer/printerdrake.pm:701
-#, fuzzy, c-format
+#, c-format
msgid "Do not disable the printer"
-msgstr "Desactivar Impresora"
+msgstr "Non deshabilitar a impresora"
#: printer/printerdrake.pm:704
#, c-format
@@ -12294,14 +12343,14 @@ msgid "Retry infinitely often"
msgstr ""
#: printer/printerdrake.pm:707
-#, fuzzy, c-format
+#, c-format
msgid "Number of retries"
-msgstr "Número de botóns"
+msgstr "Número de reintentos"
#: printer/printerdrake.pm:712
#, c-format
msgid "Delay between retries (in sec)"
-msgstr ""
+msgstr "Atraso entre reintentos (en segundos)"
#: printer/printerdrake.pm:745 printer/printerdrake.pm:765
#, c-format
@@ -12486,7 +12535,7 @@ msgstr ""
#: printer/printerdrake.pm:884
#, c-format
msgid "Do not setup printer automatically now, and never do it again"
-msgstr ""
+msgstr "Non configurar automáticamente a impresora agora, nin nunca"
#: printer/printerdrake.pm:928
#, c-format
@@ -12496,17 +12545,17 @@ msgstr "Buscando novas impresoras..."
#: printer/printerdrake.pm:989
#, c-format
msgid "Do not setup printer automatically again"
-msgstr ""
+msgstr "Non volver configurar a impresora automáticamente"
#: printer/printerdrake.pm:996
-#, fuzzy, c-format
+#, c-format
msgid "New printers found"
-msgstr "¡Non se atoparon impresoras!"
+msgstr "Atopáronse novas impresoras"
#: printer/printerdrake.pm:997
-#, fuzzy, c-format
+#, c-format
msgid "New printer found"
-msgstr "¡Non se atoparon impresoras!"
+msgstr "Atopouse unha nova impresora"
#: printer/printerdrake.pm:999
#, c-format
@@ -12515,6 +12564,9 @@ msgid ""
"them up for you. If you do not want to have all of them set up, unselect the "
"ones which should be skipped, or click \"Cancel\" to set up none of them.\n"
msgstr ""
+"Atopáronse as seguintes impresoras novas e Printerdrake pode configuralas "
+"automáticamente. Se non desexa configuralas todas, deseleccione as que "
+"deben saltarse, ou clique en \"Cancelar\" para non configurar ningunha.\n"
#: printer/printerdrake.pm:1000
#, c-format
@@ -12523,6 +12575,9 @@ msgid ""
"it up for you. If you do not want to have it set up, unselect it, or click "
"\"Cancel\".\n"
msgstr ""
+"Atopouse a seguinte impresora nova e Printerdrake pode configurala "
+"automáticamente. Se non desexa configurala, deselecciónea, ou clique en "
+"\"Cancelar\".\n"
#: printer/printerdrake.pm:1001
#, c-format
@@ -12530,6 +12585,8 @@ msgid ""
"Note that for certain printer models additional packages need to be "
"installed. So keep your installation media handy.\n"
msgstr ""
+"Teña en conta que cómpre instalar paquetes adicionais para certos modelos de "
+"impresoras. Así que teña a man o soporte de instalación.\n"
#: printer/printerdrake.pm:1037 printer/printerdrake.pm:1079
#, c-format
@@ -12594,6 +12651,8 @@ msgid ""
"Now you have turned off automatic printer setup.\n"
"\n"
msgstr ""
+"Agora ten apagada a configuración automática de impresoras.\n"
+"\n"
#: printer/printerdrake.pm:1125
#, c-format
@@ -12603,9 +12662,9 @@ msgid ""
msgstr ""
#: printer/printerdrake.pm:1125 printer/printerdrake.pm:5139
-#, fuzzy, c-format
+#, c-format
msgid "Configure Auto Administration"
-msgstr "Administración Remota"
+msgstr "Configurar a Administración Automática"
#: printer/printerdrake.pm:1126
#, c-format
@@ -12965,6 +13024,9 @@ msgid ""
"printer was not correctly detected or if you prefer a customized printer "
"configuration, turn on \"Manual configuration\"."
msgstr ""
+"A configuración da impresora será totalmente automática. Se non se detecta "
+"correctamente a súa impresora ou se prefire unha configuración personalizada "
+"da impresora, seleccione \"Configuración manual\"."
#: printer/printerdrake.pm:1611
#, c-format
@@ -12979,6 +13041,10 @@ msgid ""
"detected or if you prefer a customized printer configuration, turn on "
"\"Manual configuration\"."
msgstr ""
+"Elixa a impresora que desexa configurar. A configuración da impresora será "
+"totalmente automática. Se non se detecta correctamente a súa impresora ou se "
+"prefire unha configuración personalizada da impresora, seleccione "
+"\"Configuración manual\"."
#: printer/printerdrake.pm:1615
#, c-format
@@ -13400,6 +13466,9 @@ msgid ""
"LaserJet 1100/1200/1220/3000/3200/3300/4345 with scanner, DeskJet 450, Sony "
"IJP-V100), an HP PhotoSmart or an HP LaserJet 2200?"
msgstr ""
+"É a súa impresora un dispositivo multifunción de HP ou Sony (OfficeJet, PSC, "
+"LaserJet 1100/1200/1220/3000/3200/3300/4345 con escáner, DeskJet 450, Sony "
+"IJP-V100), unha HP PhotoSmart ou unha HP LaserJet 2200?"
#: printer/printerdrake.pm:2457 printer/printerdrake.pm:2603
#, c-format
@@ -13740,6 +13809,10 @@ msgid ""
"your printer to a local USB port or configure it on the machine where it is "
"connected to."
msgstr ""
+"O driver para esta impresora só soporta impresoras conectadas localmente a "
+"través de USB, pero non impresoras en máquinas remotas ou servidores de "
+"impresión. Conecte a súa impresora a un porto USB local ou configúrea na "
+"máquina á que está conectada."
#: printer/printerdrake.pm:3547
#, c-format
@@ -13754,6 +13827,10 @@ msgid ""
"on other parallel ports. Please connect your printer to the first parallel "
"port or configure it on the machine where it is connected to."
msgstr ""
+"O driver para esta impresora só soporta impresoras conectadas localmente ó "
+"primeiro porto paralelo, pero non impresoras en máquinas remotas ou "
+"servidores de impresión ou noutro porto paralelo. Conecte a súa impresora ó "
+"primeiro porto paralelo ou configúrea na máquina á que está conectada."
#: printer/printerdrake.pm:3574
#, c-format
@@ -13761,9 +13838,9 @@ msgid "Canon LBP-460/660 configuration"
msgstr "Configuración de Canon LBP-460/660"
#: printer/printerdrake.pm:3601
-#, fuzzy, c-format
+#, c-format
msgid "Canon LBP-810/1120 (CAPT) configuration"
-msgstr "Configuración de Canon LBP-460/660"
+msgstr "Configuración de Canon LBP-810/1120 (CAPT)"
#: printer/printerdrake.pm:3602
#, c-format
@@ -13773,6 +13850,10 @@ msgid ""
"port. Please connect your printer to the USB or configure it on the machine "
"where it is directly connected to."
msgstr ""
+"O driver para esta impresora só soporta impresoras conectadas localmente a "
+"través de USB, pero non impresoras en máquinas remotas ou servidores de "
+"impresión ou no porto paralelo. Conecte a súa impresora a un porto USB ou "
+"configúrea na máquina á que está conectada directamente."
#: printer/printerdrake.pm:3609
#, c-format
@@ -13953,6 +14034,10 @@ msgid ""
"list shown below or click on the \"Print option list\" button.%s%s%s\n"
"\n"
msgstr ""
+"Para saber cales son as opcións dispoñibles para a impresora actual lea a "
+"lista que se amosa embaixo ou clique no botón \"Imprimir lista de opcións\".%"
+"s%s%s\n"
+"\n"
#: printer/printerdrake.pm:4144
#, c-format
@@ -14164,6 +14249,17 @@ msgid ""
"device, you only need to use \"scannerdrake\" if you want to share the "
"scanner on the network."
msgstr ""
+"O seu dispositivo multifunción configurouse automáticamente para que sexa "
+"capaz de dixitalizar. Agora pode dixitalizar con \"scanimage\" (\"scanimage -"
+"d hp:%s\" para especificar o escáner cando ten máis dun) dende a liña de "
+"comandos ou cas interfaces gráficas \"xscanimage\" ou \"xsane\". Se está "
+"usando o GIMP, tamén pode dixitalizar escollendo o punto apropiado no menú "
+"\"Ficheiro\"/\"Adquirir\". Execute tamén \"man scanimage\" na liña de "
+"comandos para obter máis información.\n"
+"\n"
+"Non necesita executar \"scannerdrake\" para configurar a dixitalización "
+"neste dispositivo, só ten que usar \"scannerdrake\" se desexa compartir o "
+"escáner na rede."
#: printer/printerdrake.pm:4281
#, c-format
@@ -14376,6 +14472,16 @@ msgid ""
"\n"
"Do you really want to configure printing on this machine?"
msgstr ""
+"Está a piques de instalar o sistema de impresión %s nun sistema que se está "
+"executando co nivel de seguridade %s.\n"
+"\n"
+"Este sistema de impresión executa un daemon (proceso que se executa por "
+"detrás) o cal agarda por traballos de impresión e os manexa. Este daemon "
+"tamén é accesible por máquinas remotas a través da rede e é así un posible "
+"obxectivo de ataques. Polo tanto só se inician de maneira predeterminada uns "
+"poucos daemons seleccionados neste nivel de seguridade.\n"
+"\n"
+"Desexa configurar o sistema de impresión nesta máquina?"
#: printer/printerdrake.pm:4568
#, c-format
@@ -14395,6 +14501,14 @@ msgid ""
"Do you want to have the automatic starting of the printing system turned on "
"again?"
msgstr ""
+"O sistema de impresión (%s) non se iniciará automáticamente cando arrinca a "
+"máquina.\n"
+"\n"
+"É posible que o inicio automático se desactivara ó cambiar a un nivel de "
+"seguridade superior, porque o sistema de impresión é un punto potencial de "
+"ataques.\n"
+"\n"
+"Desexa activar de novo o inicio automático do sistema de impresión?"
#: printer/printerdrake.pm:4592
#, c-format
@@ -14429,6 +14543,10 @@ msgid ""
"define local print queues then and if the specified server is down it cannot "
"be printed at all from this machine."
msgstr ""
+"Neste modo non hai sistema de impresión local, tódalas solicitudes de "
+"impresión van directamente ó servidor especificado embaixo. Teña en conta "
+"que non é posible definir colas de impresión locais e se o servidor "
+"especificado está caido non se poderá imprimir dende esta máquina."
#: printer/printerdrake.pm:4700
#, c-format
@@ -14481,6 +14599,10 @@ msgid ""
"daemon has to run in the background and needs some memory, and the IPP port "
"(port 631) is opened. "
msgstr ""
+"A desvantaxe disto é que se necesitan máis recursos na máquina local: Cómpre "
+"instalar paquetes de software adicionais, tense que executar por detrás o "
+"daemon CUPS e necesita algunha memoria, e o porto IPP (porto 631) está "
+"aberto."
#: printer/printerdrake.pm:4761
#, c-format
@@ -14503,6 +14625,8 @@ msgid ""
"Disadvantage is that it is not possible to define local printers then and if "
"the specified server is down it cannot be printed at all from this machine. "
msgstr ""
+"A desvantaxe é que non é posible definir impresoras locais e se o servidor "
+"especificado está caído non se poderá imprimir dende esta máquina."
#: printer/printerdrake.pm:4765
#, c-format
@@ -14928,7 +15052,7 @@ msgstr "Activar/Desactivar libsafe se se atopa libsafe no sistema."
#: security/help.pm:86
#, c-format
msgid "Enable/Disable the logging of IPv4 strange packets."
-msgstr ""
+msgstr "Activar/Desactivar o rexistro de paquetes IPv4 estraños."
#: security/help.pm:88
#, c-format
@@ -15033,7 +15157,7 @@ msgstr "se está a si, executaranse as comprobacións de seguridade diariamente.
#: security/help.pm:120
#, c-format
msgid "if set to yes, check additions/removals of sgid files."
-msgstr ""
+msgstr "se está a sí, verifica a adición/eliminación de ficheiros sgid."
#: security/help.pm:121
#, c-format
@@ -15044,6 +15168,7 @@ msgstr "se está a si, comproba contrasinais baleiros en /etc/shadow."
#, c-format
msgid "if set to yes, verify checksum of the suid/sgid files."
msgstr ""
+"se está a sí, verifica as sumas de comprobación dos ficheiros suid/sgid."
#: security/help.pm:123
#, c-format
@@ -15075,7 +15200,7 @@ msgstr ""
#: security/help.pm:128
#, c-format
msgid "if set to yes, report check result by mail."
-msgstr ""
+msgstr "se está a sí, envía o informe do resultado da comprobación por correo."
#: security/help.pm:129
#, c-format
@@ -15212,7 +15337,7 @@ msgstr "Activar libsafe se se atopa no sistema"
#: security/l10n.pm:30
#, c-format
msgid "Enable the logging of IPv4 strange packets"
-msgstr ""
+msgstr "Activar o rexistro de paquetes IPv4 estraños"
#: security/l10n.pm:31
#, c-format
@@ -15314,7 +15439,7 @@ msgstr "Executar as comprobacións de seguridade diariamente"
#: security/l10n.pm:50
#, c-format
msgid "Check additions/removals of sgid files"
-msgstr ""
+msgstr "Verificar adicións/eliminacións de ficheiros sgid"
#: security/l10n.pm:51
#, c-format
@@ -15324,7 +15449,7 @@ msgstr "Comproba contrasinais baleiros en /etc/shadow"
#: security/l10n.pm:52
#, c-format
msgid "Verify checksum of the suid/sgid files"
-msgstr ""
+msgstr "Verificar as sumas de comprobación dos ficheiros suid/sgid"
#: security/l10n.pm:53
#, c-format
@@ -15599,6 +15724,9 @@ msgid ""
"Launch packet filtering for Linux kernel 2.2 series, to set\n"
"up a firewall to protect your machine from network attacks."
msgstr ""
+"Execute o filtrado de paquetes do kernel Linux serie 2.2,\n"
+"para configurar un cortalumes que protexa a súa máquina\n"
+"de ataques dende a rede."
#: services.pm:42
#, c-format
@@ -15648,6 +15776,8 @@ msgid ""
"Linux Virtual Server, used to build a high-performance and highly\n"
"available server."
msgstr ""
+"Linux Virtual Server, úsase para construir un servidor de alto\n"
+"rendemento e alta dispoñibilidade."
#: services.pm:54
#, c-format
@@ -15908,17 +16038,17 @@ msgstr "Parar"
#: share/advertising/01.pl:3
#, c-format
msgid "Mandriva Linux 2006: Packs"
-msgstr ""
+msgstr "Mandriva Linux 2006: Packs"
#: share/advertising/02.pl:3
#, c-format
msgid "Mandriva Linux 2006: More features"
-msgstr ""
+msgstr "Mandriva Linux 2006: Máis funcionalidades"
#: share/advertising/03.pl:3
#, c-format
msgid "Interactive firewall"
-msgstr ""
+msgstr "Cortalumes interactivo"
#: share/advertising/04.pl:3
#, c-format
@@ -15928,27 +16058,27 @@ msgstr ""
#: share/advertising/05.pl:3
#, c-format
msgid "New package manager"
-msgstr ""
+msgstr "Novo xestor de paquetes"
#: share/advertising/06.pl:3
#, c-format
msgid "Mandriva Linux 2006: More performances"
-msgstr ""
+msgstr "Mandriva Linux 2006: Máis resultados"
#: share/advertising/07.pl:3
#, c-format
msgid "Latest kernel and GCC"
-msgstr ""
+msgstr "Último kernel e GCC"
#: share/advertising/08.pl:3
#, c-format
msgid "High Availibility"
-msgstr ""
+msgstr "Alta dispoñibilidade"
#: share/advertising/09.pl:3
#, c-format
msgid "Delta RPM"
-msgstr ""
+msgstr "Delta RPM"
#: share/advertising/10.pl:3
#, c-format
@@ -15958,17 +16088,17 @@ msgstr ""
#: share/advertising/11.pl:3
#, c-format
msgid "Boot time reduction"
-msgstr ""
+msgstr "Reducción do tempo de arrinque"
#: share/advertising/12.pl:3
#, c-format
msgid "Mandriva Linux 2006: Easier to use"
-msgstr ""
+msgstr "Mandriva Linux 2006: Máis fácil de usar"
#: share/advertising/13.pl:3
#, c-format
msgid "Latest graphical interfaces: KDE and GNOME"
-msgstr ""
+msgstr "Últimas interfaces gráficas: KDE e GNOME"
#: share/advertising/14.pl:3
#, c-format
@@ -15978,62 +16108,62 @@ msgstr ""
#: share/advertising/15.pl:3
#, c-format
msgid "Easy and quick installation"
-msgstr ""
+msgstr "Instalación rápida e sinxela"
#: share/advertising/16.pl:3
#, c-format
msgid "Easy configuration thanks to 60 wizards"
-msgstr ""
+msgstr "Configuración sinxela gracias a 60 asistentes"
#: share/advertising/17.pl:3
#, c-format
msgid "Look and feel improved"
-msgstr ""
+msgstr "Aparencia mellorada"
#: share/advertising/18.pl:3
#, c-format
msgid "New webmin theme"
-msgstr ""
+msgstr "Novo tema para Webmin"
#: share/advertising/19.pl:3
#, c-format
msgid "Mandriva Linux 2006: More support"
-msgstr ""
+msgstr "Mandriva Linux 2006: Máis soporte"
#: share/advertising/20.pl:3
#, c-format
msgid "Better Hardware support"
-msgstr ""
+msgstr "Mellor soporte de Hardware"
#: share/advertising/21.pl:3
#, c-format
msgid "Xen support"
-msgstr ""
+msgstr "Soporte para Xen"
#: share/advertising/22.pl:3
#, c-format
msgid "Mandriva Linux 2006: More information"
-msgstr ""
+msgstr "Mandriva Linux 2006: Máis información"
#: share/advertising/23.pl:3
#, c-format
msgid "Mandriva Linux 2006: Where to buy?"
-msgstr ""
+msgstr "Mandriva Linux 2006: Onde compralo?"
#: share/advertising/24.pl:3
#, c-format
msgid "Where to find technical assistance?"
-msgstr ""
+msgstr "Onde atopar asistencia técnica?"
#: share/advertising/25.pl:3
#, c-format
msgid "How to join the Mandriva Linux community?"
-msgstr ""
+msgstr "Como unirse á comunidade de Mandriva Linux?"
#: share/advertising/26.pl:3
#, c-format
msgid "How to maintain your system up-to-date?"
-msgstr ""
+msgstr "Como manter o seu sistema actualizado?"
#: share/advertising/intel.pl:3
#, c-format
@@ -16302,9 +16432,9 @@ msgstr ""
"escritorio"
#: share/compssUsers.pl:156
-#, fuzzy, c-format
+#, c-format
msgid "IceWm Desktop"
-msgstr "Escritorio"
+msgstr "Escritorio IceWm"
#: share/compssUsers.pl:160
#, c-format
@@ -16312,9 +16442,9 @@ msgid "Other Graphical Desktops"
msgstr "Outros Escritorios Gráficos"
#: share/compssUsers.pl:161
-#, fuzzy, c-format
+#, c-format
msgid "Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
#: share/compssUsers.pl:184
#, c-format
@@ -16602,7 +16732,7 @@ msgstr ""
#: standalone/drakTermServ:251
#, c-format
msgid "Net Boot Images"
-msgstr ""
+msgstr "Imaxes de Arrinque dende Rede"
#: standalone/drakTermServ:258
#, c-format
@@ -16690,7 +16820,7 @@ msgstr ""
#: standalone/drakTermServ:446
#, c-format
msgid "Creating net boot images for all kernels"
-msgstr ""
+msgstr "Creando imaxes de arrinque dende rede para tódolos kernels"
#: standalone/drakTermServ:447 standalone/drakTermServ:769
#: standalone/drakTermServ:785
@@ -16723,6 +16853,8 @@ msgstr ""
#, c-format
msgid "Syncing server user list with client list, including root."
msgstr ""
+"Sincronizando a lista de usuarios do servidor ca lista do cliente, incluindo "
+"a root."
#: standalone/drakTermServ:499
#, c-format
@@ -16945,12 +17077,12 @@ msgstr "Crear imaxes PXE."
#: standalone/drakTermServ:757
#, c-format
msgid "Install i586 kernel for older clients"
-msgstr ""
+msgstr "Instalar un kernel i586 para clientes antigos"
#: standalone/drakTermServ:767
#, c-format
msgid "Build Whole Kernel -->"
-msgstr ""
+msgstr "Construir o Kernel Enteiro -->"
#: standalone/drakTermServ:774
#, c-format
@@ -16970,7 +17102,7 @@ msgstr "¡Non hai ningún NIC seleccionado!"
#: standalone/drakTermServ:784
#, c-format
msgid "Build All Kernels -->"
-msgstr ""
+msgstr "Construir Tódolos Kernels -->"
#: standalone/drakTermServ:797
#, c-format
@@ -16990,7 +17122,7 @@ msgstr "Eliminar Tódolos NBIs"
#: standalone/drakTermServ:880
#, c-format
msgid "Building images for kernel:"
-msgstr ""
+msgstr "Construindo imaxes para o kernel:"
#: standalone/drakTermServ:1004
#, c-format
@@ -17032,7 +17164,7 @@ msgstr ""
#: standalone/drakTermServ:1095
#, c-format
msgid "No net boot images created!"
-msgstr ""
+msgstr "Non se crearon imaxes de arrinque dende rede!"
#: standalone/drakTermServ:1114
#, fuzzy, c-format
@@ -17328,9 +17460,9 @@ msgid "manual"
msgstr "manual"
#: standalone/drakautoinst:64
-#, fuzzy, c-format
+#, c-format
msgid "Automatic Steps Configuration"
-msgstr "Configuración do estilo de arrinque"
+msgstr "Configuración dos Pasos Automáticos"
#: standalone/drakautoinst:65
#, c-format
@@ -17338,6 +17470,8 @@ msgid ""
"Please choose for each step whether it will replay like your install, or it "
"will be manual"
msgstr ""
+"Elixa en cada paso se se debe reproducir coma na súa instalación, ou se debe "
+"ser manual"
#: standalone/drakautoinst:77 standalone/drakautoinst:78
#: standalone/drakautoinst:92
@@ -17616,7 +17750,7 @@ msgstr "Non se puido atopar %s en %s"
#: standalone/drakbackup:636
#, c-format
msgid "%s not responding"
-msgstr ""
+msgstr "%s non responde"
#: standalone/drakbackup:640
#, c-format
@@ -18833,7 +18967,7 @@ msgstr ""
#: standalone/drakbackup:3833
#, c-format
msgid "CD in place - continue."
-msgstr ""
+msgstr "CD introducido - continuar."
#: standalone/drakbackup:3838
#, c-format
@@ -18947,7 +19081,7 @@ msgstr "Drakbackup"
#: standalone/drakboot:49
#, c-format
msgid "No bootloader found, creating a new configuration"
-msgstr ""
+msgstr "Non se atopou o cargador de arrinque, creando unha nova configuración"
#: standalone/drakboot:84 standalone/harddrake2:190 standalone/harddrake2:191
#: standalone/harddrake2:192 standalone/logdrake:69
@@ -19790,7 +19924,7 @@ msgstr "Importar"
#: standalone/drakfont:494
#, c-format
msgid "Get Windows Fonts"
-msgstr ""
+msgstr "Obter as Fontes de Windows"
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
#: standalone/drakfont:512
@@ -20068,7 +20202,7 @@ msgstr "Enderezo da Rede Local"
#: standalone/drakgw:180
#, c-format
msgid "Local IP address"
-msgstr ""
+msgstr "Enderezo IP local"
#: standalone/drakgw:182
#, c-format
@@ -20221,7 +20355,7 @@ msgstr "Configurando..."
#: standalone/drakgw:385
#, c-format
msgid "Configuring firewall..."
-msgstr ""
+msgstr "Configurando o cortalumes..."
#: standalone/drakhelp:17
#, c-format
@@ -20272,32 +20406,32 @@ msgstr ""
#: standalone/drakhosts:98
#, c-format
msgid "Please add an host to be able to modify it."
-msgstr ""
+msgstr "Por favor, engada unha máquina para podela modificar."
#: standalone/drakhosts:108
-#, fuzzy, c-format
+#, c-format
msgid "Please modify information"
-msgstr "Información detallada"
+msgstr "Por favor modifique a información"
#: standalone/drakhosts:109
-#, fuzzy, c-format
+#, c-format
msgid "Please delete information"
-msgstr "Información detallada"
+msgstr "Por favor elimine a información"
#: standalone/drakhosts:110
-#, fuzzy, c-format
+#, c-format
msgid "Please add information"
-msgstr "Información detallada"
+msgstr "Por favor engada a información"
#: standalone/drakhosts:115
#, c-format
msgid "IP address:"
-msgstr ""
+msgstr "Enderezo IP:"
#: standalone/drakhosts:116
#, c-format
msgid "Host name:"
-msgstr ""
+msgstr "Nome de máquina:"
#: standalone/drakhosts:117
#, c-format
@@ -20312,7 +20446,7 @@ msgstr "Introduza un enderezo IP válido."
#: standalone/drakhosts:129
#, c-format
msgid "Same IP is already in %s file."
-msgstr ""
+msgstr "O mesmo IP xa está no ficheiro %s."
#: standalone/drakhosts:197
#, c-format
@@ -20322,22 +20456,22 @@ msgstr ""
#: standalone/drakhosts:237
#, c-format
msgid "DrakHOSTS manage hosts definitions"
-msgstr ""
+msgstr "DrakHOSTS administra as definicións de máquinas"
#: standalone/drakhosts:246
#, c-format
msgid "Failed to add host."
-msgstr ""
+msgstr "Erro ó engadir a máquina."
#: standalone/drakhosts:253
#, c-format
msgid "Failed to Modify host."
-msgstr ""
+msgstr "Erro ó Modificar a máquina."
#: standalone/drakhosts:260
#, c-format
msgid "Failed to remove host."
-msgstr ""
+msgstr "Erro ó eliminar a máquina."
#: standalone/drakids:26
#, fuzzy, c-format
@@ -20347,7 +20481,7 @@ msgstr "Permitirlle a tódolos usuarios"
#: standalone/drakids:57
#, c-format
msgid "Log"
-msgstr "Rexisto"
+msgstr "Rexistro"
#: standalone/drakids:61
#, fuzzy, c-format
@@ -20355,36 +20489,36 @@ msgid "Clear logs"
msgstr "Borrar todas"
#: standalone/drakids:62 standalone/drakids:67 standalone/net_applet:465
-#, fuzzy, c-format
+#, c-format
msgid "Blacklist"
-msgstr "Negro"
+msgstr "Lista negra"
#: standalone/drakids:63 standalone/drakids:80 standalone/net_applet:470
-#, fuzzy, c-format
+#, c-format
msgid "Whitelist"
-msgstr "Lista de escritura:"
+msgstr "Lista branca"
#: standalone/drakids:71
-#, fuzzy, c-format
+#, c-format
msgid "Remove from blacklist"
-msgstr "Quitar do LVM"
+msgstr "Quitar da lista negra"
#: standalone/drakids:72
-#, fuzzy, c-format
+#, c-format
msgid "Move to whitelist"
-msgstr "Menú a editar"
+msgstr "Mover á lista branca"
#: standalone/drakids:84
-#, fuzzy, c-format
+#, c-format
msgid "Remove from whitelist"
-msgstr "Quitar do LVM"
+msgstr "Quitar da lista branca"
#: standalone/drakids:136 standalone/drakids:145 standalone/drakids:170
#: standalone/drakids:179 standalone/drakids:189 standalone/drakids:265
#: standalone/drakroam:182 standalone/net_applet:202 standalone/net_applet:380
-#, fuzzy, c-format
+#, c-format
msgid "Unable to contact daemon"
-msgstr "Non se puido contactar co espello %s"
+msgstr "Non se puido contactar co daemon"
#: standalone/drakids:202
#, c-format
@@ -20392,14 +20526,14 @@ msgid "Date"
msgstr "Data"
#: standalone/drakids:203
-#, fuzzy, c-format
+#, c-format
msgid "Attacker"
-msgstr "Detalles do ataque"
+msgstr "Atacante"
#: standalone/drakids:204
-#, fuzzy, c-format
+#, c-format
msgid "Attack type"
-msgstr "Tipo de ataque: %s"
+msgstr "Tipo de ataque"
#: standalone/drakids:205
#, c-format
@@ -20439,17 +20573,17 @@ msgstr "Servidor NFS"
#: standalone/draknfs:83
#, c-format
msgid "Restarting/Reloading NFS server..."
-msgstr ""
+msgstr "Reiniciando/Recargando o servidor NFS..."
#: standalone/draknfs:84
#, c-format
msgid "Error Restarting/Reloading NFS server"
-msgstr ""
+msgstr "Erro ó Reiniciar/Recargar o servidor NFS"
#: standalone/draknfs:100 standalone/draksambashare:197
#, c-format
msgid "Directory Selection"
-msgstr ""
+msgstr "Selección de Directorio"
#: standalone/draknfs:105 standalone/draksambashare:202
#, c-format
@@ -20517,17 +20651,17 @@ msgstr ""
#: standalone/draknfs:168
#, c-format
msgid "Secured Connection:"
-msgstr ""
+msgstr "Conexión Segura:"
#: standalone/draknfs:169
#, c-format
msgid "Read-Only share:"
-msgstr ""
+msgstr "Recurso de Só Lectura:"
#: standalone/draknfs:171
#, c-format
msgid "<span weight=\"bold\">Advanced Options</span>"
-msgstr ""
+msgstr "<span weight=\"bold\">Opcións Avanzadas</span>"
#: standalone/draknfs:172
#, c-format
@@ -20557,17 +20691,17 @@ msgstr ""
#: standalone/draknfs:306
#, c-format
msgid "Please add an NFS share to be able to modify it."
-msgstr ""
+msgstr "Por favor, engada un recurso NFS para podelo modificar."
#: standalone/draknfs:378
-#, fuzzy, c-format
+#, c-format
msgid "Advanced Options Help"
-msgstr "Opcións avanzadas"
+msgstr "Axuda de Opcións Avanzadas"
#: standalone/draknfs:389
#, c-format
msgid "NFS directory"
-msgstr ""
+msgstr "Directorio NFS"
#: standalone/draknfs:391 standalone/draksambashare:588
#: standalone/draksambashare:767
@@ -20598,7 +20732,7 @@ msgstr ""
#: standalone/draknfs:401
#, c-format
msgid "User ID:"
-msgstr "ID do Usuario:"
+msgstr "ID de usuario:"
#: standalone/draknfs:401
#, c-format
@@ -20608,7 +20742,7 @@ msgstr ""
#: standalone/draknfs:402
#, c-format
msgid "Anonymous user ID:"
-msgstr ""
+msgstr "ID do usuario anónimo:"
#: standalone/draknfs:403
#, c-format
@@ -20618,7 +20752,7 @@ msgstr ""
#: standalone/draknfs:444
#, c-format
msgid "Can't create this directory."
-msgstr ""
+msgstr "Non se puido crear este directorio."
#: standalone/draknfs:447
#, c-format
@@ -20643,38 +20777,38 @@ msgstr "Opcións Xerais"
#: standalone/draknfs:527
#, c-format
msgid "Custom Options"
-msgstr ""
+msgstr "Opcións Personalizadas"
#: standalone/draknfs:539 standalone/draksambashare:625
#: standalone/draksambashare:792
#, c-format
msgid "Please enter a directory to share."
-msgstr ""
+msgstr "Introduza o directorio que se vai compartir."
#: standalone/draknfs:546
#, c-format
msgid "Please use the modify button to set right access."
-msgstr ""
+msgstr "Use o botón modificar para establecer o acceso correcto."
#: standalone/draknfs:600
#, c-format
msgid "DrakNFS manage NFS shares"
-msgstr ""
+msgstr "DrakNFS administra os recursos NFS"
#: standalone/draknfs:609
#, c-format
msgid "Failed to add NFS share."
-msgstr ""
+msgstr "Erro ó engadir o recurso NFS."
#: standalone/draknfs:616
#, c-format
msgid "Failed to Modify NFS share."
-msgstr ""
+msgstr "Erro ó Modificar o recurso NFS."
#: standalone/draknfs:623
#, c-format
msgid "Failed to remove an NFS share."
-msgstr ""
+msgstr "Erro ó eliminar o recurso NFS."
#: standalone/drakperm:21
#, c-format
@@ -20719,7 +20853,7 @@ msgstr "Permisos"
#: standalone/drakperm:57
#, c-format
msgid "Add a new rule"
-msgstr ""
+msgstr "Engadir unha nova regra"
#: standalone/drakperm:64 standalone/drakperm:99 standalone/drakperm:124
#, c-format
@@ -20932,16 +21066,18 @@ msgid ""
"You do not have any wireless interface.\n"
"Run the \"%s\" assistant from the Mandriva Linux Control Center"
msgstr ""
+"Non ten ningunha interface wireless.\n"
+"Execute o asistente \"%s\" dende o Centro de Control de Mandriva Linux"
#: standalone/drakroam:48
#, c-format
msgid "SSID"
-msgstr ""
+msgstr "SSID"
#: standalone/drakroam:49
#, c-format
msgid "Signal strength"
-msgstr ""
+msgstr "Potencia do sinal"
#: standalone/drakroam:51
#, c-format
@@ -20951,7 +21087,7 @@ msgstr "Cifrado"
#: standalone/drakroam:112
#, c-format
msgid "Please enter settings for wireless network \"%s\""
-msgstr ""
+msgstr "Introduza as preferencias para a rede sen fíos \"%s\""
#: standalone/drakroam:123
#, c-format
@@ -20970,9 +21106,9 @@ msgid "Refresh"
msgstr "Actualizar"
#: standalone/draksambashare:62
-#, fuzzy, c-format
+#, c-format
msgid "Share directory"
-msgstr "Debe ser un directorio."
+msgstr "Compartir directorio"
#: standalone/draksambashare:63 standalone/draksambashare:96
#, c-format
@@ -20987,12 +21123,12 @@ msgstr "Explorar"
#: standalone/draksambashare:65
#, c-format
msgid "Public"
-msgstr "Pública"
+msgstr "Público"
#: standalone/draksambashare:66 standalone/draksambashare:102
-#, c-format
+#, fuzzy, c-format
msgid "Writable"
-msgstr "Escribíbel"
+msgstr "Escritura"
#: standalone/draksambashare:67 standalone/draksambashare:143
#, fuzzy, c-format
@@ -21005,15 +21141,15 @@ msgid "Directory mask"
msgstr "Directorio"
#: standalone/draksambashare:69
-#, fuzzy, c-format
+#, c-format
msgid "Read list"
-msgstr "Lectura"
+msgstr "Lista de lectura"
#: standalone/draksambashare:70 standalone/draksambashare:103
#: standalone/draksambashare:602
-#, fuzzy, c-format
+#, c-format
msgid "Write list"
-msgstr "Lista de escritura:"
+msgstr "Lista de escritura"
#: standalone/draksambashare:71 standalone/draksambashare:135
#, fuzzy, c-format
@@ -21026,14 +21162,14 @@ msgid "Valid users"
msgstr "Engadir usuario"
#: standalone/draksambashare:73
-#, fuzzy, c-format
+#, c-format
msgid "Inherit Permissions"
-msgstr "Permisos"
+msgstr "Herdar Permisos"
#: standalone/draksambashare:74 standalone/draksambashare:137
-#, fuzzy, c-format
+#, c-format
msgid "Hide dot files"
-msgstr "Agocha-los ficheiros"
+msgstr "Agocha-los ficheiros con punto"
#: standalone/draksambashare:76 standalone/draksambashare:142
#, fuzzy, c-format
@@ -21058,22 +21194,22 @@ msgstr "Usuario por omisión"
#: standalone/draksambashare:94
#, c-format
msgid "Printer name"
-msgstr ""
+msgstr "Nome de impresora"
#: standalone/draksambashare:98 standalone/draksambashare:594
#, c-format
msgid "Printable"
-msgstr ""
+msgstr "Imprimible"
#: standalone/draksambashare:99
#, c-format
msgid "Print Command"
-msgstr ""
+msgstr "Comando de Impresión"
#: standalone/draksambashare:100
#, c-format
msgid "LPQ command"
-msgstr ""
+msgstr "Comando LPQ"
#: standalone/draksambashare:101
#, c-format
@@ -21082,29 +21218,29 @@ msgstr ""
#: standalone/draksambashare:104 standalone/draksambashare:145
#: standalone/draksambashare:603
-#, fuzzy, c-format
+#, c-format
msgid "Inherit permissions"
-msgstr "Permisos"
+msgstr "Herdar permisos"
#: standalone/draksambashare:106
#, c-format
msgid "Create mode"
-msgstr ""
+msgstr "Modo de creación"
#: standalone/draksambashare:107
#, c-format
msgid "Use client driver"
-msgstr ""
+msgstr "Usar o driver do cliente"
#: standalone/draksambashare:133
-#, fuzzy, c-format
+#, c-format
msgid "Read List"
-msgstr "Elimina-la Lista"
+msgstr "Lista de Lectura"
#: standalone/draksambashare:134
-#, fuzzy, c-format
+#, c-format
msgid "Write List"
-msgstr "Lista de escritura:"
+msgstr "Lista de Escritura"
#: standalone/draksambashare:139
#, fuzzy, c-format
@@ -21119,7 +21255,7 @@ msgstr ""
#: standalone/draksambashare:160
#, c-format
msgid "About Draksambashare"
-msgstr ""
+msgstr "Acerca de Draksambashare"
#: standalone/draksambashare:160
#, c-format
@@ -21130,36 +21266,43 @@ msgid ""
"\n"
"This is a simple tool to easily manage Samba configuration."
msgstr ""
+"Mandriva Linux \n"
+"Versión: %s\n"
+"Autor: Antoine Ginies\n"
+"\n"
+"Esta é unha ferramenta simple para administrar de maneira sinxela a "
+"configuración de Samba."
#: standalone/draksambashare:180
-#, fuzzy, c-format
+#, c-format
msgid "Samba server"
msgstr "Servidor Samba"
#: standalone/draksambashare:180
#, c-format
msgid "Restarting/Reloading Samba server..."
-msgstr ""
+msgstr "Reiniciando/Recargando o servidor Samba..."
#: standalone/draksambashare:181
#, c-format
msgid "Error Restarting/Reloading Samba server"
-msgstr ""
+msgstr "Erro ó Reiniciar/Recargar o servidor Samba"
#: standalone/draksambashare:367
#, c-format
msgid "Add a Samba share"
-msgstr ""
+msgstr "Engadir un recurso de Samba"
#: standalone/draksambashare:370
#, c-format
msgid "Goal of this wizard is to easily create a new Samba share."
msgstr ""
+"A meta deste asistente é crear dunha maneira sinxela un novo recurso Samba."
#: standalone/draksambashare:372
-#, fuzzy, c-format
+#, c-format
msgid "Name of the share:"
-msgstr "Nome do certificado"
+msgstr "Nome do recurso:"
#: standalone/draksambashare:373 standalone/draksambashare:587
#: standalone/draksambashare:768
@@ -21178,17 +21321,19 @@ msgid ""
"Share with the same name already exist or share name empty, please choose "
"another name."
msgstr ""
+"Xa existe un recurso con este nome ou o nome está baleiro, escolla outro "
+"nome."
#: standalone/draksambashare:383 standalone/draksambashare:389
#, c-format
msgid "Can't create the directory, please enter a correct path."
-msgstr ""
+msgstr "Non se puido crear o directorio, introduza unha ruta correcta."
#: standalone/draksambashare:386 standalone/draksambashare:623
#: standalone/draksambashare:790
-#, fuzzy, c-format
+#, c-format
msgid "Please enter a Comment for this share."
-msgstr "Introduza os parámetros wireless para esta tarxeta:"
+msgstr "Introduza un Comentario para este recurso."
#: standalone/draksambashare:417
#, c-format
@@ -21200,12 +21345,12 @@ msgstr ""
#: standalone/draksambashare:433
#, c-format
msgid "pdf-gen - a PDF generator"
-msgstr ""
+msgstr "pdf-gen - un xerador de PDF"
#: standalone/draksambashare:434
#, c-format
msgid "printers - all printers available"
-msgstr ""
+msgstr "printers - tódalas impresoras dispoñibles"
#: standalone/draksambashare:438
#, c-format
@@ -21221,12 +21366,12 @@ msgstr ""
#: standalone/draksambashare:449
#, c-format
msgid "A PDF generator already exists."
-msgstr ""
+msgstr "Xa existe un xerador de PDF."
#: standalone/draksambashare:473
#, c-format
msgid "Printers and print$ already exist."
-msgstr ""
+msgstr "Printers e print$ xa existen."
#: standalone/draksambashare:524
#, c-format
@@ -21241,12 +21386,12 @@ msgstr ""
#: standalone/draksambashare:583
#, c-format
msgid "Printer share"
-msgstr ""
+msgstr "Recurso printer"
#: standalone/draksambashare:586
#, c-format
msgid "Printer name:"
-msgstr ""
+msgstr "Nome da impresora:"
#: standalone/draksambashare:592 standalone/draksambashare:773
#, fuzzy, c-format
@@ -21261,7 +21406,7 @@ msgstr "Explorar"
#: standalone/draksambashare:598
#, c-format
msgid "Advanced options"
-msgstr ""
+msgstr "Opcións avanzadas"
#: standalone/draksambashare:600
#, c-format
@@ -21276,7 +21421,7 @@ msgstr ""
#: standalone/draksambashare:605
#, c-format
msgid "Create mode:"
-msgstr ""
+msgstr "Modo de creación:"
#: standalone/draksambashare:609
#, c-format
@@ -21286,12 +21431,12 @@ msgstr ""
#: standalone/draksambashare:611
#, c-format
msgid "Print command:"
-msgstr ""
+msgstr "Comando de impresión:"
#: standalone/draksambashare:612
#, c-format
msgid "LPQ command:"
-msgstr ""
+msgstr "Comando LPQ:"
#: standalone/draksambashare:613
#, c-format
@@ -21301,17 +21446,17 @@ msgstr ""
#: standalone/draksambashare:629
#, c-format
msgid "create mode should be numeric. ie: 0755."
-msgstr ""
+msgstr "o modo de creación debe ser numérico. p.ex: 0755."
#: standalone/draksambashare:691
#, c-format
msgid "DrakSamba entry"
-msgstr ""
+msgstr "entrada DrakSamba"
#: standalone/draksambashare:696
#, c-format
msgid "Please add or select a Samba share to be able to modify it."
-msgstr ""
+msgstr "Engada ou seleccione un recurso Samba para podelo modificar."
#: standalone/draksambashare:719
#, fuzzy, c-format
@@ -21334,30 +21479,32 @@ msgid "Samba share directory"
msgstr "Non existe tal directorio"
#: standalone/draksambashare:766
-#, fuzzy, c-format
+#, c-format
msgid "Share name:"
-msgstr "Nome de recurso compartido"
+msgstr "Nome de recurso:"
#: standalone/draksambashare:772
#, c-format
msgid "Public:"
-msgstr ""
+msgstr "Público:"
#: standalone/draksambashare:796
#, c-format
msgid ""
"Create mask, create mode and directory mask should be numeric. ie: 0755."
msgstr ""
+"A máscara de creación, o modo de creación e a máscara do directorio deben "
+"ser numéricos. p.ex: 0755."
#: standalone/draksambashare:803
#, c-format
msgid "Please create this Samba user: %s"
-msgstr ""
+msgstr "Por favor, cree este usuario de Samba: %s"
#: standalone/draksambashare:926
#, c-format
msgid "User information"
-msgstr ""
+msgstr "Información de usuario"
#: standalone/draksambashare:928
#, c-format
@@ -21372,17 +21519,17 @@ msgstr "Contrasinal:"
#: standalone/draksambashare:1129
#, c-format
msgid "Failed to add Samba share."
-msgstr ""
+msgstr "Erro ó engadir o recurso Samba."
#: standalone/draksambashare:1138
#, c-format
msgid "Failed to Modify Samba share."
-msgstr ""
+msgstr "Erro ó Modificar o recurso Samba."
#: standalone/draksambashare:1147
#, c-format
msgid "Failed to remove a Samba share."
-msgstr ""
+msgstr "Erro ó eliminar o recurso Samba."
#: standalone/draksambashare:1154
#, c-format
@@ -21392,22 +21539,22 @@ msgstr ""
#: standalone/draksambashare:1162
#, c-format
msgid "Add printers"
-msgstr ""
+msgstr "Engadir impresoras"
#: standalone/draksambashare:1168
#, c-format
msgid "Failed to add printers."
-msgstr ""
+msgstr "Erro ó engadir impresoras."
#: standalone/draksambashare:1177
#, c-format
msgid "Failed to Modify."
-msgstr ""
+msgstr "Erro ó Modificar."
#: standalone/draksambashare:1186
#, c-format
msgid "Failed to remove."
-msgstr ""
+msgstr "Erro ó eliminar."
#: standalone/draksambashare:1193
#, c-format
@@ -21417,37 +21564,37 @@ msgstr "Impresoras"
#: standalone/draksambashare:1201
#, c-format
msgid "Change password"
-msgstr ""
+msgstr "Cambiar contrasinal"
#: standalone/draksambashare:1206
#, c-format
msgid "Failed to change user password."
-msgstr ""
+msgstr "Erro ó cambiar o contrasinal do usuario."
#: standalone/draksambashare:1214
#, c-format
msgid "Failed to add user."
-msgstr ""
+msgstr "Erro ó engadir o usuario."
#: standalone/draksambashare:1217
#, c-format
msgid "Delete user"
-msgstr ""
+msgstr "Eliminar usuario"
#: standalone/draksambashare:1226
#, c-format
msgid "Failed to delete user."
-msgstr ""
+msgstr "Erro ó eliminar o usuario."
#: standalone/draksambashare:1238
#, c-format
msgid "Samba Users"
-msgstr ""
+msgstr "Usuarios de Samba"
#: standalone/draksambashare:1247
#, c-format
msgid "DrakSamba manage Samba shares"
-msgstr ""
+msgstr "DrakSamba administra os recursos Samba"
#: standalone/draksec:49
#, c-format
@@ -21619,22 +21766,22 @@ msgstr ""
#: standalone/draksplash:30
#, c-format
msgid "x coordinate of text box"
-msgstr ""
+msgstr "coordenada x da caixa de texto"
#: standalone/draksplash:31
#, c-format
msgid "y coordinate of text box"
-msgstr ""
+msgstr "coordenada y da caixa de texto"
#: standalone/draksplash:32
#, c-format
msgid "text box width"
-msgstr ""
+msgstr "ancho da caixa de texto"
#: standalone/draksplash:33
#, c-format
msgid "text box height"
-msgstr ""
+msgstr "altura da caixa de texto"
#: standalone/draksplash:34
#, c-format
@@ -21663,57 +21810,57 @@ msgstr "a altura da barra de progreso"
#: standalone/draksplash:38
#, c-format
msgid "x coordinate of the text"
-msgstr ""
+msgstr "coordenada x do texto"
#: standalone/draksplash:39
#, c-format
msgid "y coordinate of the text"
-msgstr ""
+msgstr "coordenada y do texto"
#: standalone/draksplash:40
#, c-format
msgid "text box transparency"
-msgstr ""
+msgstr "transparencia da caixa de texto"
#: standalone/draksplash:41
#, c-format
msgid "progress box transparency"
-msgstr ""
+msgstr "transparencia da barra de progreso"
#: standalone/draksplash:42
#, c-format
msgid "text size"
-msgstr ""
+msgstr "tamaño do texto"
#: standalone/draksplash:59
#, c-format
msgid "Choose progress bar color 1"
-msgstr ""
+msgstr "Escolla a cor 1 da barra de progreso"
#: standalone/draksplash:60
#, c-format
msgid "Choose progress bar color 2"
-msgstr ""
+msgstr "Escolla a cor 2 da barra de progreso"
#: standalone/draksplash:61
#, c-format
msgid "Choose progress bar background"
-msgstr ""
+msgstr "Elixa o fondo da barra de progreso"
#: standalone/draksplash:62
#, c-format
msgid "Gradient type"
-msgstr ""
+msgstr "Tipo de gradiente"
#: standalone/draksplash:63
#, c-format
msgid "Choose text color"
-msgstr ""
+msgstr "Elixa a cor do texto"
#: standalone/draksplash:65 standalone/draksplash:72
#, c-format
msgid "Choose picture"
-msgstr ""
+msgstr "Elixa a imaxe"
#: standalone/draksplash:66
#, c-format
@@ -21738,7 +21885,7 @@ msgstr "Cor do fondo"
#: standalone/draksplash:73
#, c-format
msgid "Verbose bootsplash"
-msgstr ""
+msgstr "bootsplash detallado"
#: standalone/draksplash:75
#, c-format
@@ -21768,12 +21915,12 @@ msgstr "Garda-lo tema"
#: standalone/draksplash:153
#, c-format
msgid "saving Bootsplash theme..."
-msgstr ""
+msgstr "gardando o tema de Bootsplash..."
#: standalone/draksplash:162
#, c-format
msgid "Unable to load image file %s"
-msgstr ""
+msgstr "Non foi posible cargar o ficheiro de imaxes %s"
#: standalone/draksplash:173
#, c-format
@@ -21783,7 +21930,7 @@ msgstr "Escolle-la imaxe"
#: standalone/draksplash:188
#, c-format
msgid "Color selection"
-msgstr ""
+msgstr "Selección de cores"
#: standalone/drakups:74
#, c-format
@@ -23201,9 +23348,9 @@ msgid "Mode"
msgstr "Modo"
#: standalone/drakvpn:1129
-#, fuzzy, c-format
+#, c-format
msgid "tunnel"
-msgstr "Cancelar"
+msgstr "túnel"
#: standalone/drakvpn:1129
#, c-format
@@ -23689,7 +23836,7 @@ msgstr ""
#: standalone/harddrake2:77
#, c-format
msgid "Is FPU present"
-msgstr ""
+msgstr "Ten FPU"
#: standalone/harddrake2:77
#, c-format
@@ -24505,7 +24652,7 @@ msgstr "Monitorizar a Rede"
#: standalone/net_applet:60
#, c-format
msgid "Manage wireless networks"
-msgstr ""
+msgstr "Administrar redes sen fíos"
#: standalone/net_applet:61
#, c-format
@@ -24538,19 +24685,19 @@ msgid "Always launch on startup"
msgstr "Lanzar sempre ó inicia-lo sistema"
#: standalone/net_applet:339
-#, fuzzy, c-format
+#, c-format
msgid "Wireless networks"
-msgstr "Conexión Wireless"
+msgstr "Redes sen fíos"
#: standalone/net_applet:424
-#, fuzzy, c-format
+#, c-format
msgid "Interactive Firewall: intrusion detected"
-msgstr "¡Detectouse unha configuración de cortalumes!"
+msgstr "Cortalumes Interactivo: detectouse unha intrusión"
#: standalone/net_applet:437
-#, fuzzy, c-format
+#, c-format
msgid "What do you want to do with this attacker?"
-msgstr "¿Queres rematar o xogo?"
+msgstr "Que desexa facer con este atacante?"
#: standalone/net_applet:440
#, c-format
@@ -24791,9 +24938,9 @@ msgid "/_Configure CUPS"
msgstr "/_Configurar CUPS"
#: standalone/printerdrake:171
-#, fuzzy, c-format
+#, c-format
msgid "/Configure _Auto Administration"
-msgstr "Administración Remota"
+msgstr "/Configurar _Administración Automática"
#: standalone/printerdrake:194
#, c-format
@@ -25546,6 +25693,9 @@ msgstr ""
msgid "Installation failed"
msgstr "Fallo ó instalar"
+#~ msgid "http://www.mandrivalinux.com/en/errata.php3"
+#~ msgstr "http://www.mandrivalinux.com/en/errata.php3"
+
#~ msgid ""
#~ "\n"
#~ "Please check all options that you need.\n"
@@ -25566,23 +25716,9 @@ msgstr "Fallo ó instalar"
#~ "Con esta opción poderá restaurar calquera versión do\n"
#~ "seu directorio /etc."
-#~ msgid "http://www.mandrivalinux.com/en/errata.php3"
-#~ msgstr "http://www.mandrivalinux.com/en/errata.php3"
-
-#~ msgid ""
-#~ "_: keyboard\n"
-#~ "Dvorak (Esperanto)"
-#~ msgstr "Dvorak (Noruegués)"
-
-#~ msgid ""
-#~ "_: keyboard\n"
-#~ "Lithuanian AZERTY (old)"
-#~ msgstr "Lituano AZERTY (antigo)"
-
-#~ msgid ""
-#~ "_: keyboard\n"
-#~ "Lithuanian \"phonetic\" QWERTY"
-#~ msgstr "Lituano \"fonético\" QWERTY"
+#, fuzzy
+#~ msgid "Local Area Network setings"
+#~ msgstr "Enderezo da Rede Local"
#~ msgid ""
#~ "Winbind allows the system to retrieve information and authenticate users "
kwb">$w) { $w->set_text(delete $opts->{text}) if exists $opts->{text}; } else { $w = exists $opts->{text} ? Gtk2::Label->new(delete $opts->{text}) : Gtk2::Label->new; $w->set_ellipsize(delete $opts->{ellipsize}) if exists $opts->{ellipsize}; $w->set_justify(delete $opts->{justify}) if exists $opts->{justify}; $w->set_line_wrap(delete $opts->{line_wrap}) if exists $opts->{line_wrap}; $w->set_alignment(@{delete $opts->{alignment}}) if exists $opts->{alignment}; $w->modify_font(Gtk2::Pango::FontDescription->from_string(delete $opts->{font})) if exists $opts->{font}; } if (my $text_ref = delete $opts->{text_ref}) { my $set = sub { $w->set_text($$text_ref) }; gtkval_register($w, $text_ref, $set); $set->(); } if (my $t = delete $opts->{text_markup}) { $w->set_markup($t); if ($w->get_text eq '') { log::l("invalid markup in $t. not using the markup"); $w->set_text($t); } } $w; } sub _gtk__Alignment { my ($w, $opts) = @_; if (!$w) { $w = Gtk2::Alignment->new(0, 0, 0, 0); } $w; } sub title1_to_markup { my ($label) = @_; if ($::isInstall) { my $font = lang::l2pango_font($::o->{locale}{lang}); if (my ($font_size) = $font =~ /(\d+)/) { $font_size++; $font =~ s/\d+/$font_size/; } qq(<span foreground="#5A8AD6" font="$font">$label</span>); } else { qq(<b><big>$label</big></b>); } } sub _gtk__Install_Title { my ($w, $opts) = @_; local $opts->{widget_name} = 'Banner'; $opts->{text} = uc($opts->{text}) if $::isInstall; gtknew('HBox', widget_name => 'Banner', children => [ 0, gtknew('Label', padding => [ 6, 0 ]), 1, gtknew('VBox', widget_name => 'Banner', children_tight => [ _gtk__Title2($w, $opts), if_($::isInstall, Gtk2::HSeparator->new), ]), 0, gtknew('Label', padding => [ 6, 0 ]), ]); } sub _gtk__Title1 { my ($w, $opts) = @_; $opts ||= {}; $opts->{text_markup} = title1_to_markup(delete($opts->{label})) if $opts->{label}; _gtk__WrappedLabel($w, $opts); } sub _gtk__Title2 { my ($w, $opts) = @_; $opts ||= {}; $opts->{alignment} = [ 0, 0 ]; _gtk__Title1($w, $opts); } sub _gtk__Sexy_IconEntry { my ($w, $opts) = @_; require Gtk2::Sexy; if (!$w) { $w = Gtk2::Sexy::IconEntry->new; $w->set_editable(delete $opts->{editable}) if exists $opts->{editable}; } $w->add_clear_button if delete $opts->{clear_button}; if (my $icon = delete $opts->{primary_icon}) { $w->set_icon('primary', $icon); $w->set_icon_highlight('primary', $icon); } if (my $icon = delete $opts->{secondary_icon}) { $w->set_icon('secondary', $icon); $w->set_icon_highlight('secondary', $icon); } $w->signal_connect('icon-released' => delete $opts->{'icon-released'}) if exists $opts->{'icon-released'}; $w->signal_connect('icon-pressed' => delete $opts->{'icon-pressed'}) if exists $opts->{'icon-pressed'}; _gtk__Entry($w, $opts); } sub _gtk__Entry { my ($w, $opts) = @_; if (!$w) { $w = Gtk2::Entry->new; $w->set_editable(delete $opts->{editable}) if exists $opts->{editable}; } $w->set_text(delete $opts->{text}) if exists $opts->{text}; $w->signal_connect(key_press_event => delete $opts->{key_press_event}) if exists $opts->{key_press_event}; if (my $text_ref = delete $opts->{text_ref}) { my $set = sub { $w->set_text($$text_ref) }; gtkval_register($w, $text_ref, $set); $set->(); } $w; } sub _gtk__TextView { my ($w, $opts, $_class, $action) = @_; if (!$w) { $w = Gtk2::TextView->new; $w->set_editable(delete $opts->{editable}) if exists $opts->{editable}; $w->set_wrap_mode(delete $opts->{wrap_mode}) if exists $opts->{wrap_mode}; $w->set_cursor_visible(delete $opts->{cursor_visible}) if exists $opts->{cursor_visible}; } _text_insert($w, delete $opts->{text}, append => $action eq 'gtkadd') if exists $opts->{text}; $w; } sub _gtk__WebKit_View { my ($w, $opts, $_class, $action) = @_; if (!$w) { $w = Gtk2::WebKit::WebView->new; } # disable contextual menu: if (delete $opts->{no_popup_menu}) { $w->signal_connect('populate-popup' => sub { my (undef, $menu) = @_; $menu->destroy if $menu; 1; }); } $w; } sub _gtk__ComboBox { my ($w, $opts, $_class, $action) = @_; if (!$w) { $w = Gtk2::ComboBox->new_text; $w->{format} = delete $opts->{format} if exists $opts->{format}; } my $set_list = sub { $w->{formatted_list} = $w->{format} ? [ map { $w->{format}($_) } @{$w->{list}} ] : $w->{list}; $w->get_model->clear; $w->{strings} = $w->{formatted_list}; # used by Gtk2::ComboBox wrappers such as get_text() in ugtk2 $w->append_text($_) foreach @{$w->{formatted_list}}; }; if (my $list_ref = delete $opts->{list_ref}) { !$opts->{list} or internal_error("both list and list_ref"); my $set = sub { $w->{list} = $$list_ref; $set_list->(); }; gtkval_register($w, $list_ref, $set); $set->(); } elsif (exists $opts->{list}) { $w->{list} = delete $opts->{list}; $set_list->(); } if ($action eq 'gtknew') { if (my $text_ref = delete $opts->{text_ref}) { my $set = sub { my $val = may_apply($w->{format}, $$text_ref); eval { $w->set_active(find_index { $_ eq $val } @{$w->{formatted_list}}) }; }; $w->signal_connect(changed => sub { gtkval_modify($text_ref, $w->{list}[$w->get_active], $set); }); gtkval_register($w, $text_ref, $set); gtkval_register($w, $text_ref, delete $opts->{changed}) if exists $opts->{changed}; $set->(); } else { my $val = delete $opts->{text}; eval { $w->set_active(find_index { $_ eq $val } @{$w->{formatted_list}}) } if defined $val; $w->signal_connect(changed => delete $opts->{changed}) if exists $opts->{changed}; } } $w; } sub _gtk__ScrolledWindow { my ($w, $opts, $_class, $action) = @_; if (!$w) { $w = Gtk2::ScrolledWindow->new(undef, undef); $w->set_policy(delete $opts->{h_policy} || 'automatic', delete $opts->{v_policy} || 'automatic'); } my $faked_w = $w; if (my $child = delete $opts->{child}) { if (member(ref($child), qw(Gtk2::Layout Gtk2::Html2::View Gtk2::SimpleList Gtk2::SourceView::View Gtk2::Text Gtk2::TextView Gtk2::TreeView Gtk2::WebKit::WebView))) { $w->add($child); } else { $w->add_with_viewport($child); } $child->set_focus_vadjustment($w->get_vadjustment) if $child->can('set_focus_vadjustment'); $child->set_left_margin(6) if ref($child) =~ /Gtk2::TextView/ && $child->get_left_margin() <= 6; $child->show; $w->child->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type}; if (ref($child) eq 'Gtk2::TextView' && delete $opts->{to_bottom}) { $child->{to_bottom} = _allow_scroll_TextView_to_bottom($w, $child); } if (!delete $opts->{no_shadow} && $action eq 'gtknew' && ref($child) =~ /Gtk2::(Html2|SimpleList|TextView|TreeView|WebKit::WebView)/) { $faked_w = gtknew('Frame', shadow_type => 'in', child => $w); } } $faked_w; } sub _gtk__Frame { my ($w, $opts) = @_; if ($w) { $w->set_label(delete $opts->{text}) if exists $opts->{text}; } else { $w = Gtk2::Frame->new(delete $opts->{text}); $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width}; $w->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type}; } if (my $child = delete $opts->{child}) { $w->add($child); $child->show; } $w; } sub _gtk__Expander { my ($w, $opts) = @_; if ($w) { $w->set_label(delete $opts->{text}) if exists $opts->{text}; } else { $w = Gtk2::Expander->new(delete $opts->{text}); } $w->signal_connect(activate => delete $opts->{activate}) if exists $opts->{activate}; if (my $child = delete $opts->{child}) { $w->add($child); $child->show; } $w; } sub _gtk__MDV_Notebook { my ($w, $opts, $_class, $action) = @_; if (!$w) { import_style_ressources(); my ($layout, $selection_arrow, $selection_bar); my $parent_window = delete $opts->{parent_window} || root_window(); my $root_height = first($parent_window->get_size()); my $suffix = $root_height eq 800 && !$::isStandalone ? '_600' : '_768'; # the white square is a little bit above the actual left sidepanel: my $offset = 20; my $is_flip_needed = text_direction_rtl(); my $filler = gtknew('Image', file => 'left-background-filler.png'); my $filler_height = $filler->get_pixbuf->get_height; my $left_background = gtknew('Image_using_pixbuf', file => 'left-background.png'); my $lf_height = $left_background->get_pixbuf->get_height; my @right_background = $::isInstall ? gtknew('Image', file => "right-white-background_left_part$suffix", flip => $is_flip_needed) : map { gtknew('Image', file => "right-white-background_left_part-$_", flip => $is_flip_needed) } 1, 2, 2, 3; my $width1 = $left_background->get_pixbuf->get_width; my $total_width = $width1 + $right_background[0]->get_pixbuf->get_width; my $arrow_x = text_direction_rtl() ? $offset/2 -4 : $width1 - $offset -3; $w = gtknew('HBox', spacing => 0, children => [ 0, $layout = gtknew('Layout', width => $total_width - $offset, children => [ #Layout Fixed # stacking order is important for "Z-buffer": [ $left_background, 0, 0 ], if_($suffix ne '_600', [ $filler, 0, $lf_height ], [ gtknew('Image', file => 'left-background-filler.png'), 0, $lf_height + $filler_height ], [ gtknew('Image', file => 'left-background-filler.png'), 0, $lf_height + $filler_height*2 ], ), [ $selection_bar = gtknew('Image', file => 'rollover.png'), 0, 0 ], # arbitrary vertical position ($opts->{children} ? @{ delete $opts->{children} } : ()), [ my $box = gtknew('VBox', spacing => 0, height => -1, children => [ 0, $right_background[0], if_(!$::isInstall, 1, $right_background[1], 1, $right_background[2], # enought up to to XYZx1280 resolution 0, $right_background[3], ), ]), (text_direction_rtl() ? 0 : $width1 - $offset), 0 ], # stack on top (vertical position is arbitrary): [ $selection_arrow = gtknew('Image', file => 'steps_on', flip => $is_flip_needed), $arrow_x, 0, ], ]), 1, delete $opts->{right_child} || gtknew('Image_using_pixbuf', file => "right-white-background_right_part$suffix", flip => $is_flip_needed), ]); $w->signal_connect('size-allocate' => sub { my (undef, $requisition) = @_; state $width ||= $right_background[0]->get_pixbuf->get_width; $box->set_size_request($width, $requisition->height); }); $_->set_property('no-show-all', 1) foreach $selection_bar, $selection_arrow; bless($w, 'Gtk2::MDV_Notebook'); add2hash($w, { arrow_x => $arrow_x, layout => $layout, selection_arrow => $selection_arrow, selection_bar =>$selection_bar, }); } $w; } sub _gtk__Fixed { my ($w, $opts, $_class, $action) = @_; if (!$w) { $w = Gtk2::Fixed->new; $w->set_has_window(delete $opts->{has_window}) if exists $opts->{has_window}; _gtknew_handle_layout_children($w, $opts); } $w; } sub _gtk__Layout { my ($w, $opts, $_class, $_action) = @_; if (!$w) { $w = Gtk2::Layout->new; _gtknew_handle_layout_children($w, $opts); } $w; } sub _gtknew_handle_layout_children { my ($w, $opts) = @_; $opts->{children} ||= []; push @{$opts->{children}}, [ delete $opts->{child}, delete $opts->{x}, delete $opts->{y} ] if exists $opts->{child}; foreach (@{$opts->{children}}) { $w->put(@$_); } delete $opts->{children}; if ($opts->{pixbuf_file}) { my $pixbuf = gtknew('Pixbuf', file => delete $opts->{pixbuf_file}) if $opts->{pixbuf_file}; $w->signal_connect( realize => sub { ugtk2::set_back_pixbuf($w, $pixbuf); }); } } sub _gtk__Window { &_gtk_any_Window } sub _gtk__Dialog { &_gtk_any_Window } sub _gtk__Plug { &_gtk_any_Window } sub _gtk_any_Window { my ($w, $opts, $class) = @_; if (!$w) { if ($class eq 'Window') { $w = "Gtk2::$class"->new(delete $opts->{type} || 'toplevel'); } elsif ($class eq 'Plug') { $opts->{socket_id} or internal_error("can not create a Plug without a socket_id"); $w = "Gtk2::$class"->new(delete $opts->{socket_id}); } elsif ($class eq 'FileChooserDialog') { my $action = delete $opts->{action} || internal_error("missing action for FileChooser"); $w = Gtk2::FileChooserDialog->new(delete $opts->{title}, delete $opts->{transient_for} || $::main_window, $action, N("Cancel") => 'cancel', delete $opts->{button1} || N("Ok") => 'ok', ); } else { $w = "Gtk2::$class"->new; } if ($::isInstall || $::set_dialog_hint) { $w->set_type_hint('dialog'); # for matchbox window manager } $w->set_modal(delete $opts->{modal}) if exists $opts->{modal}; $opts->{transient_for} ||= $::main_window if $::main_window; $w->set_modal(1) if exists $opts->{transient_for}; $w->set_transient_for(delete $opts->{transient_for}) if exists $opts->{transient_for}; $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width}; $w->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type}; $w->set_position(delete $opts->{position_policy}) if exists $opts->{position_policy}; $w->set_default_size(delete $opts->{default_width} || -1, delete $opts->{default_height} || -1) if exists $opts->{default_width} || exists $opts->{default_height}; my $icon_no_error = $opts->{icon_no_error}; if (my $name = delete $opts->{icon} || delete $opts->{icon_no_error}) { if (my $f = _find_imgfile($name)) { $w->set_icon(gtknew('Pixbuf', file => $f)); } elsif (!$icon_no_error) { internal_error("can not find $name"); } } } $w->set_title(delete $opts->{title}) if exists $opts->{title}; if (my $child = delete $opts->{child}) { $w->add($child); $child->show; } $w; } my $previous_popped_and_reuse_window; sub destroy_previous_popped_and_reuse_window() { $previous_popped_and_reuse_window or return; $previous_popped_and_reuse_window->destroy; $previous_popped_and_reuse_window = undef; } sub _gtk__MagicWindow { my ($w, $opts) = @_; my $pop_it = delete $opts->{pop_it} || !$::isWizard && !$::isEmbedded || $::WizardTable && do { #- do not take into account the wizard banner # FIXME!!! any { !$_->isa('Gtk2::DrawingArea') && $_->visible } $::WizardTable->get_children; }; my $pop_and_reuse = delete $opts->{pop_and_reuse} && $pop_it; my $sub_child = delete $opts->{child}; my $provided_banner = delete $opts->{banner}; if ($pop_it && $provided_banner) { $sub_child = gtknew('VBox', children => [ 0, $provided_banner, if_($sub_child, 1, $sub_child) ]); } else { $sub_child ||= gtknew('VBox'); } if (!$pop_and_reuse) { destroy_previous_popped_and_reuse_window(); } if ($previous_popped_and_reuse_window && $pop_and_reuse) { $w = $previous_popped_and_reuse_window; $w->remove($w->child); gtkadd($w, child => $sub_child); %$opts = (); } elsif ($pop_it) { $opts->{child} = $sub_child; $w = _create_Window($opts, pop_and_reuse => $pop_and_reuse); $previous_popped_and_reuse_window = $w if $pop_and_reuse; } else { if (!$::WizardWindow) { my $banner; if (!$::isEmbedded && !$::isInstall && $::Wizard_title) { if (_find_imgfile($opts->{icon_no_error})) { $banner = Gtk2::Banner->new($opts->{icon_no_error}, $::Wizard_title); } else { log::l("ERROR: missing wizard banner $opts->{icon_no_error}"); } } $::WizardTable = gtknew('VBox', if_($banner, children_tight => [ $banner ])); if ($::isEmbedded) { add2hash($opts, { socket_id => $::XID, child => $::WizardTable, }); delete $opts->{no_Window_Manager}; $::Plug = $::WizardWindow = _gtk(undef, 'Plug', 'gtknew', $opts); sync($::WizardWindow); } else { add2hash($opts, { child => $::WizardTable, }); $::WizardWindow = _create_Window($opts); } } else { %$opts = (); } set_main_window_size($::WizardWindow); $w = $::WizardWindow; gtkadd($::WizardTable, children_tight => [ $provided_banner ]) if $provided_banner; gtkadd($::WizardTable, children_loose => [ $sub_child ]); } bless { real_window => $w, child => $sub_child, pop_it => $pop_it, pop_and_reuse => $pop_and_reuse, if_($provided_banner, banner => $provided_banner), }, 'mygtk2::MagicWindow'; } # A standard About dialog. Used with: # my $w = gtknew('AboutDialog', ...); # $w->show_all; # $w->run; sub _gtk__AboutDialog { my ($w, $opts) = @_; if (!$w) { $w = Gtk2::AboutDialog->new; $w->signal_connect(response => sub { $_[0]->destroy }); $w->set_program_name(delete $opts->{name}) if exists $opts->{name}; $w->set_version(delete $opts->{version}) if exists $opts->{version}; $w->set_icon(gtknew('Pixbuf', file => delete $opts->{icon})) if exists $opts->{icon}; $w->set_logo(gtknew('Pixbuf', file => delete $opts->{logo})) if exists $opts->{logo}; $w->set_copyright(delete $opts->{copyright}) if exists $opts->{copyright}; $w->set_url_hook(sub { my (undef, $url) = @_; run_program::raw({ detach => 1 }, 'www-browser', $url); }); $w->set_email_hook(sub { my (undef, $url) = @_; run_program::raw({ detach => 1 }, 'www-browser', $url); }); if (my $url = delete $opts->{website}) { $url =~ s/^https:/http:/; # Gtk2::About doesn't like "https://..." like URLs $w->set_website($url); } $w->set_license(delete $opts->{license}) if exists $opts->{license}; $w->set_wrap_license(delete $opts->{wrap_license}) if exists $opts->{wrap_license}; $w->set_comments(delete $opts->{comments}) if exists $opts->{comments}; $w->set_website_label(delete $opts->{website_label}) if exists $opts->{website_label}; $w->set_authors(delete $opts->{authors}) if exists $opts->{authors}; $w->set_documenters(delete $opts->{documenters}) if exists $opts->{documenters}; $w->set_translator_credits(delete $opts->{translator_credits}) if exists $opts->{translator_credits}; $w->set_artists(delete $opts->{artists}) if exists $opts->{artists}; $w->set_modal(delete $opts->{modal}) if exists $opts->{modal}; $w->set_transient_for(delete $opts->{transient_for}) if exists $opts->{transient_for}; $w->set_position(delete $opts->{position_policy}) if exists $opts->{position_policy}; } $w; } sub _gtk__FileSelection { my ($w, $opts) = @_; if (!$w) { $w = Gtk2::FileSelection->new(delete $opts->{title} || ''); gtkset($w->ok_button, %{delete $opts->{ok_button}}) if exists $opts->{ok_button}; gtkset($w->cancel_button, %{delete $opts->{cancel_button}}) if exists $opts->{cancel_button}; } $w; } sub _gtk__FileChooserDialog { &_gtk_any_Window } sub _gtk__FileChooser { my ($w, $opts) = @_; #- no nice way to have a {file_ref} on a FileChooser since selection_changed only works for browsing, not file/folder creation if (!$w) { my $action = delete $opts->{action} || internal_error("missing action for FileChooser"); $w = Gtk2::FileChooserWidget->new($action); my $file = $opts->{file} && delete $opts->{file}; if (my $dir = delete $opts->{directory} || $file && dirname($file)) { $w->set_current_folder($dir); } if ($file) { if ($action =~ /save|create/) { $w->set_current_name(basename($file)); } else { $w->set_filename($file); } } } $w; } sub _gtk__VPaned { &_gtk_any_Paned } sub _gtk__HPaned { &_gtk_any_Paned } sub _gtk_any_Paned { my ($w, $opts, $class, $action) = @_; if (!$w) { $w = "Gtk2::$class"->new; $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width}; $w->set_position(delete $opts->{position}) if exists $opts->{position}; } elsif ($action eq 'gtkset') { $_->destroy foreach $w->get_children; } foreach my $opt (qw(resize1 shrink1 resize2 shrink2)) { $opts->{$opt} = 1 if !defined $opts->{$opt}; } $w->pack1(delete $opts->{child1}, delete $opts->{resize1}, delete $opts->{shrink1}); $w->pack2(delete $opts->{child2}, delete $opts->{resize2}, delete $opts->{shrink2}); $w; } sub _gtk__VBox { &_gtk_any_Box } sub _gtk__HBox { &_gtk_any_Box } sub _gtk_any_Box { my ($w, $opts, $class, $action) = @_; if (!$w) { $w = "Gtk2::$class"->new; $w->set_homogeneous(delete $opts->{homogenous}) if exists $opts->{homogenous}; $w->set_spacing(delete $opts->{spacing}) if exists $opts->{spacing}; $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width}; } elsif ($action eq 'gtkset') { $_->destroy foreach $w->get_children; } _gtknew_handle_children($w, $opts); $w; } sub _gtk__VButtonBox { &_gtk_any_ButtonBox } sub _gtk__HButtonBox { &_gtk_any_ButtonBox } sub _gtk_any_ButtonBox { my ($w, $opts, $class, $action) = @_; if (!$w) { $w = "Gtk2::$class"->new; $w->set_homogeneous(delete $opts->{homogenous}) if exists $opts->{homogenous}; $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width}; $w->set_spacing(delete $opts->{spacing}) if exists $opts->{spacing}; $w->set_layout(delete $opts->{layout} || 'spread'); } elsif ($action eq 'gtkset') { $_->destroy foreach $w->get_children; } _gtknew_handle_children($w, $opts); $w; } sub _gtk__Notebook { my ($w, $opts) = @_; if (!$w) { $w = Gtk2::Notebook->new; $w->set_property('show-tabs', delete $opts->{show_tabs}) if exists $opts->{show_tabs}; $w->set_property('show-border', delete $opts->{show_border}) if exists $opts->{show_border}; } if (exists $opts->{children}) { foreach (group_by2(@{delete $opts->{children}})) { my ($title, $page) = @$_; $w->append_page($page, $title); $page->show; $title->show; } } $w; } sub _gtk__Table { my ($w, $opts) = @_; if (!$w) { add2hash_($opts, { xpadding => 5, ypadding => 0, border_width => $::isInstall ? 3 : 10 }); $w = Gtk2::Table->new(0, 0, delete $opts->{homogeneous} || 0); $w->set_col_spacings(delete $opts->{col_spacings} || 0); $w->set_row_spacings(delete $opts->{row_spacings} || 0); $w->set_border_width(delete $opts->{border_width}); $w->{$_} = delete $opts->{$_} foreach 'xpadding', 'ypadding', 'mcc'; } each_index { my ($i, $l) = ($::i, $_); each_index { my $j = $::i; if ($_) { ref $_ or $_ = Gtk2::WrappedLabel->new($_); $w->attach($_, $j, $j + 1, $i, $i + 1, $j != $#$l && !$w->{mcc} ? ('fill', 'fill', $w->{xpadding}, $w->{ypadding}) : (['expand', 'fill'], ref($_) eq 'Gtk2::ScrolledWindow' || $_->get_data('must_grow') ? ['expand', 'fill'] : [], 0, 0)); $_->show; } } @$l; } @{delete $opts->{children} || []}; $w; } sub _gtk_any_simple { my ($w, $_opts, $class) = @_; $w ||= "Gtk2::$class"->new; } sub _gtknew_handle_children { my ($w, $opts) = @_; my @child = exists $opts->{children_tight} ? map { [ 0, $_ ] } @{delete $opts->{children_tight}} : exists $opts->{children_loose} ? map { [ 1, $_ ] } @{delete $opts->{children_loose}} : exists $opts->{children} ? group_by2(@{delete $opts->{children}}) : exists $opts->{children_centered} ? ([ 1, gtknew('VBox') ], (map { [ 0, $_ ] } @{delete $opts->{children_centered}}), [ 1, gtknew('VBox') ]) : (); my $padding = delete $opts->{padding}; foreach (@child) { my ($fill, $child) = @$_; $fill eq '0' || $fill eq '1' || $fill eq 'fill' || $fill eq 'expand' or internal_error("odd {children} parameter must be 0 or 1 (got $fill)"); ref $child or $child = Gtk2::WrappedLabel->new($child); my $expand = $fill && $fill ne 'fill' ? 1 : 0; $w->pack_start($child, $expand, $fill, $padding || 0); $child->show; } } #- this magic function redirects method calls: #- * default is to redirect them to the {child} #- * if the {child} doesn't handle the method, we try with the {real_window} #- (eg : add_accel_group set_position set_default_size #- * a few methods are handled specially my %for_real_window = map { $_ => 1 } qw(show_all size_request); sub mygtk2::MagicWindow::AUTOLOAD { my ($w, @args) = @_; my ($meth) = $mygtk2::MagicWindow::AUTOLOAD =~ /mygtk2::MagicWindow::(.*)/; my ($s1, @s2) = $meth eq 'show' ? ('real_window', 'banner', 'child') : $meth eq 'destroy' || $meth eq 'hide' ? ($w->{pop_it} ? 'real_window' : ('child', 'banner')) : $meth eq 'get' && $args[0] eq 'window-position' || $for_real_window{$meth} || !$w->{child}->can($meth) ? 'real_window' : 'child'; #- warn "mygtk2::MagicWindow::$meth", first($w =~ /HASH(.*)/), " on $s1 @s2 (@args)\n"; $w->{$_} && $w->{$_}->$meth(@args) foreach @s2; $w->{$s1}->$meth(@args); } sub _create_Window { my ($opts) = @_; my $no_Window_Manager = exists $opts->{no_Window_Manager} ? delete $opts->{no_Window_Manager} : !$::isStandalone; add2hash($opts, { if_(!$::isInstall && !$::isWizard, border_width => 5), #- policy: during install, we need a special code to handle the weird centering, see below position_policy => $::isInstall ? ($opts->{modal} ? 'center-always' : 'none') : $no_Window_Manager ? 'center-always' : 'center-on-parent', if_($::isInstall, position => [ $::stepswidth + ($::o->{windowwidth} - $::real_windowwidth) / 2, ($::o->{windowheight} - $::real_windowheight) / 2, ]), }); my $w = _gtk(undef, 'Window', 'gtknew', $opts); #- when the window is closed using the window manager "X" button (or alt-f4) $w->signal_connect(delete_event => sub { if ($::isWizard) { $w->destroy; die 'wizcancel'; } else { if (Gtk2->main_level) { Gtk2->main_quit; } else { # block window deletion if not in main loop (eg: while starting the GUI) return 1; } } }); if ($no_Window_Manager) { _force_keyboard_focus($w); } if ($::isInstall) { require install::gtk; #- for perl_checker install::gtk::handle_unsafe_mouse($::o, $w); $w->signal_connect(key_press_event => \&install::gtk::special_shortcuts); #- force center at a weird position, this can't be handled by position_policy #- because center-* really are window manager hints for centering, whereas we want #- to center the main window in the right part of the screen my ($wi, $he); $w->signal_connect(size_allocate => sub { my (undef, $event) = @_; my @w_size = $event->values; # ignore bogus sizing events: return if $w_size[2] < 5; return if $w_size[2] == $wi && $w_size[3] == $he; #BUG (undef, undef, $wi, $he) = @w_size; $w->move(max(0, $::rootwidth - ($::o->{windowwidth} + $wi) / 2), max(0, ($::o->{windowheight} - $he) / 2)); }); } $w; } my $current_window; sub _force_keyboard_focus { my ($w) = @_; sub _XSetInputFocus { my ($w) = @_; if ($current_window == $w) { $w->window->XSetInputFocus; } 0; } #- force keyboard focus instead of mouse focus my $previous_current_window = $current_window; $current_window = $w; $w->signal_connect(expose_event => \&_XSetInputFocus); $w->signal_connect(destroy => sub { $current_window = $previous_current_window }); } sub _find_imgfile { my ($name) = @_; if ($name =~ m|/| && -f $name) { $name; } else { foreach my $path (_icon_paths()) { foreach ('', '.png', '.xpm', '.jpg') { my $file = "$path/$name$_"; -f $file and return $file; } } } } # _text_insert() can be used with any of choose one of theses styles: # - no tags: # _text_insert($textview, "My text.."); # - anonymous tags: # _text_insert($textview, [ [ 'first text', { 'foreground' => 'blue', 'background' => 'green', ... } ], # [ 'second text' ], # [ 'third', { 'font' => 'Serif 15', ... } ], # ... ]); # - named tags: # $textview->{tags} = { # 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... }, # 'big_font' => { 'font' => 'Serif 35', ... }, # } # _text_insert($textview, [ [ 'first text', 'blue_green' ], # [ 'second', 'big_font' ], # ... ]); # - mixed anonymous and named tags: # $textview->{tags} = { # 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... }, # 'big_font' => { 'font' => 'Serif 35', ... }, # } # _text_insert($textview, [ [ 'first text', 'blue_green' ], # [ 'second text' ], # [ 'third', 'big_font' ], # [ 'fourth', { 'font' => 'Serif 15', ... } ], # ... ]); sub _text_insert { my ($textview, $t, %opts) = @_; my $buffer = $textview->get_buffer; $buffer->{tags} ||= {}; $buffer->{gtk_tags} ||= {}; my $gtk_tags = $buffer->{gtk_tags}; my $tags = $buffer->{tags}; if (ref($t) eq 'ARRAY') { if (!$opts{append}) { $buffer->set_text(''); $textview->{anchors} = []; } foreach my $token (@$t) { my ($item, $tag) = @$token; my $iter1 = $buffer->get_end_iter; if (ref($item) =~ /^Gtk2::Gdk::Pixbuf/) { $buffer->insert_pixbuf($iter1, $item); next; } if (ref($item) =~ /^Gtk2::/) { my $anchor = $buffer->create_child_anchor($iter1); $textview->add_child_at_anchor($item, $anchor); $textview->{anchors} ||= []; push @{$textview->{anchors}}, $anchor; next; } if ($tag) { if (ref($tag)) { # use anonymous tags $buffer->insert_with_tags($iter1, $item, $buffer->create_tag(undef, %$tag)); } else { # fast text insertion: # since in some contexts (eg: localedrake, rpmdrake), we use quite a lot of identical tags, # it's much more efficient and less memory pressure to use named tags $gtk_tags->{$tag} ||= $buffer->create_tag($tag, %{$tags->{$token->[1]}}); $buffer->insert_with_tags($iter1, $item, $gtk_tags->{$tag}); } } else { $buffer->insert($iter1, $item); } } } else { if ($opts{append}) { $buffer->insert($buffer->get_end_iter, $t); } else { $textview->{anchors} = []; $buffer->set_text($t); } } $textview->{to_bottom}->() if $textview->{to_bottom}; #- the following line is needed to move the cursor to the beginning, so that if the #- textview has a scrollbar, it will not scroll to the bottom when focusing (#3633) $buffer->place_cursor($buffer->get_start_iter); $textview->set_wrap_mode($opts{wrap_mode} || 'word'); $textview->set_editable($opts{editable} || 0); $textview->set_cursor_visible($opts{visible} || 0); $textview; } sub _allow_scroll_TextView_to_bottom { my ($scrolledWindow, $textView) = @_; $textView->get_buffer->create_mark('end', $textView->get_buffer->get_end_iter, 0); sub { my ($o_force) = @_; my $adjustment = $scrolledWindow->get_vadjustment; if ($o_force || $adjustment->page_size + $adjustment->value == $adjustment->upper) { flush(); #- one must flush before scrolling to end, otherwise the text just added *may* not be taken into account correctly, and so it doesn't really scroll to end $textView->scroll_to_mark($textView->get_buffer->get_mark('end'), 0, 1, 0, 1); } }; } sub asteriskize { my ($label) = @_; "\x{2022} " . $label; } sub get_main_window_size() { my ($width, $height) = $::real_windowwidth ? ($::real_windowwidth, $::real_windowheight) : $::isWizard ? (540, 360) : (600, 400); } # in order to workaround infamous 6 years old gnome bug #101968: sub get_label_width() { first(mygtk2::get_main_window_size()) - 50 - $left_padding; } sub set_main_window_size { my ($window) = @_; my ($width, $height) = get_main_window_size(); $window->set_size_request($width, $height); } my @icon_paths; sub add_icon_path { push @icon_paths, @_ } sub _icon_paths() { (@icon_paths, (exists $ENV{SHARE_PATH} ? ($ENV{SHARE_PATH}, "$ENV{SHARE_PATH}/icons", "$ENV{SHARE_PATH}/libDrakX/pixmaps") : ()), "/usr/lib/libDrakX/icons", "pixmaps", 'data/icons', 'data/pixmaps', 'standalone/icons', '/usr/share/rpmdrake/icons'); } sub main { my ($window, $o_verif) = @_; my $destroyed; $window->signal_connect(destroy => sub { $destroyed = 1 }); $window->show; do { Gtk2->main } while (!$destroyed && $o_verif && !$o_verif->()); may_destroy($window); flush(); } sub sync { my ($window) = @_; $window->show; flush(); } sub flush() { Gtk2->main_iteration while Gtk2->events_pending; } sub may_destroy { my ($w) = @_; return if !$w; @::main_windows = difference2(\@::main_windows, [ $w->{real_window} ]); if ($::main_window eq $w->{real_window}) { undef $::main_window; $::main_window = $::main_windows[-1]; } $w->destroy; } sub root_window() { state $root; $root ||= Gtk2::Gdk->get_default_root_window; } sub rgb2color { my ($r, $g, $b) = @_; my $color = Gtk2::Gdk::Color->new($r, $g, $b); root_window()->get_colormap->rgb_find_color($color); $color; } sub set_root_window_background { my ($r, $g, $b) = @_; my $root = root_window(); my $gc = Gtk2::Gdk::GC->new($root); my $color = rgb2color($r, $g, $b); $gc->set_rgb_fg_color($color); set_root_window_background_with_gc($gc); } sub set_root_window_background_with_gc { my ($gc) = @_; my $root = root_window(); my ($w, $h) = $root->get_size; $root->set_background($gc->get_values->{foreground}); $root->draw_rectangle($gc, 1, 0, 0, $w, $h); } sub _new_alpha_pixbuf { my ($pixbuf) = @_; my ($height, $width) = ($pixbuf->get_height, $pixbuf->get_width); my $new_pixbuf = Gtk2::Gdk::Pixbuf->new('rgb', 1, 8, $width, $height); $new_pixbuf->fill(0x00000000); # transparent white $width, $height, $new_pixbuf; } sub _pixbuf_render_alpha { my ($pixbuf, $alpha_threshold) = @_; my ($width, $height, $new_pixbuf) = _new_alpha_pixbuf($pixbuf); $pixbuf->composite($new_pixbuf, 0, 0, $width, $height, 0, 0, 1, 1, 'bilinear', $alpha_threshold); $new_pixbuf; } sub pixmap_from_pixbuf { my ($widget, $pixbuf) = @_; my $window = $widget->window or internal_error("you can't use this function if the widget is not realised"); my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height); my $pixmap = Gtk2::Gdk::Pixmap->new($window, $width, $height, $window->get_depth); $pixbuf->render_to_drawable($pixmap, $widget->style->fg_gc('normal'), 0, 0, 0, 0, $width, $height, 'max', 0, 0); $pixmap; } sub import_style_ressources() { if (!$::isInstall) { Gtk2::Rc->parse_string(scalar cat_('/usr/share/libDrakX/themes-galaxy.rc')); # FIXME DEBUG } } sub text_direction_rtl() { Gtk2::Widget->get_default_direction() eq 'rtl'; } package Gtk2::MDV_Notebook; # helper functions for installer & mcc our @ISA = qw(Gtk2::Widget); sub hide_selection { my ($w) = @_; $_->hide foreach $w->{selection_bar}, $w->{selection_arrow}; } sub move_selection { my ($w, $label) = @_; my $layout = $w->{layout}; $layout->{arrow_ydiff} ||= ($w->{selection_arrow}->get_pixbuf->get_height - $w->{selection_bar}->get_pixbuf->get_height)/2; my $bar_y = $label->allocation->y - ($w->{selection_bar}->get_pixbuf->get_height - $label->allocation->height)/2; $layout->move($w->{selection_bar}, 0, $bar_y); $layout->move($w->{selection_arrow}, $w->{arrow_x}, $bar_y - $layout->{arrow_ydiff}); # arrow is higer $_->show foreach $w->{selection_bar}, $w->{selection_arrow}; } 1;