Files
I2P_Website/i2p2www/translations/es/LC_MESSAGES/get-involved.po
str4d 08db2df77d Updated translation strings
TODO: improve scripts to detect unchanged files
2013-08-30 23:33:51 +00:00

4746 lines
185 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spanish translations for I2P.
# Copyright (C) 2013 ORGANIZATION
# This file is distributed under the same license as the I2P project.
#
# Translators:
# Adolfo Jayme Barrientos <fitoschido@ubuntu.com>, 2013
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2013
# m1xxy <m1xxy@mail.i2p>, 2011
# olivertrash <oliver.trasshh@gmail.com>, 2013
# strel <strelnic@gmail.com>, 2013
# trolly, 2013
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2013-08-30 23:32+0000\n"
"PO-Revision-Date: 2013-07-11 10:13+0000\n"
"Last-Translator: trolly\n"
"Language-Team: Spanish "
"(http://www.transifex.com/projects/p/I2P/language/es/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
#: i2p2www/pages/site/get-involved/donate.html:2
#: i2p2www/pages/site/get-involved/index.html:74
msgid "Donate"
msgstr "Donar"
#: i2p2www/pages/site/get-involved/donate.html:4
msgid ""
"Thank you for your interest in contributing to I2P!\n"
"The details of how you\n"
"can make your contribution are provided below."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:13
#, python-format
msgid "You can donate direct via PayPal to the account \"%(account)s\"."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:19
msgid "One time donation:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:33
msgid "Donate 10 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:41
#: i2p2www/pages/site/get-involved/donate.html:53
#: i2p2www/pages/site/get-involved/donate.html:65
#: i2p2www/pages/site/get-involved/donate.html:77
msgid "I2P donation "
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:47
msgid "Donate 20 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:59
msgid "Donate 30 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:71
msgid "Donate 50 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:86
msgid "Flattr this"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:90
#, python-format
msgid ""
"As of December 2010, eche|on has been running a <a "
"href=\"http://bitcoin.org\">Bitcoin</a> account for the I2P project. \n"
"If you'd like to donate using Bitcoin, just transfer your desired amount "
"of coins to the account \n"
"<b>%(account)s</b> and leave eche|on a note if you'd like your donation "
"to be mentioned on the I2P webpage."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:95
msgid ""
"If you want to keep more or less anonymous, the option to send money via "
"mail is also available. But it is less secure\n"
"as the envelope can be lost on the way to us."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:99
#, python-format
msgid ""
"If you'd like to donate via snail mail, send an email to <a "
"href=\"mailto:%(email)s?subject=information about snailmail "
"donation\">%(email)s</a>\n"
" and you'll receive an email with instructions detailing how to proceed."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:104
#, python-format
msgid ""
"In the meantime, feel free to take a look at the generous donations that "
"have been\n"
"given in support of the I2P Project at the <a "
"href=\"%(halloffame)s\">hall of fame</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:2
msgid "Get Involved!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:4
msgid "We need your help!"
msgstr "¡Necesitamos tu ayuda!"
#: i2p2www/pages/site/get-involved/index.html:5
msgid ""
"To get involved, please feel free to join us on the #i2p IRC channel (on\n"
"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or "
"irc.postman.i2p)."
msgstr ""
"Para unirse al proyecto, por favor únase a nosotros en el canal #i2p del "
"IRC (en irc.freenode.net, o dentro de I2P en irc.freshcoffee.i2p o "
"irc.postman.i2p)."
#: i2p2www/pages/site/get-involved/index.html:9
#, python-format
msgid ""
"If you're interested in joining our <a href=\"%(team)s\">team</a>, please"
" get in\n"
"touch as we're always looking for eager contributors!"
msgstr ""
"¡Si está interesado en unirse a nuestro <a href=\"%(team)s\">equipo</a>, "
"por favor póngase en contacto con nosotros, ya que siempre estamos "
"buscando ayudantes entusiastas!"
#: i2p2www/pages/site/get-involved/index.html:13
msgid ""
"We need help in many areas, and you don't need to know Java to "
"contribute!\n"
"Here's a list to help you get started!"
msgstr ""
"¡Necesitamos ayuda en muchas áreas, y no necesita saber Java para "
"contribuir! ¡Aquí hay una lista para ayudarle a decidirse!"
#: i2p2www/pages/site/get-involved/index.html:18
msgid "Spread the Word!"
msgstr "¡Extienda la Palabra!"
#: i2p2www/pages/site/get-involved/index.html:19
msgid ""
"Tell people about I2P on forums, blogs, and comments to articles.\n"
"Fix up the Wikipedia article about I2P in your language.\n"
"Tell your friends."
msgstr ""
"Háblele a la gente sobre I2P en foros, blogs y comentarios de artículos."
" Mejore la entrada en la Wikipedia sobre I2P en su idioma. Dígaselo a sus"
" amigos."
#: i2p2www/pages/site/get-involved/index.html:24
msgid "Testing"
msgstr "Pruebas"
#: i2p2www/pages/site/get-involved/index.html:25
#, python-format
msgid ""
"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
"and report results on #i2p or as bugs on <a "
"href=\"http://%(trac)s/report/1\">Trac</a>."
msgstr ""
"Ejecute las últimas versiones en <a href=\"%(monotone)s\">monotone</a> y "
"reporte los resultados en #i2p como errores en el <a "
"href=\"http://%(trac)s/report/1\">Trac</a>."
#: i2p2www/pages/site/get-involved/index.html:29
msgid "Documentation"
msgstr "Documentación"
#: i2p2www/pages/site/get-involved/index.html:30
msgid ""
"Help fix the parts of the website that are outdated or incomplete.\n"
"Translate pages into other languages."
msgstr ""
"Ayude a mejorar las partes de la web que están anticuadas o incompletas. "
"Traduzca las páginas a otros idiomas."
#: i2p2www/pages/site/get-involved/index.html:34
msgid "Pictures"
msgstr "Imágenes"
#: i2p2www/pages/site/get-involved/index.html:35
msgid "Make some more pictures, fix the old ones on the website"
msgstr "Cree mas imágenes, mejore las viejas de la web"
#: i2p2www/pages/site/get-involved/index.html:38
msgid "Content"
msgstr "Contenido"
#: i2p2www/pages/site/get-involved/index.html:39
msgid "Make an eepsite! Add some content! Contribute to the community!"
msgstr "¡Cree una eepsite! ¡Añádale contenido! ¡Contribuya a la comunidad!"
#: i2p2www/pages/site/get-involved/index.html:42
msgid "Services"
msgstr "Servicios"
#: i2p2www/pages/site/get-involved/index.html:43
msgid ""
"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
"a naming service, a search engine, an eepsite monitor... many of these\n"
"aren't that hard."
msgstr ""
"Ejecute algún servicio en su eepsite. Puede ser un proxy, un foro, un "
"tracker, un servidor de dominios, una motor de búsquedas, un monitor de "
"eepsites... muchos de estos no son tan difíciles."
#: i2p2www/pages/site/get-involved/index.html:48
msgid "Applications"
msgstr "Aplicaciones"
#: i2p2www/pages/site/get-involved/index.html:49
#, python-format
msgid ""
"Write or port applications for I2P! There's some guidelines and\n"
"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
msgstr ""
"¡Escriba o porte aplicaciones para I2P! Hay algunas guías y una lista de "
"ideas en la <a href=\"%(apps)s\">pagina de aplicaciones</a>."
#: i2p2www/pages/site/get-involved/index.html:53
msgid "Coding"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:54
#, python-format
msgid ""
"There's plenty to do if you know Java or are ready to learn.\n"
"Check for open tickets on <a href=\"http://%(trac)s/report/1\">Trac</a>\n"
"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
"some ideas on where to start.\n"
"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
msgstr ""
"Hay mucho que hacer si sabe Java o está listo para aprender. Busque "
"entradas abiertas en el <a href=\"http://%(trac)s/report/1\">Trac</a> o "
"en la lista TODO en <a href=\"http://%(zzz)s\">%(zzz)s</a> para saber "
"donde empezar o ver algunas ideas. Vea la <a href=\"%(newdevs)s\">guía de"
" nuevos desarrolladores</a> para mas detalles."
#: i2p2www/pages/site/get-involved/index.html:61
msgid "Translation"
msgstr "Traducciones"
#: i2p2www/pages/site/get-involved/index.html:62
#, python-format
msgid ""
"Help translate the website and the software into your language.\n"
"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
msgstr ""
"Ayude a traducir la página web y las aplicaciones a su lenguaje. Vea la "
"<a href=\"%(newtrans)s\">guía de nuevos traductores</a> para más "
"información."
#: i2p2www/pages/site/get-involved/index.html:66
msgid "Analysis"
msgstr "Análisis"
#: i2p2www/pages/site/get-involved/index.html:67
#, python-format
msgid ""
"Study or test the code to look for vulnerabilities.\n"
"Both anonymity vulnerabilities from the various\n"
"<a href=\"%(threatmodel)s\">threat models</a>,\n"
"and DOS and other weaknesses due to securities holes,\n"
"need researching."
msgstr ""
"Estudie o pruebe el código buscando vulnerabilidades. Se necesita "
"estudiar tanto las vulnerabilidades del anonimato de varios <a "
"href=\"%(threatmodel)s\">modelos de amenazas</a>, como los ataques DOS y "
"otras debilidades debidas a errores en la seguridad."
#: i2p2www/pages/site/get-involved/roadmap.html:2
msgid "Roadmap"
msgstr "Hoja de ruta"
#: i2p2www/pages/site/get-involved/roadmap.html:7
msgid ""
"Include some seed data in the distribution so a central reseed location "
"isn't required?"
msgstr ""
"¿Asegurarnos de que I2P en la instalación automáticamente se una a la red"
" y así no haría falta ninguna localización central para esto?"
#: i2p2www/pages/site/get-involved/roadmap.html:10
#, python-format
msgid ""
"Reachability Mapping / handle peers partially reachable / enhanced <a "
"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
msgstr ""
"Mapeado de accesibilidad / manejar los pares parcialmente accesibles / "
"mejorar los <a href=\"%(todo)s#fullRestrictedRoutes\">ruters "
"restringidos</a>"
#: i2p2www/pages/site/get-involved/roadmap.html:13
msgid "Improve help pages and website"
msgstr "Mejorar las páginas de ayuda y la página web."
#: i2p2www/pages/site/get-involved/roadmap.html:14
msgid "More translations"
msgstr "Más traducciones"
#: i2p2www/pages/site/get-involved/roadmap.html:15
msgid "SSU disconnect message"
msgstr "Mensaje de desconexión SSU"
#: i2p2www/pages/site/get-involved/roadmap.html:16
msgid "Iterative floodfill lookups"
msgstr "Búsquedas iterativas en el algoritmo de relleno, \"floodfill\""
#: i2p2www/pages/site/get-involved/roadmap.html:21
msgid "Full review of anonymity issues and other vulnerabilities"
msgstr "Examen completo de las vulnerabilidades y problemas de anonimato."
#: i2p2www/pages/site/get-involved/roadmap.html:22
msgid ""
"Reduce memory usage, remove debugging overhead, make it run better on "
"slow and embedded machines"
msgstr ""
"Reducción del uso de memoria, eliminar el gasto superfluo de la "
"depuración, hacer que corra más ligero en hardware pequeño y lento. "
#: i2p2www/pages/site/get-involved/roadmap.html:25
msgid "Docs"
msgstr "Documentación"
#: i2p2www/pages/site/get-involved/roadmap.html:30
msgid "Full restricted routes"
msgstr "Rutas restringidas"
#: i2p2www/pages/site/get-involved/roadmap.html:35
msgid "Tunnel mixing and padding"
msgstr "Mezclado y relleno de los túneles"
#: i2p2www/pages/site/get-involved/roadmap.html:36
msgid "User defined message delays"
msgstr "Mensajes con el retraso definido por los usuarios"
#: i2p2www/pages/site/get-involved/roadmap.html:39
#, python-format
msgid ""
"Please see the <a href=\"%(todo)s\">TODO</a> list for more detailed info "
"about some of these tasks."
msgstr ""
"Por favor, vea la lista <a href=\"%(todo)s\">TODO</a> , por hacer, para "
"obtener información mas detallada sobre estas tareas."
#: i2p2www/pages/site/get-involved/todo.html:2
msgid "To Do List"
msgstr "Por hacer"
#: i2p2www/pages/site/get-involved/todo.html:4
msgid "I2P Project Targets"
msgstr "Objetivos del proyecto I2P"
#: i2p2www/pages/site/get-involved/todo.html:5
#, python-format
msgid ""
"Below is a more detailed (yet still incomplete) discussion of the major "
"areas\n"
"of future development on the core I2P network, spanning the plausibly "
"planned\n"
"releases. This does not include stego transports, porting to wireless "
"devices,\n"
"or tools to secure the local machine, nor does it include client "
"applications\n"
"that will be essential in I2P's success. There are probably other things "
"that\n"
"will come up, especially as I2P gets more peer review, but these are the "
"main\n"
"'big things'. See also <a href=\"%(roadmap)s\">the roadmap</a>. Want to "
"help?\n"
"<a href=\"%(volunteer)s\">Get involved</a>!"
msgstr ""
"Más abajo hay una discusión detallada (aunque aún no completa) de las "
"áreas más importantes del futuro desarrollo del núcleo de I2P, que abarca"
" los posibles planes de desarrollo. Esto no incluye transporte oculto, "
"portarlo a dispositivos Wireless o herramientas para asegurar la máquina "
"local, tampoco incluye otras aplicaciones cliente que serían esenciales "
"para el éxito de I2P. Probablemente aparecerán otros temas, especialmente"
" si I2P recibe mas atención, pero estas son ls 'cosas importantes'. Vea "
"también <a href=\"%(roadmap)s\">la hoja de ruta</a>. ¿Quiere ayudar? <a "
"href=\"%(volunteer)s\">¡Únete!</a>"
#: i2p2www/pages/site/get-involved/todo.html:16
#: i2p2www/pages/site/get-involved/todo.html:54
msgid "Core functionality"
msgstr "Funcionamiento del núcleo."
#: i2p2www/pages/site/get-involved/todo.html:16
#: i2p2www/pages/site/get-involved/todo.html:28
#: i2p2www/pages/site/get-involved/todo.html:52
msgid "link"
msgstr "enlace"
#: i2p2www/pages/site/get-involved/todo.html:18
#: i2p2www/pages/site/get-involved/todo.html:57
msgid "NAT/Firewall bridging via 1-hop restricted routes"
msgstr "Bridging de NAT/cortafuegos a través de ruters restringidos de 1 salto"
#: i2p2www/pages/site/get-involved/todo.html:21
#: i2p2www/pages/site/get-involved/todo.html:130
msgid "High degree transport layer with UDP, NBIO, or NIO"
msgstr "Capa de transporte de alto nivel con UDP, NBIO, o NIO"
#: i2p2www/pages/site/get-involved/todo.html:24
#: i2p2www/pages/site/get-involved/todo.html:218
msgid "NetworkDB and profile tuning and ejection policy for large nets"
msgstr ""
"Base de datos de la red, NetworkDB, y ajustes del perfil y política de "
"expulsión para grandes redes. "
#: i2p2www/pages/site/get-involved/todo.html:28
#: i2p2www/pages/site/get-involved/todo.html:242
msgid "Security / anonymity"
msgstr "Seguridad / anonimato"
#: i2p2www/pages/site/get-involved/todo.html:30
#: i2p2www/pages/site/get-involved/todo.html:245
msgid ""
"Per-hop tunnel id &amp; new permuted TunnelVerificationStructure "
"encryption"
msgstr ""
"Id por salto de túnel &amp; nuevo cifrado permutado de la estructura de "
"verificación del túnel, TunnelVerificationStructure"
#: i2p2www/pages/site/get-involved/todo.html:33
#: i2p2www/pages/site/get-involved/todo.html:295
msgid "Strict ordering of participants within tunnels"
msgstr "Orden estricto de los participantes dentro de los túneles"
#: i2p2www/pages/site/get-involved/todo.html:36
msgid "Randomly permuted tunnel lengths"
msgstr "Tamaño de los túneles aleatorio."
#: i2p2www/pages/site/get-involved/todo.html:39
#: i2p2www/pages/site/get-involved/todo.html:357
msgid "Full blown n-hop restricted routes with optional trusted links"
msgstr ""
"Mejor personalización de los ruters y un mejor control de los ruters "
"usados."
#: i2p2www/pages/site/get-involved/todo.html:42
#: i2p2www/pages/site/get-involved/todo.html:376
msgid "Hashcash for routerIdentity, destination, and tunnel request"
msgstr ""
"Añadir Hashcash a la identidad del ruter, destinación y solicitud de "
"respuesta."
#: i2p2www/pages/site/get-involved/todo.html:45
#: i2p2www/pages/site/get-involved/todo.html:405
msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
msgstr ""
"Control avanzado del funcionamiento del ruter (procesamiento por "
"lotes/mezclado/control de velocidad)"
#: i2p2www/pages/site/get-involved/todo.html:48
#: i2p2www/pages/site/get-involved/todo.html:442
msgid "Stop &amp; go mix w/ garlics &amp; tunnels"
msgstr ""
"Configuración avanzada del enrutamiento de los túneles y opciones para "
"crear túneles de usar y tirar para su uso a corto plazo."
#: i2p2www/pages/site/get-involved/todo.html:52
#: i2p2www/pages/site/get-involved/todo.html:456
msgid "Performance"
msgstr "Rendimiento"
#: i2p2www/pages/site/get-involved/todo.html:62
msgid "Implemented in I2P 0.6.0.6"
msgstr "Implementado en I2P 0.6.0.6"
#: i2p2www/pages/site/get-involved/todo.html:63
msgid ""
"The functionality of allowing routers to fully participate within the "
"network \n"
"while behind firewalls and NATs that they do not control requires some "
"basic \n"
"restricted route operation (since those peers will not be able to receive"
" \n"
"inbound connections). To do this successfully, you consider peers one of"
" \n"
"two ways:"
msgstr ""
"Esta capacidad permite a los ruters participar totalmente dentro de la "
"red incluso detrás de un NAT o cortafuegos de los que no se tienen "
"control (ya que estos pares no podrán recibir conexiones entrantes). "
"Para hacer esto satisfactoriamente, consideramos a los pares de estas dos"
" formas:"
#: i2p2www/pages/site/get-involved/todo.html:73
msgid ""
"<b>Peers who have reachable interfaces</b> - these peers do not need to \n"
"do anything special"
msgstr ""
"<b>Pares que tienen algún dispositivo accesible</b> estos pares no "
"necesitan hacer nada especial"
#: i2p2www/pages/site/get-involved/todo.html:77
msgid ""
"<b>Peers who do not have reachable interfaces</b> - these peers must "
"build \n"
"a tunnel pointing at them where the gateway is one of the peers they have"
" \n"
"established a connection with who has both a publicly reachable interface"
" \n"
"and who has agreed to serve as their 'introducer'."
msgstr ""
"<b>Pares que no tienen dispositivos accesibles</b> - estos pares tienen "
"que construir un túnel hacia ellos mismos en donde la salida es uno de "
"los pares con los que ya ha establecido una conexión y quien tiene un "
"dispositivo accesible públicamente y ha aceptado servir como su "
"'introductor'."
#: i2p2www/pages/site/get-involved/todo.html:85
msgid ""
"To do this, peers who have no IP address simply connect to a few peers, \n"
"build a tunnel through them, and publish a reference to those tunnels "
"within \n"
"their RouterInfo structure in the network database."
msgstr ""
"Para hacer esto, los pares que no tiene dirección IP simplemente se "
"conectan a varios pares, construye un túnel a través de ellos, y publican"
" una referencia de esos túneles dentro de la estructura RouterInfo en la "
"base de datos dela red."
#: i2p2www/pages/site/get-involved/todo.html:90
msgid ""
"When someone wants to contact any particular router, they first must get"
" \n"
"its RouterInfo from the network database, which will tell them whether "
"they \n"
"can connect directly (e.g. the peer has a publicly reachable interface) \n"
"or whether they need to contact them indirectly. Direct connections occur"
" \n"
"as normal, while indirect connections are done through one of the "
"published \n"
"tunnels."
msgstr ""
"Cuando alguien quiere conectar con algún ruter en particular, el primero "
"debe obtener su RouterInfo de la base de datos de la red, la que le "
"indicará que puede conectarse directamente ( por ejemplo con un par que "
"tiene un dispositivo accesible públicamente) o que necesita conectar "
"indirectamente. La conexiones directas se hacen directamente, pero las "
"indirectas se hacen a través de los túneles publicados. "
#: i2p2www/pages/site/get-involved/todo.html:98
msgid ""
"When a router just wants to get a message or two to a specific hidden "
"peer, \n"
"they can just use the indirect tunnel for sending the payload. However, \n"
"if the router wants to talk to the hidden peer often (for instance, as "
"part \n"
"of a tunnel), they will send a garlic routed message through the indirect"
" \n"
"tunnel to that hidden peer which unwraps to contain a message which "
"should \n"
"be sent to the originating router. That hidden peer then establishes an \n"
"outbound connection to the originating router and from then on, those two"
" \n"
"routers can talk to each other directly over that newly established "
"direct \n"
"connection."
msgstr ""
"Cuando un ruter simplemente quiere enviar un mensaje a un par oculto "
"puede usar el túnel indirecto para enviar la información. Sin embargo, si"
" el ruter quiere hablar con el par oculto a menudo (por ejemplo, como "
"parte de un túnel), enviará un mensaje enrutado a través del túnel "
"indirecto del par oculto. Entonces este par oculto establece una conexión"
" de salida hacia el ruter original y a partir de entonces estos dos "
"ruters puede hablar entre ellos directamente sobre la nueva conexión "
"directa. "
#: i2p2www/pages/site/get-involved/todo.html:109
msgid ""
"Of course, that only works if the originating peer can receive "
"connections \n"
"(they aren't also hidden). However, if the originating peer is hidden, "
"they \n"
"can simply direct the garlic routed message to come back to the "
"originating \n"
"peer's inbound tunnel."
msgstr ""
"Por supuesto esto solo funciona si el par original puede recibir "
"conexiones (y no están también ocultas). Sin embargo, si el par original "
"está oculto, pueden simplemente indicar la mensaje enrutado que vuelva "
"por el túnel de entrada del par original. "
#: i2p2www/pages/site/get-involved/todo.html:115
msgid ""
"This is not meant to provide a way for a peer's IP address to be "
"concealed, \n"
"merely as a way to let people behind firewalls and NATs fully operate "
"within \n"
"the network. Concealing the peer's IP address adds a little more work, as"
" \n"
"described <a href=\"#fullRestrictedRoutes\">below.</a>"
msgstr ""
"Esto no se ha creado para permitir que la IP de un par permanezca oculta,"
" simplemente es una forma de permitir a la gente detrás de un NAT o "
"cortafuegos funcionar completamente dentro de la red. Ocultar la IP de un"
" par cuesta un poco más de trabajo, como se describe <a "
"href=\"#fullRestrictedRoutes\">más abajo.</a>"
#: i2p2www/pages/site/get-involved/todo.html:121
msgid ""
"With this technique, any router can participate as any part of a tunnel."
" \n"
"For efficiency purposes, a hidden peer would be a bad choice for an "
"inbound \n"
"gateway, and within any given tunnel, two neighboring peers wouldn't want"
" \n"
"to be hidden. But that is not technically necessary."
msgstr ""
"Con esta técnica cualquier ruter puede participar como una parte de un "
"túnel. Con objeto de mejorar la eficiencia, un par oculto sería una mala "
"elección como puerta de entrada, y dentro de un túnel dado, dos pares "
"vecinos no desearían estar ocultos. Pero esto no es técnicamente "
"necesario."
#: i2p2www/pages/site/get-involved/todo.html:133
msgid "Both UDP and NIO have been Implemented in I2P"
msgstr "Ambos, UDP y NIO ya han sido implementados en I2P"
#: i2p2www/pages/site/get-involved/todo.html:134
msgid ""
"Standard TCP communication in Java generally requires blocking socket \n"
"calls, and to keep a blocked socket from hanging the entire system, those"
" \n"
"blocking calls are done on their own threads. Our current TCP transport \n"
"is implemented in a naive fashion - for each peer we are talking to, we \n"
"have one thread reading and one thread writing. The reader thread simply"
" \n"
"loops a bunch of read() calls, building I2NP messages and adding them \n"
"to our internal inbound message queue, and the writer thread pulls "
"messages \n"
"off a per-connection outbound message queue and shoves the data through \n"
"write() calls."
msgstr ""
"Las comunicaciones estándar TCP en java normalmente necesitan el bloqueo "
"de llamadas al socket, y para evitar que el socket bloqueado pare todo el"
" sistema, estos bloqueos se hacen en sus propios hilos. Nuestro sistema "
"de transporte TCP actual está implementado de una forma sencilla - por "
"cada par con el que hablamos, tenemos un hilo escribiendo y otro leyendo."
" El hilo de lectura simplemente repite un puñado de llamadas read(), "
"creando mensajes I2NP y añadiéndolos a la cola interna de mensajes de "
"entrada, y el hilo de escritura envía mensajes hacia una cola de mensajes"
" de salida y empuja los datos a través de llamadas write()."
#: i2p2www/pages/site/get-involved/todo.html:145
msgid ""
"We do this fairly efficiently, from a CPU perspective - at any time, \n"
"almost all of these threads are sitting idle, blocked waiting for "
"something \n"
"to do. However, each thread consumes real resources (on older Linux "
"kernels, \n"
"for instance, each thread would often be implemented as a fork()'ed "
"process). \n"
"As the network grows, the number of peers each router will want to talk \n"
"with will increase (remember, I2P is fully connected, meaning that any \n"
"given peer should know how to get a message to any other peer, and "
"restricted \n"
"route support will probably not significantly reduce the number of "
"connections \n"
"necessary). This means that with a 100,000 router network, each router \n"
"will have up to 199,998 threads just to deal with the TCP connections!"
msgstr ""
"Desde la perspectiva del uso de CPU esto se hace bastante eficientemente "
"- la mayoría del tiempo la mayoría de estos hilos están dormidos "
"esperando por algo que hacer. Sin embargo, cada uno de estos hilos "
"consume recursos (en kernels viejos de Linux, por ejemplo, cada hilo se "
"implementa como un proceso fork()'ed). Al mismo tiempo que la red crece, "
"el número de pares con el que se comunica un ruter aumentará (recuerde, "
"I2P está totalmente conectado, esto quiere decir que cualquier par debe "
"saber como enviar un mensaje a cualquier otro par). ¡Esto significa que "
"con una red de 100.000 ruters, cada ruter tendrá 199.998 hilos "
"simplemente para tratar con las conexiones TCP!"
#: i2p2www/pages/site/get-involved/todo.html:157
msgid ""
"Obviously, that just won't work. We need to use a transport layer that \n"
"can scale. In Java, we have two main camps:"
msgstr ""
"Obviamente esto no funcionará. Necesitamos una capa de transporte que "
"pueda escalar. En Java tenemos dos posibles soluciones:"
#: i2p2www/pages/site/get-involved/todo.html:162
#, python-format
msgid ""
"Implemented in I2P 0.6 (\"SSU\") as documented <a "
"href=\"%(ssu)s\">elsewhere</a>"
msgstr ""
"Implementado en 2P 0.6 (\"SSU\") y documentado en <a href=\"%(ssu)s\">en "
"otra parte</a>"
#: i2p2www/pages/site/get-involved/todo.html:165
msgid ""
"Sending and receiving UDP datagrams is a connectionless operation - if \n"
"we are communicating with 100,000 peers, we simply stick the UDP packets"
" \n"
"in a queue and have a single thread pulling them off the queue and "
"shoving \n"
"them out the pipe (and to receive, have a single thread pulling in any \n"
"UDP packets received and adding them to an inbound queue)."
msgstr ""
"Enviar y recibir datagramas UDP es una operación que no necesita de "
"conexión previa - si estamos comunicándonos con 1000.000 pares, "
"simplemente ponemos los paquetes UDP en una cola y hacemos que un único "
"hilo los envíe fuera de la cola hacia una tubería ( y para recibir, "
"tenemos un único hilo tirando de cualquier paquete UDP recibido y "
"añadiéndolos a una cola de entrada)"
#: i2p2www/pages/site/get-involved/todo.html:172
msgid ""
"However, moving to UDP means losing the benefits of TCP's ordering, "
"congestion \n"
"control, MTU discovery, etc. Implementing that code will take significant"
" \n"
"work, however I2P doesn't need it to be as strong as TCP. Specifically, \n"
"a while ago I was taking some measurements in the simulator and on the \n"
"live net, and the vast majority of messages transferred would fit easily"
" \n"
"within a single unfragmented UDP packet, and the largest of the messages"
" \n"
"would fit within 20-30 packets. As mule pointed out, TCP adds a "
"significant \n"
"overhead when dealing with so many small packets, as the ACKs are within"
" \n"
"an order of magnitude in size. With UDP, we can optimize the transport \n"
"for both efficiency and resilience by taking into account I2P's "
"particular \n"
"needs."
msgstr ""
"Sin embargo, usar UDP significa perder los beneficios de usar el orden de"
" TCP, el control de congestión, descubrimiento de MTU, etc. Implementar "
"esto significaría mucho trabajo, sin embargo I2P no necesita ser tan "
"fuerte como TCP. Hace algún tiempo estaba tomando medida en un simulador "
"y en la red real, y la mayoría de los mensajes pueden ser transmitidas "
"dentro de un único paquete UDP no fragmentado, y el más largo de los "
"mensajes entraría dentro de 20-30 paquetes. Como mule indicó, TCP añade "
"bastante gasto cuando tiene que encargarse de muchos paquetes pequeños. "
"Con UDP, se puede optimizar el transporte para la eficiencia y la "
"flexibilidad teniendo en cuenta las necesidades particulares de I2P."
#: i2p2www/pages/site/get-involved/todo.html:185
msgid "It will be a lot of work though."
msgstr "Sería muchísimo trabajo por hacer."
#: i2p2www/pages/site/get-involved/todo.html:188
msgid "NIO or NBIO"
msgstr "NIO o NBIO"
#: i2p2www/pages/site/get-involved/todo.html:189
msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")"
msgstr "NIO fue implementada en la versión 0.6.1.22 de I2P (\"NTCP\")"
#: i2p2www/pages/site/get-involved/todo.html:192
msgid ""
"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java"
" \n"
"developers to take advantage of the operating system's nonblocking IO \n"
"capabilities - allowing you to maintain a large number of concurrent IO \n"
"operations without requiring a separate thread for each. There is much \n"
"promise with this approach, as we can scalable handle a large number of \n"
"concurrent connections and we don't have to write a mini-TCP stack with \n"
"UDP. However, the NIO packages have not proven themselves to be battle-"
"ready, \n"
"as the Freenet developer's found. In addition, requiring NIO support "
"would \n"
"mean we can't run on any of the open source JVMs like <a "
"href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
"as <a href=\"http://www.classpath.org/\">GNU/Classpath</a> has only "
"limited \n"
"support for NIO. <i>(note: this may not be the case anymore, as there \n"
"has been some progress on Classpath's NIO, but it is an unknown "
"quantity)</i>"
msgstr ""
"En Java 1.4 se introdujo paquetes \"I/O nuevos\", permitiendo a los "
"desarrolladores de java usar las capacidades de los sistemas operativos "
"sin bloquear las entradas y salidas - permitiendo tener un gran número de"
" operaciones I/O concurrentes si necesitar un nuevo hilo para cada una. "
"Hay muchas esperanzas puestas en este método, ya que podemos manejar un "
"gran número de conexiones y no tendríamos que que reescribir un nuevo "
"mini TCP stack con UDP. Sin embargo, los paquetes NIO no han probado aún "
"estar listos, como averiguaron los desarrolladores de Freenet. Además, "
"usar paquetes NIO significaría no poder usar ninguna JVM libre como <a "
"href=\"http://www.kaffe.org/\">Kaffe</a>, ya que <a "
"href=\"http://www.classpath.org/\">GNU/Classpath</a> sólo tiene soporte "
"limitado para NIO.<i>(nota: puede que ahora esto ya no sea verdad, ya que"
" se han hecho progreso en los NIO de Classpath, pero no sabemos su "
"calidad)</i>"
#: i2p2www/pages/site/get-involved/todo.html:206
#, python-format
msgid ""
"Another alternative along the same lines is the <a href=\"%(link)s\">Non"
" \n"
"Blocking I/O</a> package - essentially a cleanroom NIO implementation \n"
"(written before NIO was around). It works by using some native OS code \n"
"to do the nonblocking IO, passing off events through Java. It seems to \n"
"be working with Kaffe, though there doesn't seem to be much development \n"
"activity on it lately (likely due to 1.4's NIO deployment)."
msgstr ""
"Otra alternativa del mismo tipo es el paquete <a href=\"%(link)s\">sin "
"bloqueos I/O</a> - básicamente es una implementación NIO tipo cleanroom "
"(escrita antes de que NIO existiese). Funciona utilizando algo de código "
"nativo del sistema operativo para hacer I/O sin bloqueos, pasando los "
"eventos a través de Java. Parece que funciona con Kaffe, aunque no parece"
" que haya mucha actividad últimamante en su desarrollo (debido "
"probablemente al desarrollo de NIO 1.4) "
#: i2p2www/pages/site/get-involved/todo.html:221
msgid ""
"Within the current network database and profile management "
"implementation, \n"
"we have taken the liberty of some practical shortcuts. For instance, we \n"
"don't have the code to drop peer references from the K-buckets, as we \n"
"don't have enough peers to even plausibly fill any of them, so instead, \n"
"we just keep the peers in whatever bucket is appropriate. Another example"
" \n"
"deals with the peer profiles - the memory required to maintain each "
"peer's \n"
"profile is small enough that we can keep thousands of full blown profiles"
" \n"
"in memory without problems. While we have the capacity to use trimmed \n"
"down profiles (which we can maintain 100s of thousands in memory), we \n"
"don't have any code to deal with moving a profile from a \"minimal "
"profile\" \n"
"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to"
" simply \n"
"eject a profile altogether. It just wouldn't be practical to write that \n"
"code yet, since we aren't going to need it for a while."
msgstr ""
"Nos hemos tomado la libertad de usar unos atajos prácticos dentro de la "
"base de datos de la red y la implementación de la gestión del perfil. Por"
" ejemplo, no tenemos el código para sacar los perfiles de los pares de "
"K-buckets, al igual que no tenemos suficientes pares para llenar ninguno "
"de ellos, en lugar de eso mantenemos los pares en cualquier cubo que "
"pueda ser apropiado. Otro ejemplo tiene que ver con los perfiles de los "
"pares - la memoria requerida para mantener cada perfil del par es "
"suficientemente pequeña como para poder tener todos los perfiles en la "
"memoria sin problemas (con lo que podemos mantener cientos de miles en la"
" memoria), no tenemos ningún código para lidiar con el problema de mover "
"un perfil de un \"perfil mínimo\" a un \"perfil completo\", de un "
"\"perfil completo\" a un \"perfil mínimo\", o simplemente desechar un "
"perfil completo. Simplemente no sería práctico escribir el código ya que "
"no lo vamos a necesitar por un tiempo."
#: i2p2www/pages/site/get-involved/todo.html:236
msgid ""
"That said, as the network grows we are going to want to keep these "
"considerations \n"
"in mind. We will have some work to do, but we can put it off for later."
msgstr ""
"Como ya hemos dicho, según siga creciendo la red volveremos a retomar "
"estas consideraciones. Tendremos algún trabajo por hacer, pero se puede "
"dejar para mas tarde."
#: i2p2www/pages/site/get-involved/todo.html:248
#: i2p2www/pages/site/get-involved/todo.html:332
#, python-format
msgid ""
"Addressed in I2P 0.5 as documented <a "
"href=\"%(tunnelimpl)s\">elsewhere</a>"
msgstr ""
"Conseguido en I2P 0.5 como se documenta <a "
"href=\"%(tunnelimpl)s\">aquí</a>"
#: i2p2www/pages/site/get-involved/todo.html:251
msgid ""
"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n"
"going to Dave, then to Charlie, then Bob, and finally Alice "
"(A&lt;--B&lt;--C&lt;--D&lt;--E), \n"
"all five of them will know they are participating in tunnel \"123\", as \n"
"the messages are tagged as such. What we want to do is give each hop "
"their \n"
"own unique tunnel hop ID - Charlie will receive messages on tunnel 234 \n"
"and forward them to tunnel 876 on Bob. The intent is to prevent Bob or \n"
"Charlie from knowing that they are in Alice's tunnel, as if each hop in \n"
"the tunnel had the same tunnel ID, collusion attacks aren't much work."
msgstr ""
"Ahora mismo si Alicia crea un túnel de entrada de cuatro saltos empezando"
" en Elvis, yendo a través de Dave, después Charlie, después Bob y "
"finalmente Alice (A&lt;--B&lt;--C&lt;--D&lt;--E), los cinco sabrán que "
"están participando en el túnel \"123\", ya que el mensaje está etiquetado"
" así. Lo que queremos hacer es dar a cada salto su propio ID de túnel - "
"Charlie recibirá el mensaje en el túnel 234 y lo enviará al túnel 876 de "
"Bob. Se intenta prevenir que Bob o Charlie sepan que están en el túnel de"
" Alice, lo que ocurriría si en cada salto tuviesen el mismo ID de túnel "
"haciendo que un ataque por colisión fuese más fácil."
#: i2p2www/pages/site/get-involved/todo.html:261
msgid ""
"Adding a unique tunnel ID per hop isn't hard, but by itself, "
"insufficient. \n"
"If Dave and Bob are under the control of the same attacker, they wouldn't"
" \n"
"be able to tell they are in the same tunnel due to the tunnel ID, but \n"
"would be able to tell by the message bodies and verification structures \n"
"by simply comparing them. To prevent that, the tunnel must use layered \n"
"encryption along the path, both on the payload of the tunneled message \n"
"and on the verification structure (used to prevent simple tagging "
"attacks). \n"
"This requires some simple modifications to the TunnelMessage, as well \n"
"as the inclusion of per-hop secret keys delivered during tunnel creation"
" \n"
"and given to the tunnel's gateway. We must fix a maximum tunnel length \n"
"(e.g. 16 hops) and instruct the gateway to encrypt the message to each \n"
"of the 16 delivered secret keys, in reverse order, and to encrypt the \n"
"signature of the hash of the (encrypted) payload at each step. The "
"gateway \n"
"then sends that 16-step encrypted message, along with a 16-step and "
"16-wide \n"
"encrypted mapping to the first hop, which then decrypts the mapping and \n"
"the payload with their secret key, looking in the 16-wide mapping for \n"
"the entry associated with their own hop (keyed by the per-hop tunnel ID)"
" \n"
"and verifying the payload by checking it against the associated signed \n"
"hash."
msgstr ""
"Añadir un Id único por cada salto no es difícil, pero sí insuficiente. Si"
" Dave y Bob están bajo el control del mismo atacante no sería posible "
"saber que están en el mismo túnel a causa del Id, pero podría se capaz de"
" saber sobre el cuerpo del mensaje y las estructuras de verificación con "
"solo compararlos. Para prevenir esto el túnel debe usar una capa de "
"cifrado a lo largo del camino, en el payload tunelado y en la "
"verificación de la estructura (usado para evitar ataques simples de "
"etiquetado). Esto requiere algunos cambios simples en el TunnelMessage, y"
" además, requiere del envío de claves secretas por cada salto durante la "
"creación del túnel, y además hacer llegar estas claves a la salida del "
"túnel. Tenemos que que crear un valor máximo del tamaño del túnel (por "
"ejemplo 16), e instruir a la puerta de salida para que cifre el mensaje "
"de cada una de las claves secretas enviadas, en orden inverso, y de que "
"cifre la firma del hash del payload (cifrado) en cada salto. La puerta de"
" salida envía entonces el mensaje cifrado de 16 pasos, junto con los 16 "
"pasos y el mapeado cifrado de 16 de ancho al primer salto, el cual "
"entonces descifra el mapeado y el payload con su clave secreta, buscando"
" en el mapeado de 16 de ancho por la entrada asociada con su propio salto"
" (cifrado por el Id del túnel de cada salto) y verificando el pyload "
"chequeándolo con el hash firmado asociado."
#: i2p2www/pages/site/get-involved/todo.html:282
msgid ""
"The tunnel gateway does still have more information than the other peers"
" \n"
"in the tunnel, and compromising both the gateway and a tunnel participant"
" \n"
"would allow those peers to collude, exposing the fact that they are both"
" \n"
"in the same tunnel. In addition, neighboring peers know that they are \n"
"in the same tunnel anyway, as they know who they send the message to (and"
" \n"
"with IP-based transports without restricted routes, they know who they \n"
"got it from). However, the above two techniques significantly increase \n"
"the cost of gaining meaningful samples when dealing with longer tunnels."
msgstr ""
"La salida del túnel todavía tiene más información que los otros pares del"
" túnel, y comprometiendo la salida y un participante en el túnel "
"permitiría a estos confabularse mostrando el hecho de que los dos "
"pertenecen al mismo túnel. Además, los pares vecinos saben que están en "
"el mismo túnel, ya que saben a quien envían el mensaje (y con transportes"
" basados en IP con rutas restrictivas saben de donde lo reciben). Sin "
"embargo, estas dos técnicas incrementan significativamente el coste de "
"conseguir ejemplos con significado cuando se trata de túneles largos."
#: i2p2www/pages/site/get-involved/todo.html:298
msgid "Implemented in release 0.6.2"
msgstr "Implementado en la versión 0.6.2"
#: i2p2www/pages/site/get-involved/todo.html:301
#, python-format
msgid ""
"As Connelly <a href=\"%(link)s\">proposed</a> to deal with the\n"
"<a href=\"%(pdf1)s\">predecessor attack</a> <a href=\"%(pdf2)s\">(2008\n"
"update)</a>, keeping the order of peers within our tunnels consistent \n"
"(aka whenever Alice creates a tunnel with both Bob and Charlie in it, \n"
"Bob's next hop is always Charlie), we address the issue as Bob doesn't \n"
"get to substantially sample Alice's peer selection group. We may even \n"
"want to explicitly allow Bob to participate in Alice's tunnels in only \n"
"one way - receiving a message from Dave and sending it to Charlie - and \n"
"if any of those peers are not available to participate in the tunnel (due"
" \n"
"to overload, network disconnection, etc), avoid asking Bob to participate"
" \n"
"in any tunnels until they are back online."
msgstr ""
"Como <a href=\"%(link)s\">propuso</a> Connelly para tratar el <a "
"href=\"%(pdf1)s\">ataque del predecesor</a><a "
"href=\"%(pdf2)s\">(2008)</a>, manteniendo consistente el orden de los "
"pares dentro de nuestros túneles (osea cuando Alice crea un túnel con Bob"
" y Charlei en él, el siguiente salto de Bob es siempre Charlie), "
"solucionamos el problema, ya que Bob no puede obtener una muestra del "
"grupo de pares de Alice lo suficientemente grande. Incluso podríamos "
"querer permitir explícitamente a Bob participar en el túnel de Alice en "
"una dirección - recibiendo un mensaje de Dave y enviándolo a Charlie - y "
"si unos de estos pares no están disponible para participar en el túnel "
"(debido a saturación, desconexión de red, erc), evitar preguntar a Bob si"
" participa en algún túnel hasta que vuelva a estar disponible."
#: i2p2www/pages/site/get-involved/todo.html:316
msgid ""
"More analysis is necessary for revising the tunnel creation - at the \n"
"moment, we simply select and order randomly within the peer's top tier \n"
"of peers (ones with fast + high capacity)."
msgstr ""
"Aún hace falta un análisis más detallado de la creación del túnel - hasta"
" el momento, simplemente seleccionamos y ordenamos aleatoriamente de "
"entre uno de los mejores pares del par (uno rápido y con gran capacidad)"
#: i2p2www/pages/site/get-involved/todo.html:321
msgid ""
"Adding a strict ordering to peers in a tunnel also improves the anonymity"
" \n"
"of peers with 0-hop tunnels, as otherwise the fact that a peer's gateway"
" \n"
"is always the same would be particularly damning. However, peers with \n"
"0-hop tunnels may want to periodically use a 1-hop tunnel to simulate \n"
"the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n"
"duration) minutes, use a 1-hop tunnel)."
msgstr ""
"Añadiendo un orden estricto a los pares de un túnel también mejoramos el "
"anonimato de los pares con túneles de 0 saltos, ya que de otra forma el "
"hecho de que la salida del par fuese siempre la misma sería bastante "
"dañino. Sin embargo, los pares con túneles de 0 saltos necesitarán usar "
"periódicamente un túnel de 1 salto para simular el fallo de un par de "
"salida normal (así cada MTBF*(duración del túnel) minutos, usaría un "
"túnel de 1 salto)"
#: i2p2www/pages/site/get-involved/todo.html:338
msgid ""
"Without tunnel length permutation, if someone were to somehow detect that"
" \n"
"a destination had a particular number of hops, it might be able to use "
"that \n"
"information to identify the router the destination is located on, per the"
" \n"
"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n"
"receives a tunnel message from Charlie and forwards it to Alice, Bob "
"knows \n"
"Alice is the final router in the tunnel. If Bob were to identify what "
"destination \n"
"that tunnel served (by means of colluding with the gateway and harvesting"
" \n"
"the network database for all of the LeaseSets), he would know the router"
" \n"
"on which that destination is located (and without restricted routes, that"
" \n"
"would mean what IP address the destination is on)."
msgstr ""
"Sin los cambios de tamaño de los túneles, si alguien de alguna forma "
"detectase que una destinación tiene un número determinado de saltos, "
"sería capaz de usar esa información para identificar la localización de "
"la destinación de ruter usando el ataque del predecesor. Por ejemplo, si"
" todo el mundo tiene túneles de 2 saltos, si Bob recibe un mensaje de "
"Charlie y lo envía a Alice, Bob sabría que que Alice es el ruter final "
"del túnel. Si Bob quisiese identificar la destinación que ese túnel "
"sirvió (confabulándose con el nodo de salida y buscando en la base de "
"datos de la red a todos los LeaseSets), conocería el ruter que está en "
"esa destinación ( y sin rutas restringidas, eso quiere decir que "
"sabríamos la IP de la destinación)"
#: i2p2www/pages/site/get-involved/todo.html:350
msgid ""
"It is to counter user behavior that tunnel lengths should be permuted, \n"
"using algorithms based on the length requested (for example, the 1/MTBF \n"
"length change for 0-hop tunnels outlined above)."
msgstr ""
"El tamaño de los túneles debe ser cambiante para contrarrestar el "
"comportamiento de los usuarios, usando algoritmos basados en el tamaño "
"requerido (por ejemplo, el cambio de tamaño a 1/MTBF de los túneles de 0 "
"saltos)"
#: i2p2www/pages/site/get-involved/todo.html:360
msgid ""
"The restricted route functionality described before was simply a "
"functional \n"
"issue - how to let peers who would not otherwise be able to communicate \n"
"do so. However, the concept of allowing restricted routes includes "
"additional \n"
"capabilities. For instance, if a router absolutely cannot risk "
"communicating \n"
"directly with any untrusted peers, they can set up trusted links through"
" \n"
"those peers, using them to both send and receive all of its messages. \n"
"Those hidden peers who want to be completely isolated would also refuse \n"
"to connect to peers who attempt to get them to (as demonstrated by the \n"
"garlic routing technique outlined before) - they can simply take the "
"garlic \n"
"clove that has a request for delivery to a particular peer and tunnel \n"
"route that message out one of the hidden peer's trusted links with "
"instructions \n"
"to forward it as requested."
msgstr ""
"La funcionalidad restringida del ruter descrita antes era simplemente un "
"problema funcional - como hacer que dos pares que de otra forma no "
"estrían comunicados se comuniquen. Sin embargo, el concepto de permitir "
"ruters restringidos incluye capacidades adicionales. Por ejemplo, si un "
"ruter no puede arriesgarse de ninguna forma a una comunicación directa "
"con un par sin confianza, pueden configurar enlaces seguros a través de "
"esos pares, usándolos para enviar y recibir todos sus mensajes. Esos "
"pares ocultos que desean estar totalmente aislados pueden también negarse"
" a conectar con pares que intenten alcanzarles (como se demuestra en la "
"técnica de ruteado 'garlic' esbozada anteriormente)"
#: i2p2www/pages/site/get-involved/todo.html:379
#, python-format
msgid ""
"Within the network, we will want some way to deter people from consuming"
" \n"
"too many resources or from creating so many peers to mount a <a "
"href=\"%(link)s\">Sybil</a> \n"
"attack. Traditional techniques such as having a peer see who is "
"requesting \n"
"a resource or running a peer aren't appropriate for use within I2P, as \n"
"doing so would compromise the anonymity of the system. Instead, we want \n"
"to make certain requests \"expensive\"."
msgstr ""
"Dentro de la red necesitaremos una forma de disuadir al a gente de "
"consumir demasiados recursos o de crear demasiados pares como para montar"
" un ataque <a href=\"%(link)s\">Sybil</a>. Las técnicas tradicionales "
"como dejar que un par vea quien solicita un recurso o quien ejecuta "
"cierto par, no son apropiadas para I2P, ya que eso comprometería el "
"anonimato del sistema. En su lugar queremos hacer que ciertas peticiones "
"sean muy \"caras\"."
#: i2p2www/pages/site/get-involved/todo.html:387
msgid ""
"<a href=\"http://www.hashcash.org/\">Hashcash</a> is one technique that \n"
"we can use to anonymously increase the \"cost\" of doing certain "
"activities, \n"
"such as creating a new router identity (done only once on installation),"
" \n"
"creating a new destination (done only once when creating a service), or \n"
"requesting that a peer participate in a tunnel (done often, perhaps 2-300"
" \n"
"times per hour). We don't know the \"correct\" cost of each type of "
"certificate \n"
"yet, but with some research and experimentation, we could set a base "
"level \n"
"that is sufficiently expensive while not an excessive burden for people \n"
"with few resources."
msgstr ""
"<a href=\"http://www.hashcash.org/\">Hashcash</a> es una técnica que "
"podemos usar anónimamente para incrementar el \"costo\" de hacer ciertas "
"acciones., como crear una nueva identidad de ruter (se hace sólo cuando "
"se instala por primera vez), crear una nueva destinación (se hace sólo "
"cuando se crea un nuevo servicio), o solicitar que un par participe en un"
" túnel (se hace a menudo, quizás 2-300 veces a la hora). No conocemos "
"todavía el coste \"correcto\" de cada tipo de certificado, pero con algo "
"de investigación y estudio, podemos crear un nivel básico que sea lo "
"suficientemente caro pero no tan caro como para que agobie a la gente con"
" pocos recursos."
#: i2p2www/pages/site/get-involved/todo.html:398
msgid ""
"There are a few other algorithms that we can explore for making those \n"
"requests for resources \"nonfree\", and further research on that front is"
" \n"
"appropriate."
msgstr ""
"Hay varios algoritmos que podemos explorar para hacer que esas peticiones"
" de recursos \"tengan un costo\", sería conveniente seguir investigando "
"sobre este tema."
#: i2p2www/pages/site/get-involved/todo.html:408
#, python-format
msgid ""
"To powerful passive external observers as well as large colluding "
"internal \n"
"observers, standard tunnel routing is vulnerable to traffic analysis "
"attacks \n"
"- simply watching the size and frequency of messages being passed between"
" \n"
"routers. To defend against these, we will want to essentially turn some \n"
"of the tunnels into its own mix cascade - delaying messages received at \n"
"the gateway and passing them in batches, reordering them as necessary, \n"
"and injecting dummy messages (indistinguishable from other \"real\" "
"tunnel \n"
"messages by peers in the path). There has been a significant amount of \n"
"<a href=\"%(pdf)s\">research</a> \n"
"on these algorithms that we can lean on prior to implementing the various"
" \n"
"tunnel mixing strategies."
msgstr ""
"El rutado estándar de túneles es vulnerable al análisis de tráfico para "
"los observadores externos pasivos con muchos medios y para un gran número"
" de observadores internos si están confabulados, simplemente observando "
"el tamaño y la frecuencia de los mensajes que pasan a través de los "
"ruters. Para defendernos de esto, queremos simplemente convertir algunos"
" túneles en su propia mezcla de cascada - retrasando los mensajes "
"recibidos en la puerta de salida y pasándolos en lotes, reordenándolas "
"como sea necesario, e inyectando mensajes de relleno (indistinguibles de "
"los túneles \"reales\" para los pares). Ha habido un gran número de <a "
"href=\"%(pdf)s\">estudios</a> sobre estos algoritmos que podríamos "
"utilizar para implementar varias estrategias de mezclado de túneles."
#: i2p2www/pages/site/get-involved/todo.html:421
msgid ""
"In addition to the anonymity aspects of more varied tunnel operation, \n"
"there is a functional dimension as well. Each peer only has a certain \n"
"amount of data they can route for the network, and to keep any particular"
" \n"
"tunnel from consuming an unreasonable portion of that bandwidth, they \n"
"will want to include some throttles on the tunnel. For instance, a tunnel"
" \n"
"may be configured to throttle itself after passing 600 messages (1 per \n"
"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n"
"last minute). Excess messages may be delayed or summarily dropped. With \n"
"this sort of throttling, peers can provide ATM-like QoS support for their"
" \n"
"tunnels, refusing to agree to allocate more bandwidth than the peer has \n"
"available."
msgstr ""
"Además de los aspectos del anonimato en las operaciones de los túneles, "
"hay una dimensión funcional extra. Cada par sólo tiene cierto número de "
"datos que pueden rutar por la red, y para evitar que un túnel en "
"particular consuma una gran parte del ancho de banda, necesitarán añadir "
"algunas regulaciones en el túnel. Por ejemplo, un túnel puede estar "
"configurado para pararse a sí mismo después de pasar 600 mensajes (1 par "
"por segundo), 2.4MB (4KBps), o tras haber excedido algún promedio "
"variable (8KBps en el último minuto). Los mensajes sobrantes pueden ser "
"retardados o desechados. Con este tipo de control, los pares pueden "
"ofrecer un soporte parecido al QoS en sus túneles, negándose a asignar "
"más ancho de banda de la que el par tiene disponible."
#: i2p2www/pages/site/get-involved/todo.html:434
msgid ""
"In addition, we may want to implement code to dynamically reroute tunnels"
" \n"
"to avoid failed peers or to inject additional hops into the path. This \n"
"can be done by garlic routing a message to any particular peer in a "
"tunnel \n"
"with instructions to redefine the next-hop in the tunnel."
msgstr ""
"Además, queremos implementar el código para re-rutar los túneles "
"dinámicamente, y así evitar que los pares fallidos añadan saltos "
"adicionales en el camino. Esto lo puede hacer la red garlic rutando un "
"mensaje a un par en particular con las instrucciones para redefinir el "
"siguiente salto del túnel."
#: i2p2www/pages/site/get-involved/todo.html:445
msgid ""
"Beyond the per-tunnel batching and mixing strategy, there are further \n"
"capabilities for protecting against powerful attackers, such as allowing"
" \n"
"each step in a garlic routed path to define a delay or window in which \n"
"it should be forwarded on. This would enable protections against the long"
" \n"
"term intersection attack, as a peer could send a message that looks "
"perfectly \n"
"standard to most peers that pass it along, except at any peers where the"
" \n"
"clove exposed includes delay instructions."
msgstr ""
"Además de las estrategias de mezclado y de procesado por lotes de cada "
"túnel, hay más formas de protegernos contra atacantes poderosos, como "
"permitir crear un retraso en cada paso dentro de un camino de rutado "
"garlic. Esto crearía protecciones contra un ataque largo de intersección,"
" ya que un par podría enviar mensajes que parecen normales a la mayoría "
"de los pares, excepto a cualquier par donde se hayan dado instrucciones "
"de retardo."
#: i2p2www/pages/site/get-involved/todo.html:457
#, python-format
msgid ""
"Performance related improvements are listed on the\n"
"<a href=\"%(futureperf)s\">Performance</a> page."
msgstr ""
"Las mejoras en el rendimiento se listan en la página de <a "
"href=\"%(futureperf)s\">rendimiento</a> ."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2
msgid "Bounty Arabic translation of webpage and router console"
msgstr ""
"Recompensa por la traducción al árabe de la página web y la consola de "
"ruter."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3
#: i2p2www/pages/site/get-involved/bounties/index.html:119
msgid "Arabic translation"
msgstr "Traducción al árabe."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P echelon set out this bounty for translation\n"
"of the I2P web page and I2P router console into Arabic."
msgstr ""
"Para mejorar el uso de I2P y atraer más gente, echelon propone esta "
"recompensa por la traducción al árabe de la web de I2P y la consola del "
"ruter."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12
msgid "This bounty is set into 2 subparts:"
msgstr "Esta recompensa de divide en 2 partes:"
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14
msgid "Part 1 is translation of the webpage."
msgstr "La parte 1 es la traducción de la página web."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17
msgid ""
"For collecting the bounty of 20 BTC you need to translate the following "
"pages:"
msgstr ""
"Para recibir la recompensa de 20 BTC necesita traducir las siguientes "
"páginas:"
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25
msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada."
msgstr ""
"El trabajo fue hecho por Amanda y la recompensa de 20 BTC fue pagada a "
"Amanda."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27
msgid ""
"Part 2 is the translation of the router console. The router console was\n"
"partly translated and the bounty of 80 BTC was paid to hamada."
msgstr ""
"La parte 2 es la traducción de la consola del ruter. La consola del ruter"
" fue parcialmente traducida y la recompensa de 80 BTC se pagó a hamada."
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34
msgid "Judge is echelon."
msgstr "El juez es echelon."
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2
msgid "Bounty creating a I2P native Bitcoin client"
msgstr "Recompensa por la creación de un cliente nativo para I2P."
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3
msgid "BTC I2P native client"
msgstr "Cliente nativo BTC para I2P"
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6
msgid ""
"For a future of I2P and attract more people\n"
"into I2P this bounty is to create a I2P native Bitcoin client. \n"
"It should integrate with other client via the I2P network and via "
"gateways to\n"
"the existant bitcoin network."
msgstr ""
"Para el futuro de I2P y para atraer más gente a I2P esta recompensa se "
"pensó para crear un cliente de Bitcoin para I2P. Debería integrarse con "
"otros clientes dentro de la red de I2P y vía las salidas, con la red de "
"Bitcoin actual."
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15
msgid "Judge is psychonaut who donated the first 30 &euro; to this bounty."
msgstr ""
"El juez es psychonaut quien donó los primeros 30 &euro; para esta "
"recompensa."
#: i2p2www/pages/site/get-involved/bounties/datastore.html:2
msgid "Bounty datastorage"
msgstr "Recompensa por el almacenamiento de datos."
#: i2p2www/pages/site/get-involved/bounties/datastore.html:3
msgid "datastore"
msgstr "almacenamiento de datos"
#: i2p2www/pages/site/get-involved/bounties/datastore.html:6
msgid ""
"To improve I2P's usage and to be independent of routers \n"
"online status we want a datastorage as a extension to I2P.\n"
"Like in Freenet the datastorage should be distributed and every\n"
"participating node should be able to configure his options.\n"
"The files should be saved in chunks and at least 2-3 times to\n"
"obtain redundancy. Usage of storage space should be auto balanced.\n"
"As it is a extra application, it should work flawless within I2P and\n"
"cooperate nice with the I2P router. Maybe a integration within the\n"
"webpage/router could be done."
msgstr ""
"Para mejorar el uso de I2P y ser independiente del estados de los ruters "
"en funcionamiento queremos un sistema de almacenamiento de datos como una"
" extensión de I2P. Como en Freenet, el almacenamiento de información "
"debería ser distribuido y cada nodo participante debería poder configurar"
" sus propias opciones. Los archivos deberían ser guardados en trozos y al"
" menos 2-3 veces para obtener redundancia. El uso del espacio de "
"almacenamiento debería ser auto balanceado. Y aunque sea una aplicación "
"extra, debería funcionar perfectamente dentro de I2P y cooperar bien con "
"el ruter I2P. Quizás se puede hacer una integración dentro de la página "
"web o del ruter."
#: i2p2www/pages/site/get-involved/bounties/datastore.html:17
msgid ""
"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n"
"\"eepsites in datastorage\"."
msgstr ""
"Esta recompensa está unida con otras 2 recompensas, \"frost para I2P\" y "
"\"eepsites en el almacenamiento de datos\""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:21
msgid ""
"The frost for I2P datastorage bounty is paid for a frost like program \n"
"with which files/messages are stored into database and got from database."
"\n"
"It needs to work with a GUI."
msgstr ""
"La recompensa por frost para el almacenamiento de datos de I2P es pagada "
"por un programa tipo frost en donde los archivos o mensajes son "
"almacenados dentro de una base de datos y obtenidos de la base de datos. "
"Debe funcionar con GUI, entorno gráfico."
#: i2p2www/pages/site/get-involved/bounties/datastore.html:26
msgid ""
"The eepsite served out of I2P datastorage extends a I2P router to send\n"
"out eepsites out of the I2P datastorage. All files for eepsites need to "
"be\n"
"saved inside of datastorage and are taken from it.\n"
"Extension:\n"
"For better integration all datastorage participants could serve that "
"eepsite."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:36
msgid ""
"For bounties to be declared done and paid, we need the program AND the "
"source.\n"
"Source and code need to be licensed under a free license (free to change "
"and \n"
"free to distribute)."
msgstr ""
"Para que una recompensa sea declarada pagada, necesitamos la aplicación y"
" el código. El código debe estar bajo una licencia libre (libre de "
"cambiar y de distribuir el código)."
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2
msgid "Bounty I2P package in Debian and Ubuntu mirrors"
msgstr "Recompensa por el paquete I2P en los repositorios de Debian y Ubuntu"
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3
msgid "I2P Ubuntu/Debian package"
msgstr "Paquetes I2P para Ubuntu/Debian"
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6
msgid ""
"For the future of I2P and in order to attract more people\n"
"to I2P, this bounty was set for including an I2P package into the Ubuntu "
"and Debian \n"
"archive mirrors.\n"
"To claim this bounty, the I2P router package needs to be available from\n"
"Ubuntu and Debian archive mirrors and Debian bug \n"
"<a href=\"http://bugs.debian.org/cgi-"
"bin/bugreport.cgi?bug=448638\">448638</a> \n"
"needs to be closed successfully."
msgstr ""
"Para el futuro y para atraer más gente a I2P, esta recompensa se creó "
"para incluir los paquetes de I2P dentro de los repositorios de Ubuntu y "
"Debian. Para reclamar esta recompensa, el paquete del ruter de I2P debe "
"estar disponible desde los repositorios de Ubuntu y Debian y el bug <a "
"href=\"http://bugs.debian.org/cgi-"
"bin/bugreport.cgi?bug=448638\">448638</a> debe cerrarse exitosamente."
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2
msgid "Bounty I2PHex code implementation"
msgstr "Recompensa por la implementación de I2PHex"
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3
msgid "i2phex code implementation"
msgstr "Implementación del código fuente de I2P"
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2PHex P2P ArneBab setout the bounty for implementing actual\n"
"Phex code onto I2PHex."
msgstr ""
"Para mejorar el uso de I2P y atraer más gente a I2PHex P2P, ArneBab creó "
"la recompensa por implementar el código actual de Phex dentro de I2PHex."
#: i2p2www/pages/site/get-involved/bounties/index.html:2
msgid "Bounties"
msgstr "Recompensas"
#: i2p2www/pages/site/get-involved/bounties/index.html:5
msgid "Bounties for I2P"
msgstr "Recompensas por I2P"
#: i2p2www/pages/site/get-involved/bounties/index.html:6
msgid ""
"While we always gratefully accept any contributions of code, \n"
"documentation, and the like, there are other ways to help I2P move \n"
"forward. As with any open source project, our goals would be achieved "
"more \n"
"rapidly if we were able to support all of our contributors to work on \n"
"I2P full time. However, as with any open source project, that's not a \n"
"possibility. Instead, we are making use of a bounty system, whereby \n"
"anyone can get support for working on something that people want \n"
"implemented, and people who want to contribute to I2P can be assured that"
" \n"
"their support goes to what they care about."
msgstr ""
"Aunque siempre aceptamos con agradecimiento cualquier contribución al "
"código, documentación, y de ese tipo, hay otras formas de hacer que I2P "
"siga adelante. Al igual que con otros proyectos libres nuestros fines se "
"podrían conseguir más rápido si fuésemos capaces de compensar a todos los"
" ayudantes para que trabajasen en I2P a jornada completa. Pero, y al "
"igual que con cualquier otro proyecto libre, esto no es posible. En lugar"
" de eso, estamos utilizando un sistema de recompensas en donde cualquiera"
" pude tener compensación por trabajar en algo que desea implementar, y la"
" gente que ayuda a I2P puede estar segura que su apoyo va dirigido a lo "
"que a ellos les interesa."
#: i2p2www/pages/site/get-involved/bounties/index.html:18
msgid ""
"We are also keeping open the ability for people who want to support I2P \n"
"but don't have strong feelings about the bounties available. Those "
"people\n"
"can simply put their trust in the I2P team to do what we feel is best by\n"
"donating to a catch-all general fund that will be used as deemed \n"
"necessary - allocated to various bounties, covering incidentals (hosting,"
" \n"
"etc), and the like."
msgstr ""
"También mantenemos abierta una posibilidad para la gente que quiere "
"ayudar a I2P pero no está convencida de las recompensas disponibles. Esta"
" gente simplemente puede poner su confianza en el equipo de I2P para que "
"este haga lo que piense que es mejor, donando a un fondo general que será"
" usado en lo que se considere necesario - usado para las recompensas, "
"cubrir imprevistos (alojamiento, etc), y cosas de ese tipo."
#: i2p2www/pages/site/get-involved/bounties/index.html:27
msgid "Current bounties"
msgstr "Recompensas actuales"
#: i2p2www/pages/site/get-involved/bounties/index.html:30
#: i2p2www/pages/site/get-involved/bounties/index.html:99
#: i2p2www/pages/site/get-involved/bounties/index.html:112
msgid "Name"
msgstr "Nombre"
#: i2p2www/pages/site/get-involved/bounties/index.html:30
#: i2p2www/pages/site/get-involved/bounties/index.html:99
#: i2p2www/pages/site/get-involved/bounties/index.html:112
msgid "Status"
msgstr "Estado"
#: i2p2www/pages/site/get-involved/bounties/index.html:30
#: i2p2www/pages/site/get-involved/bounties/index.html:99
msgid "Judge"
msgstr "Juez"
#: i2p2www/pages/site/get-involved/bounties/index.html:30
#: i2p2www/pages/site/get-involved/bounties/index.html:99
msgid "Dev"
msgstr "Desarrolladores"
#: i2p2www/pages/site/get-involved/bounties/index.html:30
#: i2p2www/pages/site/get-involved/bounties/index.html:99
msgid "Bounty"
msgstr "Recompensas"
#: i2p2www/pages/site/get-involved/bounties/index.html:32
msgid "Frost for I2P datastorage"
msgstr "Frost para el almacenamiento de datos de I2P"
#: i2p2www/pages/site/get-involved/bounties/index.html:33
#: i2p2www/pages/site/get-involved/bounties/index.html:40
#: i2p2www/pages/site/get-involved/bounties/index.html:47
#: i2p2www/pages/site/get-involved/bounties/index.html:54
#: i2p2www/pages/site/get-involved/bounties/index.html:61
#: i2p2www/pages/site/get-involved/bounties/index.html:82
#: i2p2www/pages/site/get-involved/bounties/index.html:89
msgid "Proposal in development"
msgstr "Proposición en desarrollo"
#: i2p2www/pages/site/get-involved/bounties/index.html:35
#: i2p2www/pages/site/get-involved/bounties/index.html:42
#: i2p2www/pages/site/get-involved/bounties/index.html:49
#: i2p2www/pages/site/get-involved/bounties/index.html:56
#: i2p2www/pages/site/get-involved/bounties/index.html:63
#: i2p2www/pages/site/get-involved/bounties/index.html:84
#: i2p2www/pages/site/get-involved/bounties/index.html:104
msgid "vacant"
msgstr "vacante"
#: i2p2www/pages/site/get-involved/bounties/index.html:39
msgid "Eepsites served out of I2P datastorage"
msgstr "Eepsites disponibles fuera del almacenamiento de datos de I2P"
#: i2p2www/pages/site/get-involved/bounties/index.html:46
msgid "Backporting Phex code onto I2PHex"
msgstr "Portar el código de Phex dentro de I2PHex"
#: i2p2www/pages/site/get-involved/bounties/index.html:53
msgid "Make I2P IPv6 native"
msgstr "Hacer I2P IPV6 nativo"
#: i2p2www/pages/site/get-involved/bounties/index.html:60
msgid "I2P package in Debian and Ubuntu mirrors"
msgstr "Paquetes I2P disponibles en los repositorios de Debian y Ubuntu"
#: i2p2www/pages/site/get-involved/bounties/index.html:67
msgid "Bitcoin client for I2P"
msgstr "Cliente Bitcoin para I2P"
#: i2p2www/pages/site/get-involved/bounties/index.html:68
msgid "Done, phase of verification"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:74
msgid "Unit tests and Multi-router Simulation"
msgstr "Unit tests y simulación multi-tuter"
#: i2p2www/pages/site/get-involved/bounties/index.html:75
msgid "Partly done, partly in work, partly still open"
msgstr "Parcialmente hecho, parcialmente trabajando, parcialmente aún abierto"
#: i2p2www/pages/site/get-involved/bounties/index.html:96
msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding"
msgstr "Recompensas paradas, paradas a causa de la desaparición de jrandom."
#: i2p2www/pages/site/get-involved/bounties/index.html:101
msgid "Bundling bounties"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:102
msgid "Proposed"
msgstr "Propuesto"
#: i2p2www/pages/site/get-involved/bounties/index.html:109
msgid "Claimed bounties"
msgstr "Recompensas reclamadas"
#: i2p2www/pages/site/get-involved/bounties/index.html:112
msgid "Dev team"
msgstr "Equipo de desarrollo"
#: i2p2www/pages/site/get-involved/bounties/index.html:114
msgid "Setting up a SILC server"
msgstr "Configurar un servidor SILC"
#: i2p2www/pages/site/get-involved/bounties/index.html:124
msgid "Datastore over I2P"
msgstr "Almacenamiento de datos sobre I2P."
#: i2p2www/pages/site/get-involved/bounties/index.html:129
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3
msgid "Russian translation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:134
msgid "Swarming file transfer"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:139
msgid "Streaming library window size"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:144
msgid "IRC connect time monitor"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:149
msgid "Unit tests (part 1)"
msgstr "Unit tests (parte 1)"
#: i2p2www/pages/site/get-involved/bounties/index.html:161
msgid ""
"Dev lists anyone who may already be working on the bounty - collaboration"
" is\n"
"preferred, so if you're interested in working on it, please contact one "
"of the\n"
"people listed!"
msgstr ""
"Los desarrolladores listan a cualquier persona que haya podido trabajar "
"en la recompensa - por lo cual si está interesado en trabajar en ello, "
"¡por favor contacte con una de las personas listadas!"
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2
msgid "Bounty I2P IPv6 native"
msgstr "Recompensa por IPV6 nativo para I2P"
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3
msgid "native IPv6 I2P"
msgstr "IPV6 nativo para I2P"
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6
msgid ""
"For a future of I2P and attract more people\n"
"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n"
"To claim this bounty, the I2P router needs to run full on native\n"
"IPv6 connections like it does on IPv4."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:15
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20
msgid ""
"For bounties to be declared done and paid, we need the plugin AND the "
"source.\n"
"Source and code need to be licensed under a free license (free to change "
"and \n"
"free to distribute)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:2
msgid "NetDB Backend"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:3
msgid "netDB backend"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:7
msgid ""
"The current NetDB implementation (namely the FloodFill system)\n"
"needs to be extended with another backend to improve reliability,\n"
"reduce attack surface and solve the scalability issue for the \n"
"coming years."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:14
msgid ""
"A solution likely based on a DHT will be investigated and \n"
"finally implemented."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2
msgid "Bounty russian translation of webpage and router console"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P a anonymous donator set out the bounty for translation\n"
"of the I2P web page and I2P router console into russian language."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17
msgid ""
"For collecting the bounty of $115 USD you need to translate the following"
" pages:"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30
msgid ""
"Part 2 is the translation of the router console. The whole router console"
" needs\n"
"to be translated to collect the bounty of $115 USD."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37
msgid "Judge is the russian donor."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:2
msgid "Bounty migrate I2P IRC to SILC"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:3
msgid "I2P silc server"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:7
msgid ""
"For a future of I2P and attract more people\n"
"into I2P this bounty is to setup and host a I2P SILC server. \n"
"This will allow people to send files over their messaging servers and "
"have intrinsic security built into the protocol."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:12
msgid ""
"A silc server needs to be set up and run for at least 3 month time to get"
" payed. \n"
"A second server should be set up, to."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:16
msgid ""
"Bounty was withdrawn and money donated to returningnovice and general "
"fund."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:22
msgid "Judge is An Anonymous Secret Society, society@mail.i2p."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3
msgid "Syndie development"
msgstr "Desarrollo de Syndie"
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7
msgid ""
"Beside of I2P we want to encourage users\n"
"to care more about anonymity and security. As I2P is a low \n"
"latency network with its natural limits, the software SYNDIE\n"
"can overcome some of these limits and provide better anonymity\n"
"for people who really need it."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14
msgid ""
"For our bad sake the syndie project was out of development for \n"
"quite a long time yet (5 years). To get a fresh and new built \n"
"with needed bugfixes we set out this bounty. Also syndie needs\n"
"some enhancements and a better GUI for users to work with it.\n"
"Current bounty sum is 50 Bitcoin."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:22
msgid ""
"The latest Syndie coding rally did improve the situation of the\n"
"Syndie package dramatically. A new Syndie package with bugfixes\n"
"was created and made available on different webpages.\n"
"As a result of this work, the bounty sum was reduced and\n"
"the withdrawn money moved to the IPv6 bounty."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2
msgid "Bounty unittests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3
msgid "unit test"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7
msgid ""
"To improve I2P's maintainability, we want to have a solid set of\n"
"automated unit tests for the critical code. While we do have some\n"
"unit tests at the moment, they are ad-hoc and partly unfinished. \n"
"This bounty is for someone to check the existing tests and move over\n"
"old ones to jUnit, automate their execution, extend them to provide \n"
"better code coverage, and publish the report online. Its a massive \n"
"effort, but can be broken down into phases, listed below (phase 2 \n"
"must occur first, but further phases may happen in any order).\n"
"As this needs some reading of code, it is the best start point for\n"
"new devs to get a good overview of I2P code and coding. A good job\n"
"for college students, interns or anyone who is just interested."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20
msgid ""
"Take care! Jobs and bounties shuffled a bit!\n"
"Phase 6,7 and 8 are still open!"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112
#, python-format
msgid "Phase %(phase)s:"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27
msgid "CI jenkins and IRC bot"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114
#, python-format
msgid "Bounty: %(euro)s &euro;"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29
msgid "server runs and this section is blocked"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31
msgid ""
"To collect this bounty, a continuous integration server (Jenkins,\n"
"old name was Hudson) must be set up and a connected IRC bot needs \n"
"to set up in the channel #i2p-dev on IRC2p network to print out\n"
"results of build tests.<br>\n"
"The server needs to be run long term."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41
msgid "Check existing SDK tests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69
msgid "paid to str4d"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45
#, python-format
msgid ""
"To collect this bounty, the existing SDK tests must be checked \n"
"and made to work again. The need to be integrated into the ant \n"
"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g."
" \n"
"<a href=\"%(clover)s\">Clover</a>). The ant script\n"
"must be capable of generating test status results as a web page, \n"
"which will be published online."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56
msgid "SDK test coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80
msgid "paid to unittests dev team"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60
msgid ""
"To collect this bounty, the automated unit tests of the SDK \n"
"(i2p/core/java/src) must work again."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67
msgid "Router test migration"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71
msgid ""
"As with phase 2, the existing unit tests for the router must be\n"
"moved over to the automated system."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78
msgid "Router test coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82
msgid ""
"To collect this bounty, the automated unit tests of the router \n"
"(i2p/router/java/src) must work again."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89
msgid "Streaming lib tests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94
msgid ""
"To collect this bounty, a new set of unit tests must meet a \n"
"measured code coverage of 90&#37; of the streaming lib \n"
"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102
msgid "Unit tests coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106
msgid ""
"To collect this bounty, all above unit tests must meet the 100&#37;\n"
"coverage marker (except for log statements)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113
msgid "MultiRouter simulation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115
msgid "will be split in more sub-tasks"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117
msgid ""
"To collect this bounty, the existing in-memory multi-router\n"
"simulation must be checked, made work again and extend to simulate\n"
"lots of routers in memory on a single machine. This bounty will\n"
"be split in more fine grained subworks."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126
msgid ""
"Judge on all these works is the donor and donor decides if a phase is\n"
"called succesfull done and money can be paid."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2
msgid "Bounty I2P vuze plugin"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3
msgid "vuze plugin"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P torrent P2P I setout the bounty for a working I2P vuze\n"
"plugin.\n"
"The plugin needs to be official and submitted to vuze for publication\n"
"on their webpage/repository for plugins.\n"
"It should be easy to install and configured, work smooth and flawless.\n"
"Configuration should be friendly to starters and made easy to be "
"anonymous.\n"
"It should work with *.b32.i2p destinations as with signed (516++ bits) \n"
"destinations."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:2
msgid "Application Development"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:3
msgid "May 2013"
msgstr "Mayo de 2013"
#: i2p2www/pages/site/get-involved/develop/applications.html:6
msgid "Application Development Guide"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:8
msgid "Contents"
msgstr "Contenido"
#: i2p2www/pages/site/get-involved/develop/applications.html:10
#: i2p2www/pages/site/get-involved/develop/applications.html:16
msgid "Why write I2P-specific code?"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:11
#: i2p2www/pages/site/get-involved/develop/applications.html:102
msgid "Important concepts"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:12
#: i2p2www/pages/site/get-involved/develop/applications.html:190
msgid "Development options"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:13
#: i2p2www/pages/site/get-involved/develop/applications.html:303
msgid "Start developing - a simple guide"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:18
#, python-format
msgid ""
"There are multiple ways to use applications in I2P.\n"
"Using <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n"
"you can use regular applications without needing to program explicit I2P "
"support.\n"
"This is very effective for client-server scenario's,\n"
"where you need to connect to a single website.\n"
"You can simply create a tunnel using I2PTunnel to connect to that "
"website, as shown in <a href=\"#tunnel.serverclient\">Figure 1</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:26
msgid ""
"If your application is distributed, it will require connections to a "
"large amount of peers.\n"
"Using I2PTunnel, you will need to create a new tunnel for each peer you "
"want to contact,\n"
"as shown in <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
"This process can of course be automated, but running a lot of I2PTunnel "
"instances creates a large amount of overhead.\n"
"In addition, with many protocols you will need to force everyone to \n"
"use the same set of ports for all peers - e.g. if you want to reliably "
"run DCC \n"
"chat, everyone needs to agree that port 10001 is Alice, port 10002 is "
"Bob, port \n"
"10003 is Charlie, and so on, since the protocol includes TCP/IP specific "
"information\n"
"(host and port)."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:37
msgid ""
"General network applications often send a lot of additional data that "
"could be used to identify users.\n"
"Hostnames, port numbers, time zones, character sets, etc. are often sent "
"without informing the user.\n"
"As such, designing the network protocol specifically with anonymity in "
"mind\n"
"can avoid compromising user identities."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:43
msgid ""
"There are also efficiency considerations to review when determining how "
"to \n"
"interact on top of I2P. The streaming library and things built on top of"
" it\n"
"operate with handshakes similar to TCP, while the core I2P protocols "
"(I2NP and I2CP)\n"
"are strictly message based (like UDP or in some instances raw IP). The "
"important\n"
"distinction is that with I2P, communication is operating over a long fat "
"network - \n"
"each end to end message will have nontrivial latencies, but may contain "
"payloads \n"
"of up to several KB. An application that needs a simple request and "
"response can get rid\n"
"of any state and drop the latency incurred by the startup and teardown "
"handshakes\n"
"by using (best effort) datagrams without having to worry about MTU "
"detection or \n"
"fragmentation of messages."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:57
#: i2p2www/pages/site/get-involved/develop/applications.html:59
msgid ""
"Creating a server-client connection using I2PTunnel only requires "
"creating a single tunnel."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:59
msgid "Figure 1:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:64
#: i2p2www/pages/site/get-involved/develop/applications.html:66
msgid ""
"Setting up connections for a peer-to-peer applications requires a very "
"large amount of tunnels."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:66
msgid "Figure 2:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:70
msgid "In summary, a number of reasons to write I2P-specific code:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:74
msgid ""
"Creating a large amount of I2PTunnel instances consumes a non-trivial "
"amount of resources,\n"
"which is problematic for distributed applications (a new tunnel is "
"required for each peer)."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:78
msgid ""
"General network protocols often send a lot of additional data that can be"
" used to identify users.\n"
"Programming specifically for I2P allows the creation of a network "
"protocol\n"
"that does not leak such information, keeping users anonymous and secure."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:83
msgid ""
"Network protocols designed for use on the regular internet can be "
"inefficient\n"
"on I2P, which is a network with a much higher latency."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:90
#, python-format
msgid ""
"I2P supports a standard <a href=\"%(plugins)s\">plugins interface</a> for"
" developers\n"
"so that applications may be easily integrated and distributed."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:96
msgid ""
"Applications written in Java and accessible/runnable\n"
"using an HTML interface via the standard webapps/app.war\n"
"may be considered for inclusion in the i2p distribution."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:104
msgid "There are a few changes that require adjusting to when using I2P:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:108
msgid "Destination ~= host+port"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:110
msgid ""
"An application running on I2P sends messages from and receives messages "
"to a\n"
"unique cryptographically secure end point - a \"destination\". In TCP or"
" UDP\n"
"terms, a destination could (largely) be considered the equivalent of a "
"hostname\n"
"plus port number pair, though there are a few differences."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:118
msgid ""
"An I2P destination itself is a cryptographic construct - all data sent to"
" one is \n"
"encrypted as if there were universal deployment of IPsec with the "
"(anonymized)\n"
"location of the end point signed as if there were universal deployment of"
" DNSSEC."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:123
msgid ""
"I2P destinations are mobile identifiers - they can be moved from one I2P "
"router\n"
"to another (or it can even \"multihome\" - operate on multiple routers at"
"\n"
"once). This is quite different from the TCP or UDP world where a single "
"end point (port)\n"
"must stay on a single host."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:130
msgid ""
"I2P destinations are ugly and large - behind the scenes, they contain a "
"2048 bit ElGamal\n"
"public key for encryption, a 1024 bit DSA public key for signing, and a "
"variable size \n"
"certificate, which may contain proof of work or blinded data."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:135
#, python-format
msgid ""
"There are existing ways to refer to these large and ugly destinations by "
"short\n"
"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not "
"guarantee\n"
"globally uniqueness (since they're stored locally in a database on each "
"person's machine)\n"
"and the current mechanism is not especially scalable nor secure (updates "
"to the host list are\n"
"managed using \"subscriptions\" to naming services).\n"
"There may be some secure, human readable, scalable, and globally \n"
"unique, naming system some day, but applications shouldn't depend upon it"
" being in place,\n"
"since there are those who don't think such a beast is possible.\n"
"<a href=\"%(naming)s\">Further information on the naming system</a> is "
"available."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:149
#, python-format
msgid ""
"While most applications do not need to distinguish protocols and ports,\n"
"I2P <em>does</em> support them. Complex applications may specify a "
"protocol,\n"
"from port, and to port, on a per-message basis, to multiplex traffic on\n"
"a single destination.\n"
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
"Simple applications operate by listening for \"all protocols\" on \"all "
"ports\" of a destination."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:158
msgid "Anonymity and confidentiality"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:160
msgid ""
"I2P has transparent end to end encryption\n"
"and authentication for all data passed over the network - if Bob sends to"
" Alice's destination,\n"
"only Alice's destination can receive it, and if Bob is using the "
"datagrams or streaming \n"
"library, Alice knows for certain that Bob's destination is the one who "
"sent the data."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:167
msgid ""
"Of course, I2P transparently anonymizes the\n"
"data sent between Alice and Bob, but it does nothing to anonymize the "
"content of what they\n"
"send. For instance, if Alice sends Bob a form with her full name, "
"government IDs, and \n"
"credit card numbers, there is nothing I2P can do. As such, protocols and"
" applications should \n"
"keep in mind what information they are trying to protect and what "
"information they are willing\n"
"to expose."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:176
msgid "I2P datagrams can be up to several KB"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:178
#, python-format
msgid ""
"Applications that use I2P datagrams (either raw or repliable ones) can "
"essentially be thought\n"
"of in terms of UDP - the datagrams are unordered, best effort, and "
"connectionless - but unlike\n"
"UDP, applications don't need to worry about MTU detection and can simply "
"fire off large datagrams.\n"
"While the upper limit is nominally 32 KB, the message is fragmented for "
"transport, thus dropping\n"
"the reliability of the whole. Datagrams over about 10 KB are not "
"currently recommended.\n"
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
"For many applications, 10 KB of data is sufficient for an\n"
"entire request or response, allowing them to transparently operate in I2P"
" as a UDP-like \n"
"application without having to write fragmentation, resends, etc."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:192
msgid ""
"There are several means of sending data over I2P, each with their own "
"pros and cons.\n"
"The streaming lib is the recommended interface, used by the majority of "
"I2P applications."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:197
msgid "Streaming Lib"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:198
#, python-format
msgid ""
"The <a href=\"%(streaming)s\">full streaming library</a> is now the "
"standard\n"
"interface. It allows programming using TCP-like sockets, as explained in "
"the <a href=\"#start.streaming\">Streaming development guide</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:204
#, python-format
msgid ""
"BOB is the <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
"allowing an application in any language to make streaming connections \n"
"to and from I2P. At this point in time it lacks UDP support, but UDP "
"support\n"
"is planned in the near future. BOB also contains several tools, such as \n"
"destination key generation, and verification that an address conforms to"
" \n"
"I2P specifications. Up to date info and applications that use BOB can be"
" \n"
"found at this <a href=\"http://%(boburl)s/\">eepsite</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:217
msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:218
#, python-format
msgid ""
"SAM is the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> protocol, "
"allowing an\n"
"application written in any language to talk to a SAM bridge through a "
"plain TCP socket and have\n"
"that bridge multiplex all of its I2P traffic, transparently coordinating "
"the encryption/decryption\n"
"and event based handling. SAM supports three styles of operation:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:225
msgid ""
"streams, for when Alice and Bob want to send data to each other reliably "
"and in order"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:228
msgid ""
"repliable datagrams, for when Alice wants to send Bob a message that Bob "
"can reply to"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:231
msgid ""
"raw datagrams, for when Alice wants to squeeze the most bandwidth and "
"performance as possible,\n"
"and Bob doesn't care whether the data's sender is authenticated or not "
"(e.g. the data transferred\n"
"is self authenticating)"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:237
msgid ""
"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n"
"multiplexing/demultiplexing. Each I2P stream is handled by its own socket"
" between the application\n"
"and the SAM bridge. Besides, datagrams can be sent and received by the "
"application through datagram\n"
"communications with the SAM bridge."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:244
#, python-format
msgid ""
"<a href=\"%(samv2)s\">SAM V2</a> is a new version used by imule\n"
"that fixes some of the problems in <a href=\"%(sam)s\">SAM</a>.\n"
"<br />\n"
"<a href=\"%(samv3)s\">SAM V3</a> is used by imule since version 1.4.0."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:252
msgid ""
"The I2PTunnel application allows applications to build specific TCP-like "
"tunnels to peers \n"
"by creating either I2PTunnel 'client' applications (which listen on a "
"specific port and connect\n"
"to a specific I2P destination whenever a socket to that port is opened) "
"or I2PTunnel 'server'\n"
"applications (which listen to a specific I2P destination and whenever it "
"gets a new I2P \n"
"connection it outproxies to a specific TCP host/port). These streams are"
" 8-bit clean, and are\n"
"authenticated and secured through the same streaming library that SAM "
"uses, but there is a \n"
"nontrivial overhead involved with creating multiple unique I2PTunnel "
"instances, since each have\n"
"their own unique I2P destination and their own set of tunnels, keys, etc."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:264
msgid ""
"I2P supports a SOCKS V4 and V5 proxy.\n"
"Outbound connections work well. Inbound (server) and UDP functionality "
"may be incomplete\n"
"and untested."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:271
msgid "Removed"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:272
msgid ""
"There used to be a simple \"ministreaming\" library,\n"
"but now ministreaming.jar contains only the interfaces for the full "
"streaming library."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:277
msgid "Datagrams"
msgstr "Datagramas"
#: i2p2www/pages/site/get-involved/develop/applications.html:278
msgid "Recommended for UDP-like applications"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:279
#, python-format
msgid ""
"The <a href=\"%(datagrams)s\">Datagram library</a> allows sending UDP-"
"like packets.\n"
"It's possible to use:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:284
msgid "Repliable datagrams"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:285
msgid "Raw datagrams"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:289
msgid "Not recommended"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:290
#, python-format
msgid ""
"<a href=\"%(i2cp)s\">I2CP</a> itself is a language independent protocol, "
"but to implement an I2CP library \n"
"in something other than Java there is a significant amount of code to be "
"written (encryption routines, \n"
"object marshalling, asynchronous message handling, etc). While someone "
"could write an I2CP library in \n"
"C or something else, it would most likely be more useful to use the C SAM"
" library instead."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:297
msgid "Web Applications"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:298
msgid ""
"I2P comes with the Jetty webserver, and configuring to use the Apache "
"server instead is straightforward.\n"
"Any standard web app technology should work."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:304
msgid ""
"Developing using I2P requires a working I2P installation and a "
"development environment of your own choice.\n"
"If you are using Java, you can start development with the <a "
"href=\"#start.streaming\">streaming library</a> or datagram library.\n"
"Using another programming language, SAM or BOB can be used."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:310
msgid "Developing with the streaming library"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:312
msgid ""
"The following example shows how to create TCP-like client and server "
"applications\n"
"using the streaming library."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:317
msgid "This will require the following libraries in your classpath:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:321
msgid "The streaming library itself"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:322
msgid "Factory and interfaces for the streaming library"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:323
msgid "Standard I2P classes, data structures, API, and utilities"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:326
msgid ""
"Network communication requires the usage of I2P network sockets.\n"
"To demonstrate this, we will create an application where a client can "
"send text messages to a server,\n"
"who will print the messages and send them back to the client. In other "
"words, the server will function as an echo."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:331
msgid ""
"We will start by initializing the server application. This requires "
"getting an I2PSocketManager\n"
"and creating an I2PServerSocket.\n"
"We will not provide the I2PSocketManagerFactory with the saved keys for "
"an existing Destination,\n"
"so it will create a new Destination for us.\n"
"So we will ask the I2PSocketManager for an I2PSession, so we can find out"
" the Destination that\n"
"was created, as we will need to copy and paste that information later so "
"the client can connect to us."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:362
msgid "Code example 1: initializing the server application."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:364
msgid ""
"Once we have an I2PServerSocket, we can create I2PSocket instances to "
"accept connections from clients.\n"
"In this example, we will create a single I2PSocket instance, that can "
"only handle one client at a time.\n"
"A real server would have to be able to handle multiple clients.\n"
"To do this, multiple I2PSocket instances would have to be created, each "
"in separate threads.\n"
"Once we have created the I2PSocket instance, we read data, print it and "
"send it back to the client.\n"
"The bold code is the new code we add."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:448
msgid "Code example 2: accepting connections from clients and handling messages."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:452
msgid ""
"When you run the above server code, it should print something like this "
"(but without the line endings, it should just be\n"
"one huge block of characters):"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:466
msgid ""
"This is the base64-representation of the server Destination. The client "
"will need this string to reach the server."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:470
msgid ""
"Now, we will create the client application. Again, a number of steps are "
"required for initialization.\n"
"Again, we will need to start by getting an I2PSocketManager.\n"
"We won't use an I2PSession and an I2PServerSocket this time.\n"
"Instead, we will use the server Destination string to start our "
"connection.\n"
"We will ask the user for the Destination string, and create an I2PSocket "
"using this string.\n"
"Once we have an I2PSocket, we can start sending and receiving data to and"
" from the server."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:554
msgid ""
"Code example 3: starting the client and connecting it to the server "
"application."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:556
msgid ""
"Finally, you can run both the server and the client application.\n"
"First, start the server application. It will print a Destination string "
"(like shown <a href=\"#start.streaming.destination\">above</a>).\n"
"Next, start the client application. When it requests a Destination "
"string, you can enter the string printed by the server.\n"
"The client will then send 'Hello I2P!' (along with a newline) to the "
"server, who will print the message and send it back to the client."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:562
msgid "Congratulations, you have successfully communicated over I2P!"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:566
msgid "Existing Applications"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:567
msgid "Contact us if you would like to contribute."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:588
msgid "Application Ideas"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:590
msgid "NNTP server - there have been some in the past, none at the moment"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:593
msgid ""
"Jabber server - there have been some in the past, and there is one at the"
" moment, with access to the public internet"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:596
msgid "PGP Key server and/or proxy"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:599
msgid ""
"Content Distribution / DHT applications - resurrect feedspace,\n"
"port dijjer, look for alternatives"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:603
msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:606
msgid ""
"Web-based applications - The sky is the limit for hosting web-server-"
"based\n"
"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n"
"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:611
msgid ""
"Resurrect some old apps, several previously in the i2p source package -\n"
"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2
msgid "I2P Developer's MTN Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4
msgid "MTN Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:5
msgid ""
"Monotone servers used by the I2P project require two types of keys to be "
"used."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9
msgid ""
"<a href=\"#commit\">Commit Keys</a> to sign changes checked-in to the "
"respository; and"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:10
msgid ""
"<a href=\"#transport\">Transport Keys</a> to push changes to remote "
"servers."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:13
#, python-format
msgid ""
"Everyone that uses Monotone to checkout the I2P codebase will need to\n"
"<a href=\"%(monotone)s#obtaining-and-deploying-developers-"
"keys\">import</a> the\n"
"developer commit keys, but only Monotone <a "
"href=\"%(monotone)s#operating-a-monotone-server\">\n"
"server operators</a> will need to import the <a "
"href=\"#transport\">transport keys</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:20
msgid "Developer Commit keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:247
msgid "Developer Transport Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:248
#, python-format
msgid ""
"<b>Note:</b> Transport keys are only needed for setting up a\n"
"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2
msgid "License Agreements"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5
#, python-format
msgid "For more information see <a href=\"%(licenses)s\">the licenses page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8
msgid ""
"Following is a monotonerc file defining the current trust list.\n"
"Developers must use this file in ~/.monotone/monotonerc or\n"
"_MTN/montonerc in their i2p.i2p workspace."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17
msgid "Agreements"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:2
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115
msgid "Licenses"
msgstr "Licencias"
#: i2p2www/pages/site/get-involved/develop/licenses.html:4
msgid "I2P Software Licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:5
#, python-format
msgid ""
"As required by our\n"
"<a href=\"%(threatmodel)s\">threat model</a> (among other reasons), the \n"
"software developed to support the anonymous communication \n"
"network we call I2P must be freely available, open source, \n"
"and user modifiable. To meet these criteria, we make use of\n"
"a variety of legal and software engineering techniques so\n"
"as to remove as many barriers to entry for those considering\n"
"making use of or contributing to the I2P effort."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:16
msgid ""
"While the information below may be more confusing than just simply \n"
"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n"
"the short answer to the question \"How is I2P licensed?\" is this:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:22
msgid "All software bundled in the I2P distributions will allow:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:24
msgid "use without fee"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:25
msgid ""
"use with no restrictions on how, when, where, why, or by whom is running "
"it"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:26
msgid "access to the source code without fee"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:27
msgid "modifications to the source"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:30
msgid ""
"Most of the software guarantees much more - the ability of <b>anyone</b> "
"to \n"
"distribute the modified source however they choose. However, not all of "
"the \n"
"software bundled provides this freedom - the GPL restricts the ability of"
" \n"
"developers who wish to integrate I2P with their own applications that are"
" not \n"
"themselves open source applications. While we applaud the noble goals of"
" \n"
"increasing the resources in the commons, I2P is best served by removing "
"any\n"
"barriers that stand in the way of its adoption - if a developer "
"considering whether\n"
"they can integrate I2P with their application has to stop and check with "
"their lawyer,\n"
"or conduct a code audit to make sure their own source can be released as "
"GPL-compatible,\n"
"we lose out."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:43
msgid "Component licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:44
msgid ""
"The I2P distribution contains several resources, reflecting the "
"partitioning of \n"
"the source code into components. Each component has its own license, "
"which all \n"
"developers who contribute to it agree to - either by explicitly declaring"
" the release\n"
"of code committed under a license compatible with that component, or by "
"implicitly\n"
"releasing the code committed under the component's primary license. Each"
" of these \n"
"components has a lead developer who has the final say as to what license "
"is compatible\n"
"with the component's primary license, and the I2P project manager has the"
" final say as\n"
"to what licenses meet the above four guarantees for inclusion in the I2P "
"distribution."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:57
msgid "Component"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:58
msgid "Source path"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:59
msgid "Resource"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:60
msgid "Primary license"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:61
msgid "Alternate licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:62
msgid "Lead developer"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:271
msgid "GPL + java exception"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:272
#, python-format
msgid ""
"While it may be redundant, just for clarity the\n"
"<a href=\"%(gpl)s\">GPL</a>'ed code included within\n"
"I2PTunnel and other apps must be released under the GPL with an "
"additional \"exception\"\n"
"explicitly authorizing the use of Java's standard libraries:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:288
msgid ""
"All source code under each component will by default be licensed under "
"the\n"
"primary license, unless marked otherwise in the code. All of the above "
"is\n"
"summary of the license terms - please see the specific license for the "
"component\n"
"or source code in question for authoritative terms. Component source "
"locations and\n"
"resource packaging may be changed if the repository is reorganized."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:296
msgid "Commit privileges"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:297
#, python-format
msgid ""
"Developers may push changes to a distributed monotone repository if you\n"
"receive permission from the person running that repository.\n"
"See the <a href=\"%(monotone)s\">Monotone Page</a> for details."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:303
msgid ""
"However, to have changes included in a release, developers\n"
"must be trusted by the release manager (currently zzz).\n"
"In addition, they must explicitly agree with the above terms to be "
"trusted.\n"
"That means that they must send one of the release managers a signed "
"message affirming that:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:310
msgid ""
"Unless marked otherwise, all code I commit is implicitly licensed under\n"
"the component's primary license"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:314
msgid ""
"If specified in the source, the code may be explicitly licensed under one"
"\n"
"of the component's alternate licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:318
msgid ""
"I have the right to release the code I commit under the terms I\n"
"am committing it"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:324
#, python-format
msgid ""
"If anyone is aware of any instances where the above conditions are not "
"met,\n"
"please contact the component lead and/or an I2P release manager with "
"further\n"
"information.\n"
"<a href=\"%(licenseagreements)s\">See developers' license agreements</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2
msgid "Release Signing Key"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4
msgid "Releases 0.7.6 and later are signed by zzz. His public key is:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:40
msgid ""
"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public "
"key is:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2
msgid "Signed Developer Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4
msgid ""
"Keys for zzz, Complication and welterde are provided clearsigned. The key"
" for jrandom must be\n"
"verified differently, since he's away, and only left a binary detached\n"
"signature for his key."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16
msgid "Monotone keys for zzz"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47
msgid "Monotone keys for welterde"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79
msgid "Monotone keys for Complication"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114
msgid "Monotone keys for jrandom"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169
msgid "Others"
msgstr "Otros"
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17
msgid ""
"<u>Tip:</u> To find zzz's GPG key, on his eepsite locate the key "
"`0xA76E0BED`, with\n"
"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 "
"B310 4155\n"
"76BA A76E 0BED`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49
msgid ""
"<b>Tip:</b> To find welterde's GPG key, on public keyservers locate the "
"key\n"
"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720"
" FD81\n"
"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81
msgid ""
"<b>Tip:</b> To find Complication's GPG key, on his eepsite locate the key"
"\n"
"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint "
"`73CF\n"
"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116
msgid ""
"<b>Tip:</b> To find jrandom's GPG key for Syndie releases, on public "
"keyservers locate\n"
"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n"
"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122
msgid ""
"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n"
"deployed in the Syndie Monotone repository, in a file named `mtn-"
"committers`.\n"
"That file also had a GPG signature, `mtn-committers.sig`, but it was a "
"binary\n"
"detached signature. I am going to supply both files in GPG ASCII-armoured"
" form\n"
"below."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130
msgid ""
"First, the file `mtn-committers` containing jrandom's Monotone key. Save "
"as\n"
"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers "
"--dearmor\n"
"mtn-committers.asc`:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151
msgid ""
"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n"
"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-"
"committers.sig\n"
"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n"
"`mtn-committers` file:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170
#, python-format
msgid ""
"Some of the developers have included their Monotone keys in their <a "
"href=\"%(licenseagreements)s\">signed license agreement</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2
msgid "Developer Guidelines and Coding Style"
msgstr "Estilo del código y pautas a seguir para los desarrolladores."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4
#, python-format
msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
msgstr "Primero lea <a href=\"%(newdevs)s\">la guía para nuevos programadores</a>."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8
msgid "Basic Guidelines and Coding Style"
msgstr "Pautas básicas y estilo del código"
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10
msgid ""
"Most of the following should be common sense for anybody who has worked "
"on open source or in a commercial\n"
"programming envrionment.\n"
"The following applies mostly to the main development branch i2p.i2p.\n"
"Guidelines for other branches, plugins, and external apps may be "
"substantially different;\n"
"check with the appropriate developer for guidance."
msgstr ""
"La mayor parte de lo siguiente debería ser de sentido común para "
"cualquiera que haya trabajado para proyectos de código libre o en "
"ambientes de desarrollo comerciales. Lo siguiente se aplica sobre todo "
"para el desarrollo de la rama principal i2p.i2p. Las guías para otras "
"ramas, pluguins y aplicaciones externas pueden ser bastante diferentes, "
"pregúntele al desarrollador indicado en tal caso."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18
msgid "Community"
msgstr "Comunidad"
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20
msgid ""
"Please don't just \"write code\". If you can, participate in other "
"development activities, including:\n"
"development discussions and support on IRC, zzz.i2p, and forum.i2p; "
"testing;\n"
"bug reporting and responses; documentation; code reviews; etc."
msgstr ""
"Por favor no sólo \"escriba código\". Si puede, participe en otras "
"actividades de desarrollo como: discusiones sobre el desarrollo y soporte"
" en el IRC, zzz.i2p, y el foro de.i2p; reporte y solución de errores; "
"documentación, revisión del código, etc."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25
msgid ""
"Active devs should be available periodically on IRC #i2p-dev.\n"
"Be aware of the current release cycle.\n"
"Adhere to release milestones such as feature freeze, tag freeze, and\n"
"the checkin deadline for a release."
msgstr ""
"Los programadores activos deberían estar disponibles periódicamente en el"
" canal #i2p-dev del IRC. Tenga en cuenta el ciclo de liberación de "
"versiones actual. Fix this! not translated all yet!!! "
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35
msgid ""
"Have a basic understanding of distributed source control systems, even if"
" you haven't\n"
"used monotone before. Ask for help if you need it.\n"
"Once pushed, checkins are forever, there is no undo. Please be careful.\n"
"If you have not used monotone before, start with baby steps.\n"
"Check in some small changes and see how it goes."
msgstr ""
"Debe tener conocimientos básicos del funcionamiento de sistemas de "
"control de código, incluso si nunca ha usado monotone antes. Pida ayuda "
"si lo necesita. Una vez subido algo no hay vuelta atrás, no se puede "
"deshacer, por favor tenga cuidado. Si nunca ha usado monotone antes "
"empiece con mucho cuidado. Suba pequeños cambios y observe como funciona."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42
msgid ""
"Test your changes before checking them in.\n"
"If you prefer the checkin-before-test development model,\n"
"use your own development branch (e.g. i2p.i2p.yourname.test)\n"
"and propagate back to i2p.i2p once it is working well.\n"
"Do not break the build. Do not cause regressions.\n"
"In case you do (it happens), please do not vanish for a long period after"
"\n"
"you push your change."
msgstr ""
"Pruebe los cambios antes de subirlos. Si prefiere el modelo de desarrollo"
" subir-antes-de-probar use su propia rama de desarrollo (por ejemplo "
"i2p.i2p.yourname.test) y envíelo de vuelta a i2p.i2p una vez que funcione"
" correctamente. No rompa la compilación. No cree regresiones. En caso de "
"que lo haga (a veces ocurre), no desaparezca por mucho tiempo antes de "
"subir el cambio."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51
msgid ""
"If your change is non-trivial, or you want people to test it and need "
"good test reports\n"
"to know whether your change was tested or not, add a checkin comment to "
"history.txt\n"
"and increment the build revision in RouterVersion.java."
msgstr ""
"Si su cambio no es trivial, o desea que otra gente lo pruebe y necesita "
"reportes fiables para saber si su cambio ha sido probado o no, añada un "
"comentario de confirmación en history.txt e incremente la versión de "
"compilación en RouterVersion.java."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:56
msgid ""
"Ensure that you have the latest monotonerc file in _MTN.\n"
"Do not check in on top of untrusted revisions."
msgstr ""
"Asegúrese de que tiene la última versión del archivo monotonerc en _MTN."
" No lo sobrescriba con versiones no confiables."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60
msgid ""
"Ensure that you pull the latest revision before you check in.\n"
"If you inadvertently diverge, merge and push as soon as possible.\n"
"Don't routinely make others merge for you.\n"
"Yes, we know that monotone says you should push and then merge,\n"
"but in our experience, in-workspace merge works just as well as in-"
"database merge,\n"
"without creating a merge revision."
msgstr ""
"asegúrese que ha descargado la última revisión antes de subir los "
"cambios. Si crea un divergencia accidentalmente, una y suba tan pronto "
"como sea posible. No haga que otros lo fusionen rutinariamente por usted."
" Si, sabemos que monotone indica que debe subir y unir, pero por nuestra "
"experiencia sabemos que funciona tan bien la unión in-workspace como la "
"unión n-database si crear una revisión de unión."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
msgid ""
"Do not check in major changes into the main i2p.i2p branch late in the "
"release cycle.\n"
"If a project will take you more than a couple days, create your own "
"branch in monotone\n"
"and do the development there so you do not block releases."
msgstr ""
"No suba cambios grandes a la rama principal i2p.i2p al final del ciclo de"
" versión. Si un proyecto va a tardar más de varios días, cree si propia "
"rama de monotone y programe allí para no no bloquear la salida de nueva "
"versiones."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75
msgid "Coding Style"
msgstr "Estilo de programación"
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77
msgid ""
"Coding style throughout most of the code is 4-spaces for indentation. Do "
"not use tabs.\n"
"Do not reformat code. If your IDE or editor wants to reformat everything,"
" get control of it.\n"
"Yes, we know 4 spaces is a pain, but perhaps you can configure your "
"editor appropriately.\n"
"In some places, the coding style is different.\n"
"Use common sense. Emulate the style in the file you are modifying."
msgstr ""
"El código de estilo en la mayoría de los casos es de usar la sangría de"
" 4 espacios. No use tabulación. No cambie el formato del código. Si su "
"editor o IDE quiere cambiar el formato configúrelo para que no lo haga. "
"Sí, sabemos que usar 4 espacios es doloroso, pero probablemente pueda "
"configurar su editor apropiadamente. En algunos casos el estilo de "
"programar es diferente, use el sentido común, emule el estilo del archivo"
" que está modificando."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84
msgid ""
"New classes and methods require at least brief javadocs. Add @since "
"release-number."
msgstr ""
"Las nuevas clases y métodos necesitan al menos un javadocs básico. Añada "
"@since numero-versión."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87
msgid ""
"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our "
"official API.\n"
"There are several out-of-tree plugins and other applications that rely on"
" this API.\n"
"Be careful not to make any changes that break compatibility.\n"
"Don't add methods to the API unless they are of general utility.\n"
"Javadocs for API methods should be clear and complete.\n"
"If you add or change the API, also update the documentation on the "
"website (i2p.www branch)."
msgstr ""
"Las clases del núcleo/ (i2p.jar) y partes de i2ptunnel están incluidas en"
" el API oficial. \n"
"Hay varios pluguins y otras aplicaciones que dependen de este API.\n"
"Tenga cuidado en no hacer cambios que rompan la compatibilidad.\n"
"No añada métodos al API a no ser que sean de utilidad general.\n"
"Los Javadocs de los métodos del API deben ser claros y completos.\n"
"Si añades cambios al API, debe también actualizar la documentación en la "
"web (i2p.www branch)."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95
msgid ""
"Tag strings for translation where appropriate.\n"
"Don't change existing tagged strings unless really necessary, as it will "
"break existing translations.\n"
"Do not add or change tagged strings after the \"tag freeze\" in the "
"release cycle so that\n"
"translators have a chance to update before the release."
msgstr ""
"Incluya cadenas de texto para la traducción cuando sea apropiado.\n"
"No cambie las cadenas ya etiquetadas a no ser que sea necesario ya que "
"rompería las traducciones existentes.\n"
"No añada o cambie las cadenas después del \"tag freeze\" durante la "
"liberación de la versión,\n"
"así los programadores tienen la oportunidad de actualizarlo antes de su "
"liberación"
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101
msgid ""
"Use generics and concurrent classes where possible. I2P is a highly "
"multi-threaded application."
msgstr ""
"Siempre que pueda use clases genéricas y concurrentes. I2P es una "
"aplicación multi-hilos."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104
msgid ""
"We require Java 6 to build but only Java 5 to run I2P.\n"
"Do not use Java 6 classes or methods without handling the class not found"
" exceptions\n"
"and providing alternate Java 5 code. See classes in net.i2p.util for "
"examples."
msgstr ""
"Necesita Java 6 para compilar I2P, pero sólo Java 5 para ejecutarlo.\n"
"No use las clases o métodos de Java 6 sin encargase antes de las clases "
"de excepciones not found\n"
"y de proporcionar el código alternativo para Java 5. Vea los ejemplos de "
"clases en net.i2p.util."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:109
msgid ""
"Explicitly convert between primitive types and classes;\n"
"don't rely on autoboxing/unboxing."
msgstr ""
"Convierta explícitamente entre tipos primitivos y clases;\n"
"no confíe en autoboxing/unboxing."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117
msgid ""
"Only check in code that you wrote yourself.\n"
"Before checking in any code or library jars from other sources,\n"
"justify why it is necessary,\n"
"verify the license is compatible,\n"
"and obtain approval from the lead developer."
msgstr ""
"Sólo suba el código que ha escrito usted.\n"
"Antes de subir el código o librerías de otras fuentes,\n"
"verifique que la licencia es compatible,\n"
"y obtenga permiso del desarrollador."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124
msgid ""
"For any images checked in from external sources,\n"
"it is your responsibility to first verify the license is compatible.\n"
"Include the license and source information in the checkin comment."
msgstr ""
"Para cualquier imagen subida de fuentes externas,\n"
"es su responsabilidad verificar primero si la licencia es compatible.\n"
"Incluya la licencia y la información de la fuente en el comentario de "
"subida."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131
msgid "Bugs"
msgstr "Bugs"
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
#, python-format
msgid ""
"Managing Trac tickets is everybody's job, please help.\n"
"Monitor %(trac)s for tickets you have been assigned or can help with.\n"
"Assign, categorize, comment on, fix, or close tickets if you can."
msgstr ""
"Mantener las entradas del Trac es trabajo de todos, por favor denos su "
"ayuda.\n"
"Observe el %(trac)s por entradas que le hayan sido asignadas o en las que"
" pueda ayudar.\n"
"Asigne, categorice, comente, arregle, o cierre entradas si puede."
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138
msgid ""
"Close a ticket when you think you've fixed it.\n"
"We don't have a test department to verify and close tickets.\n"
"If you arent sure you fixed it, close it and add a note saying\n"
"\"I think I fixed it, please test and reopen if it's still broken\".\n"
"Add a comment with the dev build number or revision and set\n"
"the milestone to the next release."
msgstr ""
"Cierre la entrada cuando piense que la ha arreglado.\n"
"No tenemos un departamento de pruebas para verificar las entradas "
"cerradas.\n"
"Si no está seguro de haberlo solucionado, ciérrela y añada una nota "
"diciendo \"I think I fixed it, please test and reopen if it's still "
"broken\".\n"
"Añada un comentario con el número de compilación o la revisión y "
"establezca el hito para la siguiente versión."
#: i2p2www/pages/site/get-involved/guides/ides.html:2
msgid "Using an IDE with I2P"
msgstr "Usando un IDE con I2P"
#: i2p2www/pages/site/get-involved/guides/ides.html:4
msgid ""
"The main I2P development branch (<code>i2p.i2p</code>) has been set up to"
" enable developers to easily set up two of the commonly-used IDEs for "
"Java development: Eclipse and NetBeans."
msgstr ""
"La rama principal de desarrollo de I2P (<code>i2p.i2p</code>) ha sido "
"configurada para permitir a los desarrolladores configurar fácilmente los"
" dos IDEs de desarrollo de JAVA más usados: Eclipse y NetBeans."
#: i2p2www/pages/site/get-involved/guides/ides.html:10
msgid ""
"The main I2P development branches (<code>i2p.i2p</code> and branches from"
" it) contain .project and .classpath Eclipse files, to enable the branch "
"to be easily set up in Eclipse."
msgstr ""
"Las ramas principales de desarrollo de I2P (<code>i2p.i2p</code> y sus "
"ramas) contienen los archivos para Eclipse .project y .classpath, para "
"permitir una configuración fácil de I2P en eclipse."
#: i2p2www/pages/site/get-involved/guides/ides.html:16
msgid ""
"Check out the I2P branch into some directory (e.g. "
"<code>$HOME/dev/i2p.i2p</code>)."
msgstr ""
"Descarga a rama de I2P a algún directorio ( por ejemplo "
"<code>$HOME/dev/i2p.i2p</code>)."
#: i2p2www/pages/site/get-involved/guides/ides.html:20
msgid ""
"Open Eclipse and create a new Workspace, based in the directory that the "
"I2P branch was checked out to."
msgstr ""
"Abre Eclipse y crea un nuevo Espacio de Trabajo, Workspace, basado en el "
"directorio donde se ha descargado la rama de I2P."
#: i2p2www/pages/site/get-involved/guides/ides.html:24
msgid ""
"Select \"File - Import...\" and then under \"General\" select \"Existing "
"Projects into Workspace\"."
msgstr ""
"Seleccione \"Archivo - Importar...\" y entonces en \"General\" seleccione"
" \"Proyectos existentes al Espacio de Trabajo\""
#: i2p2www/pages/site/get-involved/guides/ides.html:28
msgid ""
"For \"Select root directory:\" choose the directory that the I2P branch "
"was checked out to."
msgstr ""
"Para \"Seleccionar el directorio raíz:\" elija la carpeta donde ha "
"descargado la rama de I2P."
#: i2p2www/pages/site/get-involved/guides/ides.html:32
msgid "If necessary, click \"Refresh\" to refresh the list of projects."
msgstr "Si es necesario, pulse \"Recargar\" para refrescar la lista de proyectos."
#: i2p2www/pages/site/get-involved/guides/ides.html:36
msgid "Select every project in the list, and click \"Finish\"."
msgstr "Seleccione cada proyecto de la lista y pulse \"Terminar\"."
#: i2p2www/pages/site/get-involved/guides/ides.html:40
msgid ""
"Done! Your workspace should now contain all projects within the I2P "
"branch, and their build dependencies should be correctly set up."
msgstr ""
"¡Listo! Su espacio de trabajo debería incluir todos los proyectos de la "
"rama de I2P, y sus dependencias deberían estar correctamente "
"configuradas."
#: i2p2www/pages/site/get-involved/guides/ides.html:48
msgid ""
"The main I2P development branches (<code>i2p.i2p</code> and branches from"
" it) contain NetBeans project files."
msgstr ""
"Las ramas principales del proyecto de I2P (<code>i2p.i2p</code> y sus "
"ramas) contienen los archivos del proyecto necesarios para NetBeans."
#: i2p2www/pages/site/get-involved/guides/monotone.html:2
msgid "Monotone"
msgstr "Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:4
msgid "Monotone Guide"
msgstr "Guía de Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:9
msgid "Operating a Monotone client"
msgstr "Usando el cliente Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:11
#: i2p2www/pages/site/get-involved/guides/monotone.html:63
msgid "Generating Monotone keys"
msgstr "Generando las claves de Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:12
msgid "Trust and initializing your repository"
msgstr "Confianza e iniciando su repositorio"
#: i2p2www/pages/site/get-involved/guides/monotone.html:13
#: i2p2www/pages/site/get-involved/guides/monotone.html:196
msgid "Obtaining and deploying developers' keys"
msgstr "Obteniendo y desplegando las claves de los desarrolladores"
#: i2p2www/pages/site/get-involved/guides/monotone.html:14
#: i2p2www/pages/site/get-involved/guides/monotone.html:227
msgid "Setting up trust evaluation hooks"
msgstr "Configurar las conexiones de confianza"
#: i2p2www/pages/site/get-involved/guides/monotone.html:15
#: i2p2www/pages/site/get-involved/guides/monotone.html:268
msgid ""
"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and "
"<code>i2p.syndie</code> branches"
msgstr ""
"Descargar las ramas de <code>i2p.i2p</code>, <code>i2p.www</code> y "
"<code>i2p.syndie</code>"
#: i2p2www/pages/site/get-involved/guides/monotone.html:16
#: i2p2www/pages/site/get-involved/guides/monotone.html:308
msgid "Verifying that trust evaluation works"
msgstr "Verificar que la evaluación de confianza funciona"
#: i2p2www/pages/site/get-involved/guides/monotone.html:17
#: i2p2www/pages/site/get-involved/guides/monotone.html:357
msgid "Checking out a working copy of the latest version"
msgstr "Descargar una copia funcional de la última versión"
#: i2p2www/pages/site/get-involved/guides/monotone.html:18
#: i2p2www/pages/site/get-involved/guides/monotone.html:384
msgid "Updating your working copy to the latest version"
msgstr "Actualizar sus fuentes a la última versión"
#: i2p2www/pages/site/get-involved/guides/monotone.html:22
#: i2p2www/pages/site/get-involved/guides/monotone.html:414
msgid "Operating a Monotone Server"
msgstr "Usando en servidor Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:24
msgid "Obtaining and deploying developers transport keys"
msgstr "Obteniendo y desplegando las claves de transporte de los desarrolladores"
#: i2p2www/pages/site/get-involved/guides/monotone.html:25
#: i2p2www/pages/site/get-involved/guides/monotone.html:424
msgid "Granting push and pull access"
msgstr "Obtener acceso para subir y descargar"
#: i2p2www/pages/site/get-involved/guides/monotone.html:26
#: i2p2www/pages/site/get-involved/guides/monotone.html:469
msgid "Running Monotone in server mode"
msgstr "Ejecutar Monotone en modo servidor"
#: i2p2www/pages/site/get-involved/guides/monotone.html:27
#: i2p2www/pages/site/get-involved/guides/monotone.html:494
msgid "Differences under Debian GNU/Linux"
msgstr "Diferencias en Debian GNU/Linux"
#: i2p2www/pages/site/get-involved/guides/monotone.html:34
#, python-format
msgid ""
"This is a revised version of <a "
"href=\"%(transitionguide)s\">Complication's original\n"
" guide</a> detailing the use of Monotone in I2P development.\n"
" For basic instructions see the <a href=\"%(newdevs)s\">quick-start "
"guide</a>."
msgstr ""
"Esto es una versión revisada de la <a href=\"%(transitionguide)s\">guía "
"original de Complication</a> detallando el uso de Monotone en el "
"desarrollo de I2P. Para obtener instrucciones básicas vea la <a "
"href=\"%(newdevs)s\">guía rápida</a>."
#: i2p2www/pages/site/get-involved/guides/monotone.html:42
#, python-format
msgid ""
"I2P has a distributed development model. The source code is replicated "
"across\n"
" independently administered <a "
"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\") repositories.\n"
" Developers with commit rights are able to push their changes to the "
"repository\n"
" (a <a href=\"%(licenses)s#commit\">license agreement</a> needs to be "
"signed\n"
" before commit rights are granted)."
msgstr ""
"I2P usa un modelo distribuido de desarrollo. El código es replicado por "
"administradores independientes en repositorios <a "
"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\"). Los "
"desarrolladores con derechos para ello pueden subir sus cambios al "
"repositorio (deben firmar un <a href=\"%(licenses)s#commit\">acuerdo de "
"licencia</a> antes de obtener estos derechos)"
#: i2p2www/pages/site/get-involved/guides/monotone.html:52
msgid ""
"Some of Monotone's noteworthy qualities are: distributed\n"
" version control, cryptographic authentication, access control, its "
"small size, having few\n"
" dependencies, storage of projects in a compressed SQLite database file,"
" and\n"
" having the ability to resume interrupted synchronization attempts."
msgstr ""
"Algunas de las notables cualidades de Monotone son: control de versiones "
"distribuido, autenticación con cifrados, acceso de control, su pequeño "
"tamaño, tiene pocas dependencias, el almacenamiento de los proyectos usa "
"una base de datos SQLite comprimida, y además tiene la capacidad de "
"reanudar los intentos de sincronización interrumpidos."
#: i2p2www/pages/site/get-involved/guides/monotone.html:61
msgid "Operating a Monotone Client"
msgstr "Usando un cliente Monotone"
#: i2p2www/pages/site/get-involved/guides/monotone.html:66
msgid ""
"A transport key grants you the ability to push your changes to a Monotone"
" repository server.\n"
" In order to commit code into Monotone (in essence signing your code), a"
" commit key is also needed.\n"
" None of the public Monotone servers on I2P currently require a key in "
"order to read (or pull) the source code."
msgstr ""
"Una clave de transporte le permite subir sus cambios al repositorio del "
"servidor Monotone. Para poder subir código a Monotone (firmando su "
"código), es necesaria una clave de subida. Ninguno de los servidores "
"públicos de Monotone en I2P necesita claves para poder leer (o descargar)"
" el código."
#: i2p2www/pages/site/get-involved/guides/monotone.html:74
msgid ""
"Without a transport key, one cannot:\n"
" <ul>\n"
" <li>pull code from a server which doesn't allow global read "
"access</li>\n"
" <li>push code to any server</li>\n"
" <li>run a Monotone server</li>\n"
" </ul>"
msgstr ""
"Sin una clave de transporte no se puede:\n"
"<ul>\n"
"<li>descargar el código de un servidor que no permita acceso global de "
"lectura</li>\n"
"<li>subir código a cualquier servidor</li>\n"
"<li>ejecutar un servidor Monotone</li>\n"
"</ul>"
#: i2p2www/pages/site/get-involved/guides/monotone.html:85
msgid ""
"Without a commit key, one cannot:\n"
" <ul>\n"
" <li>commit any code</li>\n"
" </ul>"
msgstr ""
"Sin una clave de subida no se puede:\n"
"<ul>\n"
"<li>subir ningún código</li>\n"
"</ul>"
#: i2p2www/pages/site/get-involved/guides/monotone.html:94
msgid ""
"If you only intend to retrieve code from MTN, feel free to skip to the\n"
" <a href=\"#trust-and-initializing-your-repository\">next section</a>. "
"If you want\n"
" to generate keys, read the following."
msgstr ""
"So sólo desea obtener el código de MTN salte a la <a href=\"#trust-and-"
"initializing-your-repository\">siguiente sección</a>. Si desea generar "
"las claves siga leyendo aquí."
#: i2p2www/pages/site/get-involved/guides/monotone.html:102
msgid ""
"By convention keys are named like an e-mail addresses, but a "
"corresponding e-mail\n"
" address does not need to exist. For example, your keys might be named:"
msgstr ""
"Por convenio las claves son nombradas como una dirección de email, pero "
"no es necesario que exista un email correspondiente. Por ejemplo, sus "
"claves podrían llamarse:"
#: i2p2www/pages/site/get-involved/guides/monotone.html:113
msgid ""
"Monotone stores keys under <code><b>$HOME/.monotone/keys</b></code> in "
"text files which\n"
" are named identically to the keys. For example:"
msgstr ""
"Monotone guarda las claves en <code><b>$HOME/.monotone/keys</b></code> en"
" archivos de texto que se llaman exactamente igual que la clave. Por "
"ejemplo:"
#: i2p2www/pages/site/get-involved/guides/monotone.html:123
msgid ""
"To generate transport and commit keys, enter the following commands at a "
"prompt:"
msgstr ""
"Para generar las claves de transporte y subida ejecute los siguientes "
"comandos en la terminal:"
#: i2p2www/pages/site/get-involved/guides/monotone.html:133
msgid ""
"Monotone will prompt you for a password to protect your keys. You are "
"very strongly encouraged to set a password\n"
" for the commit key. Many users will leave an empty password for the "
"transport key, especially those running a\n"
" Monotone server."
msgstr ""
"Monotone le pedirá una contraseña para proteger sus claves. Se recomienda"
" encarecidamente usar una contraseña para la clave de subida. Muchos "
"usuarios dejan la contraseña de transporte en blanco, sobre todo los que "
"ejecutan un servidor Monotone."
#: i2p2www/pages/site/get-involved/guides/monotone.html:141
msgid "Trust, and initializing your repository"
msgstr "Confianza e iniciando su repositorio"
#: i2p2www/pages/site/get-involved/guides/monotone.html:145
msgid ""
"Monotone's security model helps to ensure that nobody can easily "
"impersonate a developer without\n"
" it being noticed. Since developers can make mistakes and become "
"compromised,only manual review can\n"
" ensure quality of code. Monotone's trust model will ensure that you "
"read the right diffs. It does\n"
" not replace reading diffs."
msgstr ""
"El modelo de seguridad de Monotone ayuda a asegurar que nadie puede "
"suplantar a un programador fácilmente si ser detectado. Ya que los "
"programadores pueden cometer errores y pueden ser comprometidos, sólo una"
" revisión manual puede asegurar la calidad del código. El modelo de "
"confianza de Monotone se asegura de que usted sólo lea los cambios "
"correctos. No reemplaza los cambios de lectura."
#: i2p2www/pages/site/get-involved/guides/monotone.html:155
msgid ""
"A Monotone repository is a single file (a compressed SQLite database) "
"which contains all of the project's source code and history."
msgstr ""
"Un repositorio Monotono es un solo archivo (comprimido en una base de "
"datos SQLite) que contiene todo el código del proyecto y su historial."
#: i2p2www/pages/site/get-involved/guides/monotone.html:161
msgid ""
"After <a href=\"#obtaining-and-deploying-developers-keys\">importing the "
"developers' keys into Monotone</a> and\n"
" <a href=\"#setting-up-trust-evaluation-hooks\">setting up trust "
"evaluation hooks</a>,\n"
" Monotone will prevent untrusted code from being checked out into your "
"workspace.\n"
" There are commands available to clean untrusted code from your "
"workspace but in practice they've not been\n"
" needed due to the push access policies in place."
msgstr ""
"Después de <a href=\"#obtaining-and-deploying-developers-keys\"> importar"
" las claves de los desarrolladores a Monotone</a> y de <a href"
"=\"#setting-up-trust-evaluation-hooks\">configurar las conexiones de "
"confianza</a>, Monotone evitará que cualquier código que no sea de "
"confianza sea subido a su espacio de trabajo.\n"
"Existen comandos disponibles para limpiar el código no confiable de su "
"espacio de trabajo, pero en práctica no han sido necesitados debido a las"
" reglas de acceso de subida activas."
#: i2p2www/pages/site/get-involved/guides/monotone.html:171
msgid ""
"A repository can hold many branches. For example, our repository holds "
"the\n"
" following main branches:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:176
msgid "The I2P router and associated programs"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:177
msgid "The I2P project website"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:178
msgid "Syndie, a distributed forums tool"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:183
msgid ""
"By convention, the I2P Monotone repository is named <code>i2p.mtn</code>."
" Before pulling\n"
" source code from servers, a database for your repository will need to "
"be initialized.\n"
" To initialize your local repository, change into the directory that you"
" want the\n"
" <code>i2p.mtn</code> file and branch directories to be stored and issue"
" the following\n"
" command:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:199
msgid ""
"Keys which developers use to commit code are essential for trust "
"evaluation in\n"
" Monotone. The other developers' transport keys are only required for "
"Monotone server operators.\n"
" "
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:206
#, python-format
msgid ""
"Developers' commit keys are provided GPG-signed <a "
"href=\"%(signedkeys)s\">on another page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:212
#, python-format
msgid ""
"To import developers' keys after verifying their authenticity, copy <a "
"href=\"%(devkeys)s\">all of the keys</a> into a new\n"
" file. Create this file (e.g. <code><b>keys.txt</b></code>) in the same "
"directory where <code>i2p.mtn</code> is located. Import the keys with the"
" command:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:222
msgid ""
"<b>Note</b>: <i>Never</i> add keys to "
"<code><b>$HOME/.monotone/keys</b></code> manually."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:230
msgid ""
"The default Monotone trust policy is way too lax for our requirements: "
"every committer is trusted by default.\n"
" That is not acceptable for I2P development."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:237
msgid ""
"Change into the directory <code><b>$HOME/.monotone</b></code> and open "
"the file\n"
" <code>monotonerc</code> with a text editor. Copy and paste the "
"following two functions into this file:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:246
msgid ""
"The first function determines an intersection between two sets, in our "
"case a\n"
" revision's signers and trusted signers."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:253
msgid ""
"The second function determines trust in a given revision, by calling the "
"first\n"
" function with \"signers\" and \"trusted\" as arguments. If the "
"intersection is\n"
" null, the revision is not trusted. If the intersection is not empty, "
"the\n"
" revision is trusted. Otherwise, the revision is not trusted."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:262
msgid ""
"More information about Trust Evauluation Hooks can be found in the <a "
"href=\"http://www.monotone.ca/docs/Hooks.html\">official Monotone "
"documentation</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:271
msgid ""
"Enter the directory where you initialized <code>i2p.mtn<code>. Depending "
"on whether you\n"
" want only I2P sources, or also sources for the I2P website and Syndie, "
"you can\n"
" perform the <code>pull</code> operation in different ways."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:279
msgid "If you only want I2P sources:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:288
msgid "If you want all branches:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:294
msgid ""
"If the transfer aborts before completing sucessfully, simply repeating "
"the pull command will resume the transfer."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:300
msgid ""
"Pulling in the above examples is done anonymously by specifying an empty "
"transport key.\n"
" If everyone pulls anonymously it will be harder for an attacker who "
"gains control of the server\n"
" to selectively provide some people with tampered data."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:311
msgid "To verify that trust evaluation works:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:315
msgid "Make a backup of your <code>monotonerc</code> file."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:316
msgid ""
"Modify <code><b>monotonerc</b></code> by setting the trusted_signers "
"variable in the following way:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:322
msgid ""
"With <code><b>monotonerc</b></code> configured as above, Monotone will no"
" longer trust any committers. Confirm this by changing into the\n"
"directory where <code>i2p.mtn</code> was created and attempt a checkout "
"of the I2P branch:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:332
msgid ""
"A directory named <code>i2p.i2p</code> should <b>not</b> appear. You "
"should encounter many\n"
" error messages like:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:349
msgid ""
"If you are satisfied with results, restore the backup of\n"
" <code>monotonerc</code> that was created above. If you didn't create a "
"backup\n"
" as advised, re-read <a href=\"#setting-up-trust-evaluation-"
"hooks\">Setting up trust evaluation hooks</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:360
msgid ""
"If you already have a branch checked out, skip to the <a href"
"=\"#updating-your-working-copy-to-the-latest-version\">next\n"
" section</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:367
msgid ""
"Change into the directory where <code>i2p.mtn</code> is located. Over "
"there issue:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:376
msgid ""
"The checkout should complete without error messages and a directory named"
"\n"
" <code>i2p.i2p</code> should appear in the current directory. "
"Congratulations! You have\n"
" successfully checked out the latest I2P sources, ready to be compiled."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:387
msgid ""
"If you haven't done this already, pull fresh code from the server to your"
" local\n"
" Monotone repository. To accomplish this, change into the directory "
"where\n"
" <code>i2p.mtn</code> is located and issue:\n"
" <ul>\n"
" <li>$ <code><b>mtn --db=\"i2p.mtn\" -k \"\" pull 127.0.0.1:8998 "
"i2p.i2p</b></code></li>\n"
" </ul>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:398
msgid "Now change into your <code>i2p.i2p</code> directory, and over there issue:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:407
msgid ""
"As long as there were no errors&hellip;Congratulations! You have "
"successfully updated to the latest I2P sources. They\n"
" should be ready to compile."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:416
msgid "Obtaining and deploying developers' transport keys"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:419
msgid ""
"As a server operator you may want to grant push access to certain "
"developers."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:427
msgid "By default the Monotone server denies all access."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:433
msgid "To grant pull access to all clients, set the following in"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:445
msgid ""
"No one will not be able to push code to your server without permission "
"being explicitly granted. To grant push access:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:451
msgid ""
"Add the name of the user's transport key to\n"
"<code>$HOME/.monotone/write-permissions</code>, such as\n"
"<code><pre>\n"
" zzz-transport@mail.i2p\n"
" complication-transport@mail.i2p\n"
"</pre></code>\n"
"with one key per line."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:462
msgid ""
"Import the transport key(s) into your database. The procedure for "
"importing transport keys is the same as for\n"
"importing commit keys, which is described in the section <a href"
"=\"#obtaining-and-deploying-developers-keys\">Obtaining and deploying "
"developers' keys</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:472
msgid ""
"A separate database should be used for your Monotone server because "
"monotone will lock the database while it is served to others.\n"
" Make a copy of your development database, then start the server with:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:479
msgid ""
"If your key is protected with a passphrase, Monotone may request the "
"passphrase\n"
" when the first client connects. You can work around this by connecting "
"making the first client connection to your server\n"
" (or by clearing the password for your transport key)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:487
msgid ""
"For your server to be accessible for others over I2P, you will need to "
"create a\n"
" server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" "
"profile."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:497
msgid ""
"Debian (amongst other distributions) has integrated Monotone into their\n"
" framework of daemons/services. Although Monotone servers can still be "
"run\n"
" \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may"
" be more straightforward."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:505
msgid ""
"Permissions are granted by editing the files\n"
" <code>/etc/monotone/read-permissions</code> and\n"
" <code>/etc/monotone/write-permissions</code>. You'll also need to edit\n"
" <code>/etc/default/monotone</code> to enable monotone to start at boot "
"or to\n"
" customize the host, port, or database location."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:2
msgid "New Developer's Guide"
msgstr "Guía para nuevos desarrolladores"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:4
msgid ""
"\n"
"So you want to start work on I2P? Great!\n"
"Here's a quick guide to getting started\n"
"on contributing to the website or the software, doing development or "
"creating translations."
msgstr ""
"\n"
"¿Entonces, quiere empezar a trabajar en I2P? ¡Bien! Aquí tiene una "
"pequeña guía de como empezar contribuyendo, con la web o con el software,"
" programando código o traduciendo."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
#, python-format
msgid ""
"\n"
"Not quite ready for coding?\n"
"Try <a href=\"%(volunteer)s\">getting involved</a> first."
msgstr ""
"\n"
"¿Aún no está listo para programar? Pruebe primero a <a "
"href=\"%(volunteer)s\">involucrarse</a> en el proyecto."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
msgid "Basic study"
msgstr "Estudios básicos"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:17
#: i2p2www/pages/site/get-involved/guides/new-developers.html:41
msgid "Getting the I2P code"
msgstr "Obteniendo el código de I2P"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:18
#: i2p2www/pages/site/get-involved/guides/new-developers.html:112
msgid "Building I2P"
msgstr "Compilando I2P"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:19
#: i2p2www/pages/site/get-involved/guides/new-developers.html:133
msgid "Development ideas"
msgstr "Ideas para desarrollar"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:20
#: i2p2www/pages/site/get-involved/guides/new-developers.html:141
msgid "Making the results available"
msgstr "Haciendo que los resultados estén disponibles"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
#: i2p2www/pages/site/get-involved/guides/new-developers.html:162
msgid "Get to know us!"
msgstr "¡Conózcanos!"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:22
#: i2p2www/pages/site/get-involved/guides/new-developers.html:168
msgid "Translations"
msgstr "Traducciones"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:23
#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
msgid "Tools"
msgstr "Herramientas"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:29
msgid ""
"Basic development on the I2P router or the embedded applications uses "
"Java as the main development language.\n"
"If you don't have experience with Java, you can always have a look at <a "
"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
msgstr ""
"El desarrollo básico del ruter de I2P y de las aplicaciones del núcleo "
"utilizan Java como lenguaje de programación. Si no tiene experiencia con "
"Java, siempre puede echarle un ojo a <a "
"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:33
#, python-format
msgid ""
"Study the <a href=\"%(intro)s\">how intro</a>,\n"
"the <a href=\"%(docs)s\">other \"how\" documents</a>,\n"
"the <a href=\"%(techintro)s\">tech intro</a>,\n"
"and associated documents.\n"
"These will give you a good overview of how I2P is structured and what "
"different things it does."
msgstr ""
"Estudie la <a href=\"%(intro)s\">introducción de cómo</a>, los <a "
"href=\"%(docs)s\">otros \"como\" documentos</a>, la a "
"href=\"%(techintro)s\">introducción técnica</a>, y los documentos "
"asociados. Esto le dará una buena vista general de como está estructurado"
" y de qué otras cosas hace I2P."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:43
msgid ""
"For development on the i2p router or the embedded applications,\n"
"get the monotone source repository installed - short instructions:"
msgstr ""
"Para programar la consola de I2P o las aplicaciones principales, instale "
"el código del repositorio de monotone - instrucciones rápidas:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:48
msgid ""
"Install <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
"Monotone is a version control system.\n"
"We use it because it allows us to keep track of who does what changes to "
"the source code (and for a lot of complicated things, but 'keeping track "
"of changes' is the basic idea)."
msgstr ""
"Instale <a href=\"http://www.monotone.ca/\">monotone</a>. Monotone es un "
"sistema de control de versiones. Lo utilizamos porque nos permite llevar "
"el control de quien cambia el código (y muchas cosas complicadas más, "
"pero el control de los cambios es el motivo principal)"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:53
msgid ""
"Skim over the <a "
"href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone tutorial</a>,"
" to make sure you understand the concepts."
msgstr ""
"Eche una ojeada al <a "
"href=\"http://www.monotone.ca/docs/Tutorial.html\">tutorial de "
"monotone</a> para asegurarse de que entiende los conceptos"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
msgid ""
"If you want to remain anonymous, you need to do an additional step, to "
"set up a connection to a monotone server over I2P:"
msgstr ""
"Si desea permanecer anónimo necesita un paso adicional, configurar una "
"conexión al servidor de monotone a través de I2P:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:60
#, python-format
msgid ""
"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
"8998 pointing to mtn.i2p2.i2p."
msgstr ""
"Habilite el túnel cliente <a href=\"%(i2ptunnel)s\">i2ptunnel</a> en e "
"puerto 8998 apuntando a mtn.i2p2.i2p."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
msgid ""
"Pick a directory where you want to put all your I2P files, and create a "
"monotone database:"
msgstr ""
"Elija un directorio donde quiera poner todos los archivos de I2P, y cree "
"una base de datos para monotone:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:67
msgid ""
"Define the trust list by creating <code>~/.monotone/monotonerc</code> (or"
" <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the "
"following contents:"
msgstr ""
"Defina la lista de confianza creando code>~/.monotone/monotonerc</code> "
"(o <code>_MTN/monotonerc</code> en el área de trabajo de i2p.i2p ) con el"
" siguiente contenido:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
#, python-format
msgid ""
"Copy and paste the <a href=\"%(devkeys)s\">developer's commit keys</a> "
"into a new file (e.g. <code>keys.txt</code>) in the same directory\n"
" that <code>i2p.mtn</code> is in. Import the keys into your database "
"with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
msgstr ""
"Copie y pegue las <a href=\"%(devkeys)s\">claves de los "
"desarrolladores</a> en un nuevo archivo (por ejemplo "
"<code>keys.txt</code>) en el mismo directorio que está "
"<code>i2p.mtn</code>. Importe las claves a su base de datos con "
"<br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:76
msgid ""
"Pull the I2P sources to your machine. This may take a long time, "
"especially if you are doing this over I2P!"
msgstr ""
"Descargue el código de I2P a su ordenador. ¡Puede tardar bastante, sobre "
"todo si lo hace a través de I2P!"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:78
msgid "Anonymously:"
msgstr "Anónimamente:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:81
msgid "Non-anonymously:"
msgstr "Sin anonimato:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:83
msgid ""
"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn"
".i2p-projekt.de."
msgstr ""
"También puede descargarlo desde mtn.i2p-projekt.de además de "
"'mtn.i2p2.de'."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
msgid ""
"All the sources are now present on your machine, in the database file. To"
" make them available in a directory, you need to check them out:"
msgstr ""
"Todo el código esta ahora en su ordenador, en al archivo de la base de "
"datos. Para hacerlo accesible en el directorio necesita ejecutar:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:92
msgid ""
"The above command creates a directory i2p.i2p, which contains all of the "
"I2P sources."
msgstr ""
"El comando anterior crea el directorio i2p.i2p, el cual contiene todo el "
"código de I2P."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:96
msgid "Remarks"
msgstr "Notas"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:97
msgid ""
"\n"
"To download the website files instead of the I2P source files, use "
"'i2p.www' instead of 'i2p.i2p'."
msgstr ""
"\n"
"Para descargar la página web en vez del código use 'i2p.www' en vez de "
"'i2p.i2p'."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:100
msgid ""
"The initial pull may take several hours using the tunnel.\n"
"If it fails after a partial pull, simply rerun it, it will start where it"
" left off.\n"
"If you are in a hurry, use the non-anonymous access."
msgstr ""
"La descarga inicial puede tardar varias horas. Si falla después de una "
"descarga parcial, simplemente vuelva a ejecutar el mismo comando y "
"empezará donde lo dejó. Si tiene prisa use el sistema de acceso no "
"anónimo"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
#, python-format
msgid ""
"A full list of branches, including i2p.i2p and i2p.www can be found on <a"
" href=\"%(viewmtn)s\">viewmtn</a>."
msgstr ""
"Una lista completa de servidores de descarga, incluyendo i2p.i2p y "
"i2p.www puede encontrarse en <a href=\"%(viewmtn)s\">viewmtn</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
#, python-format
msgid ""
"A long explanation about using monotone is available on the <a "
"href=\"%(monotone)s\">monotone page</a>."
msgstr ""
"Una explicación completa de cómo usar monotone está disponible en la <a "
"href=\"%(monotone)s\">web de monotone</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:114
#, python-format
msgid ""
"To compile the code, you need the Sun Java Development Kit 6 or higher, "
"or equivalent JDK\n"
"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> strongly recommended) and\n"
"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
"version 1.7.0 or higher.\n"
"If you go are working on the main I2P code, you can go into the i2p.i2p "
"directory and run 'ant' to see the build options."
msgstr ""
"Para compilar el código necesita Sun Java Development Kit 6 o mayor, o el"
" JDK equivalente (<a href=\"%(sunjdk6)s\">Sun JDK 6</a> recomendado) y <a"
" href=\"http://ant.apache.org/\">Apache ant</a> versión 1.7.0 o mayor. Si"
" va a trabajar en al código principal de I2P puede entrar al directorio "
"i2p.i2p y ejecutar 'ant' para ver las opciones de compilación."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:122
msgid ""
"To build or work on console translations, you need\n"
"the xgettext, msgfmt, and msgmerge tools from the\n"
"<a href=\"http://www.gnu.org/software/gettext/\">GNU gettext package</a>."
msgstr ""
"Para trabajar en la traducción de la consola necesita las herramientas "
"gettext, msgfmt, y msgmerge del <a "
"href=\"http://www.gnu.org/software/gettext/\">paquete GNU gettext</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:128
#, python-format
msgid ""
"For development on new applications,\n"
"see the <a href=\"%(apps)s\">application development guide</a>."
msgstr ""
"Para programar nuevas aplicaciones vea la <a href=\"%(apps)s\">guía de "
"desarrollo de aplicaciones</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:134
#, python-format
msgid ""
"See <a href=\"http://%(zzz)s/forums/3\">zzz's TODO lists</a>,\n"
"<a href=\"%(todo)s\">this website's TODO list</a> or\n"
"<a href=\"http://%(trac)s/report/1\">Trac</a>\n"
"for ideas."
msgstr ""
"Para una lista de ideas vea la <a href=\"http://%(zzz)s/forums/3\">lista "
"de PORHACER de zzz</a>, <a href=\"%(todo)s\">la lista de PORHACER de esta"
" web</a> o el <a href=\"http://%(trac)s/report/1\">Trac</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:143
#, python-format
msgid ""
"See the bottom of <a href=\"%(licenses)s#commit\">the licenses page</a> "
"for\n"
"commit privilege requirements. You need these to put code into i2p.i2p "
"(not required for the website!)."
msgstr ""
"Mira en la parte de abajo de <a href=\"%(licenses)s#commit\"> la página "
"de licencias</a> para conocer los requisitos. Los necesita para poder "
"aportar código a i2p.i2p (¡pero no para la página web!)"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:148
msgid "Short version of how to generate and use keys if you plan to commit:"
msgstr ""
"Versión corta de cómo generar y usar las claves si tiene planeado hacer "
"aportes:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:150
msgid "use an empty passphrase"
msgstr "use una contraseña vacía, sin contraseña"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:151
msgid "enter a passphrase"
msgstr "escriba una contraseña"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:152
#, python-format
msgid ""
"<a href=\"mailto:%(email)s\">send</a> this to a mtn repo operator to get "
"push privileges"
msgstr ""
"<a href=\"mailto:%(email)s\">envíe</a> esto al administrador del "
"repositorio de mtn para tener permisos para aportar:"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:153
#, python-format
msgid ""
"send this to <a href=\"mailto:%(email)s\">a release manager</a> to get "
"commit privileges - not required for website"
msgstr ""
"envíe esto al <a href=\"mailto:%(email)s\">encargado de las versiones</a>"
" para obtener los permisos para aportar - no se requiere para la página "
"web"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:154
msgid "check in with this key"
msgstr "loguee con esta clave"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:155
msgid "push with this key"
msgstr "envíe los cambios al servidor con esta clave"
#: i2p2www/pages/site/get-involved/guides/new-developers.html:157
#, python-format
msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
msgstr "Versión completa: vea la <a href=\"%(monotone)s\">web de monotone</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:163
#, python-format
msgid ""
"The developers hang around on IRC. They can be reached on the Freenode "
"network, OFTC, and on the I2P internal networks. The usual place to look "
"is #i2p-dev. Join the channel and say hi!\n"
"We also have <a href=\"%(guidelines)s\">additional guidelines for regular"
" developers</a>."
msgstr ""
"Los desarrolladores suelen estar en el IRC. Puede contactar con ellos en "
"la red Freenode, OFTC, y en la en el IRC de I2P. El lugar usual es #i2p-"
"dev. ¡Únase al canal y diga hola!. También hay <a "
"href=\"%(guidelines)s\">guías adicionales para desarrolladores</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:169
#, python-format
msgid ""
"Website and router console translators: See the <a "
"href=\"%(newtrans)s\">New Translator's Guide</a>\n"
"for next steps."
msgstr ""
"Traductores de la consola del ruter y la página web: Vea la <a "
"href=\"%(newtrans)s\">guía de nuevos traductores</a>."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit "
"Java\n"
"Profiler. Open source projects are eligible to receive a free license "
"provided\n"
"that YourKit is referenced on the project web site. Please get in touch "
"if you\n"
"are interested in profiling the I2P codebase."
msgstr ""
"I2P es una aplicación de código libre y es desarrollada usando "
"herramientas libres. El proyecto I2P ha adquirido recientemente una "
"licencia para YourKit Java Profiler. Los proyectos libres pueden obtener "
"una licencia gratis mientras se haga referencia a YourKit en las webs del"
" proyecto. Por favor pónganse en contacto su está interesado en la "
"depuración y optimización del código base de I2P."
#: i2p2www/pages/site/get-involved/guides/new-developers.html:183
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured "
"Java Profiler.\n"
"YourKit, LLC is the creator of innovative and intelligent tools for "
"profiling\n"
"Java and .NET applications. Take a look at YourKit's leading software "
"products:\n"
"<a href=\"%(java)s\">YourKit Java Profiler</a> and\n"
"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
msgstr ""
"YourKit está apoyando amablemente a los proyectos libres con el Java "
"Profiler completo. LLC es el creador de inteligentes e innovadoras "
"herramientas para el desarrollo de aplicaciones JAVA y .NET. Échele un "
"ojo a los productos principales de YourKit: <a href=\"%(java)s\">YourKit "
"Java Profiler</a> y <a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
#: i2p2www/pages/site/get-involved/guides/new-translators.html:2
msgid "New Translator's Guide"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:4
msgid "Here's a very quick guide to getting started."
msgstr "Aquí hay a guía rápida para comenzar."
#: i2p2www/pages/site/get-involved/guides/new-translators.html:6
msgid "How to Translate the Website"
msgstr "Como traducir la página web"
#: i2p2www/pages/site/get-involved/guides/new-translators.html:8
#, python-format
msgid ""
"Translation of the website is done with .po files. The easiest way by far"
" to\n"
"translate the website is to sign up for an account at \n"
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
" team. \n"
"Alternatively it can be done \"the old way\" as outlined below."
msgstr ""
"La traducción de las páginas web se hace con archivos .po. La forma mas "
"fácil con diferencia para traducir una página web es crearse una cuenta "
"en <a href=\"%(transifex)s\">Transifex</a> y solicitar unirse aun grupo "
"de traducción. Alternativamente se puede hacer a la \"forma antigua \" "
"como se muestra debajo."
#: i2p2www/pages/site/get-involved/guides/new-translators.html:17
#: i2p2www/pages/site/get-involved/guides/new-translators.html:82
msgid "Preparation"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:19
#: i2p2www/pages/site/get-involved/guides/new-translators.html:84
#, python-format
msgid ""
"Come to #i2p-dev on irc and talk to people.\n"
"Claim the language -\n"
"To make sure other coworkers don't bump onto the files you are working "
"on,\n"
"please update the translation status on <a href=\"%(url)s\">this wiki "
"page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:25
#, python-format
msgid ""
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
"Including the installation of monotone,\n"
"checking out i2p.www branch, and generate your own monotone keys.\n"
"It is not required that you sign a dev agreement."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:33
msgid ""
"<b>Create files:</b>\n"
"If the file for your language does not exist yet:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:38
msgid ""
"Run \"<code>./extract-messages.sh</code>\" to generate a "
"<code>messages.pot</code> in the base directory.\n"
"Edit the header of this file, then run \"<code>./init-new-po.sh "
"locale</code>\" to generate the file\n"
"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. "
"\"<code>mtn add</code>\" this file."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:43
msgid ""
"Edit <code>i2p2www/pages/global/lang.html</code> and add a line for your "
"language (copy an existing line)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:46
msgid ""
"Add a flag image file to <code>i2p2www/static/images/flags/</code> for "
"the menu (copy from the router)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:52
msgid ""
"<b>Edit files:</b>\n"
"Edit <code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
"To work with .po files efficiently, you may wish to use <a "
"href=\"http://www.poedit.net/download.php\">POEdit</a>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:58
#: i2p2www/pages/site/get-involved/guides/new-translators.html:151
msgid ""
"<b>Check in:</b>\n"
"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Then check in by "
"\"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
"This collects the diff info of your changed file into your local repo. "
"Then \"<code>mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p "
"i2p.i2p</code>\".\n"
"This synchronizes your local repo with the repo on the target machine."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:65
#: i2p2www/pages/site/get-involved/guides/new-translators.html:158
msgid "Repeat. Check in often. Don't wait until it is perfect."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:72
msgid "How to Translate the Router Console"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:74
#, python-format
msgid ""
"The easiest way by far to translate the router console is to sign up for "
"an account at \n"
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
" team. \n"
"Alternatively it can be done \"the old way\" as outlined below."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:90
#, python-format
msgid ""
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
"including the installation of monotone and the gettext tools,\n"
"checking out i2p.i2p branch, and generate your own monotone keys."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:95
msgid "Generate your own gpg key and sign the dev agreement."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:101
msgid ""
"Before starting a console translation, better help translate some i2p "
"webpages first.\n"
"At least an i2p homepage in your language would be great."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:106
msgid ""
"<b>What to translate:</b>\n"
"There are about 15 files in the i2p.i2p branch that needs translation:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:132
msgid ""
"Where xx is your language code like fr/de/ch/zh/...\n"
"There may be or may not be files with your lang code. If not, you can "
"create your own. by copying and renaming other language files you know "
"with your own lang code."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:137
msgid ""
"<b>Create files:</b>\n"
"If the file for your language does not exist yet, copy another language "
"file to a new file <code>foo_xx.bar</code> for your language.\n"
"Then \"<code>mtn add</code>\" the file.\n"
"After creating a .po file, edit the headers. Then run \"<code>ant "
"distclean poupdate</code>\"."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:144
msgid ""
"<b>Start to work:</b>\n"
"Edit the HTML files with any text editor.\n"
"Be sure not to use an editor in HTML mode that reformats everything.\n"
"To work with .po files efficiently, you may wish to use <a "
"href=\"http://www.poedit.net/download.php\">POEdit</a>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:163
msgid ""
"As you can see, it's not that difficult.\n"
"If you have questions about the meaning of the terms in the console, ask "
"in <code>#i2p-dev</code> on IRC."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:169
msgid "FAQ"
msgstr "Preguntas frecuentes"
#: i2p2www/pages/site/get-involved/guides/new-translators.html:171
msgid ""
"Q: Why do I have to install monotone, Java, jsp, learn about .po files "
"and html, etc.? Why can't I just do a translation and email it to you?"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:175
msgid "A: Several reasons:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:178
#, python-format
msgid ""
"You might be interested in translating via Transifex. Request to join a "
"translation team <a href=\"%(transifex)s\">here</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:182
msgid ""
"We don't have anybody who has time to accept manual contributions and "
"submit them to our source control system on your behalf. Even if we did, "
"it doesn't scale."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:186
msgid ""
"Maybe you are thinking translation is a one-step process. It isn't. You "
"can't do it all at once. You will make mistakes. You need to test it and "
"tweak it to make it look right <i>before</i> you submit it. Developers "
"will update or add to the English text, thus requiring a translation "
"update."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:190
msgid ""
"Having translators use a source control system directly provides "
"authentication and accountablility - we know who is doing what, and we "
"can track changes, and revert them if necessary."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:194
msgid ""
".po files are not difficult. If you don't want to work directly with "
"them, we recommend 'poedit'."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:198
msgid ""
"HTML files are not difficult. Just ignore the html stuff and translate "
"the text."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:202
msgid ""
"Installing and using monotone is not that difficult. Several of the "
"translators and other contributors to I2P are non-programmers, and they "
"use monotone regularly. Monotone is simply a source control system, it is"
" not about \"coding\"."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:206
msgid ""
"Our items to translate are not \"documents\". They are html files and po "
"files, with a specific format and character encoding (UTF-8) that must be"
" maintained, and not corrupted by email programs or other methods of "
"transfer."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:210
msgid ""
"We looked at 'pootle' as a front-end for translators. It didn't work "
"well, needed an administrator, and a pootle-based process would suffer "
"from a number of the above flaws."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:215
msgid ""
"<b>In summary:</b>\n"
"Yes, we know it is somewhat of a hurdle to get started. It's really the "
"only possible way we can do it. Give it a try, it really isn't that hard."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
msgid "More Information"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
#, python-format
msgid ""
"The #i2p-dev channel on IRC, or the <a "
"href=\"http://%(zzz)s/forums/14\">translation forum on %(zzz)s</a>."
msgstr ""