From e43a2969114e91332b127a479bcb078be6649353 Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Wed, 20 Jul 2011 22:26:59 +0200 Subject: [PATCH] Updated Spanish translation --- po/es.po | 637 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 316 insertions(+), 321 deletions(-) diff --git a/po/es.po b/po/es.po index 5c86d95..28fa574 100644 --- a/po/es.po +++ b/po/es.po @@ -5,22 +5,22 @@ # José Antonio Salgueiro , 2001. # Germán Poo Caamaño , 2002. # Francisco Javier F. Serrador , 2004, 2005, 2006. -# Daniel Mustieles , 2010, 2011. # Jorge González , 2007, 2008, 2009, 2010, 2011. +# Daniel Mustieles , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: glib.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=glib&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-06-09 17:23+0000\n" -"PO-Revision-Date: 2011-06-09 22:56+0200\n" -"Last-Translator: Jorge González \n" -"Language-Team: Español; Castellano \n" +"POT-Creation-Date: 2011-07-19 14:19+0000\n" +"PO-Revision-Date: 2011-07-20 13:40+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bits\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../glib/gbookmarkfile.c:780 #, c-format @@ -108,8 +108,9 @@ msgid "Could not open converter from '%s' to '%s'" msgstr "No se pudo abrir el conversor de «%s» a «%s»" #: ../glib/gconvert.c:768 ../glib/gconvert.c:1162 ../glib/giochannel.c:1576 -#: ../glib/giochannel.c:1618 ../glib/giochannel.c:2461 ../glib/gutf8.c:979 -#: ../glib/gutf8.c:1430 ../gio/gcharsetconverter.c:345 +#: ../glib/giochannel.c:1618 ../glib/giochannel.c:2461 ../glib/gutf8.c:1012 +#: ../glib/gutf8.c:1463 ../gio/gcharsetconverter.c:345 +#: ../gio/gdatainputstream.c:854 ../gio/gdatainputstream.c:1291 msgid "Invalid byte sequence in conversion input" msgstr "Hay una secuencia de bytes no válida en la entrada de conversión" @@ -119,8 +120,8 @@ msgstr "Hay una secuencia de bytes no válida en la entrada de conversión" msgid "Error during conversion: %s" msgstr "Falló durante la conversión: %s" -#: ../glib/gconvert.c:809 ../glib/gutf8.c:975 ../glib/gutf8.c:1185 -#: ../glib/gutf8.c:1322 ../glib/gutf8.c:1426 +#: ../glib/gconvert.c:809 ../glib/gutf8.c:1008 ../glib/gutf8.c:1218 +#: ../glib/gutf8.c:1355 ../glib/gutf8.c:1459 msgid "Partial character sequence at end of input" msgstr "Hay una secuencia parcial de caracteres en el final de la entrada" @@ -129,37 +130,37 @@ msgstr "Hay una secuencia parcial de caracteres en el final de la entrada" msgid "Cannot convert fallback '%s' to codeset '%s'" msgstr "No se puede convertir el fallback «%s» al conjunto de códigos «%s»" -#: ../glib/gconvert.c:1882 +#: ../glib/gconvert.c:1886 #, c-format msgid "The URI '%s' is not an absolute URI using the \"file\" scheme" msgstr "El URI «%s» no es una URI absoluta utilizando el esquema «file»" -#: ../glib/gconvert.c:1892 +#: ../glib/gconvert.c:1896 #, c-format msgid "The local file URI '%s' may not include a '#'" msgstr "El archivo local en la URI «%s» no debe incluir un «#»" -#: ../glib/gconvert.c:1909 +#: ../glib/gconvert.c:1913 #, c-format msgid "The URI '%s' is invalid" msgstr "El URI «%s» es inválida" -#: ../glib/gconvert.c:1921 +#: ../glib/gconvert.c:1925 #, c-format msgid "The hostname of the URI '%s' is invalid" msgstr "El nombre del host de la URI «%s» es inválido" -#: ../glib/gconvert.c:1937 +#: ../glib/gconvert.c:1941 #, c-format msgid "The URI '%s' contains invalidly escaped characters" msgstr "El URI «%s» contiene caracteres de escape inválidos" -#: ../glib/gconvert.c:2032 +#: ../glib/gconvert.c:2036 #, c-format msgid "The pathname '%s' is not an absolute path" msgstr "El nombre de la ruta «%s» no es una ruta absoluta" -#: ../glib/gconvert.c:2042 +#: ../glib/gconvert.c:2046 msgid "Invalid hostname" msgstr "El nombre del host es inválido" @@ -434,7 +435,7 @@ msgstr "Falló al abrir el archivo «%s»: fdopen() falló: %s" msgid "Failed to rename file '%s' to '%s': g_rename() failed: %s" msgstr "Falló al renombrar el archivo «%s» a «%s»: g_rename() falló: %s" -#: ../glib/gfileutils.c:904 ../glib/gfileutils.c:1388 +#: ../glib/gfileutils.c:904 ../glib/gfileutils.c:1391 #, c-format msgid "Failed to create file '%s': %s" msgstr "Falló al crear el archivo «%s»: %s" @@ -454,74 +455,74 @@ msgstr "Falló al escribir el archivo «%s»: falló fwrite(): %s" msgid "Failed to write file '%s': fflush() failed: %s" msgstr "Falló al escribir el archivo «%s»: falló fflush(): %s" -#: ../glib/gfileutils.c:1005 +#: ../glib/gfileutils.c:1006 #, c-format msgid "Failed to write file '%s': fsync() failed: %s" msgstr "Falló al escribir el archivo «%s»: falló fsync(): %s" -#: ../glib/gfileutils.c:1025 +#: ../glib/gfileutils.c:1027 #, c-format msgid "Failed to close file '%s': fclose() failed: %s" msgstr "Falló al cerrar el archivo «%s»: falló fclose(): %s" -#: ../glib/gfileutils.c:1146 +#: ../glib/gfileutils.c:1149 #, c-format msgid "Existing file '%s' could not be removed: g_unlink() failed: %s" msgstr "El archivo existente «%s» no se pudo eliminar: g_unlink() falló: %s" -#: ../glib/gfileutils.c:1350 +#: ../glib/gfileutils.c:1353 #, c-format msgid "Template '%s' invalid, should not contain a '%s'" msgstr "La plantilla «%s» es inválida, no debería contener un «%s»" -#: ../glib/gfileutils.c:1363 +#: ../glib/gfileutils.c:1366 #, c-format msgid "Template '%s' doesn't contain XXXXXX" msgstr "La plantilla «%s» no contiene XXXXXX" -#: ../glib/gfileutils.c:1796 +#: ../glib/gfileutils.c:1799 #, c-format msgid "%u byte" msgid_plural "%u bytes" msgstr[0] "%u byte" msgstr[1] "%u bytes" -#: ../glib/gfileutils.c:1804 +#: ../glib/gfileutils.c:1807 #, c-format msgid "%.1f KB" -msgstr "%.1f KB" +msgstr "%.1f KiB" -#: ../glib/gfileutils.c:1809 +#: ../glib/gfileutils.c:1812 #, c-format msgid "%.1f MB" -msgstr "%.1f MB" +msgstr "%.1f MiB" -#: ../glib/gfileutils.c:1814 +#: ../glib/gfileutils.c:1817 #, c-format msgid "%.1f GB" -msgstr "%.1f GB" +msgstr "%.1f GiB" -#: ../glib/gfileutils.c:1819 +#: ../glib/gfileutils.c:1822 #, c-format msgid "%.1f TB" -msgstr "%.1f TB" +msgstr "%.1f TiB" -#: ../glib/gfileutils.c:1824 +#: ../glib/gfileutils.c:1827 #, c-format msgid "%.1f PB" -msgstr "%.1f PB" +msgstr "%.1f PiB" -#: ../glib/gfileutils.c:1829 +#: ../glib/gfileutils.c:1832 #, c-format msgid "%.1f EB" -msgstr "%.1f EB" +msgstr "%.1f EiB" -#: ../glib/gfileutils.c:1872 +#: ../glib/gfileutils.c:1875 #, c-format msgid "Failed to read the symbolic link '%s': %s" msgstr "Falló al leer el enlace simbólico «%s»: %s" -#: ../glib/gfileutils.c:1893 +#: ../glib/gfileutils.c:1896 msgid "Symbolic links not supported" msgstr "Enlaces simbólicos no soportados" @@ -646,11 +647,11 @@ msgstr "" #: ../glib/gmarkup.c:1186 #, c-format msgid "" -"Odd character '%s', expected a '>' character to end the empty-element tag " -"'%s'" +"Odd character '%s', expected a '>' character to end the empty-element tag '%" +"s'" msgstr "" -"Carácter «%s» impropio, se esperaba un carácter «>» para terminar la " -"etiqueta vacía del elemento «%s»" +"Carácter «%s» impropio, se esperaba un carácter «>» para terminar la etiqueta " +"vacía del elemento «%s»" #: ../glib/gmarkup.c:1270 #, c-format @@ -677,8 +678,8 @@ msgid "" "Odd character '%s', expected an open quote mark after the equals sign when " "giving value for attribute '%s' of element '%s'" msgstr "" -"Carácter «%s» impropio, se esperaba una marca de apertura de comillas " -"después del signo igual al darle valor al atributo «%s» del elemento «%s»" +"Carácter «%s» impropio, se esperaba una marca de apertura de comillas después " +"del signo igual al darle valor al atributo «%s» del elemento «%s»" #: ../glib/gmarkup.c:1488 #, c-format @@ -686,8 +687,8 @@ msgid "" "'%s' is not a valid character following the characters '" msgstr "" -"se debe especificar exactamente uno de «type», «enum» o «flags» como " -"atributo para " +"se debe especificar exactamente uno de «type», «enum» o «flags» como atributo " +"para " #: ../gio/glib-compile-schemas.c:943 #, c-format @@ -2682,8 +2678,8 @@ msgid "" " extends but '%s' " "does not extend '%s'" msgstr "" -" extiende pero " -"«%s» no extiende «%s»" +" extiende pero «%" +"s» no extiende «%s»" #: ../gio/glib-compile-schemas.c:1163 #, c-format @@ -2736,8 +2732,8 @@ msgstr "Ignorando este archivo.\n" #, c-format msgid "No such key `%s' in schema `%s' as specified in override file `%s'" msgstr "" -"No existe la clave «%s» en el esquema «%s» como se especificó en el archivo " -"de sobreescitura «%s»" +"No existe la clave «%s» en el esquema «%s» como se especificó en el archivo de " +"sobreescitura «%s»" #: ../gio/glib-compile-schemas.c:1809 ../gio/glib-compile-schemas.c:1867 #: ../gio/glib-compile-schemas.c:1895 @@ -2754,8 +2750,8 @@ msgstr "y se especificó --strict; saliendo.\n" #: ../gio/glib-compile-schemas.c:1829 #, c-format msgid "" -"error parsing key `%s' in schema `%s' as specified in override file `%s': " -"%s. " +"error parsing key `%s' in schema `%s' as specified in override file `%s': %" +"s. " msgstr "" "error al analizar la clave «%s» en el esquema «%s» como se especificó en el " "archivo de sobreescritura «%s»: %s." @@ -2844,116 +2840,116 @@ msgstr "" "No se pudo encontrar el tipo de monitorización del directorio local " "predeterminado" -#: ../gio/glocalfile.c:593 ../gio/win32/gwinhttpfile.c:422 +#: ../gio/glocalfile.c:571 ../gio/win32/gwinhttpfile.c:422 #, c-format msgid "Invalid filename %s" msgstr "Nombre de archivo no válido %s" -#: ../gio/glocalfile.c:969 +#: ../gio/glocalfile.c:947 #, c-format msgid "Error getting filesystem info: %s" msgstr "Error al obtener la información del sistema de archivos: %s" -#: ../gio/glocalfile.c:1107 +#: ../gio/glocalfile.c:1085 msgid "Can't rename root directory" msgstr "No se puede renombrar el directorio raíz" -#: ../gio/glocalfile.c:1127 ../gio/glocalfile.c:1153 +#: ../gio/glocalfile.c:1105 ../gio/glocalfile.c:1131 #, c-format msgid "Error renaming file: %s" msgstr "Error al renombrar el archivo: %s" -#: ../gio/glocalfile.c:1136 +#: ../gio/glocalfile.c:1114 msgid "Can't rename file, filename already exist" msgstr "No se puede renombrar el archivo, el nombre ya existe" -#: ../gio/glocalfile.c:1149 ../gio/glocalfile.c:2139 ../gio/glocalfile.c:2168 -#: ../gio/glocalfile.c:2328 ../gio/glocalfileoutputstream.c:571 +#: ../gio/glocalfile.c:1127 ../gio/glocalfile.c:2117 ../gio/glocalfile.c:2146 +#: ../gio/glocalfile.c:2306 ../gio/glocalfileoutputstream.c:571 #: ../gio/glocalfileoutputstream.c:624 ../gio/glocalfileoutputstream.c:669 #: ../gio/glocalfileoutputstream.c:1157 msgid "Invalid filename" msgstr "Nombre de archivo inválido" -#: ../gio/glocalfile.c:1310 +#: ../gio/glocalfile.c:1288 #, c-format msgid "Error opening file: %s" msgstr "Error al abrir el archivo: %s" -#: ../gio/glocalfile.c:1326 +#: ../gio/glocalfile.c:1304 msgid "Can't open directory" msgstr "No se puede abrir el directorio" -#: ../gio/glocalfile.c:1451 +#: ../gio/glocalfile.c:1429 #, c-format msgid "Error removing file: %s" msgstr "Error al eliminar el archivo: %s" -#: ../gio/glocalfile.c:1818 +#: ../gio/glocalfile.c:1796 #, c-format msgid "Error trashing file: %s" msgstr "Error al mover a la papelera el archivo: %s" -#: ../gio/glocalfile.c:1841 +#: ../gio/glocalfile.c:1819 #, c-format msgid "Unable to create trash dir %s: %s" msgstr "No se pudo crear el directorio papelera %s: %s" -#: ../gio/glocalfile.c:1862 +#: ../gio/glocalfile.c:1840 msgid "Unable to find toplevel directory for trash" msgstr "" "No se pudo encontrar el directorio de nivel superior para mover a la papelera" -#: ../gio/glocalfile.c:1941 ../gio/glocalfile.c:1961 +#: ../gio/glocalfile.c:1919 ../gio/glocalfile.c:1939 msgid "Unable to find or create trash directory" msgstr "No se pudo encontrar o crear el directorio de la papelera" -#: ../gio/glocalfile.c:1995 +#: ../gio/glocalfile.c:1973 #, c-format msgid "Unable to create trashing info file: %s" msgstr "No se pudo crear la información de papelera para el archivo: %s" -#: ../gio/glocalfile.c:2024 ../gio/glocalfile.c:2029 ../gio/glocalfile.c:2109 -#: ../gio/glocalfile.c:2116 +#: ../gio/glocalfile.c:2002 ../gio/glocalfile.c:2007 ../gio/glocalfile.c:2087 +#: ../gio/glocalfile.c:2094 #, c-format msgid "Unable to trash file: %s" msgstr "No se pudo enviar a la papelera el archivo: %s" -#: ../gio/glocalfile.c:2143 +#: ../gio/glocalfile.c:2121 #, c-format msgid "Error creating directory: %s" msgstr "Error al crear el directorio: %s" -#: ../gio/glocalfile.c:2172 +#: ../gio/glocalfile.c:2150 #, c-format msgid "Filesystem does not support symbolic links" msgstr "El sistema de archivos no soporta enlaces simbólicos" -#: ../gio/glocalfile.c:2176 +#: ../gio/glocalfile.c:2154 #, c-format msgid "Error making symbolic link: %s" msgstr "Error al crear el enlace simbólico: %s" -#: ../gio/glocalfile.c:2238 ../gio/glocalfile.c:2332 +#: ../gio/glocalfile.c:2216 ../gio/glocalfile.c:2310 #, c-format msgid "Error moving file: %s" msgstr "Error al mover el archivo: %s" -#: ../gio/glocalfile.c:2261 +#: ../gio/glocalfile.c:2239 msgid "Can't move directory over directory" msgstr "No se puede mover un directorio sobre un directoro" -#: ../gio/glocalfile.c:2288 ../gio/glocalfileoutputstream.c:955 +#: ../gio/glocalfile.c:2266 ../gio/glocalfileoutputstream.c:955 #: ../gio/glocalfileoutputstream.c:969 ../gio/glocalfileoutputstream.c:984 #: ../gio/glocalfileoutputstream.c:1000 ../gio/glocalfileoutputstream.c:1014 msgid "Backup file creation failed" msgstr "Falló la creación del archivo de respaldo" -#: ../gio/glocalfile.c:2307 +#: ../gio/glocalfile.c:2285 #, c-format msgid "Error removing target file: %s" msgstr "Error al eliminar el archivo destino: %s" -#: ../gio/glocalfile.c:2321 +#: ../gio/glocalfile.c:2299 msgid "Move between mounts not supported" msgstr "No se soporta mover archivos entre puntos de montaje" @@ -3222,11 +3218,11 @@ msgstr "" msgid "Hostname '%s' contains '[' but not ']'" msgstr "El nombre del equipo «%s» contiene «[» pero no «]»" -#: ../gio/goutputstream.c:207 ../gio/goutputstream.c:408 +#: ../gio/goutputstream.c:207 ../gio/goutputstream.c:411 msgid "Output stream doesn't implement write" msgstr "El flujo de salida no implementa la escritura" -#: ../gio/goutputstream.c:369 ../gio/goutputstream.c:849 +#: ../gio/goutputstream.c:372 ../gio/goutputstream.c:855 msgid "Source stream is already closed" msgstr "El flujo de origen ya está cerrado" @@ -3487,120 +3483,120 @@ msgstr " VALOR El valor para establecer\n" msgid "Empty schema name given\n" msgstr "Se proporcionó un nombre de esquema vacío\n" -#: ../gio/gsocket.c:276 +#: ../gio/gsocket.c:275 msgid "Invalid socket, not initialized" msgstr "Socket no válido, no inicializado" -#: ../gio/gsocket.c:283 +#: ../gio/gsocket.c:282 #, c-format msgid "Invalid socket, initialization failed due to: %s" msgstr "Socket no válido, falló la instalación debido a: %s" -#: ../gio/gsocket.c:291 +#: ../gio/gsocket.c:290 msgid "Socket is already closed" msgstr "El socket ya está cerrado" -#: ../gio/gsocket.c:299 ../gio/gsocket.c:2773 ../gio/gsocket.c:2817 +#: ../gio/gsocket.c:298 ../gio/gsocket.c:2772 ../gio/gsocket.c:2816 msgid "Socket I/O timed out" msgstr "Expiró la E/S del socket" -#: ../gio/gsocket.c:442 +#: ../gio/gsocket.c:441 #, c-format msgid "creating GSocket from fd: %s" msgstr "creando el GSocket desde fd: %s" -#: ../gio/gsocket.c:476 ../gio/gsocket.c:492 +#: ../gio/gsocket.c:475 ../gio/gsocket.c:491 #, c-format msgid "Unable to create socket: %s" msgstr "No se pudo crear el socket: %s" -#: ../gio/gsocket.c:476 +#: ../gio/gsocket.c:475 msgid "Unknown protocol was specified" msgstr "Se especificó un protocolo desconocido" -#: ../gio/gsocket.c:1246 +#: ../gio/gsocket.c:1245 #, c-format msgid "could not get local address: %s" msgstr "no se pudo obtener la dirección local: %s" -#: ../gio/gsocket.c:1289 +#: ../gio/gsocket.c:1288 #, c-format msgid "could not get remote address: %s" msgstr "no se pudo obtener la dirección remota: %s" -#: ../gio/gsocket.c:1350 +#: ../gio/gsocket.c:1349 #, c-format msgid "could not listen: %s" msgstr "no se pudo escuchar: %s" -#: ../gio/gsocket.c:1424 +#: ../gio/gsocket.c:1423 #, c-format msgid "Error binding to address: %s" msgstr "Error al vincular con la dirección: %s" -#: ../gio/gsocket.c:1544 +#: ../gio/gsocket.c:1543 #, c-format msgid "Error accepting connection: %s" msgstr "Error al aceptar la conexión: %s" -#: ../gio/gsocket.c:1661 +#: ../gio/gsocket.c:1660 msgid "Error connecting: " msgstr "Error al conectar: " -#: ../gio/gsocket.c:1666 +#: ../gio/gsocket.c:1665 msgid "Connection in progress" msgstr "Conexión en progreso" -#: ../gio/gsocket.c:1673 +#: ../gio/gsocket.c:1672 #, c-format msgid "Error connecting: %s" msgstr "Error al conectar: %s" -#: ../gio/gsocket.c:1716 ../gio/gsocket.c:3554 +#: ../gio/gsocket.c:1715 ../gio/gsocket.c:3553 #, c-format msgid "Unable to get pending error: %s" msgstr "No se pudo obtener el error pendiente: %s" -#: ../gio/gsocket.c:1851 +#: ../gio/gsocket.c:1850 #, c-format msgid "Error receiving data: %s" msgstr "Error al recibir los datos: %s" -#: ../gio/gsocket.c:2026 +#: ../gio/gsocket.c:2025 #, c-format msgid "Error sending data: %s" msgstr "Error al enviar los datos: %s" -#: ../gio/gsocket.c:2139 +#: ../gio/gsocket.c:2138 #, c-format msgid "Unable to shutdown socket: %s" msgstr "No se pudo desconectar el socket: %s" -#: ../gio/gsocket.c:2218 +#: ../gio/gsocket.c:2217 #, c-format msgid "Error closing socket: %s" msgstr "Error al cerrar el socket: %s" -#: ../gio/gsocket.c:2766 +#: ../gio/gsocket.c:2765 #, c-format msgid "Waiting for socket condition: %s" msgstr "Esperando la condición del socket: %s" -#: ../gio/gsocket.c:3031 ../gio/gsocket.c:3112 +#: ../gio/gsocket.c:3030 ../gio/gsocket.c:3111 #, c-format msgid "Error sending message: %s" msgstr "Error al enviar el mensaje: %s" -#: ../gio/gsocket.c:3056 +#: ../gio/gsocket.c:3055 msgid "GSocketControlMessage not supported on windows" msgstr "GSocketControlMessage no está soportado en win32" -#: ../gio/gsocket.c:3333 ../gio/gsocket.c:3469 +#: ../gio/gsocket.c:3332 ../gio/gsocket.c:3468 #, c-format msgid "Error receiving message: %s" msgstr "Error al recibir el mensaje: %s" -#: ../gio/gsocket.c:3573 +#: ../gio/gsocket.c:3572 msgid "g_socket_get_credentials not implemented for this OS" msgstr "g_socket_get_credentials no está implementado en este SO" @@ -3810,7 +3806,7 @@ msgstr "Error al leer de unix: %s" msgid "Error closing unix: %s" msgstr "Error al cerrar unix: %s" -#: ../gio/gunixmounts.c:1848 ../gio/gunixmounts.c:1885 +#: ../gio/gunixmounts.c:1874 ../gio/gunixmounts.c:1911 msgid "Filesystem root" msgstr "Sistema de archivos raíz" @@ -3916,8 +3912,7 @@ msgstr "Datos comprimidos no válidos" #~ msgid "No such schema `%s' specified in override file `%s'" #~ msgstr "" -#~ "No existe el esquema «%s» especificado en el archivo de sobreescritura " -#~ "«%s»" +#~ "No existe el esquema «%s» especificado en el archivo de sobreescritura «%s»" #~ msgid "" #~ "Commands:\n" @@ -4062,8 +4057,8 @@ msgstr "Datos comprimidos no válidos" #~ "characters. Ignores names after the first if multiple names are given." #~ msgstr "" #~ "Indica si se debe usar los valores de reserva encontrados al acortar el " -#~ "nombre en los caracteres «-». Si se proporcionan varios nombres los " -#~ "ignora después del primero." +#~ "nombre en los caracteres «-». Si se proporcionan varios nombres los ignora " +#~ "después del primero." #~ msgid "File descriptor" #~ msgstr "Descriptor del archivo" -- 2.7.4