aboutsummaryrefslogtreecommitdiff
path: root/test/input
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2020-12-18 17:01:49 +0000
committerGitHub <noreply@github.com>2020-12-19 01:01:49 +0800
commit7d9dad02899fdc0a46ab030f9663e7f5bec2003b (patch)
tree50995d3865ef679c07ead586a1ac2beffb98b3ef /test/input
parent44e494f16f5ce7fc1272e6ca6ae227f77623c2f9 (diff)
downloadtracifyjs-7d9dad02899fdc0a46ab030f9663e7f5bec2003b.tar.gz
tracifyjs-7d9dad02899fdc0a46ab030f9663e7f5bec2003b.zip
fix corner case with parentheses (#4409)
fixes #4408
Diffstat (limited to 'test/input')
0 files changed, 0 insertions, 0 deletions
ot; #. type: cindex #: guix-git/doc/contributing.texi:11 #, no-wrap msgid "contributor covenant" msgstr "acuerdo de contribución" #. type: Plain text #: guix-git/doc/contributing.texi:17 msgid "We want to provide a warm, friendly, and harassment-free environment, so that anyone can contribute to the best of their abilities. To this end our project uses a ``Contributor Covenant'', which was adapted from @url{https://contributor-covenant.org/}. You can find a local version in the @file{CODE-OF-CONDUCT} file in the source tree." msgstr "Queremos proporcionar un entorno cálido, amistoso y libre de acoso, para que cualquiera pueda contribuir al máximo de sus capacidades. Para este fin nuestro proyecto usa un ``Acuerdo de Contribución'', que fue adaptado de @url{https://contributor-coventant.org}. Se puede encontrar una versión local en el archivo @file{CODE-OF-CONDUCT} del árbol de fuentes." #. type: Plain text #: guix-git/doc/contributing.texi:21 msgid "Contributors are not required to use their legal name in patches and on-line communication; they can use any name or pseudonym of their choice." msgstr "Las contribuidoras no están obligadas a usar su nombre legal en los parches ni en la comunicación on-line; pueden usar cualquier nombre o seudónimo de su elección." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:44 #: guix-git/doc/contributing.texi:45 #, no-wrap msgid "Requirements" msgstr "Requisitos" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Software needed to build and run Guix." msgstr "Software necesario para construir y ejecutar Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:132 #: guix-git/doc/contributing.texi:133 #, no-wrap msgid "Building from Git" msgstr "Construcción desde Git" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The latest and greatest." msgstr "Lo último y mejor." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:324 #: guix-git/doc/contributing.texi:325 #, no-wrap msgid "Running the Test Suite" msgstr "Ejecución de la batería de pruebas" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Testing Guix." msgstr "Probar Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:435 #: guix-git/doc/contributing.texi:436 #, no-wrap msgid "Running Guix Before It Is Installed" msgstr "Ejecución de Guix antes de estar instalado" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hacker tricks." msgstr "Trucos de hacker." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:525 #: guix-git/doc/contributing.texi:526 #, no-wrap msgid "The Perfect Setup" msgstr "La configuración perfecta" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The right tools." msgstr "Las herramientas adecuadas." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:702 #: guix-git/doc/contributing.texi:703 #, fuzzy, no-wrap #| msgid "interactive" msgid "Alternative Setups" msgstr "interactive" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Other possible tools that do the job." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:779 #: guix-git/doc/contributing.texi:780 #, no-wrap msgid "Source Tree Structure" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Source code guided tour." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1030 #: guix-git/doc/contributing.texi:1031 #, no-wrap msgid "Packaging Guidelines" msgstr "Pautas de empaquetamiento" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Growing the distribution." msgstr "Crecimiento de la distribución." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1751 #: guix-git/doc/contributing.texi:1752 #, no-wrap msgid "Coding Style" msgstr "Estilo de codificación" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hygiene of the contributor." msgstr "Higiene de la contribuidora." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1858 #: guix-git/doc/contributing.texi:1859 #, no-wrap msgid "Submitting Patches" msgstr "Envío de parches" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Share your work." msgstr "Comparta su trabajo." # FUZZY #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2228 #: guix-git/doc/contributing.texi:2229 #, fuzzy, no-wrap #| msgid "Tracking Bugs and Patches" msgid "Tracking Bugs and Changes" msgstr "Seguimiento de errores y parches" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Keeping it all organized." msgstr "Mantenerlo todo organizado." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2633 #: guix-git/doc/contributing.texi:2634 #, no-wrap msgid "Teams" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Coordinating efforts." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2710 #: guix-git/doc/contributing.texi:2711 #, no-wrap msgid "Making Decisions" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Collectively choosing the way forward." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2729 #: guix-git/doc/contributing.texi:2730 #, no-wrap msgid "Commit Access" msgstr "Acceso al repositorio" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Pushing to the official repository." msgstr "Subida de revisiones al repositorio oficial." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2959 #: guix-git/doc/contributing.texi:2960 #, no-wrap msgid "Reviewing the Work of Others" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 #, fuzzy #| msgid "The model for composing services." msgid "Some guidelines for sharing reviews." msgstr "El modelo para la composición de servicios." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3058 #: guix-git/doc/contributing.texi:3059 #, no-wrap msgid "Updating the Guix Package" msgstr "Actualizar el paquete Guix" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Updating the Guix package definition." msgstr "Actualización de la definición del paquete Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3095 #: guix-git/doc/contributing.texi:3096 #, no-wrap msgid "Deprecation Policy" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Commitments and tools for deprecation." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3286 #: guix-git/doc/contributing.texi:3287 #, fuzzy, no-wrap #| msgid "Documentation" msgid "Writing Documentation" msgstr "Documentación" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Improving documentation in GNU Guix." msgstr "Mejorar la documentación en GNU Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3330 #: guix-git/doc/contributing.texi:3331 #, no-wrap msgid "Translating Guix" msgstr "Traduciendo Guix" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Make Guix speak your native language." msgstr "Haga que Guix hable su lengua madre." #. type: Plain text #: guix-git/doc/contributing.texi:49 msgid "You can easily hack on Guix itself using Guix and Git, which we use for version control (@pxref{Building from Git})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:54 msgid "But when packaging Guix for foreign distros or when bootstrapping on systems without Guix, and if you decide to not just trust and install our readily made binary (@pxref{Binary Installation}), you can download a release version of our reproducible source tarball and read on." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:59 msgid "This section lists requirements when building Guix from source. The build procedure for Guix is the same as for other GNU software, and is not covered here. Please see the files @file{README} and @file{INSTALL} in the Guix source tree for additional details." msgstr "Esta sección enumera los requisitos para construir Guix desde las fuentes. El procedimiento de construcción de Guix es el mismo que el de otro software GNU, y no está cubierto aquí. Por favor, eche un vistazo a los archivos @file{README} y @file{INSTALL} en el árbol de fuentes de Guix para obtener detalles adicionales." #. type: cindex #: guix-git/doc/contributing.texi:60 #, no-wrap msgid "official website" msgstr "sitio web oficial" #. type: Plain text #: guix-git/doc/contributing.texi:63 msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}." msgstr "GNU Guix está disponible para descarga desde su sitio web en @url{http://www.gnu.org/software/guix/}." #. type: Plain text #: guix-git/doc/contributing.texi:65 msgid "GNU Guix depends on the following packages:" msgstr "GNU Guix depende de los siguientes paquetes:" #. type: item #: guix-git/doc/contributing.texi:67 #, fuzzy, no-wrap #| msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x or" msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x," msgstr "@url{https://gnu.org/software/guile/, GNU Guile}, versión 3.0.x o" #. type: itemize #: guix-git/doc/contributing.texi:69 #, fuzzy msgid "version 3.0.3 or later;" msgstr "0.1.0 o posterior;" #. type: item #: guix-git/doc/contributing.texi:69 #, no-wrap msgid "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version" msgstr "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, versión" #. type: itemize #: guix-git/doc/contributing.texi:71 msgid "0.1.0 or later;" msgstr "0.1.0 o posterior;" #. type: itemize #: guix-git/doc/contributing.texi:77 msgid "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to @uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS until version 3.7.8 included.};" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:80 msgid "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0 or later;" msgstr "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, versión 0.1.0 o posterior;" #. type: item #: guix-git/doc/contributing.texi:80 #, fuzzy, no-wrap msgid "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}," msgstr "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib};" #. type: itemize #: guix-git/doc/contributing.texi:82 #, fuzzy msgid "version 0.1.0 or later;" msgstr "0.1.0 o posterior;" #. type: item #: guix-git/doc/contributing.texi:82 #, no-wrap msgid "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};" msgstr "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};" #. type: item #: guix-git/doc/contributing.texi:83 #, fuzzy, no-wrap msgid "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};" msgstr "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib};" #. type: itemize #: guix-git/doc/contributing.texi:87 #, fuzzy #| msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.3.0 or later;" msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0 or later;" msgstr "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, versión 0.3.0 o posterior;" #. type: item #: guix-git/doc/contributing.texi:87 #, no-wrap msgid "@uref{https://git-scm.com, Git} (yes, both!);" msgstr "" #. type: item #: guix-git/doc/contributing.texi:88 #, no-wrap msgid "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" msgstr "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" #. type: itemize #: guix-git/doc/contributing.texi:90 msgid "4.3.0 or later;" msgstr "4.3.0 o posterior;" #. type: item #: guix-git/doc/contributing.texi:90 #, no-wrap msgid "@url{https://www.gnu.org/software/make/, GNU Make}." msgstr "@url{https://www.gnu.org/software/make/, GNU Make}." #. type: Plain text #: guix-git/doc/contributing.texi:94 msgid "The following dependencies are optional:" msgstr "Las siguientes dependencias son opcionales:" #. type: itemize #: guix-git/doc/contributing.texi:102 msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.13.0 or later." msgstr "La delegación de construcciones (@pxref{Daemon Offload Setup}) y @command{guix copy} (@pxref{Invoking guix copy}) dependen de @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, versión 0.13.0 o posterior." #. type: itemize #: guix-git/doc/contributing.texi:107 msgid "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd compression and decompression in @command{guix publish} and for substitutes (@pxref{Invoking guix publish})." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:111 msgid "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for the @code{crate} importer (@pxref{Invoking guix import})." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:116 msgid "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for the @code{go} importer (@pxref{Invoking guix import}) and for some of the ``updaters'' (@pxref{Invoking guix refresh})." msgstr "" # TODO: (MAAV) log #. type: itemize #: guix-git/doc/contributing.texi:120 msgid "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs." msgstr "Cuando @url{http://www.bzip.org, libbz2} está disponible, @command{guix daemon} puede usarla para comprimir los registros de construcción." #. type: Plain text #: guix-git/doc/contributing.texi:124 msgid "Unless @option{--disable-daemon} was passed to @command{configure}, the following packages are also needed:" msgstr "Si no se ha proporcionado @option{--disable-daemon} a @command{configure}, los siguientes paquetes también son necesarios:" #. type: item #: guix-git/doc/contributing.texi:126 #, no-wrap msgid "@url{https://gnupg.org/, GNU libgcrypt};" msgstr "@url{https://gnupg.org/, GNU libgcrypt};" #. type: item #: guix-git/doc/contributing.texi:127 #, no-wrap msgid "@url{https://sqlite.org, SQLite 3};" msgstr "@url{https://sqlite.org, SQLite 3};" # FUZZY #. type: item #: guix-git/doc/contributing.texi:128 #, no-wrap msgid "@url{https://gcc.gnu.org, GCC's g++}, with support for the" msgstr "@url{https://gcc.gnu.org, g++ de GCC}, con implementación" #. type: itemize #: guix-git/doc/contributing.texi:130 msgid "C++11 standard." msgstr "del estándar C++11" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:137 msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:" msgstr "Si quiere picar en el mismo Guix se recomienda usar la última versión del repositorio Git:" #. type: example #: guix-git/doc/contributing.texi:140 #, no-wrap msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:142 #, no-wrap msgid "authentication, of a Guix checkout" msgstr "identificación, de una copia de Guix" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:147 msgid "How do you ensure that you obtained a genuine copy of the repository? To do that, run @command{guix git authenticate}, passing it the commit and OpenPGP fingerprint of the @dfn{channel introduction} (@pxref{Invoking guix git authenticate}):" msgstr "¿Cómo se puede asegurar de que ha obtenido una copia auténtica del repositorio? Para ello ejecute @command{guix git authenticate}, proporcionando la revisión y la huella de OpenPGP de la @dfn{presentación del canal} (@pxref{Invoking guix git authenticate}):" #. type: example #: guix-git/doc/contributing.texi:154 #, no-wrap msgid "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:159 msgid "This command completes with exit code zero on success; it prints an error message and exits with a non-zero code otherwise." msgstr "Esta orden termina con un código de salida cero cuando al finalizar correctamente; o imprime un mensaje de error y sale con un código de salida distinto a cero en otro caso." # FUZZY FUZZY FUZZY # # TODO (MAAV): Esta traducción es bastante libre, puesto que la # estructuración en inglés difiere bastante de la habitual en castellano # a mi modo de ver. También he abandonado más la referencia al # lanzamiento inicial [de los binarios] (todavía debato internamente # esta traducción...) y he optado por el concepto más simbólico del # primer eslabón en la cadena de confianza. #. type: Plain text #: guix-git/doc/contributing.texi:166 msgid "As you can see, there is a chicken-and-egg problem: you first need to have Guix installed. Typically you would install Guix System (@pxref{System Installation}) or Guix on top of another distro (@pxref{Binary Installation}); in either case, you would verify the OpenPGP signature on the installation medium. This ``bootstraps'' the trust chain." msgstr "Como puede ver, nos encontramos ante el problema del huevo y la gallina: es necesario haber instalado Guix. Durante la instalación habitual del sistema Guix (@pxref{System Installation}) o Guix sobre otra distribución (@pxref{Binary Installation}) debería verificar la firma de OpenPGP del medio de instalación. Este paso es el primer eslabón de la cadena de confianza." #. type: Plain text #: guix-git/doc/contributing.texi:171 msgid "The easiest way to set up a development environment for Guix is, of course, by using Guix! The following command starts a new shell where all the dependencies and appropriate environment variables are set up to hack on Guix:" msgstr "El modo más fácil de preparar un entorno de desarrollo para Guix es, por supuesto, ¡usando Guix! Las siguientes órdenes inician un nuevo intérprete donde todas las dependencias y las variables de entorno apropiadas están listas para picar código en Guix:" #. type: example #: guix-git/doc/contributing.texi:174 #, fuzzy, no-wrap #| msgid "guix shell -D guix --pure\n" msgid "guix shell -D guix -CPW\n" msgstr "guix shell -D guix --pure\n" #. type: Plain text #: guix-git/doc/contributing.texi:177 msgid "or even, from within a Git worktree for Guix:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:180 #, fuzzy, no-wrap #| msgid "guix pull\n" msgid "guix shell -CPW\n" msgstr "guix pull\n" #. type: Plain text #: guix-git/doc/contributing.texi:185 msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:189 msgid "If you are unable to use Guix when building Guix from a checkout, the following are the required packages in addition to those mentioned in the installation instructions (@pxref{Requirements})." msgstr "Si no puede usar Guix para construir Guix desde una copia de trabajo, son necesarios los paquetes siguientes además de los mencionados en las instrucciones de instalación (@pxref{Requirements})." #. type: item #: guix-git/doc/contributing.texi:191 #, no-wrap msgid "@url{https://gnu.org/software/autoconf/, GNU Autoconf};" msgstr "@url{https://gnu.org/software/autoconf/, GNU Autoconf};" #. type: item #: guix-git/doc/contributing.texi:192 #, no-wrap msgid "@url{https://gnu.org/software/automake/, GNU Automake};" msgstr "@url{https://gnu.org/software/automake/, GNU Automake};" #. type: item #: guix-git/doc/contributing.texi:193 #, no-wrap msgid "@url{https://gnu.org/software/gettext/, GNU Gettext};" msgstr "@url{https://gnu.org/software/gettext/, GNU Gettext};" #. type: item #: guix-git/doc/contributing.texi:194 #, no-wrap msgid "@url{https://gnu.org/software/texinfo/, GNU Texinfo};" msgstr "@url{https://gnu.org/software/texinfo/, GNU Texinfo};" #. type: item #: guix-git/doc/contributing.texi:195 #, no-wrap msgid "@url{https://www.graphviz.org/, Graphviz};" msgstr "@url{https://www.graphviz.org/, Graphviz};" #. type: item #: guix-git/doc/contributing.texi:196 #, no-wrap msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (opcional)}." #. type: Plain text #: guix-git/doc/contributing.texi:201 msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:" msgstr "En Guix se pueden añadir dependencias adicionales ejecutando en su lugar @command{guix shell}:" #. type: example #: guix-git/doc/contributing.texi:204 #, no-wrap msgid "guix shell -D guix help2man git strace --pure\n" msgstr "guix shell -D guix help2man git strace --pure\n" #. type: Plain text #: guix-git/doc/contributing.texi:208 #, fuzzy #| msgid "Run @command{./bootstrap} to generate the build system infrastructure using Autoconf and Automake. If you get an error like this one:" msgid "From there you can generate the build system infrastructure using Autoconf and Automake:" msgstr "Ejecute @command{./bootstrap} para generar la infraestructura del sistema de construcción usando Autoconf y Automake. Si obtiene un error como este:" #. type: example #: guix-git/doc/contributing.texi:211 #, fuzzy, no-wrap #| msgid "--bootstrap" msgid "./bootstrap\n" msgstr "--bootstrap" #. type: Plain text #: guix-git/doc/contributing.texi:214 msgid "If you get an error like this one:" msgstr "Si se produce un error como el siguiente:" #. type: example #: guix-git/doc/contributing.texi:217 #, no-wrap msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" #. type: Plain text #: guix-git/doc/contributing.texi:226 msgid "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for the @file{guile.m4} set of macros provided by Guile. For instance, if you installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke the following command:" msgstr "probablemente significa que Autoconf no pudo encontrar el archivo pkg.m4, que proporciona pkg-config. Asegúrese de que @file{pkg.m4} está disponible. Lo mismo aplica para el conjunto de macros @file{guile.m4} que proporciona Guile. Por ejemplo, si ha instalado Automake en @file{/usr/local}, no va a buscar archivos @file{.m4} en @file{/usr/share}. En ese caso tiene que ejecutar la siguiente orden:" #. type: example #: guix-git/doc/contributing.texi:229 #, no-wrap msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" #. type: Plain text #: guix-git/doc/contributing.texi:233 msgid "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more information." msgstr "@xref{Macro Search Path,,, automake, The GNU Automake Manual} para más información." #. type: cindex #: guix-git/doc/contributing.texi:234 #, no-wrap msgid "state directory" msgstr "directorio de estado" #. type: cindex #: guix-git/doc/contributing.texi:235 #, fuzzy, no-wrap #| msgid "--localstatedir" msgid "localstatedir" msgstr "--localstatedir" #. type: cindex #: guix-git/doc/contributing.texi:236 #, fuzzy, no-wrap #| msgid "system configuration" msgid "system configuration directory" msgstr "configuración del sistema" #. type: cindex #: guix-git/doc/contributing.texi:237 #, fuzzy, no-wrap #| msgid "config" msgid "sysconfdir" msgstr "config" #. type: Plain text #: guix-git/doc/contributing.texi:239 msgid "Then, run:" msgstr "Entonces, ejecute:" #. type: example #: guix-git/doc/contributing.texi:242 #, fuzzy, no-wrap #| msgid "configure" msgid "./configure\n" msgstr "configure" #. type: Plain text #: guix-git/doc/contributing.texi:252 #, fuzzy #| msgid "Then, run @command{./configure} as usual. Make sure to pass @code{--localstatedir=@var{directory}} where @var{directory} is the @code{localstatedir} value used by your current installation (@pxref{The Store}, for information about this), usually @file{/var}. Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir}." msgid "Optionally, @code{--localstatedir} and @code{--sysconfdir} can also be provided as arguments. By default, @code{localstatedir} is @file{/var} (@pxref{The Store}, for information about this) and @code{sysconfdir} is @file{/etc}. Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir} and @code{sysconfdir} values, which get recorded in the @code{(guix config)} Guile module." msgstr "Una vez terminada, ejecute @command{./configure} como siempre. Asegúrese de pasar @code{--localstatedir=@var{directorio}}, donde @var{directorio} es el valor de @code{localstatedir} usado en su instalación actual (@pxref{The Store}, para información sobre esto), habitualmente @file{/var}. Tenga en cuenta que probablemente no ejecute @command{make install} para finalizar (no tiene por qué hacerlo) pero en cualquier caso es importante proporcionar el directorio @code{localstatedir} correcto." #. type: Plain text #: guix-git/doc/contributing.texi:255 msgid "Finally, you can build Guix and, if you feel so inclined, run the tests (@pxref{Running the Test Suite}):" msgstr "Finalmente, puede construir Guix y, si se siente inclinado a ello, ejecutar los tests (@pxref{Running the Test Suite}):" #. type: example #: guix-git/doc/contributing.texi:259 #, fuzzy, no-wrap #| msgid "make check\n" msgid "" "make\n" "make check\n" msgstr "make check\n" #. type: Plain text #: guix-git/doc/contributing.texi:265 #, fuzzy #| msgid "Finally, you have to invoke @code{make && make check} to build Guix and run the tests (@pxref{Running the Test Suite}). If anything fails, take a look at installation instructions (@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, mailing list}." msgid "If anything fails, take a look at installation instructions (@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, mailing list}." msgstr "Finalmente, llame a @code{make && make check} para construir Guix y ejecutar las pruebas (@pxref{Running the Test Suite}). Si falla algo, eche un vistazo a las instrucciones de instalación (@pxref{Instalación}) o envíe un mensaje a la lista de correo @email{guix-devel@@gnu.org, mailing list}." #. type: Plain text #: guix-git/doc/contributing.texi:268 msgid "From there on, you can authenticate all the commits included in your checkout by running:" msgstr "De aquí en adelante, puede identificar todos las revisiones incluidas en su copia ejecutando:" #. type: example #: guix-git/doc/contributing.texi:273 #, fuzzy, no-wrap #| msgid "" #| "git fetch origin keyring:keyring\n" #| "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" #| " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgid "" "guix git authenticate \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:280 msgid "The first run takes a couple of minutes, but subsequent runs are faster. On subsequent runs, you can run the command without any arguments since the @dfn{introduction} (the commit ID and OpenPGP fingerprints above) will have been recorded@footnote{This requires a recent version of Guix, from May 2024 or more recent.}:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:283 guix-git/doc/contributing.texi:2844 #, fuzzy, no-wrap #| msgid "Invoking guix git authenticate" msgid "guix git authenticate\n" msgstr "Invocación de guix git authenticate" #. type: Plain text #: guix-git/doc/contributing.texi:290 #, fuzzy #| msgid "Or, when your configuration for your local Git repository doesn't match the default one, you can provide the reference for the @code{keyring} branch through the variable @code{GUIX_GIT_KEYRING}. The following example assumes that you have a Git remote called @samp{myremote} pointing to the official repository:" msgid "When your configuration for your local Git repository doesn't match the default one, you can provide the reference for the @code{keyring} branch @i{via} the @option{-k} option. The following example assumes that you have a Git remote called @samp{myremote} pointing to the official repository:" msgstr "O, cuando la configuración de su repositorio local Git no corresponda con la predeterminada, puede proporcionar la referencia de la rama @code{keyring} a través de la variable @code{GUIX_GIT_KEYRING}. El ejemplo siguiente asume que tiene configurado un servidor remoto de git llamado @samp{miremoto} que apunta al repositorio oficial:" #. type: example #: guix-git/doc/contributing.texi:296 #, fuzzy, no-wrap #| msgid "" #| "git fetch origin keyring:keyring\n" #| "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" #| " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgid "" "guix git authenticate \\\n" " -k myremote/keyring \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:300 #, fuzzy #| msgid "@xref{Invoking guix shell}, for more information on that command." msgid "@xref{Invoking guix git authenticate}, for more information on this command." msgstr "@xref{Invoking guix shell}, para más información sobre este comando." #. type: quotation #: guix-git/doc/contributing.texi:301 guix-git/doc/contributing.texi:1489 #: guix-git/doc/contributing.texi:2101 guix-git/doc/contributing.texi:2146 #: guix-git/doc/contributing.texi:2169 guix-git/doc/contributing.texi:2817 #: guix-git/doc/guix.texi:808 guix-git/doc/guix.texi:834 #: guix-git/doc/guix.texi:1205 guix-git/doc/guix.texi:1230 #: guix-git/doc/guix.texi:1303 guix-git/doc/guix.texi:1690 #: guix-git/doc/guix.texi:1906 guix-git/doc/guix.texi:1981 #: guix-git/doc/guix.texi:2169 guix-git/doc/guix.texi:2391 #: guix-git/doc/guix.texi:3687 guix-git/doc/guix.texi:4092 #: guix-git/doc/guix.texi:4612 guix-git/doc/guix.texi:4626 #: guix-git/doc/guix.texi:4701 guix-git/doc/guix.texi:4716 #: guix-git/doc/guix.texi:4779 guix-git/doc/guix.texi:5009 #: guix-git/doc/guix.texi:5923 guix-git/doc/guix.texi:5956 #: guix-git/doc/guix.texi:6584 guix-git/doc/guix.texi:6863 #: guix-git/doc/guix.texi:6997 guix-git/doc/guix.texi:7026 #: guix-git/doc/guix.texi:7067 guix-git/doc/guix.texi:7113 #: guix-git/doc/guix.texi:7120 guix-git/doc/guix.texi:7164 #: guix-git/doc/guix.texi:8797 guix-git/doc/guix.texi:11137 #: guix-git/doc/guix.texi:11286 guix-git/doc/guix.texi:11356 #: guix-git/doc/guix.texi:13327 guix-git/doc/guix.texi:13367 #: guix-git/doc/guix.texi:13467 guix-git/doc/guix.texi:13692 #: guix-git/doc/guix.texi:13704 guix-git/doc/guix.texi:14607 #: guix-git/doc/guix.texi:16583 guix-git/doc/guix.texi:17113 #: guix-git/doc/guix.texi:17171 guix-git/doc/guix.texi:17204 #: guix-git/doc/guix.texi:17282 guix-git/doc/guix.texi:17683 #: guix-git/doc/guix.texi:18698 guix-git/doc/guix.texi:19261 #: guix-git/doc/guix.texi:19766 guix-git/doc/guix.texi:19827 #: guix-git/doc/guix.texi:22376 guix-git/doc/guix.texi:23294 #: guix-git/doc/guix.texi:23477 guix-git/doc/guix.texi:23538 #: guix-git/doc/guix.texi:24014 guix-git/doc/guix.texi:29038 #: guix-git/doc/guix.texi:29655 guix-git/doc/guix.texi:33109 #: guix-git/doc/guix.texi:37536 guix-git/doc/guix.texi:40913 #: guix-git/doc/guix.texi:42574 guix-git/doc/guix.texi:42648 #: guix-git/doc/guix.texi:42690 guix-git/doc/guix.texi:43036 #: guix-git/doc/guix.texi:43206 guix-git/doc/guix.texi:43374 #: guix-git/doc/guix.texi:43481 guix-git/doc/guix.texi:43527 #: guix-git/doc/guix.texi:43584 guix-git/doc/guix.texi:43611 #: guix-git/doc/guix.texi:43949 guix-git/doc/guix.texi:45361 #: guix-git/doc/guix.texi:45411 guix-git/doc/guix.texi:45467 #: guix-git/doc/guix.texi:45575 guix-git/doc/guix.texi:47477 #: guix-git/doc/guix.texi:47523 guix-git/doc/guix.texi:47617 #: guix-git/doc/guix.texi:47682 guix-git/doc/guix.texi:48078 #: guix-git/doc/guix.texi:48122 #, no-wrap msgid "Note" msgstr "Nota" #. type: quotation #: guix-git/doc/contributing.texi:305 msgid "By default, hooks are installed such that @command{guix git authenticate} is invoked anytime you run @command{git pull} or @command{git push}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:309 msgid "After updating the repository, @command{make} might fail with an error similar to the following example:" msgstr "Después de actualizar el repositorio, @command{make} podría fallar con un error similar al del ejemplo siguiente:" #. type: example #: guix-git/doc/contributing.texi:313 #, fuzzy, no-wrap #| msgid "" #| "error: failed to load 'gnu/packages/dunst.scm':\n" #| "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" msgid "" "error: failed to load 'gnu/packages/linux.scm':\n" "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" msgstr "" "error: fallo al cargar 'gnu/packages/dunst.scm':\n" "ice-9/eval.scm:293:34: En el procedimiento abi-check: #<record-type <origin>>: registro ABI erróneo; se necesita recompilación\n" #. type: Plain text #: guix-git/doc/contributing.texi:319 msgid "This means that one of the record types that Guix defines (in this example, the @code{origin} record) has changed, and all of guix needs to be recompiled to take that change into account. To do so, run @command{make clean-go} followed by @command{make}." msgstr "Esto significa que uno de los tipos de registro que Guix define (en este ejemplo, el registro @code{origin}) ha cambiado, y todo guix necesita ser recompilado para tener en cuenta ese cambio. Para ello, ejecute @command{make clean-go} seguido de @command{make}." #. type: Plain text #: guix-git/doc/contributing.texi:323 msgid "Should @command{make} fail with an Automake error message after updating, you need to repeat the steps outlined in this section, commencing with @command{./bootstrap}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:327 #, no-wrap msgid "test suite" msgstr "batería de pruebas" #. type: Plain text #: guix-git/doc/contributing.texi:333 msgid "After a successful @command{configure} and @code{make} run, it is a good idea to run the test suite. It can help catch issues with the setup or environment, or bugs in Guix itself---and really, reporting test failures is a good way to help improve the software. To run the test suite, type:" msgstr "Después de una ejecución exitosa de @command{configure} y @code{make}, es una buena idea ejecutar la batería de pruebas. Puede ayudar a encontrar problemas con la configuración o el entorno, o errores en el mismo Guix---e informar de fallos en las pruebas es realmente una buena forma de ayudar a mejorar el software. Para ejecutar la batería de pruebas, teclee:" #. type: example #: guix-git/doc/contributing.texi:336 #, no-wrap msgid "make check\n" msgstr "make check\n" # TODO (MAAV): caché #. type: Plain text #: guix-git/doc/contributing.texi:343 msgid "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}make to speed things up. The first run may take a few minutes on a recent machine; subsequent runs will be faster because the store that is created for test purposes will already have various things in cache." msgstr "Los casos de prueba pueden ejecutarse en paralelo: puede usar la opción @code{-j} de GNU@tie{}make para acelerar las cosas. La primera ejecución puede tomar algunos minutos en una máquina reciente; las siguientes ejecuciones serán más rápidas puesto que el almacén creado para las pruebas ya tendrá varias cosas en la caché." #. type: Plain text #: guix-git/doc/contributing.texi:346 msgid "It is also possible to run a subset of the tests by defining the @code{TESTS} makefile variable as in this example:" msgstr "También es posible ejecutar un subconjunto de las pruebas definiendo la variable de makefile @code{TESTS} como en el ejemplo:" #. type: example #: guix-git/doc/contributing.texi:349 #, no-wrap msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" msgstr "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:354 msgid "By default, tests results are displayed at a file level. In order to see the details of every individual test cases, it is possible to define the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:" msgstr "Por defecto, los resultados de las pruebas se muestran a nivel de archivo. Para ver los detalles de cada caso de prueba individual, es posible definir la variable de makefile @code{SCM_LOG_DRIVER_FLAGS} como en el ejemplo:" #. type: example #: guix-git/doc/contributing.texi:357 #, no-wrap msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:365 msgid "The underlying SRFI 64 custom Automake test driver used for the 'check' test suite (located at @file{build-aux/test-driver.scm}) also allows selecting which test cases to run at a finer level, via its @option{--select} and @option{--exclude} options. Here's an example, to run all the test cases from the @file{tests/packages.scm} test file whose names start with ``transaction-upgrade-entry'':" msgstr "" #. type: example #: guix-git/doc/contributing.texi:369 #, no-wrap msgid "" "export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n" "make check TESTS=\"tests/packages.scm\"\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:375 msgid "Those wishing to inspect the results of failed tests directly from the command line can add the @option{--errors-only=yes} option to the @code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE} Automake makefile variable, as in:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:378 #, fuzzy, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:383 msgid "The @option{--show-duration=yes} option can be used to print the duration of the individual test cases, when used in combination with @option{--brief=no}:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:386 #, fuzzy, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:390 msgid "@xref{Parallel Test Harness,,,automake,GNU Automake} for more information about the Automake Parallel Test Harness." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:395 msgid "Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file. Please specify the Guix version being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message." msgstr "En caso de fallo, le rogamos que envíe un correo a @email{bug-guix@@gnu.org} y adjunte el archivo @file{test-suite.log}. Por favor, especifique la versión de Guix usada así como los números de versión de las dependencias (@pxref{Requirements}) en su mensaje." #. type: Plain text #: guix-git/doc/contributing.texi:399 msgid "Guix also comes with a whole-system test suite that tests complete Guix System instances. It can only run on systems where Guix is already installed, using:" msgstr "Guix también viene como una batería de pruebas del sistema completo que prueban instancias completas del sistema Guix. Se puede ejecutar únicamente en sistemas donde Guix ya está instalado, usando:" #. type: example #: guix-git/doc/contributing.texi:402 #, no-wrap msgid "make check-system\n" msgstr "make check-system\n" #. type: Plain text #: guix-git/doc/contributing.texi:406 msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" msgstr "o, de nuevo, definiendo @code{TESTS} para seleccionar un subconjunto de las pruebas a ejecutar:" #. type: example #: guix-git/doc/contributing.texi:409 #, no-wrap msgid "make check-system TESTS=\"basic mcron\"\n" msgstr "make check-system TESTS=\"basic mcron\"\n" # TODO: (MAAV) baratas? #. type: Plain text #: guix-git/doc/contributing.texi:417 msgid "These system tests are defined in the @code{(gnu tests @dots{})} modules. They work by running the operating systems under test with lightweight instrumentation in a virtual machine (VM). They can be computationally intensive or rather cheap, depending on whether substitutes are available for their dependencies (@pxref{Substitutes}). Some of them require a lot of storage space to hold VM images." msgstr "Estas pruebas de sistema están definidas en los módulos @code{(gnu tests @dots{})}. Funcionan ejecutando el sistema operativo con una instrumentación ligera en una máquina virtual (VM). Pueden ser computacionalmente intensivas o bastante baratas, dependiendo de si hay sustituciones disponibles para sus dependencias (@pxref{Substitutes}). Algunas requieren mucho espacio de almacenamiento para alojar las imágenes de la máquina virtual." #. type: Plain text #: guix-git/doc/contributing.texi:419 #, fuzzy #| msgid "If you get an error like this one:" msgid "If you encounter an error like:" msgstr "Si se produce un error como el siguiente:" #. type: example #: guix-git/doc/contributing.texi:425 #, no-wrap msgid "" "Compiling Scheme modules...\n" "ice-9/eval.scm:142:16: In procedure compile-top-call:\n" "error: all-system-tests: unbound variable\n" "hint: Did you forget `(use-modules (gnu tests))'?\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:431 msgid "there may be inconsistencies in the work tree from previous builds. To resolve this, try running @command{make clean-go} followed by @command{make}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:434 msgid "Again in case of test failures, please send @email{bug-guix@@gnu.org} all the details." msgstr "De nuevo, en caso de fallos en las pruebas, le rogamos que envíe a @email{bug-guix@@gnu.org} todos los detalles." #. type: Plain text #: guix-git/doc/contributing.texi:442 msgid "In order to keep a sane working environment, you will find it useful to test the changes made in your local source tree checkout without actually installing them. So that you can distinguish between your ``end-user'' hat and your ``motley'' costume." msgstr "Para mantener un entorno de trabajo estable, encontrará útil probar los cambios hechos en su copia de trabajo local sin instalarlos realmente. De esa manera, puede distinguir entre su sombrero de ``usuaria final'' y el traje de ``harapos''." # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:452 #, fuzzy #| msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; it is generated by running @command{./bootstrap} followed by @command{./configure}). As an example, here is how you would build the @code{hello} package as defined in your working tree (this assumes @command{guix-daemon} is already running on your system; it's OK if it's a different version):" msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; @pxref{Building from Git} to generate it). As an example, here is how you would build the @code{hello} package as defined in your working tree (this assumes @command{guix-daemon} is already running on your system; it's OK if it's a different version):" msgstr "Para dicho fin, todas las herramientas de línea de comandos pueden ser usadas incluso si no ha ejecutado @code{make install}. Para hacerlo, primero necesita tener un entorno con todas las dependencias disponibles (@pxref{Building from Git}) y entonces añada al inicio de cada orden @command{./pre-inst-env} (el guión @file{pre-inst-env} se encuentra en la raíz del árbol de compilación de Guix; se genera ejecutando @command{./bootstrap} seguido de @command{./configure}). A modo de ejemplo puede ver a continuación cómo construiría el paquete @code{hello} que se encuentre definido en su directorio de trabajo (esto asume que @command{guix daemon} se esté ejecutando en su sistema; no es un problema que la versión sea diferente):" #. type: example #: guix-git/doc/contributing.texi:455 #, no-wrap msgid "$ ./pre-inst-env guix build hello\n" msgstr "$ ./pre-inst-env guix build hello\n" #. type: Plain text #: guix-git/doc/contributing.texi:459 msgid "Similarly, an example for a Guile session using the Guix modules:" msgstr "De manera similar, un ejemplo de una sesión de Guile con los módulos Guix disponibles:" #. type: example #: guix-git/doc/contributing.texi:462 #, no-wrap msgid "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" msgstr "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" #. type: example #: guix-git/doc/contributing.texi:464 #, no-wrap msgid ";;; (\"x86_64-linux\")\n" msgstr ";;; (\"x86_64-linux\")\n" #. type: cindex #: guix-git/doc/contributing.texi:467 #, no-wrap msgid "REPL" msgstr "REPL" #. type: cindex #: guix-git/doc/contributing.texi:468 #, no-wrap msgid "read-eval-print loop" msgstr "sesión interactiva" #. type: Plain text #: guix-git/doc/contributing.texi:470 #, fuzzy #| msgid "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile Reference Manual}):" msgid "@dots{} and for a REPL (@pxref{Using Guix Interactively}):" msgstr "@dots{} y para un entorno interactivo (REPL) (@pxref{Using Guile Interactively,,, guile, Guile Reference Manual}):" #. type: example #: guix-git/doc/contributing.texi:485 #, no-wrap msgid "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" msgstr "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define serpientes\n" " (fold-packages\n" " (lambda (paquete lst)\n" " (if (string-prefix? \"python\"\n" " (package-name paquete))\n" " (cons paquete lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length serpientes)\n" "$1 = 361\n" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:493 msgid "If you are hacking on the daemon and its supporting code or if @command{guix-daemon} is not already running on your system, you can launch it straight from the build tree@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}:" msgstr "Si modifica el código del daemon o código auxiliar, o si @command{guix-daemon} no se está ejecutando todavía en su sistema, puede ejecutarlo desde el árbol de construción@footnote{La opción @option{-E} a @command{sudo} asegura que @code{GUILE_LOAD_PATH} contiene la información correcta para que @command{guix-daemon} y las herramientas que usa puedan encontrar los módulos Guile que necesitan.}:" #. type: example #: guix-git/doc/contributing.texi:496 #, no-wrap msgid "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" msgstr "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" #. type: Plain text #: guix-git/doc/contributing.texi:500 msgid "The @command{pre-inst-env} script sets up all the environment variables necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." msgstr "El guión @command{pre-inst-env} proporciona valor a todas las variables de entorno necesarias para permitirlo, incluyendo @env{PATH} y @env{GUILE_LOAD_PATH}." #. type: Plain text #: guix-git/doc/contributing.texi:505 msgid "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to upgrade your local source tree." msgstr "Fíjese que la orden @command{./pre-inst-env guix pull} @emph{no} actualiza el árbol de fuentes local; simplemente actualiza el enlace @file{~/.config/guix/latest} (@pxref{Invoking guix pull}). Ejecute @command{git pull} si quiere actualizar su árbol de fuentes local." #. type: Plain text #: guix-git/doc/contributing.texi:509 msgid "Sometimes, especially if you have recently updated your repository, running @command{./pre-inst-env} will print a message similar to the following example:" msgstr "A veces, especialmente si ha actualizado recientemente su repositorio, la ejecución de @command{./pre-inst-env} imprimirá un mensaje similar al siguiente ejemplo:" #. type: example #: guix-git/doc/contributing.texi:513 #, no-wrap msgid "" ";;; note: source file /home/user/projects/guix/guix/progress.scm\n" ";;; newer than compiled /home/user/projects/guix/guix/progress.go\n" msgstr "" ";;; nota: archivo fuente /home/user/projects/guix/guix/progress.scm\n" ";;; más reciente que el compilado /home/user/projects/guix/guix/progress.go\n" #. type: Plain text #: guix-git/doc/contributing.texi:519 msgid "This is only a note and you can safely ignore it. You can get rid of the message by running @command{make -j4}. Until you do, Guile will run slightly slower because it will interpret the code instead of using prepared Guile object (@file{.go}) files." msgstr "Esto es sólo una nota y se puede ignorar con seguridad. Puede deshacerse del mensaje ejecutando @command{make -j4}. Hasta que lo haga, Guile se ejecutará ligeramente más lento porque interpretará el código en lugar de utilizar archivos de objetos Guile preparados (@file{.go})." #. type: Plain text #: guix-git/doc/contributing.texi:524 msgid "You can run @command{make} automatically as you work using @command{watchexec} from the @code{watchexec} package. For example, to build again each time you update a package file, run @samp{watchexec -w gnu/packages -- make -j4}." msgstr "Puede ejecutar @command{make} automáticamente mientras trabaja utilizando @command{watchexec} del paquete @code{watchexec}. Por ejemplo, para construir de nuevo cada vez que actualice un archivo de paquete, ejecute @samp{watchexec -w gnu/packages -- make -j4}." #. type: Plain text #: guix-git/doc/contributing.texi:533 msgid "The Perfect Setup to hack on Guix is basically the perfect setup used for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}). First, you need more than an editor, you need @url{https://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:" msgstr "La configuración perfecta para hackear en Guix es básicamente la configuración perfecta para hacerlo en Guile (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}). Primero, necesita más que un editor, necesita @url{https://www.gnu.org/software/emacs, Emacs}, con su potencia aumentada gracias al maravilloso @url{https://nongnu.org/geiser, Geiser}. Para conseguir esta configuración ejecute:" #. type: example #: guix-git/doc/contributing.texi:536 #, fuzzy, no-wrap #| msgid "guix package -i emacs guile emacs-geiser emacs-geiser-guile\n" msgid "guix install emacs guile emacs-geiser emacs-geiser-guile\n" msgstr "guix package -i emacs guile emacs-geiser emacs-geiser-guile\n" #. type: Plain text #: guix-git/doc/contributing.texi:546 #, fuzzy #| msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix development, make sure to augment Guile’s load path so that it finds source files from your checkout:" msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}). If you allow Emacs to load the @file{.dir-locals.el} file at the root of the project checkout, it will cause Geiser to automatically add the local Guix sources to the Guile load path." msgstr "Geiser permite desarrollo incremental e interactivo dentro de Emacs: compilación y evaluación de código dentro de los buffers, acceso a documentación en línea (docstrings), completado dependiente del contexto, @kbd{M-.} para saltar a la definición de un objeto, una consola interactiva (REPL) para probar su código, y más (@pxref{Introduction,,, geiser, Geiser User Manual}). Para desarrollar Guix adecuadamente, asegúrese de aumentar la ruta de carga de Guile (load-path) para que encuentre los archivos fuente de su copia de trabajo:" # TODO: (MAAV) ¿Neat? ¿Qué traducción hay? #. type: Plain text #: guix-git/doc/contributing.texi:553 msgid "To actually edit the code, Emacs already has a neat Scheme mode. But in addition to that, you must not miss @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc." msgstr "Para realmente editar el código, Emacs tiene un modo para Scheme muy limpio. Pero además de eso, no debe perderse @url{http://www.emacswiki.org/emacs/ParEdit, Paredit}. Provee de facilidades para operar directamente en el árbol sintáctico como elevar una expresión-S o recubrirla, embeber o expulsar la siguiente expresión-S, etc." #. type: cindex #: guix-git/doc/contributing.texi:554 #, no-wrap msgid "code snippets" msgstr "fragmentos de código" #. type: cindex #: guix-git/doc/contributing.texi:555 #, no-wrap msgid "templates" msgstr "plantillas" # FUZZY # TODO: (MAAV) ¿Boilerplate? #. type: cindex #: guix-git/doc/contributing.texi:556 #, no-wrap msgid "reducing boilerplate" msgstr "reducir la verborrea" #. type: Plain text #: guix-git/doc/contributing.texi:566 #, fuzzy #| msgid "We also provide templates for common git commit messages and package definitions in the @file{etc/snippets} directory. These templates can be used with @url{https://joaotavora.github.io/yasnippet/, YASnippet} to expand short trigger strings to interactive text snippets. You may want to add the snippets directory to the @var{yas-snippet-dirs} variable in Emacs." msgid "We also provide templates for common git commit messages and package definitions in the @file{etc/snippets} directory. These templates can be used to expand short trigger strings to interactive text snippets. If you use @url{https://joaotavora.github.io/yasnippet/, YASnippet}, you may want to add the @file{etc/snippets/yas} snippets directory to the @var{yas-snippet-dirs} variable. If you use @url{https://github.com/minad/tempel/, Tempel}, you may want to add the @file{etc/snippets/tempel/*} path to the @var{tempel-path} variable in Emacs." msgstr "También proporcionamos plantillas para los mensajes de revisión de git comunes y definiciones de paquetes en el directorio @file{etc/snippets}. Estas plantillas pueden ser usadas con @url{https://joaotavora.github.io/yasnippet, YASnippet} para expandir mnemotécnicos a fragmentos interactivos de texto. Puedes querer añadir el directorio de fragmentos a la variable @var{yas-snippet-dirs} en Emacs." #. type: lisp #: guix-git/doc/contributing.texi:578 #, no-wrap msgid "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" ";; @r{Yasnippet configuration}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel configuration}\n" "(with-eval-after-load 'tempel\n" " ;; Ensure tempel-path is a list -- it may also be a string.\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path)))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" msgstr "" ";; @r{Suponiendo que el checkout de Guix está en ~/src/guix.}\n" ";; @r{Configuración de yasnippet}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel configuration}\n" "(con-eval-after-load 'tempel\n" " ;; Asegúrese de que tempel-path es una lista -- también puede ser una cadena.\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" #. type: Plain text #: guix-git/doc/contributing.texi:586 msgid "The commit message snippets depend on @url{https://magit.vc/, Magit} to display staged files. When editing a commit message type @code{add} followed by @kbd{TAB} to insert a commit message template for adding a package; type @code{update} followed by @kbd{TAB} to insert a template for updating a package; type @code{https} followed by @kbd{TAB} to insert a template for changing the home page URI of a package to HTTPS." msgstr "Los fragmentos de mensajes de la revisión dependen de @url{https://magit.vc/, Magit} para mostrar los archivos preparados. En la edición del mensaje de la revisión teclee @code{add} seguido de @kbd{TAB} (el tabulador) para insertar la plantilla del mensaje de la revisión de adición de un paquete; teclee @code{update} seguido de @kbd{TAB} para insertar una plantilla de actualización de un paquete; teclee @code{https} seguido de @kbd{TAB} para insertar una plantilla para cambiar la URI de la página de un paquete a HTTPS." #. type: Plain text #: guix-git/doc/contributing.texi:592 msgid "The main snippet for @code{scheme-mode} is triggered by typing @code{package...} followed by @kbd{TAB}. This snippet also inserts the trigger string @code{origin...}, which can be expanded further. The @code{origin} snippet in turn may insert other trigger strings ending on @code{...}, which also can be expanded further." msgstr "El fragmento principal para @code{scheme-mode} es activado al teclear @code{package...} seguido de @kbd{TAB}. Este fragmento también inserta el lanzador @code{origin...} que puede ser expandido de nuevo. El fragmento @code{origin} puede a su vez insertar otros identificadores de lanzado terminando en @code{...}, que pueden ser expandidos de nuevo." #. type: cindex #: guix-git/doc/contributing.texi:593 #, no-wrap msgid "insert or update copyright" msgstr "introduce o actualiza el copyright" #. type: code{#1} #: guix-git/doc/contributing.texi:594 #, no-wrap msgid "M-x guix-copyright" msgstr "M-x guix-copyright" #. type: code{#1} #: guix-git/doc/contributing.texi:595 #, no-wrap msgid "M-x copyright-update" msgstr "M-x copyright-update" #. type: Plain text #: guix-git/doc/contributing.texi:599 msgid "We additionally provide insertion and automatic update of a copyright in @file{etc/copyright.el}. You may want to set your full name, mail, and load a file." msgstr "También proporcionamos herramientas para la inserción y actualización automática del copyright en @file{etc/copyright.el}. Puede proporcionar su nombre completo, correo electrónico y cargar el archivo." #. type: lisp #: guix-git/doc/contributing.texi:605 #, no-wrap msgid "" "(setq user-full-name \"Alice Doe\")\n" "(setq user-mail-address \"alice@@mail.org\")\n" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" msgstr "" "(setq user-full-name \"Alicia Díaz\")\n" "(setq user-mail-address \"alicia@@correo.org\")\n" ";; @r{Se asume que la copia trabajo de guix está en ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" #. type: Plain text #: guix-git/doc/contributing.texi:608 msgid "To insert a copyright at the current line invoke @code{M-x guix-copyright}." msgstr "Para insertar el aviso de copyright en la línea actual invoque @code{M-x guix-copyright}." #. type: Plain text #: guix-git/doc/contributing.texi:610 msgid "To update a copyright you need to specify a @code{copyright-names-regexp}." msgstr "Para actualizar el aviso de copyright debe especificar una expresión regular de nombres en la variable @code{copyright-names-regexp}." #. type: lisp #: guix-git/doc/contributing.texi:614 #, no-wrap msgid "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" msgstr "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" #. type: Plain text #: guix-git/doc/contributing.texi:620 msgid "You can check if your copyright is up to date by evaluating @code{M-x copyright-update}. If you want to do it automatically after each buffer save then add @code{(add-hook 'after-save-hook 'copyright-update)} in Emacs." msgstr "Puede comprobar si su copyright está actualizado evaluando @code{M-x copyright-update}. Si desea hacerlo de manera automática tras guardar un archivo añada @code{(add-hook 'after-save-hook 'copyright-update)} en Emacs." #. type: subsection #: guix-git/doc/contributing.texi:621 guix-git/doc/contributing.texi:622 #, no-wrap msgid "Viewing Bugs within Emacs" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:632 msgid "Emacs has a nice minor mode called @code{bug-reference}, which, when combined with @samp{emacs-debbugs} (the Emacs package), can be used to open links such as @samp{<https://bugs.gnu.org/58697>} or @samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From there you can easily consult the email thread via the Gnus interface, reply or modify the bug status, all without leaving the comfort of Emacs! Below is a sample configuration to add to your @file{~/.emacs} configuration file:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:641 #, no-wrap msgid "" ";;; Bug references.\n" "(require 'bug-reference)\n" "(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n" "(add-hook 'gnus-mode-hook #'bug-reference-mode)\n" "(add-hook 'erc-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:673 #, no-wrap msgid "" ";;; This extends the default expression (the top-most, first expression\n" ";;; provided to 'or') to also match URLs such as\n" ";;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.\n" ";;; It is also extended to detect \"Fixes: #NNNNN\" git trailers.\n" "(setq bug-reference-bug-regexp\n" " (rx (group (or (seq word-boundary\n" " (or (seq (char \"Bb\") \"ug\"\n" " (zero-or-one \" \")\n" " (zero-or-one \"#\"))\n" " (seq (char \"Pp\") \"atch\"\n" " (zero-or-one \" \")\n" " \"#\")\n" " (seq (char \"Ff\") \"ixes\"\n" " (zero-or-one \":\")\n" " (zero-or-one \" \") \"#\")\n" " (seq \"RFE\"\n" " (zero-or-one \" \") \"#\")\n" " (seq \"PR \"\n" " (one-or-more (char \"a-z+-\")) \"/\"))\n" " (group (one-or-more (char \"0-9\"))\n" " (zero-or-one\n" " (seq \"#\" (one-or-more\n" " (char \"0-9\"))))))\n" " (seq (? \"<\") \"https://bugs.gnu.org/\"\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))\n" " (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n" " (? \"issue/\")\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))))))\n" "(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:678 #, no-wrap msgid "" "(require 'debbugs)\n" "(require 'debbugs-browse)\n" "(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n" "(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:689 #, no-wrap msgid "" ";; The following allows Emacs Debbugs user to open the issue directly within\n" ";; Emacs.\n" "(setq debbugs-browse-url-regexp\n" " (rx line-start\n" " \"http\" (zero-or-one \"s\") \"://\"\n" " (or \"debbugs\" \"issues.guix\" \"bugs\")\n" " \".gnu.org\" (one-or-more \"/\")\n" " (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n" " (group-n 3 (one-or-more digit))\n" " line-end))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:692 #, no-wrap msgid "" ";; Change the default when run as 'M-x debbugs-gnu'.\n" "(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:696 #, no-wrap msgid "" ";; Show feature requests.\n" "(setq debbugs-gnu-default-severities\n" " '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:701 msgid "For more information, refer to @ref{Bug Reference,,, emacs, The GNU Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:708 msgid "Alternative setups than Emacs may let you work on Guix with a similar development experience and they might work better with the tools you currently use or help you make the transition to Emacs." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:714 msgid "The options listed below only provide the alternatives to the Emacs based setup, which is the most widely used in the Guix community. If you want to really understand how is the perfect setup for Guix development supposed to work, we encourage you to read the section before this regardless the editor you choose to use." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:720 #: guix-git/doc/contributing.texi:721 #, no-wrap msgid "Guile Studio" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "First step in your transition to Emacs." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:733 #: guix-git/doc/contributing.texi:734 #, no-wrap msgid "Vim and NeoVim" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "When you are evil to the root." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:726 msgid "Guile Studio is a pre-configured Emacs with mostly everything you need to start hacking in Guile. If you are not familiar with Emacs it makes the transition easier for you." msgstr "" #. type: example #: guix-git/doc/contributing.texi:729 #, fuzzy, no-wrap #| msgid "guix install glib\n" msgid "guix install guile-studio\n" msgstr "guix install glib\n" #. type: Plain text #: guix-git/doc/contributing.texi:732 msgid "Guile Studio comes with Geiser preinstalled and prepared for action." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:739 msgid "Vim (and NeoVim) are also packaged in Guix, just in case you decided to go for the evil path." msgstr "" #. type: example #: guix-git/doc/contributing.texi:742 #, fuzzy, no-wrap #| msgid "guix install glib\n" msgid "guix install vim\n" msgstr "guix install glib\n" #. type: Plain text #: guix-git/doc/contributing.texi:750 msgid "If you want to enjoy a similar development experience to that in the perfect setup, you should install several plugins to configure the editor. Vim (and NeoVim) have the equivalent to Paredit, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, that will help you with the structural editing of Scheme files (the support for very large files is not great, though)." msgstr "" #. type: example #: guix-git/doc/contributing.texi:753 #, fuzzy, no-wrap #| msgid "guix install emacs\n" msgid "guix install vim-paredit\n" msgstr "guix install emacs\n" #. type: Plain text #: guix-git/doc/contributing.texi:757 msgid "We also recommend that you run @code{:set autoindent} so that your code is automatically indented as you type." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:761 msgid "For the interaction with Git, @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} is the most commonly used plugin:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:764 #, fuzzy, no-wrap #| msgid "guix install glib\n" msgid "guix install vim-fugitive\n" msgstr "guix install glib\n" #. type: Plain text #: guix-git/doc/contributing.texi:769 msgid "And of course if you want to interact with Guix directly from inside of vim, using the built-in terminal emulator, we have our very own @code{guix.vim} package!" msgstr "" #. type: example #: guix-git/doc/contributing.texi:772 #, fuzzy, no-wrap #| msgid "guix install emacs-guix\n" msgid "guix install vim-guix-vim\n" msgstr "guix install emacs-guix\n" #. type: Plain text #: guix-git/doc/contributing.texi:777 msgid "In NeoVim you can even make a similar setup to Geiser using @url{https://conjure.fun/, Conjure} that lets you connect to a running Guile process and inject your code there live (sadly it's not packaged in Guix yet)." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:782 #, fuzzy, no-wrap #| msgid "integrity, of the store" msgid "structure, of the source tree" msgstr "integridad, del almacén" #. type: Plain text #: guix-git/doc/contributing.texi:786 msgid "If you're willing to contribute to Guix beyond packages, or if you'd like to learn how it all fits together, this section provides a guided tour in the code base that you may find useful." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:790 msgid "Overall, the Guix source tree contains almost exclusively Guile @dfn{modules}, each of which can be seen as an independent library (@pxref{Modules,,, guile, GNU Guile Reference Manual})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:795 msgid "The following table gives an overview of the main directories and what they contain. Remember that in Guile, each module name is derived from its file name---e.g., the module in file @file{guix/packages.scm} is called @code{(guix packages)}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:797 guix-git/doc/contributing.texi:3408 #: guix-git/doc/guix.texi:11315 #, no-wrap msgid "guix" msgstr "guix" #. type: table #: guix-git/doc/contributing.texi:801 msgid "This is the location of core Guix mechanisms. To illustrate what is meant by ``core'', here are a few examples, starting from low-level tools and going towards higher-level tools:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:803 #, fuzzy, no-wrap #| msgid "guix size" msgid "(guix store)" msgstr "guix size" #. type: table #: guix-git/doc/contributing.texi:805 msgid "Connecting to and interacting with the build daemon (@pxref{The Store})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:805 #, fuzzy, no-wrap #| msgid "derivations" msgid "(guix derivations)" msgstr "derivaciones" #. type: table #: guix-git/doc/contributing.texi:807 #, fuzzy #| msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})." msgid "Creating derivations (@pxref{Derivations})." msgstr "El resto de parámetros funcionan como en @code{derivation} (@pxref{Derivations})." #. type: item #: guix-git/doc/contributing.texi:807 #, fuzzy, no-wrap #| msgid "guix pull" msgid "(guix gexps)" msgstr "guix pull" #. type: table #: guix-git/doc/contributing.texi:809 msgid "Writing G-expressions (@pxref{G-Expressions})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:809 #, fuzzy, no-wrap #| msgid "package" msgid "(guix packages)" msgstr "package" #. type: table #: guix-git/doc/contributing.texi:811 msgid "Defining packages and origins (@pxref{package Reference})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:811 #, fuzzy, no-wrap #| msgid "guix download" msgid "(guix download)" msgstr "guix download" #. type: itemx #: guix-git/doc/contributing.texi:812 #, fuzzy, no-wrap #| msgid "guix download" msgid "(guix git-download)" msgstr "guix download" #. type: table #: guix-git/doc/contributing.texi:815 msgid "The @code{url-fetch} and @code{git-fetch} origin download methods (@pxref{origin Reference})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:815 #, fuzzy, no-wrap #| msgid "guix hash" msgid "(guix swh)" msgstr "guix hash" #. type: table #: guix-git/doc/contributing.texi:818 #, fuzzy #| msgid "Checks whether the package's source code is archived at @uref{https://www.softwareheritage.org, Software Heritage}." msgid "Fetching source code from the @uref{https://archive.softwareheritage.org,Software Heritage archive}." msgstr "Comprueba si el código fuente del paquete se encuentra archivado en @uref{https://www.softwareheritage.org, Software Heritage}." #. type: item #: guix-git/doc/contributing.texi:818 #, fuzzy, no-wrap #| msgid "--search-paths" msgid "(guix search-paths)" msgstr "--search-paths" #. type: table #: guix-git/doc/contributing.texi:820 msgid "Implementing search paths (@pxref{Search Paths})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:820 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "(guix build-system)" msgstr "guile-build-system" #. type: table #: guix-git/doc/contributing.texi:822 #, fuzzy #| msgid "The build system that should be used to build the package (@pxref{Build Systems})." msgid "The build system interface (@pxref{Build Systems})." msgstr "El sistema de construcción que debe ser usado para construir el paquete (@pxref{Build Systems})." #. type: item #: guix-git/doc/contributing.texi:822 #, fuzzy, no-wrap #| msgid "Invoking guix processes" msgid "(guix profiles)" msgstr "Invocación de guix processes" #. type: table #: guix-git/doc/contributing.texi:824 #, fuzzy #| msgid "Implementing data structures." msgid "Implementing profiles." msgstr "Implementación de estructuras de datos." #. type: cindex #: guix-git/doc/contributing.texi:826 #, no-wrap msgid "build system, directory structure" msgstr "" #. type: item #: guix-git/doc/contributing.texi:827 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "guix/build-system" msgstr "guile-build-system" #. type: table #: guix-git/doc/contributing.texi:830 msgid "This directory contains specific build system implementations (@pxref{Build Systems}), such as:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:832 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "(guix build-system gnu)" msgstr "guile-build-system" #. type: table #: guix-git/doc/contributing.texi:834 #, fuzzy #| msgid "GNU Build System" msgid "the GNU build system;" msgstr "Sistema de construcción GNU" #. type: item #: guix-git/doc/contributing.texi:834 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "(guix build-system cmake)" msgstr "guile-build-system" #. type: table #: guix-git/doc/contributing.texi:836 #, fuzzy #| msgid "haskell-build-system" msgid "the CMake build system;" msgstr "haskell-build-system" #. type: item #: guix-git/doc/contributing.texi:836 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "(guix build-system pyproject)" msgstr "guile-build-system" #. type: table #: guix-git/doc/contributing.texi:838 #, fuzzy #| msgid "emacs-build-system" msgid "The Python ``pyproject'' build system." msgstr "emacs-build-system" #. type: item #: guix-git/doc/contributing.texi:840 #, fuzzy, no-wrap #| msgid "guix build" msgid "guix/build" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:845 msgid "This contains code generally used on the ``build side'' (@pxref{G-Expressions, strata of code}). This includes code used to build packages or other operating system components, as well as utilities:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:847 #, fuzzy, no-wrap #| msgid "guix build" msgid "(guix build utils)" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:849 #, fuzzy #| msgid "Helpers for your package definitions and more." msgid "Utilities for package definitions and more (@pxref{Build Utilities})." msgstr "Herramientas para sus definiciones de paquete y más." #. type: item #: guix-git/doc/contributing.texi:849 #, fuzzy, no-wrap #| msgid "guile-build-system" msgid "(guix build gnu-build-system)" msgstr "guile-build-system" #. type: itemx #: guix-git/doc/contributing.texi:850 #, fuzzy, no-wrap #| msgid "cmake-build-system" msgid "(guix build cmake-build-system)" msgstr "cmake-build-system" #. type: itemx #: guix-git/doc/contributing.texi:851 #, fuzzy, no-wrap #| msgid "emacs-build-system" msgid "(guix build pyproject-build-system)" msgstr "emacs-build-system" #. type: table #: guix-git/doc/contributing.texi:854 msgid "Implementation of build systems, and in particular definition of their build phases (@pxref{Build Phases})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:854 #, fuzzy, no-wrap #| msgid "guix build bash\n" msgid "(guix build syscalls)" msgstr "guix build bash\n" #. type: table #: guix-git/doc/contributing.texi:856 msgid "Interface to the C library and to Linux system calls." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:858 #, no-wrap msgid "command-line tools, as Guile modules" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:859 #, fuzzy, no-wrap #| msgid "Package Modules" msgid "command modules" msgstr "Módulos de paquetes" #. type: item #: guix-git/doc/contributing.texi:860 #, fuzzy, no-wrap #| msgid "guix describe\n" msgid "guix/scripts" msgstr "guix describe\n" #. type: table #: guix-git/doc/contributing.texi:865 msgid "This contains modules corresponding to @command{guix} sub-commands. For example, the @code{(guix scripts shell)} module exports the @code{guix-shell} procedure, which directly corresponds to the @command{guix shell} command (@pxref{Invoking guix shell})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:866 #, fuzzy, no-wrap #| msgid "with-imported-modules" msgid "importer modules" msgstr "with-imported-modules" #. type: item #: guix-git/doc/contributing.texi:867 #, fuzzy, no-wrap #| msgid "--import" msgid "guix/import" msgstr "--import" #. type: table #: guix-git/doc/contributing.texi:872 msgid "This contains supporting code for the importers and updaters (@pxref{Invoking guix import}, and @pxref{Invoking guix refresh}). For example, @code{(guix import pypi)} defines the interface to PyPI, which is used by the @command{guix import pypi} command." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:887 msgid "The directories we have seen so far all live under @file{guix/}. The other important place is the @file{gnu/} directory, which contains primarily package definitions as well as libraries and tools for Guix System (@pxref{System Configuration}) and Guix Home (@pxref{Home Configuration}), all of which build upon functionality provided by @code{(guix @dots{})} modules@footnote{For this reason, @code{(guix @dots{})} modules must generally not depend on @code{(gnu @dots{})} modules, with notable exceptions: @code{(guix build-system @dots{})} modules may look up packages at run time---e.g., @code{(guix build-system cmake)} needs to access the @code{cmake} variable at run time---, @code{(guix scripts @dots{})} often rely on @code{(gnu @dots{})} modules, and the same goes for some of the @code{(guix import @dots{})} modules.}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:889 #, fuzzy, no-wrap #| msgid "Package Modules" msgid "package modules" msgstr "Módulos de paquetes" #. type: item #: guix-git/doc/contributing.texi:890 #, fuzzy, no-wrap #| msgid "packages" msgid "gnu/packages" msgstr "paquetes" #. type: table #: guix-git/doc/contributing.texi:894 msgid "This is by far the most crowded directory of the source tree: it contains @dfn{package modules} that export package definitions (@pxref{Package Modules}). A few examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:896 #, fuzzy, no-wrap #| msgid "" #| "(use-modules (gnu packages))\n" #| "\n" msgid "(gnu packages base)" msgstr "" "(use-modules (gnu packages))\n" "\n" #. type: table #: guix-git/doc/contributing.texi:899 msgid "Module providing ``base'' packages: @code{glibc}, @code{coreutils}, @code{grep}, etc." msgstr "" #. type: item #: guix-git/doc/contributing.texi:899 #, fuzzy, no-wrap #| msgid "package" msgid "(gnu packages guile)" msgstr "package" #. type: table #: guix-git/doc/contributing.texi:901 #, fuzzy #| msgid "Building packages." msgid "Guile and core Guile packages." msgstr "Construcción de paquetes." #. type: item #: guix-git/doc/contributing.texi:901 #, fuzzy, no-wrap #| msgid "package" msgid "(gnu packages linux)" msgstr "package" #. type: table #: guix-git/doc/contributing.texi:903 msgid "The Linux-libre kernel and related packages." msgstr "" #. type: item #: guix-git/doc/contributing.texi:903 #, fuzzy, no-wrap #| msgid "guix package @var{options}\n" msgid "(gnu packages python)" msgstr "guix package @var{opciones}\n" #. type: table #: guix-git/doc/contributing.texi:905 #, fuzzy #| msgid "inputs, for Python packages" msgid "Python and core Python packages." msgstr "entradas, para paquetes Python" #. type: item #: guix-git/doc/contributing.texi:905 #, no-wrap msgid "(gnu packages python-xyz)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:907 msgid "Miscellaneous Python packages (we were not very creative)." msgstr "" #. type: table #: guix-git/doc/contributing.texi:912 #, fuzzy #| msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})." msgid "In any case, you can jump to a package definition using @command{guix edit} (@pxref{Invoking guix edit}) and view its location with @command{guix show} (@pxref{Invoking guix package})." msgstr "Puede obtener esta información usando @code{guix download} (@pxref{Invoking guix download}) o @code{guix hash} (@pxref{Invoking guix hash})." #. type: findex #: guix-git/doc/contributing.texi:913 #, fuzzy, no-wrap #| msgid "--search-paths" msgid "search-patches" msgstr "--search-paths" #. type: item #: guix-git/doc/contributing.texi:914 #, no-wrap msgid "gnu/packages/patches" msgstr "" #. type: table #: guix-git/doc/contributing.texi:917 msgid "This directory contains patches applied against packages and obtained using the @code{search-patches} procedure." msgstr "" #. type: item #: guix-git/doc/contributing.texi:918 #, fuzzy, no-wrap #| msgid "services" msgid "gnu/services" msgstr "services" #. type: table #: guix-git/doc/contributing.texi:922 msgid "This contains service definitions, primarily for Guix System (@pxref{Services}) but some of them are adapted and reused for Guix Home as we will see below. Examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:924 #, fuzzy, no-wrap #| msgid "services" msgid "(gnu services)" msgstr "services" #. type: table #: guix-git/doc/contributing.texi:927 msgid "The service framework itself, which defines the service and service type data types (@pxref{Service Composition})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:927 #, fuzzy, no-wrap #| msgid "Linux Services" msgid "(gnu services base)" msgstr "Servicios de Linux" #. type: table #: guix-git/doc/contributing.texi:929 msgid "``Base'' services (@pxref{Base Services})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:929 #, fuzzy, no-wrap #| msgid "Monitoring services." msgid "(gnu services desktop)" msgstr "Servicios de monitorización." #. type: table #: guix-git/doc/contributing.texi:931 #, fuzzy #| msgid "This service is part of @code{%desktop-services} (@pxref{Desktop Services})." msgid "``Desktop'' services (@pxref{Desktop Services})." msgstr "Este servicio es parte de @code{%desktop-services} (@pxref{Desktop Services})." #. type: item #: guix-git/doc/contributing.texi:931 #, fuzzy, no-wrap #| msgid "one-shot services, for the Shepherd" msgid "(gnu services shepherd)" msgstr "servicios one-shot, para Shepherd" # TODO (MAAV): Comprobar. #. type: table #: guix-git/doc/contributing.texi:933 #, fuzzy #| msgid "A list of mapped devices. @xref{Mapped Devices}." msgid "Support for Shepherd services (@pxref{Shepherd Services})." msgstr "Una lista de dispositivos traducidos. @xref{Mapped Devices}." #. type: table #: guix-git/doc/contributing.texi:938 #, fuzzy #| msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})." msgid "You can jump to a service definition using @command{guix system edit} and view its location with @command{guix system search} (@pxref{Invoking guix system})." msgstr "Puede obtener esta información usando @code{guix download} (@pxref{Invoking guix download}) o @code{guix hash} (@pxref{Invoking guix hash})." #. type: item #: guix-git/doc/contributing.texi:939 #, fuzzy, no-wrap #| msgid "guix system vm" msgid "gnu/system" msgstr "guix system vm" #. type: table #: guix-git/doc/contributing.texi:941 msgid "These are core Guix System modules, such as:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:943 #, fuzzy, no-wrap #| msgid "guix system vm" msgid "(gnu system)" msgstr "guix system vm" #. type: table #: guix-git/doc/contributing.texi:945 #, fuzzy #| msgid "@code{operating-system} Reference" msgid "Defines @code{operating-system} (@pxref{operating-system Reference})." msgstr "Referencia de @code{operating-system}" #. type: item #: guix-git/doc/contributing.texi:945 #, fuzzy, no-wrap #| msgid "%base-file-systems" msgid "(gnu system file-systems)" msgstr "%base-file-systems" #. type: table #: guix-git/doc/contributing.texi:947 #, fuzzy #| msgid "A list of file systems. @xref{File Systems}." msgid "Defines @code{file-system} (@pxref{File Systems})." msgstr "Una lista de sistemas de archivos. @xref{File Systems}." #. type: item #: guix-git/doc/contributing.texi:947 #, fuzzy, no-wrap #| msgid "{Data Type} mapped-device" msgid "(gnu system mapped-devices)" msgstr "{Tipo de datos} mapped-device" # TODO (MAAV): Comprobar. #. type: table #: guix-git/doc/contributing.texi:949 #, fuzzy #| msgid "A list of mapped devices. @xref{Mapped Devices}." msgid "Defines @code{mapped-device} (@pxref{Mapped Devices})." msgstr "Una lista de dispositivos traducidos. @xref{Mapped Devices}." #. type: item #: guix-git/doc/contributing.texi:951 #, fuzzy, no-wrap #| msgid "guix build" msgid "gnu/build" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:955 msgid "These are modules that are either used on the ``build side'' when building operating systems or packages, or at run time by operating systems." msgstr "" #. type: item #: guix-git/doc/contributing.texi:957 #, fuzzy, no-wrap #| msgid "guix build bash\n" msgid "(gnu build accounts)" msgstr "guix build bash\n" #. type: table #: guix-git/doc/contributing.texi:960 msgid "Creating @file{/etc/passwd}, @file{/etc/shadow}, etc. (@pxref{User Accounts})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:960 #, fuzzy, no-wrap #| msgid "Do not build the derivations." msgid "(gnu build activation)" msgstr "No construye las derivaciones." #. type: table #: guix-git/doc/contributing.texi:962 #, fuzzy #| msgid "Manage the operating system configuration." msgid "Activating an operating system at boot time or reconfiguration time." msgstr "Gestión de la configuración del sistema operativo." #. type: item #: guix-git/doc/contributing.texi:962 #, fuzzy, no-wrap #| msgid "gnu-build-system" msgid "(gnu build file-systems)" msgstr "gnu-build-system" #. type: table #: guix-git/doc/contributing.texi:964 msgid "Searching, checking, and mounting file systems." msgstr "" #. type: item #: guix-git/doc/contributing.texi:964 #, no-wrap msgid "(gnu build linux-boot)" msgstr "" #. type: itemx #: guix-git/doc/contributing.texi:965 #, no-wrap msgid "(gnu build hurd-boot)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:967 #, fuzzy #| msgid "Configuring the operating system." msgid "Booting GNU/Linux and GNU/Hurd operating systems." msgstr "Configurar el sistema operativo." #. type: item #: guix-git/doc/contributing.texi:967 #, no-wrap msgid "(gnu build linux-initrd)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:969 #, fuzzy #| msgid "The list of Linux kernel modules that need to be available in the initial RAM disk. @xref{Initial RAM Disk}." msgid "Creating a Linux initial RAM disk (@pxref{Initial RAM Disk})." msgstr "La lista de módulos del núcleo Linux que deben estar disponibles en el disco inicial en RAM. @xref{Initial RAM Disk}." #. type: item #: guix-git/doc/contributing.texi:971 #, fuzzy, no-wrap #| msgid "guix pull\n" msgid "gnu/home" msgstr "guix pull\n" #. type: table #: guix-git/doc/contributing.texi:974 msgid "This contains all things Guix Home (@pxref{Home Configuration}); examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:976 #, fuzzy, no-wrap #| msgid "Other services." msgid "(gnu home services)" msgstr "Otros servicios." #. type: table #: guix-git/doc/contributing.texi:978 #, fuzzy #| msgid "This is the configuration record for the @code{earlyoom-service-type}." msgid "Core services such as @code{home-files-service-type}." msgstr "Esta es el registro de configuración para el servicio @code{earlyoom-service-type}." #. type: item #: guix-git/doc/contributing.texi:978 #, fuzzy, no-wrap #| msgid "Other services." msgid "(gnu home services ssh)" msgstr "Otros servicios." #. type: table #: guix-git/doc/contributing.texi:980 msgid "SSH-related services (@pxref{Secure Shell})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:982 #, fuzzy, no-wrap #| msgid "install" msgid "gnu/installer" msgstr "install" #. type: table #: guix-git/doc/contributing.texi:985 msgid "This contains the text-mode graphical system installer (@pxref{Guided Graphical Installation})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:986 #, fuzzy, no-wrap #| msgid "machine" msgid "gnu/machine" msgstr "machine" #. type: table #: guix-git/doc/contributing.texi:989 #, fuzzy #| msgid "This is the graph of the @dfn{referrers} of a store item, as returned by @command{guix gc --referrers} (@pxref{Invoking guix gc})." msgid "These are the @dfn{machine abstractions} used by @command{guix deploy} (@pxref{Invoking guix deploy})." msgstr "Este es el grafo de @dfn{referentes} de la salida de un paquete, como lo devuelve @command{guix gc --referrers} (@pxref{Invoking guix gc})." #. type: item #: guix-git/doc/contributing.texi:990 #, no-wrap msgid "gnu/tests" msgstr "" #. type: table #: guix-git/doc/contributing.texi:993 msgid "This contains system tests---tests that spawn virtual machines to check that system services work as expected (@pxref{Running the Test Suite})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:997 msgid "Last, there's also a few directories that contain files that are @emph{not} Guile modules:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:999 #, no-wrap msgid "nix" msgstr "nix" #. type: table #: guix-git/doc/contributing.texi:1002 #, fuzzy #| msgid "The @option{--listen} option of @command{guix-daemon} can be used to instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, @option{--listen}})." msgid "This is the C++ implementation of @command{guix-daemon}, inherited from Nix (@pxref{Invoking guix-daemon})." msgstr "La opción @option{--listen} de @command{guix-daemon} puede usarse para indicarle que escuche conexiones TCP (@pxref{Invoking guix-daemon, @option{--listen}})." #. type: item #: guix-git/doc/contributing.texi:1003 #, fuzzy, no-wrap #| msgid "test suite" msgid "tests" msgstr "batería de pruebas" #. type: table #: guix-git/doc/contributing.texi:1007 msgid "These are unit tests, each file corresponding more or less to one module, in particular @code{(guix @dots{})} modules (@pxref{Running the Test Suite})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1008 #, fuzzy, no-wrap #| msgid "kdc" msgid "doc" msgstr "kdc" #. type: table #: guix-git/doc/contributing.texi:1012 msgid "This is the documentation in the form of Texinfo files: this manual and the Cookbook. @xref{Writing a Texinfo File,,, texinfo, GNU Texinfo}, for information on Texinfo markup language." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1013 #, no-wrap msgid "po" msgstr "" #. type: table #: guix-git/doc/contributing.texi:1018 msgid "This is the location of translations of Guix itself, of package synopses and descriptions, of the manual, and of the cookbook. Note that @file{.po} files that live here are pulled directly from Weblate (@pxref{Translating Guix})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1019 #, no-wrap msgid "etc" msgstr "" #. type: table #: guix-git/doc/contributing.texi:1022 msgid "Miscellaneous files: shell completions, support for systemd and other init systems, Git hooks, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1029 msgid "With all this, a fair chunk of your operating system is at your fingertips! Beyond @command{grep} and @command{git grep}, @pxref{The Perfect Setup} on how to navigate code from your editor, and @pxref{Using Guix Interactively} for information on how to use Scheme modules interactively. Enjoy!" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1033 #, no-wrap msgid "packages, creating" msgstr "paquetes, creación" #. type: Plain text #: guix-git/doc/contributing.texi:1037 msgid "The GNU distribution is nascent and may well lack some of your favorite packages. This section describes how you can help make the distribution grow." msgstr "La distribución GNU es reciente y puede no disponer de alguno de sus paquetes favoritos. Esta sección describe cómo puede ayudar a hacer crecer la distribución." #. type: Plain text #: guix-git/doc/contributing.texi:1045 msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information." msgstr "Los paquetes de software libre habitualmente se distribuyen en forma de @dfn{archivadores de código fuente}---típicamente archivos @file{tar.gz} que contienen todos los archivos fuente. Añadir un paquete a la distribución significa esencialmente dos cosas: añadir una @dfn{receta} que describe cómo construir el paquete, la que incluye una lista de otros paquetes necesarios para la construcción, y añadir @dfn{metadatos del paquete} junto a dicha receta, como la descripción y la información de licencias." #. type: Plain text #: guix-git/doc/contributing.texi:1054 msgid "In Guix all this information is embodied in @dfn{package definitions}. Package definitions provide a high-level view of the package. They are written using the syntax of the Scheme programming language; in fact, for each package we define a variable bound to the package definition, and export that variable from a module (@pxref{Package Modules}). However, in-depth Scheme knowledge is @emph{not} a prerequisite for creating packages. For more information on package definitions, @pxref{Defining Packages}." msgstr "En Guix toda esta información está contenida en @dfn{definiciones de paquete}. Las definiciones de paquete proporcionan una vista de alto nivel del paquete. Son escritas usando la sintaxis del lenguaje de programación Scheme; de hecho, definimos una variable por cada paquete enlazada a su definición y exportamos esa variable desde un módulo (@pxref{Package Modules}). No obstante, un conocimiento profundo de Scheme @emph{no} es un pre-requisito para la creación de paquetes. Para más información obre las definiciones de paquetes, @pxref{Defining Packages}." #. type: Plain text #: guix-git/doc/contributing.texi:1060 msgid "Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} command (@pxref{Invoking guix build}). For example, assuming the new package is called @code{gnew}, you may run this command from the Guix build tree (@pxref{Running Guix Before It Is Installed}):" msgstr "Una vez que una definición de paquete está en su lugar, almacenada en un archivo del árbol de fuentes de Guix, puede probarse usando la orden @command{guix build} (@pxref{Invoking guix build}). Por ejemplo, asumiendo que el nuevo paquete se llama @code{gnuevo}, puede ejecutar esta orden desde el árbol de construcción de Guix (@pxref{Running Guix Before It Is Installed}):" #. type: example #: guix-git/doc/contributing.texi:1063 #, no-wrap msgid "./pre-inst-env guix build gnew --keep-failed\n" msgstr "./pre-inst-env guix build gnuevo --keep-failed\n" # FUZZY # MAAV: Log #. type: Plain text #: guix-git/doc/contributing.texi:1069 msgid "Using @code{--keep-failed} makes it easier to debug build failures since it provides access to the failed build tree. Another useful command-line option when debugging is @code{--log-file}, to access the build log." msgstr "El uso de @code{--keep-failed} facilita la depuración de errores de construcción ya que proporciona acceso al árbol de la construcción fallida. Otra opción útil de línea de órdenes para la depuración es @code{--log-file}, para acceder al log de construcción." #. type: Plain text #: guix-git/doc/contributing.texi:1074 msgid "If the package is unknown to the @command{guix} command, it may be that the source file contains a syntax error, or lacks a @code{define-public} clause to export the package variable. To figure it out, you may load the module from Guile to get more information about the actual error:" msgstr "Si el paquete resulta desconocido para la orden @command{guix}, puede ser que el archivo fuente contenga un error de sintaxis, o no tenga una cláusula @code{define-public} para exportar la variable del paquete. Para encontrar el problema puede cargar el módulo desde Guile para obtener más información sobre el error real:" #. type: example #: guix-git/doc/contributing.texi:1077 #, no-wrap msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnuevo))'\n" #. type: Plain text #: guix-git/doc/contributing.texi:1084 #, fuzzy #| msgid "Once your package builds correctly, please send us a patch (@pxref{Submitting Patches}). Well, if you need help, we will be happy to help you too. Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by @url{@value{SUBSTITUTE-URL}, our continuous integration system}." msgid "Once your package builds correctly, please send us a patch (@pxref{Submitting Patches}). Well, if you need help, we will be happy to help you too. Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by @url{https://@value{SUBSTITUTE-SERVER-1}, our continuous integration system}." msgstr "Una vez que se construya correctamente su paquete, por favor, envíenos un parche (@pxref{Submitting Patches}). En cualquier caso, si necesita ayuda también estaremos felices de ayudarle. Una vez el parche se haya incorporado al repositorio de Guix, el nuevo paquete se construye automáticamente en las plataformas disponibles por @url{@value{SUBSTITUTE-URL}, nuestro sistema de integración continua}." #. type: cindex #: guix-git/doc/contributing.texi:1085 #, no-wrap msgid "substituter" msgstr "servidor de sustituciones" #. type: Plain text #: guix-git/doc/contributing.texi:1092 #, fuzzy #| msgid "Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When @code{@value{SUBSTITUTE-SERVER}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). The only place where human intervention is needed is to review and apply the patch." msgid "Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When @code{@value{SUBSTITUTE-SERVER-1}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). The only place where human intervention is needed is to review and apply the patch." msgstr "Las usuarias pueden obtener la nueva definición de paquete ejecutando simplemente @command{guix pull} (@pxref{Invoking guix pull}). Cuando @code{@value{SUBSTITUTE-SERVER}} ha terminado de construir el paquete, la instalación del paquete descarga automáticamente los binarios desde allí (@pxref{Substitutes}). El único lugar donde la intervención humana es necesaria es en la revisión y aplicación del parche." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1110 #: guix-git/doc/contributing.texi:1111 #, no-wrap msgid "Software Freedom" msgstr "Libertad del software" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What may go into the distribution." msgstr "Qué puede entrar en la distribución." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1138 #: guix-git/doc/contributing.texi:1139 #, no-wrap msgid "Package Naming" msgstr "Nombrado de paquetes" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What's in a name?" msgstr "¿Qué hay en un nombre?" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1171 #: guix-git/doc/contributing.texi:1172 #, no-wrap msgid "Version Numbers" msgstr "Versiones numéricas" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "When the name is not enough." msgstr "Cuando el nombre no es suficiente." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1278 #: guix-git/doc/contributing.texi:1279 #, no-wrap msgid "Synopses and Descriptions" msgstr "Sinopsis y descripciones" # FUZZY #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Helping users find the right package." msgstr "Ayuda para que las usuarias encuentren el paquete correcto." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1357 #: guix-git/doc/contributing.texi:1358 #, no-wrap msgid "Snippets versus Phases" msgstr "@code{snippets} frente a fases" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Whether to use a snippet, or a build phase." msgstr "¿Debo usar @code{snippet} o una fase de construcción?" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1372 #: guix-git/doc/contributing.texi:1373 #, fuzzy, no-wrap #| msgid "Declaring Channel Dependencies" msgid "Cyclic Module Dependencies" msgstr "Declaración de dependencias de canales" #. type: menuentry #: guix-git/doc/contributing.texi:1108 #, fuzzy #| msgid "Going further" msgid "Going full circle." msgstr "Más allá" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1427 #: guix-git/doc/contributing.texi:1428 guix-git/doc/guix.texi:1887 #, no-wrap msgid "Emacs Packages" msgstr "Paquetes Emacs" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Your Elisp fix." msgstr "Su corrección Elisp." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1467 #: guix-git/doc/contributing.texi:1468 #, no-wrap msgid "Python Modules" msgstr "Módulos Python" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "A touch of British comedy." msgstr "Un toque de comedia británica." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1562 #: guix-git/doc/contributing.texi:1563 #, no-wrap msgid "Perl Modules" msgstr "Módulos Perl" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Little pearls." msgstr "Pequeñas perlas." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1578 #: guix-git/doc/contributing.texi:1579 #, no-wrap msgid "Java Packages" msgstr "Paquetes Java" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Coffee break." msgstr "La parada del café." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1598 #: guix-git/doc/contributing.texi:1599 #, no-wrap msgid "Rust Crates" msgstr "Crates de Rust" # MAAV: Esta broma se pierde en la traducción completamente (rust-óxido) # :( #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Beware of oxidation." msgstr "Sistema de paquetes de Rust." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1632 #: guix-git/doc/contributing.texi:1633 #, no-wrap msgid "Elm Packages" msgstr "Paquetes Elm" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Trees of browser code" msgstr "Árboles de código del navegador" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1713 #: guix-git/doc/contributing.texi:1714 #, no-wrap msgid "Fonts" msgstr "Tipos de letra" # XXX: (MAAV) Mmmm, es difícil traducir esta... #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Fond of fonts." msgstr "Satisfecho con los tipos de letra." #. type: cindex #: guix-git/doc/contributing.texi:1114 #, no-wrap msgid "free software" msgstr "código libre" # FUZZY # MAAV: Comprobar traducción de la página de GNU #. type: Plain text #: guix-git/doc/contributing.texi:1122 msgid "The GNU operating system has been developed so that users can have freedom in their computing. GNU is @dfn{free software}, meaning that users have the @url{https://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to run the program, to study and change the program in source code form, to redistribute exact copies, and to distribute modified versions. Packages found in the GNU distribution provide only software that conveys these four freedoms." msgstr "El sistema operativo GNU se ha desarrollado para que las usuarias puedan ejercitar su libertad de computación. GNU es @dfn{software libre}, lo que significa que las usuarias tienen las @url{https://www.gnu.org/philosophy/free-sw.html,cuatro libertades esenciales}: para ejecutar el programa, para estudiar y modificar el programa en la forma de código fuente, para redistribuir copias exactas y para distribuir versiones modificadas. Los paquetes encontrados en la distribución GNU contienen únicamente software que proporciona estas cuatro libertades." # FUZZY # MAAV: Comprobar traducción de la página de GNU #. type: Plain text #: guix-git/doc/contributing.texi:1128 msgid "In addition, the GNU distribution follow the @url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,free software distribution guidelines}. Among other things, these guidelines reject non-free firmware, recommendations of non-free software, and discuss ways to deal with trademarks and patents." msgstr "Además, la distribución GNU sigue las @url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,directrices de distribución de software libre}. Entre otras cosas, estas directrices rechazan firmware no-libre, recomendaciones de software no-libre, y tienen en cuenta formas de tratar con marcas registradas y patentes." # FUZZY # MAAV: Comprobar traducción de la página de GNU #. type: Plain text #: guix-git/doc/contributing.texi:1136 msgid "Some otherwise free upstream package sources contain a small and optional subset that violates the above guidelines, for instance because this subset is itself non-free code. When that happens, the offending items are removed with appropriate patches or code snippets in the @code{origin} form of the package (@pxref{Defining Packages}). This way, @code{guix build --source} returns the ``freed'' source rather than the unmodified upstream source." msgstr "Algunos paquetes originales, que serían de otra manera software libre, contienen un subconjunto pequeño y opcional que viola estas directrices, por ejemplo debido a que ese subconjunto sea en sí código no-libre. Cuando esto sucede, las partes indeseadas son eliminadas con parches o fragmentos de código en la forma @code{origin} del paquete (@pxref{Defining Packages}). De este modo, @code{guix build --source} devuelve las fuentes ``liberadas'' en vez de la versión original de las fuentes." #. type: cindex #: guix-git/doc/contributing.texi:1141 #, no-wrap msgid "package name" msgstr "nombre de paquete" #. type: Plain text #: guix-git/doc/contributing.texi:1149 msgid "A package actually has two names associated with it. First, there is the name of the @emph{Scheme variable}, the one following @code{define-public}. By this name, the package can be made known in the Scheme code, for instance as input to another package. Second, there is the string in the @code{name} field of a package definition. This name is used by package management commands such as @command{guix package} and @command{guix build}." msgstr "Un paquete tiene actualmente dos nombre asociados con él. Primero el nombre de la @emph{Variable Scheme}, seguido de @code{define-public}. Por este nombre, el paquete se puede conocer por este nombre en el código Scheme, por ejemplo como entrada a otro paquete. El segundo es la cadena en el campo @code{nombre} de la definición de paquete. Este nombre es el utilizado por los comandos de administración de paquetes como @command{guix package} y @command{guix build}." #. type: Plain text #: guix-git/doc/contributing.texi:1154 msgid "Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream, with underscores replaced with hyphens. For instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}." msgstr "Ambos normalmente son iguales y corresponden a la conversión a minúsculas del nombre de proyecto elegido por sus creadoras, con los guiones bajos sustituidos por guiones. Por ejemplo, GNUnet está disponible como @code{gnunet}, y SDL_net como @code{sdl-net}." #. type: Plain text #: guix-git/doc/contributing.texi:1162 msgid "A noteworthy exception to this rule is when the project name is only a single character, or if an older maintained project with the same name already exists---regardless of whether it has already been packaged for Guix. Use common sense to make such names unambiguous and meaningful. For example, Guix's package for the shell called ``s'' upstream is @code{s-shell} and @emph{not} @code{s}. Feel free to ask your fellow hackers for inspiration." msgstr "Una excepción notable a esta regla es cuando el nombre del proyecto es un sólo carácter o si existe un proyecto más antiguo mantenido con el mismo nombre ---sin importar si ha sido empaquetado para Guix. Utilice el sentido común para hacer que estos nombre no sean ambiguos y tengan significado. Por ejemplo, el paquete de Guix para la shell llamado ``s'' hacia arriba es @code{s-shell} y @emph{not} @code{s}. No dude en pedir inspiración a sus compañeros hackers." #. type: Plain text #: guix-git/doc/contributing.texi:1167 msgid "We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name. But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages." msgstr "No añadimos prefijos @code{lib} para paquetes de bibliotecas, a menos que sean parte del nombre oficial del proyecto. Pero vea @ref{Python Modules} y @ref{Perl Modules} para reglas especiales que conciernen a los módulos de los lenguajes Python y Perl." #. type: Plain text #: guix-git/doc/contributing.texi:1169 msgid "Font package names are handled differently, @pxref{Fonts}." msgstr "Los nombres de paquetes de tipografías se manejan de forma diferente, @pxref{Fonts}." #. type: cindex #: guix-git/doc/contributing.texi:1174 #, no-wrap msgid "package version" msgstr "versión de paquete" #. type: Plain text #: guix-git/doc/contributing.texi:1183 msgid "We usually package only the latest version of a given free software project. But sometimes, for instance for incompatible library versions, two (or more) versions of the same package are needed. These require different Scheme variable names. We use the name as defined in @ref{Package Naming} for the most recent version; previous versions use the same name, suffixed by @code{-} and the smallest prefix of the version number that may distinguish the two versions." msgstr "Normalmente empaquetamos únicamente la última versión de un proyecto dado de software libre. Pero a veces, por ejemplo para versiones de bibliotecas incompatibles, se necesitan dos (o más) versiones del mismo paquete. Estas necesitan nombres diferentes para las variables Scheme. Usamos el nombre como se define en @ref{Package Naming} para la versión más reciente; las versiones previas usan el mismo nombre, añadiendo un @code{-} y el prefijo menor del número de versión que permite distinguir las dos versiones." #. type: Plain text #: guix-git/doc/contributing.texi:1186 msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number." msgstr "El nombre dentro de la definición de paquete es el mismo para todas las versiones de un paquete y no contiene ningún número de versión." #. type: Plain text #: guix-git/doc/contributing.texi:1188 msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:" msgstr "Por ejemplo, las versiones 2.24.20 y 3.9.12 de GTK+ pueden empaquetarse como sigue:" #. type: lisp #: guix-git/doc/contributing.texi:1200 #, no-wrap msgid "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " ...))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " ...))\n" msgstr "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " ...))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " ...))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1202 msgid "If we also wanted GTK+ 3.8.2, this would be packaged as" msgstr "Si también deseásemos GTK+3.8.2, se empaquetaría como" #. type: lisp #: guix-git/doc/contributing.texi:1208 #, no-wrap msgid "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " ...))\n" msgstr "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " ...))\n" #. type: cindex #: guix-git/doc/contributing.texi:1212 #, no-wrap msgid "version number, for VCS snapshots" msgstr "número de versión, para revisiones de VCS" #. type: Plain text #: guix-git/doc/contributing.texi:1218 msgid "Occasionally, we package snapshots of upstream's version control system (VCS) instead of formal releases. This should remain exceptional, because it is up to upstream developers to clarify what the stable release is. Yet, it is sometimes necessary. So, what should we put in the @code{version} field?" msgstr "De manera ocasional, empaquetamos instantáneas del sistema de control de versiones (VCS) de las desarrolladoras originales en vez de publicaciones formales. Esto debería permanecer como algo excepcional, ya que son las desarrolladoras originales quienes deben clarificar cual es la entrega estable. No obstante, a veces es necesario. Por tanto, ¿qué deberíamos poner en el campo @code{version}?" #. type: Plain text #: guix-git/doc/contributing.texi:1226 msgid "Clearly, we need to make the commit identifier of the VCS snapshot visible in the version string, but we also need to make sure that the version string is monotonically increasing so that @command{guix package --upgrade} can determine which version is newer. Since commit identifiers, notably with Git, are not monotonically increasing, we add a revision number that we increase each time we upgrade to a newer snapshot. The resulting version string looks like this:" msgstr "Claramente, tenemos que hacer visible el identificador de la revisión en el VCS en la cadena de versión, pero también debemos asegurarnos que la cadena de versión incrementa monotónicamente de manera que @command{guix package --upgrade} pueda determinar qué versión es más moderna. Ya que los identificadores de revisión, notablemente en Git, no incrementan monotónicamente, añadimos un número de revisión que se incrementa cada vez que actualizamos a una nueva instantánea. La versión que resulta debería ser así:" #. type: example #: guix-git/doc/contributing.texi:1235 #, no-wrap msgid "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- upstream commit ID\n" " | |\n" " | `--- Guix package revision\n" " |\n" "latest upstream version\n" msgstr "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- ID de revisión original\n" " | |\n" " | `--- revisión del paquete Guix\n" " |\n" "última versión de publicación\n" #. type: Plain text #: guix-git/doc/contributing.texi:1245 #, fuzzy #| msgid "It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 bytes for the Linux kernel). It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities. A typical package definition may look like this:" msgid "It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 bytes for the Linux kernel). There are helper functions for doing this for packages using @code{git-fetch} or @code{hg-fetch} (see below). It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities. A typical package definition may look like this:" msgstr "Es una buena idea recortar los identificadores de revisión en el campo @code{version} a, digamos, 7 dígitos. Esto evita una molestia estética (asumiendo que la estética tiene importancia aquí) así como problemas relacionados con los límites del sistema operativo como la longitud máxima de una cadena de ejecución #! (127 bytes en el núcleo Linux). Es mejor usar el identificador de revisión completo en @code{origin}, no obstante, para evitar ambigüedades. Una definición típica de paquete sería así:" #. type: lisp #: guix-git/doc/contributing.texi:1262 #, no-wrap msgid "" "(define my-package\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Guix package revision\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/my-package.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn@dots{}\"))\n" " (file-name (git-file-name name version))))\n" " ;; @dots{}\n" " )))\n" msgstr "" "(define mi-paquete\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Revisión Guix del paquete\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/mi-paquete.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn@dots{}\"))\n" " (file-name (git-file-name name version))))\n" " ;; @dots{}\n" " )))\n" #. type: deffn #: guix-git/doc/contributing.texi:1264 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} git-fetch @var{ref} @var{hash-algo} @var{hash}" msgid "{Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" msgstr "{Procedimiento Scheme} git-fetch @var{url} @var{algo-hash} @var{hash}" #. type: deffn #: guix-git/doc/contributing.texi:1266 #, fuzzy #| msgid "Return the list of packages known to @var{inferior}." msgid "Return the version string for packages using @code{git-fetch}." msgstr "Devuelve la lista de paquetes conocida por @var{inferior}." #. type: lisp #: guix-git/doc/contributing.texi:1270 #, no-wrap msgid "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" msgstr "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" #. type: deffn #: guix-git/doc/contributing.texi:1273 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @" msgid "{Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" msgstr "{Procedimiento Scheme} derivation @var{almacén} @var{nombre} @var{constructor} @" #. type: deffn #: guix-git/doc/contributing.texi:1276 msgid "Return the version string for packages using @code{hg-fetch}. It works in the same way as @code{git-version}." msgstr "Devuelve la cadena de versión de los paquetes utilizando @code{hg-fetch}. Funciona de la misma manera que @code{git-version}." #. type: cindex #: guix-git/doc/contributing.texi:1281 #, no-wrap msgid "package description" msgstr "descripción de paquete" #. type: cindex #: guix-git/doc/contributing.texi:1282 #, no-wrap msgid "package synopsis" msgstr "sinopsis de paquete" #. type: Plain text #: guix-git/doc/contributing.texi:1289 msgid "As we have seen before, each package in GNU@tie{}Guix includes a synopsis and a description (@pxref{Defining Packages}). Synopses and descriptions are important: They are what @command{guix package --search} searches, and a crucial piece of information to help users determine whether a given package suits their needs. Consequently, packagers should pay attention to what goes into them." msgstr "Como hemos visto previamente, cada paquete en GNU@tie{}Guix incluye una sinopsis y una descripción (@pxref{Defining Packages}). Las sinopsis y descripciones son importantes: son en lo que @command{guix package --search} busca, y una pieza crucial de información para ayudar a las usuarias a determinar si un paquete dado cubre sus necesidades. Consecuentemente, las empaquetadoras deben prestar atención a qué se incluye en ellas." # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:1297 msgid "Synopses must start with a capital letter and must not end with a period. They must not start with ``a'' or ``the'', which usually does not bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that frobs files''. The synopsis should say what the package is---e.g., ``Core GNU utilities (file, text, shell)''---or what it is used for---e.g., the synopsis for GNU@tie{}grep is ``Print lines matching a pattern''." msgstr "Las sinopsis deben empezar con mayúscula y no deben terminar con punto. No deben empezar con un artículo que habitualmente no aporta nada; por ejemplo, se prefiere ``Herramienta para chiribizar'' sobre ``Una herramienta que chiribiza archivos''. La sinopsis debe decir qué es el paquete---por ejemplo, ``Utilidades básicas GNU (archivos, texto, intérprete de consola)''---o para qué se usa---por ejemplo, la sinopsis de GNU@tie{}grep es ``Imprime líneas aceptadas por un patrón''." #. type: Plain text #: guix-git/doc/contributing.texi:1307 msgid "Keep in mind that the synopsis must be meaningful for a very wide audience. For example, ``Manipulate alignments in the SAM format'' might make sense for a seasoned bioinformatics researcher, but might be fairly unhelpful or even misleading to a non-specialized audience. It is a good idea to come up with a synopsis that gives an idea of the application domain of the package. In this example, this might give something like ``Manipulate nucleotide sequence alignments'', which hopefully gives the user a better idea of whether this is what they are looking for." msgstr "Tenga en cuenta que las sinopsis deben tener un claro significado para una audiencia muy amplia. Por ejemplo, ``Manipula la alineación en el formato SAM'' puede tener sentido para una investigadora de bioinformática con experiencia, pero puede ser de poca ayuda o incluso llevar a confusión a una audiencia no-especializada. Es una buena idea proporcionar una sinopsis que da una idea del dominio de aplicación del paquete. En ese ejemplo, esto podría ser algo como ``Manipula la alineación de secuencias de nucleótidos'', lo que con suerte proporcionará a la usuaria una mejor idea sobre si esto es lo que está buscando." #. type: Plain text #: guix-git/doc/contributing.texi:1315 msgid "Descriptions should take between five and ten lines. Use full sentences, and avoid using acronyms without first introducing them. Please avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and ``next-generation'', and avoid superlatives like ``the most advanced''---they are not helpful to users looking for a package and may even sound suspicious. Instead, try to be factual, mentioning use cases and features." msgstr "Las descripciones deben tener entre cinco y diez líneas. Use frases completas, y evite usar acrónimos sin introducirlos previamente. Por favor evite frases comerciales como ``líder mundial'', ``de potencia industrial'' y ``siguiente generación'', y evite superlativos como ``el más avanzado''---no son útiles para las usuarias que buscan un paquete e incluso pueden sonar sospechosas. En vez de eso, intente ceñirse a los hechos, mencionando casos de uso y características." #. type: cindex #: guix-git/doc/contributing.texi:1316 #, no-wrap msgid "Texinfo markup, in package descriptions" msgstr "marcado Texinfo, en descripciones de paquetes" #. type: Plain text #: guix-git/doc/contributing.texi:1325 msgid "Descriptions can include Texinfo markup, which is useful to introduce ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks (@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful when using some characters for example @samp{@@} and curly braces which are the basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). User interfaces such as @command{guix show} take care of rendering it appropriately." msgstr "Las descripciones pueden incluir marcado Texinfo, lo que es útil para introducir ornamentos como @code{@@code} o @code{@@dfn}, listas de puntos o enlaces (@pxref{Overview,,, texinfo, GNU Texinfo}). Por consiguiente, debe ser cuidadosa cuando use algunos caracteres, por ejemplo @samp{@@} y llaves, que son los caracteres especiales básicos en Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). Las interfaces de usuaria como @command{guix show} se encargan de su correcta visualización." #. type: Plain text #: guix-git/doc/contributing.texi:1331 #, fuzzy msgid "Synopses and descriptions are translated by volunteers @uref{https://translate.fedoraproject.org/projects/guix/packages, at Weblate} so that as many users as possible can read them in their native language. User interfaces search them and display them in the language specified by the current locale." msgstr "Las sinopsis y descripciones son traducidas por voluntarias @uref{https://translationproject.org/domain/guix-packages.html, en Translation Project} para que todas las usuarias posibles puedan leerlas en su lengua nativa. Las interfaces de usuaria las buscan y las muestran en el idioma especificado por la localización actual." #. type: Plain text #: guix-git/doc/contributing.texi:1336 msgid "To allow @command{xgettext} to extract them as translatable strings, synopses and descriptions @emph{must be literal strings}. This means that you cannot use @code{string-append} or @code{format} to construct these strings:" msgstr "Para permitir a @command{xgettext} extraerlas como cadenas traducibles, las sinopsis y descripciones @emph{deben ser cadenas literales}. Esto significa que no puede usar @code{string-append} o @code{format} para construir estas cadenas:" #. type: lisp #: guix-git/doc/contributing.texi:1342 #, no-wrap msgid "" "(package\n" " ;; @dots{}\n" " (synopsis \"This is translatable\")\n" " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" msgstr "" "(package\n" " ;; @dots{}\n" " (synopsis \"Esto es traducible\")\n" " (description (string-append \"Esto \" \"*no*\" \" es traducible.\")))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1350 msgid "Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may entail additional work for translators. In order to help them, it is possible to make recommendations or instructions visible to them by inserting special comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" msgstr "La traducción requiere mucho trabajo, por lo que, como empaquetadora, le rogamos que ponga incluso más atención a sus sinopsis y descripciones ya que cada cambio puede suponer trabajo adicional para las traductoras. Para ayudarlas, es posible hacer recomendaciones o instrucciones insertando comentarios especiales como este (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" #. type: lisp #: guix-git/doc/contributing.texi:1355 #, no-wrap msgid "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" msgstr "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" #. type: cindex #: guix-git/doc/contributing.texi:1360 #, no-wrap msgid "snippets, when to use" msgstr "snippets, cuándo usar" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:1371 msgid "The boundary between using an origin snippet versus a build phase to modify the sources of a package can be elusive. Origin snippets are typically used to remove unwanted files such as bundled libraries, nonfree sources, or to apply simple substitutions. The source derived from an origin should produce a source that can be used to build the package on any system that the upstream package supports (i.e., act as the corresponding source). In particular, origin snippets must not embed store items in the sources; such patching should rather be done using build phases. Refer to the @code{origin} record documentation for more information (@pxref{origin Reference})." msgstr "La frontera entre el uso de un fragmento de código para la modificación de un origen (@code{snippet}) frente a una fase de construcción puede ser ténue. Los fragmentos de código para el origen se usan habitualmente para eliminar archivos no deseados, como bibliotecas incluidas, fuentes no libres, o simplemente para aplicar sustituciones simples. Las fuentes que derivan de un origen deben producir unas fuentes capaces de compilar en cualquier sistema que permita el paquete original (es decir, actuar como la fuente correspondiente). En particular, los @code{snippet} del campo @code{origin} no deben incluir elementos del almacén en las fuentes; esos parches deben llevarse a cabo en las fases de construcción. Véase el registro @code{origin} para obtener más información (@pxref{origin Reference})." #. type: Plain text #: guix-git/doc/contributing.texi:1379 msgid "While there cannot be circular dependencies between packages, Guile's lax module loading mechanism allows circular dependencies between Guile modules, which doesn't cause problems as long as the following conditions are followed for two modules part of a dependency cycle:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1380 #, no-wrap msgid "rules to cope with circular module dependencies" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1384 msgid "Macros are not shared between the co-dependent modules" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1388 msgid "Top-level variables are only referenced in delayed (@i{thunked}) package fields: @code{arguments}, @code{native-inputs}, @code{inputs}, @code{propagated-inputs} or @code{replacement}" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1391 msgid "Procedures referencing top-level variables from another module are not called at the top level of a module themselves." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1397 msgid "Straying away from the above rules may work while there are no dependency cycles between modules, but given such cycles are confusing and difficult to troubleshoot, it is best to follow the rules to avoid introducing problems down the line." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1400 msgid "Here is a common trap to avoid:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:1406 #, no-wrap msgid "" "(define-public avr-binutils\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1415 msgid "In the above example, the @code{avr-binutils} package was defined in the module @code{(gnu packages avr)}, and the @code{cross-binutils} procedure in @code{(gnu packages cross-base)}. Because the @code{inherit} field is not delayed (thunked), it is evaluated at the top level at load time, which is problematic in the presence of module dependency cycles. This could be resolved by turning the package into a procedure instead, like:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:1421 #, no-wrap msgid "" "(define (make-avr-binutils)\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1426 msgid "Care would need to be taken to ensure the above procedure is only ever used in a package delayed fields or within another procedure also not called at the top level." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1430 #, fuzzy, no-wrap msgid "emacs, packaging" msgstr "Paquetes Emacs" #. type: cindex #: guix-git/doc/contributing.texi:1431 #, fuzzy, no-wrap msgid "elisp, packaging" msgstr "licencia, de paquetes" #. type: Plain text #: guix-git/doc/contributing.texi:1443 msgid "Emacs packages should preferably use the Emacs build system (@pxref{emacs-build-system}), for uniformity and the benefits provided by its build phases, such as the auto-generation of the autoloads file and the byte compilation of the sources. Because there is no standardized way to run a test suite for Emacs packages, tests are disabled by default. When a test suite is available, it should be enabled by setting the @code{#:tests?} argument to @code{#true}. By default, the command to run the test is @command{make check}, but any command can be specified via the @code{#:test-command} argument. The @code{#:test-command} argument expects a list containing a command and its arguments, to be invoked during the @code{check} phase." msgstr "Los paquetes Emacs deberían usar preferentemente el sistema de construcción de Emacs (@pxref{emacs-build-system}), por uniformidad y por los beneficios que proporcionan sus fases de construcción, tales como la autogeneración del fichero de autocargas y la compilación de bytes de las fuentes. Debido a que no hay una forma estandarizada de ejecutar un conjunto de pruebas para los paquetes Emacs, las pruebas están deshabilitadas por defecto. Cuando un conjunto de pruebas está disponible, debe ser habilitado estableciendo el argumento @code{#:tests?} a @code{#true}. Por defecto, el comando para ejecutar la prueba es @command{make check}, pero se puede especificar cualquier comando mediante el argumento @code{#:test-command}. El argumento @code{#:test-command} espera una lista que contenga un comando y sus argumentos, para ser invocado durante la fase @code{check}." #. type: Plain text #: guix-git/doc/contributing.texi:1448 msgid "The Elisp dependencies of Emacs packages are typically provided as @code{propagated-inputs} when required at run time. As for other packages, build or test dependencies should be specified as @code{native-inputs}." msgstr "Las dependencias de Elisp de los paquetes de Emacs se proporcionan normalmente como @code{propagated-inputs} cuando se requieren en tiempo de ejecución. En cuanto a otros paquetes, las dependencias de construcción o de prueba deben especificarse como @code{native-inputs}." #. type: Plain text #: guix-git/doc/contributing.texi:1457 msgid "Emacs packages sometimes depend on resources directories that should be installed along the Elisp files. The @code{#:include} argument can be used for that purpose, by specifying a list of regexps to match. The best practice when using the @code{#:include} argument is to extend rather than override its default value (accessible via the @code{%default-include} variable). As an example, a yasnippet extension package typically include a @file{snippets} directory, which could be copied to the installation directory using:" msgstr "Los paquetes de Emacs a veces dependen de directorios de recursos que deben instalarse junto con los archivos de Elisp. El argumento @code{#:include} puede utilizarse para este fin, especificando una lista de expresiones regulares que deben coincidir. La mejor práctica cuando se utiliza el argumento @code{#:include} es ampliar en lugar de anular su valor por defecto (accesible a través de la variable @code{%default-include}). Como ejemplo, un paquete de extensión de yasnippet suele incluir un directorio @file{snippets}, que podría copiarse en el directorio de instalación utilizando:" #. type: lisp #: guix-git/doc/contributing.texi:1460 #, no-wrap msgid "#:include (cons \"^snippets/\" %default-include)\n" msgstr "#:include (cons \"^snippets/\" %default-include)\n" #. type: Plain text #: guix-git/doc/contributing.texi:1466 msgid "When encountering problems, it is wise to check for the presence of the @code{Package-Requires} extension header in the package main source file, and whether any dependencies and their versions listed therein are satisfied." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1470 #, no-wrap msgid "python" msgstr "python" #. type: Plain text #: guix-git/doc/contributing.texi:1476 msgid "We currently package Python 2 and Python 3, under the Scheme variable names @code{python-2} and @code{python} as explained in @ref{Version Numbers}. To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of a package for a Python module contains the word @code{python}." msgstr "Actualmente empaquetamos Python 2 y Python 3, bajo los nombres de variable Scheme @code{python-2} y @code{python} como se explica en @ref{Version Numbers}. Para evitar confusiones y conflictos de nombres con otros lenguajes de programación, parece deseable que el nombre de paquete para un módulo Python contenga la palabra @code{python}." #. type: Plain text #: guix-git/doc/contributing.texi:1482 #, fuzzy #| msgid "Some modules are compatible with only one version of Python, others with both. If the package Foo is compiled with Python 3, we name it @code{python-foo}. If it is compiled with Python 2, we name it @code{python2-foo}. Packages should be added when they are necessary; we don't add Python 2 variants of the package unless we are going to use them." msgid "Some modules are compatible with only one version of Python, others with both. If the package Foo is compiled with Python 3, we name it @code{python-foo}. If it is compiled with Python 2, we name it @code{python2-foo}. Python 2 packages are being removed from the distribution; please do no not submit any new Python 2 packages." msgstr "Algunos módulos son compatibles únicamente con una versión de Python, otros con ambas. Si el paquete Foo se compila únicamente con Python 3, lo llamamos @code{python-foo}. Si se compila con Python 2, lo llamamos @code{python2-foo}. Los paquetes deben añadirse cuando sean necesarios; no añadimos la variante de Python 2 del paquete a menos que vayamos a usarla." #. type: Plain text #: guix-git/doc/contributing.texi:1488 msgid "If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names @code{python-dateutil} and @code{python2-dateutil}. If the project name starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as described above." msgstr "Si un proyecto ya contiene la palabra @code{python}, la eliminamos; por ejemplo, el módulo python-dateutil se empaqueta con los nombres @code{python-dateutil} y @code{python2-dateutil}. Si el nombre del proyecto empieza con @code{py} (por ejemplo @code{pytz}), este se mantiene y el prefijo es el especificado anteriormente.." #. type: quotation #: guix-git/doc/contributing.texi:1502 msgid "Currently there are two different build systems for Python packages in Guix: @var{python-build-system} and @var{pyproject-build-system}. For the longest time, Python packages were built from an informally specified @file{setup.py} file. That worked amazingly well, considering Python's success, but was difficult to build tooling around. As a result, a host of alternative build systems emerged and the community eventually settled on a @url{https://peps.python.org/pep-0517/, formal standard} for specifying build requirements. @var{pyproject-build-system} is Guix's implementation of this standard. It is considered ``experimental'' in that it does not yet support all the various PEP-517 @emph{build backends}, but you are encouraged to try it for new Python packages and report any problems. It will eventually be deprecated and merged into @var{python-build-system}." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:1504 #, no-wrap msgid "Specifying Dependencies" msgstr "Especificación de dependencias" #. type: cindex #: guix-git/doc/contributing.texi:1505 #, no-wrap msgid "inputs, for Python packages" msgstr "entradas, para paquetes Python" #. type: Plain text #: guix-git/doc/contributing.texi:1512 #, fuzzy #| msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}." msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{pyproject.toml} file, the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini} (the latter mostly for test dependencies)." msgstr "La información de dependencias para paquetes Python está disponible habitualmente en el árbol de fuentes, con varios grados de precisión: en el archivo @file{setup.py}, en @file{requirements.txt} o en @file{tox.ini}." #. type: Plain text #: guix-git/doc/contributing.texi:1518 msgid "Your mission, when writing a recipe for a Python package, is to map these dependencies to the appropriate type of ``input'' (@pxref{package Reference, inputs}). Although the @code{pypi} importer normally does a good job (@pxref{Invoking guix import}), you may want to check the following check list to determine which dependency goes where." msgstr "Su misión, cuando escriba una receta para un paquete Python, es asociar estas dependencias con el tipo apropiado de ``entrada'' (@pxref{package Reference, inputs}). Aunque el importador de @code{pypi} normalmente hace un buen trabajo (@pxref{Invoking guix import}), puede querer comprobar la siguiente lista para determinar qué dependencia va dónde." #. type: itemize #: guix-git/doc/contributing.texi:1525 #, fuzzy #| msgid "We currently package Python 2 with @code{setuptools} and @code{pip} installed like Python 3.4 has per default. Thus you don't need to specify either of these as an input. @command{guix lint} will warn you if you do." msgid "We currently package Python with @code{setuptools} and @code{pip} installed per default. This is about to change, and users are encouraged to use @code{python-toolchain} if they want a build environment for Python." msgstr "Actualmente empaquetamos con @code{setuptools} y @code{pip} instalados como Python 3.4 tiene por defecto. Por tanto no necesita especificar ninguno de ellos como entrada. @command{guix lint} le avisará si lo hace." #. type: itemize #: guix-git/doc/contributing.texi:1528 msgid "@command{guix lint} will warn if @code{setuptools} or @code{pip} are added as native-inputs because they are generally not necessary." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1534 msgid "Python dependencies required at run time go into @code{propagated-inputs}. They are typically defined with the @code{install_requires} keyword in @file{setup.py}, or in the @file{requirements.txt} file." msgstr "Las dependencias Python requeridas en tiempo de ejecución van en @code{propagated-inputs}. Típicamente están definidas con la palabra clave @code{install_requires} en @file{setup.py}, o en el archivo @file{requirements.txt}." #. type: itemize #: guix-git/doc/contributing.texi:1543 #, fuzzy #| msgid "Python packages required only at build time---e.g., those listed with the @code{setup_requires} keyword in @file{setup.py}---or only for testing---e.g., those in @code{tests_require}---go into @code{native-inputs}. The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want." msgid "Python packages required only at build time---e.g., those listed under @code{build-system.requires} in @file{pyproject.toml} or with the @code{setup_requires} keyword in @file{setup.py}---or dependencies only for testing---e.g., those in @code{tests_require} or @file{tox.ini}---go into @code{native-inputs}. The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want." msgstr "Los paquetes Python requeridos únicamente durante la construcción---por ejemplo, aquellos listados con la palabra clave @code{setup_requires} en @file{setup.py}---o únicamente para pruebas---por ejemplo, aquellos en @code{tests_require}---van en @code{native-inputs}. La razón es que (1) no necesitan ser propagados ya que no se requieren en tiempo de ejecución, y (2) en un entorno de compilación cruzada lo que necesitamos es la entrada ``nativa''." #. type: itemize #: guix-git/doc/contributing.texi:1547 msgid "Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks. Of course if any of these packages is also required at run-time, it needs to go to @code{propagated-inputs}." msgstr "Ejemplos son las bibliotecas de pruebas @code{pytest}, @code{mock} y @code{nose}. Por supuesto, si alguno de estos paquetes también se necesita en tiempo de ejecución, necesita ir en @code{propagated-inputs}." #. type: itemize #: guix-git/doc/contributing.texi:1552 msgid "Anything that does not fall in the previous categories goes to @code{inputs}, for example programs or C libraries required for building Python packages containing C extensions." msgstr "Todo lo que no caiga en las categorías anteriores va a @code{inputs}, por ejemplo programas o bibliotecas C requeridas para construir los paquetes Python que contienen extensiones C." #. type: itemize #: guix-git/doc/contributing.texi:1558 msgid "If a Python package has optional dependencies (@code{extras_require}), it is up to you to decide whether to add them or not, based on their usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})." msgstr "Si un paquete Python tiene dependencias opcionales (@code{extras_require}), queda en su mano decidir si las añade o no, en base a la relación utilidad/sobrecarga (@pxref{Submitting Patches, @command{guix size}})." #. type: cindex #: guix-git/doc/contributing.texi:1565 #, no-wrap msgid "perl" msgstr "perl" #. type: Plain text #: guix-git/doc/contributing.texi:1576 msgid "Perl programs standing for themselves are named as any other package, using the lowercase upstream name. For Perl packages containing a single class, we use the lowercase class name, replace all occurrences of @code{::} by dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} becomes @code{perl-xml-parser}. Modules containing several classes keep their lowercase upstream name and are also prepended by @code{perl-}. Such modules tend to have the word @code{perl} somewhere in their name, which gets dropped in favor of the prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}." msgstr "Los programas ejecutables Perl se nombran como cualquier otro paquete, mediante el uso del nombre oficial en minúsculas. Para paquetes Perl que contienen una única clase, usamos el nombre en minúsculas de la clase, substituyendo todas las ocurrencias de @code{::} por guiones y agregando el prefijo @code{perl-}. Por tanto la clase @code{XML::Parser} se convierte en @code{perl-xml-parser}. Los módulos que contienen varias clases mantienen su nombre oficial en minúsculas y también se agrega @code{perl-} al inicio. Dichos módulos tienden a tener la palabra @code{perl} en alguna parte de su nombre, la cual se elimina en favor del prefijo. Por ejemplo, @code{libwww-perl} se convierte en @code{perl-libwww}." #. type: cindex #: guix-git/doc/contributing.texi:1581 #, no-wrap msgid "java" msgstr "java" #. type: Plain text #: guix-git/doc/contributing.texi:1584 msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Los programas Java ejecutables se nombran como cualquier otro paquete, mediante el uso del nombre oficial en minúsculas." #. type: Plain text #: guix-git/doc/contributing.texi:1590 msgid "To avoid confusion and naming clashes with other programming languages, it is desirable that the name of a package for a Java package is prefixed with @code{java-}. If a project already contains the word @code{java}, we drop this; for instance, the package @code{ngsjava} is packaged under the name @code{java-ngs}." msgstr "Para evitar confusión y colisiones de nombres con otros lenguajes de programación, es deseable que el nombre del paquete para un paquete Java contenga el prefijo @code{java-}. Si el proyecto ya tiene la palabra @code{java}, eliminamos esta; por ejemplo, el paquete @code{ngsjaga} se empaqueta bajo el nombre @code{java-ngs}." #. type: Plain text #: guix-git/doc/contributing.texi:1596 msgid "For Java packages containing a single class or a small class hierarchy, we use the lowercase class name, replace all occurrences of @code{.} by dashes and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} becomes package @code{java-apache-commons-cli}." msgstr "Para los paquetes Java que contienen una clase única o una jerarquía pequeña, usamos el nombre de clase en minúsculas, substituyendo todas las ocurrencias de @code{.} por guiones y agregando el prefijo @code{java-}. Por tanto la clase @code{apache.commons.cli} se convierte en el paquete @code{java-apache-commons-cli}." #. type: cindex #: guix-git/doc/contributing.texi:1601 #, no-wrap msgid "rust" msgstr "rust" #. type: Plain text #: guix-git/doc/contributing.texi:1604 msgid "Rust programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Los programas Rust ejecutables se nombran como cualquier otro paquete, mediante el uso del nombre oficial en minúsculas." # FUZZY FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:1608 msgid "To prevent namespace collisions we prefix all other Rust packages with the @code{rust-} prefix. The name should be changed to lowercase as appropriate and dashes should remain in place." msgstr "Para evitar colisiones en el espacio de nombres añadimos @code{rust-} como prefijo al resto de paquetes de Rust. El nombre debe cambiarse a letras minúsculas cuando sea apropiado y los guiones deben mantenerse." # FUZZY FUZZY FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:1614 #, fuzzy msgid "In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit (and any leading zeros, of course). This follows the ``caret'' version scheme intended by Cargo. Examples@: @code{rust-clap-2}, @code{rust-rand-0.6}." msgstr "En el ecosistema de rust es común que se usen al mismo tiempo múltiples versiones de un paquete incompatibles entre ellas, por lo que todos los paquetes tienen que incorporar una referencia a su versión como sufijo. Si un paquete ha superado la versión 1.0.0, el número de superior de versión es suficiente (por ejemplo @code{rust-clap-2}), en otro caso se deben incorporar tanto el número de versión superior como el siguiente (por ejemplo @code{rust-rand-0.6})." #. type: Plain text #: guix-git/doc/contributing.texi:1624 msgid "Because of the difficulty in reusing rust packages as pre-compiled inputs for other packages the Cargo build system (@pxref{Build Systems, @code{cargo-build-system}}) presents the @code{#:cargo-inputs} and @code{cargo-development-inputs} keywords as build system arguments. It would be helpful to think of these as similar to @code{propagated-inputs} and @code{native-inputs}. Rust @code{dependencies} and @code{build-dependencies} should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in @code{#:cargo-development-inputs}. If a Rust package links to other libraries then the standard placement in @code{inputs} and the like should be used." msgstr "Debido a la dificultad a la hora de reusar paquetes de rust como entradas pre-compiladas de otros paquetes, el sistema de construcción de Cargo (@pxref{Build Systems, @code{cargo-build-system}}) presenta las palabras clave @code{#:cargo-inputs} y @code{cargo-development-inputs} como parámetros del sistema de construcción. Puede servir de ayuda pensar en estos parámetros de manera similar a @code{propagated-inputs} y @code{native-inputs}. Las dependencias de rust de @code{dependencies} y @code{build-dependencies} deben proporcionarse a través de @code{#:cargo-inputs}, y @code{dev-dependencies} deben proporcionarse a través de @code{#:cargo-development-inputs}. Si un paquete de Rust se enlaza con otras bibliotecas deben proporcionarse como habitualmente en @code{inputs} y otros campos relacionados." # FUZZY FUZZY # MAAV: ¿Atrofiado? #. type: Plain text #: guix-git/doc/contributing.texi:1630 msgid "Care should be taken to ensure the correct version of dependencies are used; to this end we try to refrain from skipping the tests or using @code{#:skip-build?} when possible. Of course this is not always possible, as the package may be developed for a different Operating System, depend on features from the Nightly Rust compiler, or the test suite may have atrophied since it was released." msgstr "Se debe tener cuidado a la hora de asegurar que se usan las versiones correctas de las dependencias; para ello intentamos no evitar la ejecución de pruebas o la construcción completa con @code{#:skip-build?} cuando sea posible. Por supuesto, no siempre es posible, ya que el paquete puede desarrollarse para un sistema operativo distinto, depender de características del compilador de Rust que se construye a diario (Nightly), o la batería de pruebas puede haberse atrofiado desde su lanzamiento." #. type: cindex #: guix-git/doc/contributing.texi:1635 #, no-wrap msgid "Elm" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1638 msgid "Elm applications can be named like other software: their names need not mention Elm." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1644 msgid "Packages in the Elm sense (see @code{elm-build-system} under @ref{Build Systems}) are required use names of the format @var{author}@code{/}@var{project}, where both the @var{author} and the @var{project} may contain hyphens internally, and the @var{author} sometimes contains uppercase letters." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1648 msgid "To form the Guix package name from the upstream name, we follow a convention similar to Python packages (@pxref{Python Modules}), adding an @code{elm-} prefix unless the name would already begin with @code{elm-}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1655 msgid "In many cases we can reconstruct an Elm package's upstream name heuristically, but, since conversion to a Guix-style name involves a loss of information, this is not always possible. Care should be taken to add the @code{'upstream-name} property when necessary so that @samp{guix import elm} will work correctly (@pxref{Invoking guix import}). The most notable scenarios when explicitly specifying the upstream name is necessary are:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1660 msgid "When the @var{author} is @code{elm} and the @var{project} contains one or more hyphens, as with @code{elm/virtual-dom}; and" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1667 msgid "When the @var{author} contains hyphens or uppercase letters, as with @code{Elm-Canvas/raster-shapes}---unless the @var{author} is @code{elm-explorations}, which is handled as a special case, so packages like @code{elm-explorations/markdown} do @emph{not} need to use the @code{'upstream-name} property." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1671 msgid "The module @code{(guix build-system elm)} provides the following utilities for working with names and related conventions:" msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1672 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}" msgid "{Procedure} elm-package-origin @var{elm-name} @var{version} @" msgstr "{Procedimiento Scheme} extra-special-file @var{archivo} @var{destino}" #. type: deffn #: guix-git/doc/contributing.texi:1677 msgid "@var{hash} Returns a Git origin using the repository naming and tagging regime required for a published Elm package with the upstream name @var{elm-name} at version @var{version} with sha256 checksum @var{hash}." msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1679 guix-git/doc/guix.texi:37393 #: guix-git/doc/guix.texi:41598 msgid "For example:" msgstr "Por ejemplo:" #. type: lisp #: guix-git/doc/contributing.texi:1689 #, no-wrap msgid "" "(package\n" " (name \"elm-html\")\n" " (version \"1.0.0\")\n" " (source\n" " (elm-package-origin\n" " \"elm/html\"\n" " version\n" " (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n" " ...)\n" msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1692 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} inferior-package-name @var{package}" msgid "{Procedure} elm->package-name @var{elm-name}" msgstr "{Procedimiento Scheme} inferior-package-name @var{paquete}" #. type: deffn #: guix-git/doc/contributing.texi:1695 msgid "Returns the Guix-style package name for an Elm package with upstream name @var{elm-name}." msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1698 msgid "Note that there is more than one possible @var{elm-name} for which @code{elm->package-name} will produce a given result." msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1700 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} inferior-package-name @var{package}" msgid "{Procedure} guix-package->elm-name @var{package}" msgstr "{Procedimiento Scheme} inferior-package-name @var{paquete}" #. type: deffn #: guix-git/doc/contributing.texi:1704 msgid "Given an Elm @var{package}, returns the possibly-inferred upstream name, or @code{#f} the upstream name is not specified via the @code{'upstream-name} property and can not be inferred by @code{infer-elm-package-name}." msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:1706 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} inferior-package-name @var{package}" msgid "{Procedure} infer-elm-package-name @var{guix-name}" msgstr "{Procedimiento Scheme} inferior-package-name @var{paquete}" #. type: deffn #: guix-git/doc/contributing.texi:1711 msgid "Given the @var{guix-name} of an Elm package, returns the inferred upstream name, or @code{#f} if the upstream name can't be inferred. If the result is not @code{#f}, supplying it to @code{elm->package-name} would produce @var{guix-name}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1716 guix-git/doc/guix.texi:1822 #, no-wrap msgid "fonts" msgstr "tipografías" #. type: Plain text #: guix-git/doc/contributing.texi:1722 msgid "For fonts that are in general not installed by a user for typesetting purposes, or that are distributed as part of a larger software package, we rely on the general packaging rules for software; for instance, this applies to the fonts delivered as part of the X.Org system or fonts that are part of TeX Live." msgstr "Para tipografías que no se instalan generalmente por una usuaria para propósitos tipográficos, o que se distribuyen como parte de un paquete de software más grande, seguimos las reglas generales de empaquetamiento de software; por ejemplo, esto aplica a las tipografías distribuidas como parte del sistema X.Org o las tipografías que son parte de TeX Live." #. type: Plain text #: guix-git/doc/contributing.texi:1726 msgid "To make it easier for a user to search for fonts, names for other packages containing only fonts are constructed as follows, independently of the upstream package name." msgstr "Para facilitar a las usuarias la búsqueda de tipografías, los nombres para otros paquetes que contienen únicamente tipografías se construyen como sigue, independientemente del nombre de paquete oficial." #. type: Plain text #: guix-git/doc/contributing.texi:1734 msgid "The name of a package containing only one font family starts with @code{font-}; it is followed by the foundry name and a dash @code{-} if the foundry is known, and the font family name, in which spaces are replaced by dashes (and as usual, all upper case letters are transformed to lower case). For example, the Gentium font family by SIL is packaged under the name @code{font-sil-gentium}." msgstr "El nombre de un paquete que contiene únicamente una familia tipográfica comienza con @code{font-}; seguido por el nombre de la tipografía y un guión si la tipografía es conocida, y el nombre de la familia tipográfica, donde los espacios se sustituyen por guiones (y como es habitual, todas las letras mayúsculas se transforman a minúsculas). Por ejemplo, la familia de tipografías Gentium de SIL se empaqueta bajo el nombre de @code{font-sil-gentium}." #. type: Plain text #: guix-git/doc/contributing.texi:1743 msgid "For a package containing several font families, the name of the collection is used in the place of the font family name. For instance, the Liberation fonts consist of three families, Liberation Sans, Liberation Serif and Liberation Mono. These could be packaged separately under the names @code{font-liberation-sans} and so on; but as they are distributed together under a common name, we prefer to package them together as @code{font-liberation}." msgstr "Para un paquete que contenga varias familias tipográficas, el nombre de la colección se usa en vez del nombre de la familia tipográfica. Por ejemplo, las tipografías Liberation consisten en tres familias: Liberation Sans, Liberation Serif y Liberation Mono. Estas se podrían empaquetar por separado bajo los nombres @code{font-liberation-sans}, etcétera; pero como se distribuyen de forma conjunta bajo un nombre común, preferimos empaquetarlas conjuntamente como @code{font-liberation}." #. type: Plain text #: guix-git/doc/contributing.texi:1749 msgid "In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, prepended by a dash, is added to the package name. We use @code{-ttf} for TrueType fonts, @code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts." msgstr "En el caso de que varios formatos de la misma familia o colección tipográfica se empaqueten de forma separada, una forma corta del formato, precedida por un guión, se añade al nombre del paquete. Usamos @code{-ttf} para tipografías TrueType, @code{-otf} para tipografías OpenType y @code{-type1} para tipografías Tipo 1 PostScript." #. type: Plain text #: guix-git/doc/contributing.texi:1757 msgid "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}). However, they do not say much about Scheme, so here are some additional rules." msgstr "En general nuestro código sigue los Estándares de codificación GNU (@pxref{Top,,, standards, GNU Coding Standards}). No obstante, no dicen mucho de Scheme, así que aquí están algunas reglas adicionales." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1765 #: guix-git/doc/contributing.texi:1766 #, no-wrap msgid "Programming Paradigm" msgstr "Paradigma de programación" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "How to compose your elements." msgstr "Cómo componer sus elementos." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1772 #: guix-git/doc/contributing.texi:1773 #, no-wrap msgid "Modules" msgstr "Módulos" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Where to store your code?" msgstr "¿Dónde almacenar su código?" #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1788 #: guix-git/doc/contributing.texi:1789 #, no-wrap msgid "Data Types and Pattern Matching" msgstr "Tipos de datos y reconocimiento de patrones" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Implementing data structures." msgstr "Implementación de estructuras de datos." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1819 #: guix-git/doc/contributing.texi:1820 #, no-wrap msgid "Formatting Code" msgstr "Formato del código" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Writing conventions." msgstr "Convenciones de escritura." #. type: Plain text #: guix-git/doc/contributing.texi:1771 msgid "Scheme code in Guix is written in a purely functional style. One exception is code that involves input/output, and procedures that implement low-level concepts, such as the @code{memoize} procedure." msgstr "El código scheme en Guix está escrito en un estilo puramente funcional. Una excepción es el código que incluye entrada/salida, y procedimientos que implementan conceptos de bajo nivel, como el procedimiento @code{memoize}." #. type: cindex #: guix-git/doc/contributing.texi:1774 #, fuzzy, no-wrap #| msgid "build users" msgid "build-side modules" msgstr "usuarias de construcción" #. type: cindex #: guix-git/doc/contributing.texi:1775 #, no-wrap msgid "host-side modules" msgstr "" # TODO: (MAAV) builder/host. Comprobar constancia en el texto. #. type: Plain text #: guix-git/doc/contributing.texi:1784 #, fuzzy #| msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space. They must not refer to other Guix or GNU modules. However, it is OK for a ``host-side'' module to use a build-side module." msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space. They must not refer to other Guix or GNU modules. However, it is OK for a ``host-side'' module to use a build-side module. As an example, the @code{(guix search-paths)} module should not be imported and used by a package since it isn't meant to be used as a ``build-side'' module. It would also couple the module with the package's dependency graph, which is undesirable." msgstr "Los módulos Guile que están destinados a ser usados en el lado del constructor deben encontrarse en el espacio de nombres @code{(guix build @dots{})}. No deben hacer referencia a otros módulos Guix o GNU. No obstante, no hay problema en usar un módulo del lado del constructor en un módulo ``del lado del cliente''." #. type: Plain text #: guix-git/doc/contributing.texi:1787 msgid "Modules that deal with the broader GNU system should be in the @code{(gnu @dots{})} name space rather than @code{(guix @dots{})}." msgstr "Los módulos que tratan con el sistema GNU más amplio deben estar en el espacio de nombres @code{(gnu @dots{})} en vez de en @code{(guix @dots{})}." #. type: Plain text #: guix-git/doc/contributing.texi:1796 msgid "The tendency in classical Lisp is to use lists to represent everything, and then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and co. There are several problems with that style, notably the fact that it is hard to read, error-prone, and a hindrance to proper type error reports." msgstr "La tendencia en el Lisp clásico es usar listas para representar todo, y recorrerlas ``a mano'' usando @code{car}, @code{cdr}, @code{cadr} y compañía. Hay varios problemas con este estilo, notablemente el hecho de que es difícil de leer, propenso a errores y una carga para informes adecuados de errores de tipado." #. type: findex #: guix-git/doc/contributing.texi:1797 #, no-wrap msgid "define-record-type*" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:1798 #, no-wrap msgid "match-record" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1799 #, fuzzy, no-wrap #| msgid "Data Types and Pattern Matching" msgid "pattern matching" msgstr "Tipos de datos y reconocimiento de patrones" #. type: Plain text #: guix-git/doc/contributing.texi:1807 #, fuzzy msgid "Guix code should define appropriate data types (for instance, using @code{define-record-type*}) rather than abuse lists. In addition, it should use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when matching lists (@pxref{Pattern Matching,,, guile, GNU Guile Reference Manual}); pattern matching for records is better done using @code{match-record} from @code{(guix records)}, which, unlike @code{match}, verifies field names at macro-expansion time." msgstr "El código de Guix debe definir tipos de datos apropiados (por ejemplo, mediante el uso @code{define-record-type*}) en vez de abusar de las listas. Además debe usarse el reconocimiento de patrones, vía el módulo de Guile @code{(ice-9 match)}, especialmente cuando se analizan listas." #. type: Plain text #: guix-git/doc/contributing.texi:1818 msgid "When defining a new record type, keep the @dfn{record type descriptor} (RTD) private (@pxref{Records,,, guile, GNU Guile Reference Manual}, for more on records and RTDs). As an example, the @code{(guix packages)} module defines @code{<package>} as the RTD for package records but it does not export it; instead, it exports a type predicate, a constructor, and field accessors. Exporting RTDs would make it harder to change the application binary interface (because code in other modules might be matching fields by position) and would make it trivial for users to forge records of that type, bypassing any checks we may have in the official constructor (such as ``field sanitizers'')." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1822 #, no-wrap msgid "formatting code" msgstr "dar formato al código" #. type: cindex #: guix-git/doc/contributing.texi:1823 #, no-wrap msgid "coding style" msgstr "estilo de codificación" #. type: Plain text #: guix-git/doc/contributing.texi:1830 msgid "When writing Scheme code, we follow common wisdom among Scheme programmers. In general, we follow the @url{https://mumble.net/~campbell/scheme/style.txt, Riastradh's Lisp Style Rules}. This document happens to describe the conventions mostly used in Guile’s code too. It is very thoughtful and well written, so please do read it." msgstr "Cuando escribimos código Scheme, seguimos la sabiduría común entre las programadoras Scheme. En general, seguimos las @url{https://mumble.net/~campbell/scheme/style.txt, Reglas de estilo Lisp de Riastradh}. Este documento resulta que también describe las convenciones más usadas en el código Guile. Está lleno de ideas y bien escrito, así que recomendamos encarecidamente su lectura." #. type: Plain text #: guix-git/doc/contributing.texi:1837 msgid "Some special forms introduced in Guix, such as the @code{substitute*} macro, have special indentation rules. These are defined in the @file{.dir-locals.el} file, which Emacs automatically uses. Also note that Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." msgstr "Algunas formas especiales introducidas en Guix, como el macro @code{substitute*} tienen reglas de indentación especiales. Estas están definidas en el archivo @file{.dir-locals.el}, el cual Emacs usa automáticamente. Fíjese que además Emacs-Guix proporciona el modo @code{guix-devel-mode} que indenta y resalta adecuadamente el código de Guix (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." #. type: cindex #: guix-git/doc/contributing.texi:1838 #, no-wrap msgid "indentation, of code" msgstr "indentación, de código" #. type: cindex #: guix-git/doc/contributing.texi:1839 #, no-wrap msgid "formatting, of code" msgstr "formato, de código" #. type: Plain text #: guix-git/doc/contributing.texi:1842 msgid "If you do not use Emacs, please make sure to let your editor knows these rules. To automatically indent a package definition, you can also run:" msgstr "Si no usa Emacs, por favor asegúrese de que su editor conoce esas reglas. Para indentar automáticamente una definición de paquete también puede ejecutar:" #. type: example #: guix-git/doc/contributing.texi:1845 #, fuzzy, no-wrap #| msgid "guix install @var{package}\n" msgid "./pre-inst-env guix style @var{package}\n" msgstr "guix install @var{paquete}\n" #. type: Plain text #: guix-git/doc/contributing.texi:1849 #, fuzzy #| msgid "@xref{Invoking guix pull}, for more information." msgid "@xref{Invoking guix style}, for more information." msgstr "@xref{Invoking guix pull}, para más información." #. type: Plain text #: guix-git/doc/contributing.texi:1853 msgid "We require all top-level procedures to carry a docstring. This requirement can be relaxed for simple private procedures in the @code{(guix build @dots{})} name space, though." msgstr "Requerimos que todos los procedimientos del nivel superior tengan una cadena de documentación. Este requisito puede relajarse para procedimientos simples privados en el espacio de nombres @code{(guix build @dots{})} no obstante." #. type: Plain text #: guix-git/doc/contributing.texi:1856 msgid "Procedures should not have more than four positional parameters. Use keyword parameters for procedures that take more than four parameters." msgstr "Los procedimientos no deben tener más de cuatro parámetros posicionales. Use parámetros con palabras clave para procedimientos que toman más de cuatro parámetros." #. type: Plain text #: guix-git/doc/contributing.texi:1870 #, fuzzy #| msgid "Development is done using the Git distributed version control system. Thus, access to the repository is not strictly necessary. We welcome contributions in the form of patches as produced by @code{git format-patch} sent to the @email{guix-patches@@gnu.org} mailing list. Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access})." msgid "Development is done using the Git distributed version control system. Thus, access to the repository is not strictly necessary. We welcome contributions in the form of patches as produced by @code{git format-patch} sent to the @email{guix-patches@@gnu.org} mailing list (@pxref{Submitting patches to a project,,, git, Git User Manual}). Contributors are encouraged to take a moment to set some Git repository options (@pxref{Configuring Git}) first, which can improve the readability of patches. Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access})." msgstr "El desarrollo se lleva a cabo usando el sistema de control de versiones distribuido Git. Por lo tanto, no es estrictamente necesario el acceso al repositorio. Son bienvenidas las contribuciones en forma de parches como los producidos por @code{git format-patch} enviadas a la lista de correo @email{guix-patches@@gnu.org}. Las desarrolladoras de Guix que lleven un tiempo en ello puede que también quieran leer la sección sobre el acceso al repositorio (@pxref{Commit Access})." #. type: Plain text #: guix-git/doc/contributing.texi:1877 #, fuzzy #| msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Patches}). Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking number (@pxref{Sending a Patch Series})." msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Changes}). Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is the tracking number (@pxref{Sending a Patch Series})." msgstr "Esta lista de correo está respaldada por una instancia de Debbugs accesible en @uref{https://bugs.gnu.org/guix-patches}, la cual nos permite mantener el seguimiento de los envíos. A cada mensaje enviado a esa lista de correo se le asigna un número de seguimiento; la gente puede realizar aportaciones sobre el tema mediante el envío de correos electrónicos a @code{@var{NNN}@@debbugs.gnu.org}, donde @var{NNN} es el número de seguimiento (@pxref{Sending a Patch Series})." #. type: Plain text #: guix-git/doc/contributing.texi:1881 msgid "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for examples." msgstr "Le rogamos que escriba los mensajes de revisiones en formato ChangeLog (@pxref{Change Logs,,, standards, GNU Coding Standards}); puede comprobar la historia de revisiones en busca de ejemplos." #. type: Plain text #: guix-git/doc/contributing.texi:1891 msgid "You can help make the review process more efficient, and increase the chance that your patch will be reviewed quickly, by describing the context of your patch and the impact you expect it to have. For example, if your patch is fixing something that is broken, describe the problem and how your patch fixes it. Tell us how you have tested your patch. Will users of the code changed by your patch have to adjust their workflow at all? If so, tell us how. In general, try to imagine what questions a reviewer will ask, and answer those questions in advance." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1894 msgid "Before submitting a patch that adds or modifies a package definition, please run through this check list:" msgstr "Antes de enviar un parche que añade o modifica una definición de un paquete, por favor recorra esta lista de comprobaciones:" #. type: enumerate #: guix-git/doc/contributing.texi:1901 msgid "If the authors of the packaged software provide a cryptographic signature for the release tarball, make an effort to verify the authenticity of the archive. For a detached GPG signature file this would be done with the @code{gpg --verify} command." msgstr "Si las autoras del paquete software proporcionan una firma criptográfica para el archivo de la versión, haga un esfuerzo para verificar la autenticidad del archivo. Para un archivo de firma GPG separado esto puede hacerse con la orden @code{gpg --verify}." #. type: enumerate #: guix-git/doc/contributing.texi:1905 msgid "Take some time to provide an adequate synopsis and description for the package. @xref{Synopses and Descriptions}, for some guidelines." msgstr "Dedique algún tiempo a proporcionar una sinopsis y descripción adecuadas para el paquete. @xref{Synopses and Descriptions}, para algunas directrices." #. type: enumerate #: guix-git/doc/contributing.texi:1910 msgid "Run @command{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})." msgstr "Ejecute @command{guix lint @var{paquete}}, donde @var{paquete} es el nombre del paquete nuevo o modificado, y corrija cualquier error del que informe (@pxref{Invoking guix lint})." #. type: enumerate #: guix-git/doc/contributing.texi:1914 #, fuzzy #| msgid "Run @code{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})." msgid "Run @command{guix style @var{package}} to format the new package definition according to the project's conventions (@pxref{Invoking guix style})." msgstr "Ejecute @code{guix lint @var{paquete}}, donde @var{paquete} es el nombre del paquete nuevo o modificado, y corrija cualquier error del que informe (@pxref{Invoking guix lint})." #. type: enumerate #: guix-git/doc/contributing.texi:1918 msgid "Make sure the package builds on your platform, using @command{guix build @var{package}}." msgstr "Asegúrese de que el paquete compile en su plataforma, usando @command{guix build @var{package}}." #. type: enumerate #: guix-git/doc/contributing.texi:1926 #, fuzzy #| msgid "We recommend you also try building the package on other supported platforms. As you may not have access to actual hardware platforms, we recommend using the @code{qemu-binfmt-service-type} to emulate them. In order to enable it, add the following service to the list of services in your @code{operating-system} configuration:" msgid "We recommend you also try building the package on other supported platforms. As you may not have access to actual hardware platforms, we recommend using the @code{qemu-binfmt-service-type} to emulate them. In order to enable it, add the @code{virtualization} service module and the following service to the list of services in your @code{operating-system} configuration:" msgstr "También le recomendamos que pruebe a construir el paquete en otras plataformas disponibles. Como puede no disponer de acceso a dichas plataformas hardware físicamente, le recomendamos el uso de @code{qemu-binfmt-service-type} para emularlas. Para activarlo, añada el siguiente servicio a la lista de servicios en su configuración @code{operating-system}:" #. type: lisp #: guix-git/doc/contributing.texi:1931 #, fuzzy, no-wrap msgid "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" msgstr "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" #. type: enumerate #: guix-git/doc/contributing.texi:1934 msgid "Then reconfigure your system." msgstr "Una vez hecho esto, reconfigure su sistema." #. type: enumerate #: guix-git/doc/contributing.texi:1939 #, fuzzy #| msgid "You can then build packages for different platforms by specifying the @code{--system} option. For example, to build the \"hello\" package for the armhf, aarch64, or mips64 architectures, you would run the following commands, respectively:" msgid "You can then build packages for different platforms by specifying the @code{--system} option. For example, to build the \"hello\" package for the armhf or aarch64 architectures, you would run the following commands, respectively:" msgstr "Entonces podrá construir paquetes para diferentes plataformas mediante la opción @code{--system}. Por ejemplo, para la construcción del paquete \"hello\" para las arquitecturas armhf, aarch64 o mips64 ejecutaría las siguientes órdenes, respectivamente:" #. type: example #: guix-git/doc/contributing.texi:1942 #, no-wrap msgid "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" msgstr "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:1945 #, no-wrap msgid "bundling" msgstr "empaquetamientos" #. type: enumerate #: guix-git/doc/contributing.texi:1948 msgid "Make sure the package does not use bundled copies of software already available as separate packages." msgstr "Asegúrese de que el paquete no usa copias empaquetadas de software ya disponible como paquetes separados." #. type: enumerate #: guix-git/doc/contributing.texi:1957 msgid "Sometimes, packages include copies of the source code of their dependencies as a convenience for users. However, as a distribution, we want to make sure that such packages end up using the copy we already have in the distribution, if there is one. This improves resource usage (the dependency is built and stored only once), and allows the distribution to make transverse changes such as applying security updates for a given software package in a single place and have them affect the whole system---something that bundled copies prevent." msgstr "A veces, paquetes incluyen copias embebidas del código fuente de sus dependencias para conveniencia de las usuarias. No obstante, como distribución, queremos asegurar que dichos paquetes efectivamente usan la copia que ya tenemos en la distribución si hay ya una. Esto mejora el uso de recursos (la dependencia es construida y almacenada una sola vez), y permite a la distribución hacer cambios transversales como aplicar actualizaciones de seguridad para un software dado en un único lugar y que afecte a todo el sistema---algo que esas copias embebidas impiden." #. type: enumerate #: guix-git/doc/contributing.texi:1966 #, fuzzy msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references to other packages unwillingly retained. It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used. In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use @code{texlive-updmap.cfg} procedure instead." msgstr "Eche un vistazo al perfil mostrado por @command{guix size} (@pxref{Invoking guix size}). Esto le permitirá darse cuenta de referencias a otros paquetes retenidas involuntariamente. También puede ayudar a determinar si se debe dividir el paquete (@pxref{Packages with Multiple Outputs}), y qué dependencias opcionales deben usarse. En particular, evite añadir @code{texlive} como una dependencia: debido a su tamaño extremo, use @code{texlive-tiny} o @code{texlive-union}." #. type: enumerate #: guix-git/doc/contributing.texi:1971 #, fuzzy #| msgid "For important changes, check that dependent package (if applicable) are not affected by the change; @code{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})." msgid "Check that dependent packages (if applicable) are not affected by the change; @command{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})." msgstr "Para cambios importantes, compruebe que los paquetes dependientes (si aplica) no se ven afectados por el cambio; @code{guix refresh --list-dependent @var{package}} le ayudará a hacerlo (@pxref{Invoking guix refresh})." #. type: cindex #: guix-git/doc/contributing.texi:1973 #, no-wrap msgid "determinism, of build processes" msgstr "determinismo, del proceso de construcción" #. type: cindex #: guix-git/doc/contributing.texi:1974 #, no-wrap msgid "reproducible builds, checking" msgstr "construcciones reproducibles, comprobar" #. type: enumerate #: guix-git/doc/contributing.texi:1978 msgid "Check whether the package's build process is deterministic. This typically means checking whether an independent build of the package yields the exact same result that you obtained, bit for bit." msgstr "Compruebe si el proceso de construcción de un paquete es determinista. Esto significa típicamente comprobar si una construcción independiente del paquete ofrece exactamente el mismo resultado que usted obtuvo, bit a bit." #. type: enumerate #: guix-git/doc/contributing.texi:1981 msgid "A simple way to do that is by building the same package several times in a row on your machine (@pxref{Invoking guix build}):" msgstr "Una forma simple de hacerlo es construyendo el mismo paquete varias veces seguidas en su máquina (@pxref{Invoking guix build}):" #. type: example #: guix-git/doc/contributing.texi:1984 #, no-wrap msgid "guix build --rounds=2 my-package\n" msgstr "guix build --rounds=2 mi-paquete\n" #. type: enumerate #: guix-git/doc/contributing.texi:1988 msgid "This is enough to catch a class of common non-determinism issues, such as timestamps or randomly-generated output in the build result." msgstr "Esto es suficiente una clase común de problemas de no-determinismo, como las marcas de tiempo o salida generada aleatoriamente en el resultado de la construcción." #. type: enumerate #: guix-git/doc/contributing.texi:1998 msgid "Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}). You may run it once the package has been committed and built by @code{@value{SUBSTITUTE-SERVER-1}} to check whether it obtains the same result as you did. Better yet: Find another machine that can build it and run @command{guix publish}. Since the remote build machine is likely different from yours, this can catch non-determinism issues related to the hardware---e.g., use of different instruction set extensions---or to the operating system kernel---e.g., reliance on @code{uname} or @file{/proc} files." msgstr "Otra opción es el uso de @command{guix challenge} (@pxref{Invoking guix challenge}). Puede ejecutarse una vez la revisión del paquete haya sido publicada y construida por @code{@value{SUBSTITUTE-SERVER-1}} para comprobar si obtuvo el mismo resultado que usted. Mejor aún: encuentre otra máquina que pueda construirla y ejecute @command{guix publish}. Ya que la máquina remota es probablemente diferente a la suya, puede encontrar problemas de no-determinismo relacionados con el hardware---por ejemplo, el uso de un conjunto de instrucciones extendido diferente---o con el núcleo del sistema operativo---por ejemplo, dependencias en @code{uname} o archivos @file{/proc}." # TODO (MAAV): And so forth? #. type: enumerate #: guix-git/doc/contributing.texi:2004 msgid "When writing documentation, please use gender-neutral wording when referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth." msgstr "Cuando escriba documentación, por favor use construcciones neutrales de género para referirse a la gente@footnote{NdT: En esta traducción se ha optado por usar el femenino para referirse a @emph{personas}, ya que es el género gramatical de dicha palabra. Aunque las construcciones impersonales pueden adoptarse en la mayoría de casos, también pueden llegar a ser muy artificiales en otros usos del castellano; en ocasiones son directamente imposibles. Algunas construcciones que proponen la neutralidad de género dificultan la lectura automática (-x), o bien dificultan la corrección automática (-e), o bien aumentan significativamente la redundancia y reducen del mismo modo la velocidad en la lectura (-as/os, -as y -os). No obstante, la adopción del genero neutro heredado del latín, el que en castellano se ha unido con el masculino, como construcción neutral de género se considera inaceptable, ya que sería equivalente al ``it'' en inglés, nada más lejos de la intención de las autoras originales del texto.}, como @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''} y demás." #. type: enumerate #: guix-git/doc/contributing.texi:2008 msgid "Verify that your patch contains only one set of related changes. Bundling unrelated changes together makes reviewing harder and slower." msgstr "Compruebe que su parche contiene únicamente un conjunto relacionado de cambios. Agrupando cambios sin relación dificulta y ralentiza la revisión." #. type: enumerate #: guix-git/doc/contributing.texi:2011 msgid "Examples of unrelated changes include the addition of several packages, or a package update along with fixes to that package." msgstr "Ejemplos de cambios sin relación incluyen la adición de varios paquetes, o una actualización de un paquete junto a correcciones a ese paquete." #. type: enumerate #: guix-git/doc/contributing.texi:2016 #, fuzzy #| msgid "Please follow our code formatting rules, possibly running the @command{etc/indent-code.el} script to do that automatically for you (@pxref{Formatting Code})." msgid "Please follow our code formatting rules, possibly running @command{guix style} script to do that automatically for you (@pxref{Formatting Code})." msgstr "Por favor, siga nuestras reglas de formato de código, posiblemente ejecutando el guión @command{etc/indent-code.el} para que lo haga automáticamente por usted (@pxref{Formatting Code})." #. type: enumerate #: guix-git/doc/contributing.texi:2024 msgid "When possible, use mirrors in the source URL (@pxref{Invoking guix download}). Use reliable URLs, not generated ones. For instance, GitHub archives are not necessarily identical from one generation to the next, so in this case it's often better to clone the repository. Don't use the @code{name} field in the URL: it is not very useful and if the name changes, the URL will probably be wrong." msgstr "Cuando sea posible, use espejos en la URL de las fuentes (@pxref{Invoking guix download}). Use URL fiables, no generadas. Por ejemplo, los archivos de GitHub no son necesariamente idénticos de una generación a la siguiente, así que en este caso es normalmente mejor clonar el repositorio. No use el campo @code{name} en la URL: no es muy útil y si el nombre cambia, la URL probablemente estará mal." #. type: enumerate #: guix-git/doc/contributing.texi:2028 msgid "Check if Guix builds (@pxref{Building from Git}) and address the warnings, especially those about use of undefined symbols." msgstr "Comprueba si Guix se puede construir correctamente (@pxref{Building from Git}) y trata los avisos, especialmente aquellos acerca del uso de símbolos sin definición." #. type: enumerate #: guix-git/doc/contributing.texi:2032 msgid "Make sure your changes do not break Guix and simulate a @command{guix pull} with:" msgstr "Asegúrese de que sus cambios no rompen Guix y simule @command{guix pull} con:" #. type: example #: guix-git/doc/contributing.texi:2034 #, no-wrap msgid "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n" msgstr "guix pull --url=/ruta/a/su/copia --profile=/tmp/guix.master\n" #. type: Plain text #: guix-git/doc/contributing.texi:2042 msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject, if your patch is to be applied on a branch other than @code{master}, say @code{core-updates}, specify it in the subject like @samp{[PATCH core-updates] @dots{}}." msgstr "" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2049 #, fuzzy #| msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject, if your patch is to be applied on a branch other than @code{master}, say @code{core-updates}, specify it in the subject like @samp{[PATCH core-updates] @dots{}}. You may use your email client or the @command{git send-email} command (@pxref{Sending a Patch Series}). We prefer to get patches in plain text messages, either inline or as MIME attachments. You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches." msgid "You may use your email client, the @command{git send-email} command (@pxref{Sending a Patch Series}) or the @command{mumi send-email} command (@pxref{Debbugs User Interfaces}). We prefer to get patches in plain text messages, either inline or as MIME attachments. You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches." msgstr "Cuando publique un parche en la lista de correo, use @samp{[PATCH] @dots{}} como el asunto, si su parche debe aplicarse sobre una rama distinta a @code{master}, digamos @code{core-updates}, especifíquelo en el asunto usando @samp{[PATCH core-updates] @dots{}}. Puede usar su cliente de correo o la orden @command{git send-email} (@pxref{Sending a Patch Series}). Preferimos recibir los parches en texto plano, ya sea en línea o como adjuntos MIME. Se le recomienda que preste atención por si su cliente de correo cambia algo como los saltos de línea o la indentación, lo que podría potencialmente romper los parches." #. type: Plain text #: guix-git/doc/contributing.texi:2054 msgid "Expect some delay when you submit your very first patch to @email{guix-patches@@gnu.org}. You have to wait until you get an acknowledgement with the assigned tracking number. Future acknowledgements should not be delayed." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2057 #, fuzzy #| msgid "When a bug is resolved, please close the thread by sending an email to @email{@var{NNN}-done@@debbugs.gnu.org}." msgid "When a bug is resolved, please close the thread by sending an email to @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}." msgstr "Cuando un error es resuelto, por favor cierre el hilo enviando un correo a @email{@var{NNN}-done@@debbugs.gnu.org}." #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2063 #: guix-git/doc/contributing.texi:2064 #, fuzzy, no-wrap #| msgid "Configuring the boot loader." msgid "Configuring Git" msgstr "Configurar el gestor de arranque." #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2087 #: guix-git/doc/contributing.texi:2088 #, no-wrap msgid "Sending a Patch Series" msgstr "Envío de una serie de parches" #. type: cindex #: guix-git/doc/contributing.texi:2065 #, fuzzy, no-wrap #| msgid "configuration" msgid "git configuration" msgstr "configuration" #. type: code{#1} #: guix-git/doc/contributing.texi:2066 guix-git/doc/contributing.texi:2091 #, no-wrap msgid "git format-patch" msgstr "" #. type: code{#1} #: guix-git/doc/contributing.texi:2067 guix-git/doc/contributing.texi:2090 #, no-wrap msgid "git send-email" msgstr "git send-email" #. type: Plain text #: guix-git/doc/contributing.texi:2075 msgid "If you have not done so already, you may wish to set a name and email that will be associated with your commits (@pxref{telling git your name, , Telling Git your name, git, Git User Manual}). If you wish to use a different name or email just for commits in this repository, you can use @command{git config --local}, or edit @file{.git/config} in the repository instead of @file{~/.gitconfig}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2076 #, no-wrap msgid "commit-msg hook" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2086 msgid "Other important Git configuration will automatically be configured when building the project (@pxref{Building from Git}). A @file{.git/hooks/commit-msg} hook will be installed that embeds @samp{Change-Id} Git @emph{trailers} in your commit messages for traceability purposes. It is important to preserve these when editing your commit messages, particularly if a first version of your proposed changes was already submitted for review. If you have a @file{commit-msg} hook of your own you would like to use with Guix, you can place it under the @file{.git/hooks/commit-msg.d/} directory." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2089 #, no-wrap msgid "patch series" msgstr "series de parches" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2093 guix-git/doc/contributing.texi:2100 #, fuzzy, no-wrap #| msgid "Submitting Patches" msgid "Single Patches" msgstr "Envío de parches" #. type: Plain text #: guix-git/doc/contributing.texi:2100 msgid "The @command{git send-email} command is the best way to send both single patches and patch series (@pxref{Multiple Patches}) to the Guix mailing list. Sending patches as email attachments may make them difficult to review in some mail clients, and @command{git diff} does not store commit metadata." msgstr "" #. type: quotation #: guix-git/doc/contributing.texi:2104 msgid "The @command{git send-email} command is provided by the @code{send-email} output of the @code{git} package, i.e. @code{git:send-email}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2111 msgid "The following command will create a patch email from the latest commit, open it in your @var{EDITOR} or @var{VISUAL} for editing, and send it to the Guix mailing list to be reviewed and merged. Assuming you have already configured Git according to @xref{Configuring Git}, you can simply use:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2114 #, fuzzy, no-wrap #| msgid "git send-email" msgid "$ git send-email --annotate -1\n" msgstr "git send-email" #. type: quotation #: guix-git/doc/contributing.texi:2116 guix-git/doc/guix.texi:10571 #: guix-git/doc/guix.texi:20578 guix-git/doc/guix.texi:20586 #: guix-git/doc/guix.texi:34841 #, fuzzy, no-wrap #| msgid "Top" msgid "Tip" msgstr "Top" #. type: quotation #: guix-git/doc/contributing.texi:2122 msgid "To add a prefix to the subject of your patch, you may use the @option{--subject-prefix} option. The Guix project uses this to specify that the patch is intended for a branch or repository other than the @code{master} branch of @url{https://git.savannah.gnu.org/cgit/guix.git}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2125 #, no-wrap msgid "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2132 msgid "The patch email contains a three-dash separator line after the commit message. You may ``annotate'' the patch with explanatory text by adding it under this line. If you do not wish to annotate the email, you may drop the @option{--annotate} option." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2139 msgid "If you need to send a revised patch, don't resend it like this or send a ``fix'' patch to be applied on top of the last one; instead, use @command{git commit --amend} or @url{https://git-rebase.io, @command{git rebase}} to modify the commit, and use the @email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} address and the @option{-v} flag with @command{git send-email}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2144 #, no-wrap msgid "" "$ git commit --amend\n" "$ git send-email --annotate -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1\n" msgstr "" #. type: quotation #: guix-git/doc/contributing.texi:2150 msgid "Due to an apparent bug in @command{git send-email}, @option{-v @var{REVISION}} (with the space) will not work; you @emph{must} use @option{-v@var{REVISION}}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2156 msgid "You can find out @var{ISSUE_NUMBER} either by searching on the mumi interface at @url{https://issues.guix.gnu.org} for the name of your patch or reading the acknowledgement email sent automatically by Debbugs in reply to incoming bugs and patches, which contains the bug number." msgstr "" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2157 guix-git/doc/contributing.texi:2159 #, no-wrap msgid "Notifying Teams" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2159 guix-git/doc/contributing.texi:2635 #, no-wrap msgid "teams" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2168 msgid "If your git checkout has been correctly configured (@pxref{Configuring Git}), the @command{git send-email} command will automatically notify the appropriate team members, based on the scope of your changes. This relies on the @file{etc/teams.scm} script, which can also be invoked manually if you do not use the preferred @command{git send-email} command to submit patches. To list the available actions of the script, you can invoke it via the @command{etc/teams.scm help} command. For more information regarding teams, @pxref{Teams}." msgstr "" #. type: quotation #: guix-git/doc/contributing.texi:2172 msgid "On foreign distros, you might have to use @command{./pre-inst-env git send-email} for @file{etc/teams.scm} to work." msgstr "" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2174 guix-git/doc/contributing.texi:2176 #, fuzzy, no-wrap #| msgid "Submitting Patches" msgid "Multiple Patches" msgstr "Envío de parches" #. type: cindex #: guix-git/doc/contributing.texi:2176 #, no-wrap msgid "cover letter" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2182 msgid "While @command{git send-email} alone will suffice for a single patch, an unfortunate flaw in Debbugs means you need to be more careful when sending multiple patches: if you send them all to the @email{guix-patches@@gnu.org} address, a new issue will be created for each patch!" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2188 msgid "When sending a series of patches, it's best to send a Git ``cover letter'' first, to give reviewers an overview of the patch series. We can create a directory called @file{outgoing} containing both our patch series and a cover letter called @file{0000-cover-letter.patch} with @command{git format-patch}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2192 #, no-wrap msgid "" "$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \\\n" " --cover-letter --base=auto\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2197 msgid "We can now send @emph{just} the cover letter to the @email{guix-patches@@gnu.org} address, which will create an issue that we can send the rest of the patches to." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2201 #, no-wrap msgid "" "$ git send-email outgoing/0000-cover-letter.patch --annotate\n" "$ rm outgoing/0000-cover-letter.patch # we don't want to resend it!\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2206 msgid "Ensure you edit the email to add an appropriate subject line and blurb before sending it. Note the automatically generated shortlog and diffstat below the blurb." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2209 msgid "Once the Debbugs mailer has replied to your cover letter email, you can send the actual patches to the newly-created issue address." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2213 #, no-wrap msgid "" "$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" "$ rm -rf outgoing # we don't need these anymore\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2218 msgid "Thankfully, this @command{git format-patch} dance is not necessary to send an amended patch series, since an issue already exists for the patchset." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2222 #, no-wrap msgid "" "$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2227 msgid "If need be, you may use @option{--cover-letter --annotate} to send another cover letter, e.g. for explaining what's changed since the last revision, and these changes are necessary." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2233 msgid "This section describes how the Guix project tracks its bug reports, patch submissions and topic branches." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2242 #: guix-git/doc/contributing.texi:2243 #, no-wrap msgid "The Issue Tracker" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "The official bug and patch tracker." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2256 #: guix-git/doc/contributing.texi:2257 #, no-wrap msgid "Managing Patches and Branches" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "How changes to Guix are managed." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2350 #: guix-git/doc/contributing.texi:2351 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Debbugs User Interfaces" msgstr "interfaces de usuaria" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Ways to interact with Debbugs." msgstr "" # FUZZY #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2539 #: guix-git/doc/contributing.texi:2540 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs Usertags" msgstr "Debbugs, sistema de seguimiento de incidencias" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Tag reports with custom labels." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2596 #: guix-git/doc/contributing.texi:2597 #, no-wrap msgid "Cuirass Build Notifications" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Be alerted of any breakage via RSS feeds." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2245 #, no-wrap msgid "bug reports, tracking" msgstr "informes de errores, seguimiento" #. type: cindex #: guix-git/doc/contributing.texi:2246 #, no-wrap msgid "patch submissions, tracking" msgstr "envíos de parches, seguimiento" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:2247 #, no-wrap msgid "issue tracking" msgstr "seguimiento de incidencias" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:2248 #, no-wrap msgid "Debbugs, issue tracking system" msgstr "Debbugs, sistema de seguimiento de incidencias" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2255 msgid "Bug reports and patch submissions are currently tracked using the Debbugs instance at @uref{https://bugs.gnu.org}. Bug reports are filed against the @code{guix} ``package'' (in Debbugs parlance), by sending email to @email{bug-guix@@gnu.org}, while patch submissions are filed against the @code{guix-patches} package by sending email to @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})." msgstr "El seguimiento de los informes de errores y los envíos de parches se realiza con una instancia de Debbugs en @uref{https://bugs.gnu.org}. Los informes de errores se abren para el ``paquete'' @code{guix} (en la jerga de Debbugs), enviando un correo a @email{bug-guix@@gnu.org}, mientras que para los envíos de parches se usa el paquete @code{guix-patches} enviando un correo a @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})." #. type: cindex #: guix-git/doc/contributing.texi:2258 #, no-wrap msgid "branching strategy" msgstr "estrategia de ramas" #. type: cindex #: guix-git/doc/contributing.texi:2259 #, no-wrap msgid "rebuild scheduling strategy" msgstr "estrategia de planificación de reconstrucciones" #. type: Plain text #: guix-git/doc/contributing.texi:2268 msgid "Changes should be posted to @email{guix-patches@@gnu.org}. This mailing list fills the patch-tracking database (@pxref{The Issue Tracker}). It also allows patches to be picked up and tested by the quality assurance tooling; the result of that testing eventually shows up on the dashboard at @indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where @var{ISSUE_NUMBER} is the number assigned by the issue tracker. Leave time for a review, without committing anything." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2274 #, fuzzy #| msgid "That last part is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with." msgid "As an exception, some changes considered ``trivial'' or ``obvious'' may be pushed directly to the @code{master} branch. This includes changes to fix typos and reverting commits that caused immediate problems. This is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with." msgstr "Esta última parte está sujeta a revisión, para permitir a individualidades que suban cambios que no puedan generar controversia directamente en partes con las que estén familiarizadas." #. type: Plain text #: guix-git/doc/contributing.texi:2282 msgid "Changes which affect more than 300 dependent packages (@pxref{Invoking guix refresh}) should first be pushed to a topic branch other than @code{master}; the set of changes should be consistent---e.g., ``GNOME update'', ``NumPy update'', etc. This allows for testing: the branch will automatically show up at @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an indication of its build status on various platforms." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2283 #, no-wrap msgid "feature branches, coordination" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2288 msgid "To help coordinate the merging of branches, you must create a new guix-patches issue each time you create a branch (@pxref{The Issue Tracker}). The title of the issue requesting to merge a branch should have the following format:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2289 #, no-wrap msgid "merge requests, template" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2292 #, no-wrap msgid "Request for merging \"@var{name}\" branch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2297 msgid "The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such issues and lists the merge requests on its main page. The following points apply to managing these branches:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2303 msgid "The commits on the branch should be a combination of the patches relevant to the branch. Patches not related to the topic of the branch should go elsewhere." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2308 msgid "Any changes that can be made on the master branch, should be made on the master branch. If a commit can be split to apply part of the changes on master, this is good to do." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2312 msgid "It should be possible to re-create the branch by starting from master and applying the relevant patches." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2316 msgid "Avoid merging master in to the branch. Prefer rebasing or re-creating the branch on top of an updated master revision." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2321 msgid "Minimise the changes on master that are missing on the branch prior to merging the branch in to master. This means that the state of the branch better reflects the state of master should the branch be merged." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2326 msgid "If you don't have commit access, create the ``Request for merging'' issue and request that someone creates the branch. Include a list of issues/patches to include on the branch." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2340 msgid "Normally branches will be merged in a ``first come, first merged'' manner, tracked through the guix-patches issues. If you agree on a different order with those involved, you can track this by updating which issues block@footnote{You can mark an issue as blocked by another by emailing @email{control@@debbugs.gnu.org} with the following line in the body of the email: @code{block XXXXX by YYYYY}. Where @code{XXXXX} is the number for the blocked issue, and @code{YYYYY} is the number for the issue blocking it.} which other issues. Therefore, to know which branch is at the front of the queue, look for the oldest issue, or the issue that isn't @dfn{blocked} by any other branch merges. An ordered list of branches with the open issues is available at @url{https://qa.guix.gnu.org}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2346 msgid "Once a branch is at the front of the queue, wait until sufficient time has passed for the build farms to have processed the changes, and for the necessary testing to have happened. For example, you can check @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} to see information on some builds and substitute availability." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2349 msgid "Once the branch has been merged, the issue should be closed and the branch deleted." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:2353 #, fuzzy, no-wrap #| msgid "interface" msgid "Web interface" msgstr "interface" #. type: cindex #: guix-git/doc/contributing.texi:2355 #, fuzzy, no-wrap #| msgid "Git, web interface" msgid "mumi, web interface for issues" msgstr "Git, interfaz web" #. type: Plain text #: guix-git/doc/contributing.texi:2358 msgid "A web interface (actually @emph{two} web interfaces!) are available to browse issues:" msgstr "Hay disponible una interfaz web (¡en realidad @emph{dos} interfaces web!) para la navegación por las incidencias:" #. type: itemize #: guix-git/doc/contributing.texi:2367 #, fuzzy #| msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface@footnote{The web interface at @url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of software written in Guile, and you can help! See @url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} to browse bug reports and patches, and to participate in discussions;" msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface powered by mumi@footnote{Mumi is a nice piece of software written in Guile, and you can help! See @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse bug reports and patches, and to participate in discussions; mumi also has a command-line interface as we will see below;" msgstr "@url{https://issues.guix.gnu.org} proporciona una agradable interfaz @footnote{La interfaz web en @url{https://issues.guix.gnu.org} implementada con Mumi, un interesante software escrito en Guile, ¡y en el que puede ayudar! Véase @url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} paranavegar por los informes de errores y parches, y para participar en las discusiones;" #. type: itemize #: guix-git/doc/contributing.texi:2369 msgid "@url{https://bugs.gnu.org/guix} lists bug reports;" msgstr "@url{https://bugs.gnu.org/guix} muestra informes de errores;" #. type: itemize #: guix-git/doc/contributing.texi:2371 msgid "@url{https://bugs.gnu.org/guix-patches} lists patch submissions." msgstr "@url{https://bugs.gnu.org/guix-patches} muestra parches enviados." #. type: Plain text #: guix-git/doc/contributing.texi:2376 msgid "To view discussions related to issue number @var{n}, go to @indicateurl{https://issues.guix.gnu.org/@var{n}} or @indicateurl{https://bugs.gnu.org/@var{n}}." msgstr "Para ver los hilos relacionados con la incidencia número @var{n}, visite @indicateurl{https://issues.guix.gnu.org/@var{n}} o @indicateurl{https://bugs.gnu.org/@var{n}}." #. type: subsubsection #: guix-git/doc/contributing.texi:2377 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "Command-Line Interface" msgstr "Interfaz programática" #. type: cindex #: guix-git/doc/contributing.texi:2379 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "mumi command-line interface" msgstr "Interfaz programática" #. type: cindex #: guix-git/doc/contributing.texi:2380 #, no-wrap msgid "mumi am" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2381 #, fuzzy, no-wrap #| msgid "compose" msgid "mumi compose" msgstr "compose" #. type: cindex #: guix-git/doc/contributing.texi:2382 #, fuzzy, no-wrap #| msgid "git send-email" msgid "mumi send-email" msgstr "git send-email" #. type: cindex #: guix-git/doc/contributing.texi:2383 #, no-wrap msgid "mumi www" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2388 msgid "Mumi also comes with a command-line interface that can be used to search existing issues, open new issues, compose replies, apply and send patches. You do not need to use Emacs to use the mumi command-line client. You interact with it only on the command-line." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2392 msgid "To use the mumi command-line interface, navigate to a local clone of the Guix git repository, and drop into a shell with mumi, git and git:send-email installed." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2396 #, no-wrap msgid "" "$ cd guix\n" "~/guix$ guix shell mumi git git:send-email\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2399 msgid "To search for issues, say all open issues about \"zig\", run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2402 #, no-wrap msgid "" "~/guix [env]$ mumi search zig is:open\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2413 #, no-wrap msgid "" "#60889 Add zig-build-system\n" "opened on 17 Jan 17:37 Z by Ekaitz Zarraga\n" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" "#39136 [PATCH] gnu: services: Add endlessh.\n" "opened on 14 Jan 2020 21:21 by Nicol? Balzarotti\n" "#60424 [PATCH] gnu: Add python-online-judge-tools\n" "opened on 30 Dec 2022 07:03 by gemmaro\n" "#45601 [PATCH 0/6] vlang 0.2 update\n" "opened on 1 Jan 2021 19:23 by Ryan Prior\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2416 msgid "Pick an issue and make it the \"current\" issue." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2419 #, no-wrap msgid "" "~/guix [env]$ mumi current 61036\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2422 #, no-wrap msgid "" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2427 msgid "Once an issue is the current issue, you can open the issue in a web browser, compose replies, apply patches, send patches, etc. with short succinct commands." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2429 msgid "Open the issue in your web browser using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2432 #, no-wrap msgid "~/guix [env]$ mumi www\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2435 msgid "Compose a reply using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2438 #, no-wrap msgid "~/guix [env]$ mumi compose\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2441 msgid "Compose a reply and close the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2444 #, no-wrap msgid "~/guix [env]$ mumi compose --close\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2449 msgid "@command{mumi compose} opens your mail client by passing @samp{mailto:} URIs to @command{xdg-open}. So, you need to have @command{xdg-open} set up to open your mail client correctly." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2451 msgid "Apply the latest patchset from the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2454 #, no-wrap msgid "~/guix [env]$ mumi am\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2457 #, fuzzy #| msgid "You can also specify several package names:" msgid "You may also apply a patchset of a specific version (say, v3) using" msgstr "Puede especificar también varios nombres de paquetes:" #. type: example #: guix-git/doc/contributing.texi:2460 #, no-wrap msgid "~/guix [env]$ mumi am v3\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2465 msgid "Or, you may apply a patch from a specific e-mail message. For example, to apply the patch from the 4th message (message index starts from 0), run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2468 #, no-wrap msgid "~/guix [env]$ mumi am @@4\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2473 msgid "@command{mumi am} is a wrapper around @command{git am}. You can pass @command{git am} arguments to it after a @samp{--}. For example, to add a Signed-off-by trailer, run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2476 #, no-wrap msgid "~/guix [env]$ mumi am -- -s\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2479 msgid "Create and send patches to the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2483 #, no-wrap msgid "" "~/guix [env]$ git format-patch origin/master\n" "~/guix [env]$ mumi send-email foo.patch bar.patch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2488 msgid "Note that you do not have to pass in @samp{--to} or @samp{--cc} arguments to @command{git format-patch}. @command{mumi send-email} will put them in correctly when sending the patches." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2490 msgid "To open a new issue, run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2493 #, no-wrap msgid "~/guix [env]$ mumi new\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2497 msgid "and send an email (using @command{mumi compose}) or patches (using @command{mumi send-email})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2503 msgid "@command{mumi send-email} is really a wrapper around @command{git send-email} that automates away all the nitty-gritty of sending patches. It uses the current issue state to automatically figure out the correct @samp{To} address to send to, other participants to @samp{Cc}, headers to add, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2511 msgid "Also note that, unlike @command{git send-email}, @command{mumi send-email} works perfectly well with single and multiple patches alike. It automates away the debbugs dance of sending the first patch, waiting for a response from debbugs and sending the remaining patches. It does so by sending the first patch, polling the server for a response, and then sending the remaining patches. This polling can unfortunately take a few minutes. So, please be patient." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:2512 #, fuzzy, no-wrap #| msgid "interface" msgid "Emacs Interface" msgstr "interface" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2516 msgid "If you use Emacs, you may find it more convenient to interact with issues using @file{debbugs.el}, which you can install with:" msgstr "Si usa Emacs, puede encontrar más conveniente la interacción con las incidencias mediante @file{debbugs.el}, que puede instalar con:" #. type: example #: guix-git/doc/contributing.texi:2519 #, no-wrap msgid "guix install emacs-debbugs\n" msgstr "guix install emacs-debbugs\n" #. type: Plain text #: guix-git/doc/contributing.texi:2522 msgid "For example, to list all open issues on @code{guix-patches}, hit:" msgstr "Por ejemplo, para enumerar todos las incidencias abiertas en @code{guix-patches} pulse:" #. type: example #: guix-git/doc/contributing.texi:2525 #, no-wrap msgid "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" msgstr "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" #. type: Plain text #: guix-git/doc/contributing.texi:2532 msgid "For a more convenient (shorter) way to access both the bugs and patches submissions, you may want to configure the @code{debbugs-gnu-default-packages} and @code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing Bugs within Emacs})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2535 msgid "To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be used." msgstr "" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2538 msgid "@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on this nifty tool!" msgstr "@xref{Top,,, debbugs-ug, Debbugs User Guide}, para más información sobre esta útil herramienta." #. type: cindex #: guix-git/doc/contributing.texi:2542 #, no-wrap msgid "usertags, for debbugs" msgstr "" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:2543 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs usertags" msgstr "Debbugs, sistema de seguimiento de incidencias" #. type: Plain text #: guix-git/doc/contributing.texi:2554 msgid "Debbugs provides a feature called @dfn{usertags} that allows any user to tag any bug with an arbitrary label. Bugs can be searched by usertag, so this is a handy way to organize bugs@footnote{The list of usertags is public information, and anyone can modify any user's list of usertags, so keep that in mind if you choose to use this feature.}. If you use Emacs Debbugs, the entry-point to consult existing usertags is the @samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press @samp{C} while consulting a bug within the *Guix-Patches* buffer opened with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag} and follow the instructions." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2560 msgid "For example, to view all the bug reports (or patches, in the case of @code{guix-patches}) tagged with the usertag @code{powerpc64le-linux} for the user @code{guix}, open a URL like the following in a web browser: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2564 msgid "For more information on how to use usertags, please refer to the documentation for Debbugs or the documentation for whatever tool you use to interact with Debbugs." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2569 msgid "In Guix, we are experimenting with usertags to keep track of architecture-specific issues, as well as reviewed ones. To facilitate collaboration, all our usertags are associated with the single user @code{guix}. The following usertags currently exist for that user:" msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: defvar #: guix-git/doc/contributing.texi:2572 guix-git/doc/guix.texi:655 #: guix-git/doc/guix.texi:48442 #, fuzzy, no-wrap msgid "powerpc64le-linux" msgstr "aarch64-linux" #. type: table #: guix-git/doc/contributing.texi:2580 msgid "The purpose of this usertag is to make it easy to find the issues that matter most for the @code{powerpc64le-linux} system type. Please assign this usertag to bugs or patches that affect @code{powerpc64le-linux} but not other system types. In addition, you may use it to identify issues that for some reason are particularly important for the @code{powerpc64le-linux} system type, even if the issue affects other system types, too." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:2581 guix-git/doc/guix.texi:2966 #: guix-git/doc/guix.texi:4903 #, no-wrap msgid "reproducibility" msgstr "reproducibilidad" #. type: table #: guix-git/doc/contributing.texi:2585 msgid "For issues related to reproducibility. For example, it would be appropriate to assign this usertag to a bug report for a package that fails to build reproducibly." msgstr "" #. type: item #: guix-git/doc/contributing.texi:2586 #, no-wrap msgid "reviewed-looks-good" msgstr "" #. type: table #: guix-git/doc/contributing.texi:2588 msgid "You have reviewed the series and it looks good to you (LGTM)." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2595 msgid "If you're a committer and you want to add a usertag, just start using it with the @code{guix} user. If the usertag proves useful to you, consider updating this section of the manual so that others will know what your usertag means." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2599 #, no-wrap msgid "build event notifications, RSS feed" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2600 #, fuzzy, no-wrap #| msgid "container, build environment" msgid "notifications, build events" msgstr "contenedor, entorno de construcción" #. type: Plain text #: guix-git/doc/contributing.texi:2609 msgid "Cuirass includes @acronym{RSS, Really Simple Syndication} feeds as one of its features (@pxref{Notifications,,,cuirass}). Since @url{https://ci.guix.gnu.org/, Berlin} runs an instance of Cuirass, this feature can be used to keep track of recently broken or fixed packages caused by changes pushed to the Guix git repository. Any RSS client can be used. A good one, included with Emacs, is @xref{Gnus,,,gnus}. To register the feed, copy its URL, then from the main Gnus buffer, @samp{*Group*}, do the following:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2610 #, no-wrap msgid "Gnus, configuration to read CI RSS feeds" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2611 #, fuzzy, no-wrap #| msgid "configuration" msgid "RSS feeds, Gnus configuration" msgstr "configuration" #. type: example #: guix-git/doc/contributing.texi:2615 #, no-wrap msgid "" "@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n" "Guix CI - master RET Build events for specification master. RET\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2622 msgid "Then, back at the @samp{*Group*} buffer, press @kbd{s} to save the newly added RSS group. As for any other Gnus group, you can update its content by pressing the @kbd{g} key. You should now receive notifications that read like:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2627 #, no-wrap msgid "" " . [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2632 msgid "where each RSS entry contains a link to the Cuirass build details page of the associated build." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2646 msgid "To organize work on Guix, including but not just development efforts, the project has a set of @dfn{teams}. Each team has its own focus and interests and is the primary contact point for questions and contributions in those areas. A team's primary mission is to coordinate and review the work of individuals in its scope (@pxref{Reviewing the Work of Others}); it can make decisions within its scope, in agreement with other teams whenever there is overlap or a close connection, and in accordance with other project rules such as seeking consensus (@pxref{Making Decisions})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2660 msgid "As an example, the Python team is responsible for core Python packaging matters; it can decide to upgrade core Python packages in a dedicated @code{python-team} branch, in collaboration with any team whose scope is directly dependent on Python---e.g., the Science team---and following branching rules (@pxref{Managing Patches and Branches}). The Documentation team helps review changes to the documentation and can initiate overarching documentation changes. The Translations team organizes translation of Guix and its manual and coordinates efforts in that area. The Core team is responsible for the development of core functionality and interfaces of Guix; because of its central nature, some of its work may require soliciting input from the community at large and seeking consensus before enacting decisions that would affect the entire community." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2664 msgid "Teams are defined in the @file{etc/teams.scm} file in the Guix repository. The scope of each team is defined, when applicable, as a set of files or as a regular expression matching file names." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2665 #, no-wrap msgid "team membership" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2672 msgid "Anyone with interest in a team's domain and willing to contribute to its work can apply to become a member by contacting current members by email; commit access is not a precondition. Membership is formalized by adding the person's name and email address to @file{etc/teams.scm}. Members who have not been participating in the team's work for one year or more may be removed; they are free to reapply for membership later." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2673 #, fuzzy, no-wrap #| msgid "system configuration" msgid "team creation" msgstr "configuración del sistema" #. type: Plain text #: guix-git/doc/contributing.texi:2679 msgid "One or more people may propose the creation of a new team by reaching out to the community by email at @email{guix-devel@@gnu.org}, clarifying the intended scope and purpose. When consensus is reached on the creation of this team, someone with commit access formalizes its creation by adding it and its initial members to @file{etc/teams.scm}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2681 msgid "To list existing teams, run the following command from a Guix checkout:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2690 #, no-wrap msgid "" "$ ./etc/teams.scm list-teams\n" "id: mentors\n" "name: Mentors\n" "description: A group of mentors who chaperone contributions by newcomers.\n" "members:\n" "+ Charlie Smith <charlie@@example.org>\n" "@dots{}\n" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2692 #, no-wrap msgid "mentoring" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2695 msgid "You can run the following command to have the Mentors team put in CC of a patch series:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2699 #, no-wrap msgid "" "$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org \\\n" " --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2704 msgid "The appropriate team or teams can also be inferred from the modified files. For instance, if you want to send the two latest commits of the current Git repository to review, you can run:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2708 #, no-wrap msgid "" "$ guix shell -D guix\n" "[env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2\n" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2713 #, no-wrap msgid "decision making" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2714 #, no-wrap msgid "consensus seeking" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2721 msgid "It is expected from all contributors, and even more so from committers, to help build consensus and make decisions based on consensus. By using consensus, we are committed to finding solutions that everyone can live with. It implies that no decision is made against significant concerns and these concerns are actively resolved with proposals that work for everyone." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2728 msgid "A contributor (who may or may not have commit access) wishing to block a proposal bears a special responsibility for finding alternatives, proposing ideas/code or explain the rationale for the status quo to resolve the deadlock. To learn what consensus decision making means and understand its finer details, you are encouraged to read @url{https://www.seedsforchange.org.uk/consensus}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2732 #, no-wrap msgid "commit access, for developers" msgstr "acceso al repositorio, para desarrolladoras" #. type: Plain text #: guix-git/doc/contributing.texi:2743 msgid "Everyone can contribute to Guix without having commit access (@pxref{Submitting Patches}). However, for frequent contributors, having write access to the repository can be convenient. As a rule of thumb, a contributor should have accumulated fifty (50) reviewed commits to be considered as a committer and have sustained their activity in the project for at least 6 months. This ensures enough interactions with the contributor, which is essential for mentoring and assessing whether they are ready to become a committer. Commit access should not be thought of as a ``badge of honor'' but rather as a responsibility a contributor is willing to take to help the project." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2748 msgid "Committers are in a position where they enact technical decisions. Such decisions must be made by @emph{actively building consensus} among interested parties and stakeholders. @xref{Making Decisions}, for more on that." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2752 msgid "The following sections explain how to get commit access, how to be ready to push commits, and the policies and community expectations for commits pushed upstream." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2753 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Applying for Commit Access" msgstr "Acceso al repositorio" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2757 #, fuzzy #| msgid "For frequent contributors, having write access to the repository is convenient. When you deem it necessary, consider applying for commit access by following these steps:" msgid "When you deem it necessary, consider applying for commit access by following these steps:" msgstr "El acceso de escritura al repositorio es conveniente para personas que contribuyen frecuentemente. Cuando lo crea necesario, considere solicitar acceso al repositorio siguiendo estos pasos:" # FUZZY #. type: enumerate #: guix-git/doc/contributing.texi:2766 msgid "Find three committers who would vouch for you. You can view the list of committers at @url{https://savannah.gnu.org/project/memberlist.php?group=guix}. Each of them should email a statement to @email{guix-maintainers@@gnu.org} (a private alias for the collective of maintainers), signed with their OpenPGP key." msgstr "Encuentre tres personas que contribuyan al proyecto que puedan respaldarle. Puede ver la lista de personas que contribuyen en @url{https://savannah.gnu.org/project/memberlist.php?group=guix}. Cada una de ellas deberá enviar un correo confirmando el respaldo a @email{guix-maintainers@@gnu.org} (un alias privado para el colectivo de personas que mantienen el proyecto), firmado con su clave OpenPGP." #. type: enumerate #: guix-git/doc/contributing.texi:2772 msgid "Committers are expected to have had some interactions with you as a contributor and to be able to judge whether you are sufficiently familiar with the project's practices. It is @emph{not} a judgment on the value of your work, so a refusal should rather be interpreted as ``let's try again later''." msgstr "Se espera que dichas personas hayan tenido algunas interacciones con usted en sus contribuciones y sean capaces de juzgar si es suficientemente familiar con las prácticas del proyecto. @emph{No} es un juicio sobre el valor de su trabajo, por lo que un rechazo debe ser interpretado más bien como un ``habrá que probar de nuevo más adelante''." #. type: enumerate #: guix-git/doc/contributing.texi:2779 msgid "Send @email{guix-maintainers@@gnu.org} a message stating your intent, listing the three committers who support your application, signed with the OpenPGP key you will use to sign commits, and giving its fingerprint (see below). See @uref{https://emailselfdefense.fsf.org/en/}, for an introduction to public-key cryptography with GnuPG." msgstr "Envíe un correo a @email{guix-maintainers@@gnu.org} expresando su intención, enumerando a las tres contribuidoras que respaldan su petición, firmado con su clave OpenPGP que usará para firmar las revisiones, y proporcionando su huella dactilar (véase a continuación). Véase @uref{https://emailselfdefense.fsf.org/es/} para una introducción a la criptografía de clave pública con GnuPG." #. type: enumerate #: guix-git/doc/contributing.texi:2785 msgid "Set up GnuPG such that it never uses the SHA1 hash algorithm for digital signatures, which is known to be unsafe since 2019, for instance by adding the following line to @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" msgstr "Configure GnuPG de modo que no use el algorítmo de hash SHA1 nunca para las firmas digitales, el cual se sabe que no es seguro desde 2019, añadiendo, por ejemplo, la siguiente línea en @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" #. type: example #: guix-git/doc/contributing.texi:2788 #, no-wrap msgid "digest-algo sha512\n" msgstr "digest-algo sha512\n" #. type: enumerate #: guix-git/doc/contributing.texi:2793 msgid "Maintainers ultimately decide whether to grant you commit access, usually following your referrals' recommendation." msgstr "Las personas que mantienen el proyecto decidirán en última instancia si conceder o no el acceso de escritura, habitualmente siguiendo las recomendaciones de las personas de referencia proporcionadas." #. type: cindex #: guix-git/doc/contributing.texi:2795 #, no-wrap msgid "OpenPGP, signed commits" msgstr "OpenPGP, revisiones firmadas" # FUZZY #. type: enumerate #: guix-git/doc/contributing.texi:2800 msgid "If and once you've been given access, please send a message to @email{guix-devel@@gnu.org} to say so, again signed with the OpenPGP key you will use to sign commits (do that before pushing your first commit). That way, everyone can notice and ensure you control that OpenPGP key." msgstr "Una vez haya conseguido acceso, en caso de hacerlo, por favor envíe un mensaje a @email{guix-devel@@gnu.org} para notificarlo, de nuevo firmado con la clave OpenPGP que vaya a usar para firmar las revisiones (hágalo antes de subir su primera revisión). De esta manera todo el mundo puede enterarse y asegurarse de que controla su clave OpenPGP." #. type: quotation #: guix-git/doc/contributing.texi:2801 guix-git/doc/guix.texi:711 #: guix-git/doc/guix.texi:743 guix-git/doc/guix.texi:22038 #: guix-git/doc/guix.texi:35277 guix-git/doc/guix.texi:35922 #, no-wrap msgid "Important" msgstr "Importante" #. type: quotation #: guix-git/doc/contributing.texi:2803 msgid "Before you can push for the first time, maintainers must:" msgstr "Antes de que suba alguna revisión por primera vez, quienes mantienen Guix deben:" #. type: enumerate #: guix-git/doc/contributing.texi:2807 msgid "add your OpenPGP key to the @code{keyring} branch;" msgstr "añadir su clave OpenPGP a la rama @code{keyring};" #. type: enumerate #: guix-git/doc/contributing.texi:2810 msgid "add your OpenPGP fingerprint to the @file{.guix-authorizations} file of the branch(es) you will commit to." msgstr "añadir su firma OpenPGP al archivo @file{.guix-authorizations} de la(s) rama(s) a las que vaya a subir código." # FUZZY #. type: enumerate #: guix-git/doc/contributing.texi:2815 msgid "Make sure to read the rest of this section and... profit!" msgstr "Asegúrese de leer el resto de esta sección y... ¡a disfrutar!" # FUZZY: track record #. type: quotation #: guix-git/doc/contributing.texi:2821 msgid "Maintainers are happy to give commit access to people who have been contributing for some time and have a track record---don't be shy and don't underestimate your work!" msgstr "Quienes mantienen el proyecto están encantadas de proporcionar acceso al repositorio a personas que han contribuido durante algún tiempo y tienen buen registro---¡no sea tímida y no subestime su trabajo!" # FUZZY #. type: quotation #: guix-git/doc/contributing.texi:2825 msgid "However, note that the project is working towards a more automated patch review and merging system, which, as a consequence, may lead us to have fewer people with commit access to the main repository. Stay tuned!" msgstr "No obstante, tenga en cuenta que el proyecto está trabajando hacia la automatización de la revisión de parches y el sistema de mezclas, lo que, como consecuencia, puede hacer necesario que menos gente tenga acceso de escritura al repositorio principal. ¡Seguiremos informando!" #. type: Plain text #: guix-git/doc/contributing.texi:2832 msgid "All commits that are pushed to the central repository on Savannah must be signed with an OpenPGP key, and the public key should be uploaded to your user account on Savannah and to public key servers, such as @code{keys.openpgp.org}. To configure Git to automatically sign commits, run:" msgstr "Todas las revisiones que se suban al repositorio central de Savannah deben estar firmadas por una clave OpenPGP, y la clave pública debe subirse a su cuenta de usuaria en Savannah y a servidores públicos de claves, como @code{keys.openpgp.org}. Para configurar que Git firme automáticamente las revisiones ejecute:" #. type: example #: guix-git/doc/contributing.texi:2835 #, no-wrap msgid "" "git config commit.gpgsign true\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2838 #, fuzzy, no-wrap #| msgid "" #| "git config commit.gpgsign true\n" #| "git config user.signingkey CABBA6EA1DC0FF33\n" msgid "" "# Substitute the fingerprint of your public PGP key.\n" "git config user.signingkey CABBA6EA1DC0FF33\n" msgstr "" "git config commit.gpgsign true\n" "git config user.signingkey CABBA6EA1DC0FF33\n" #. type: Plain text #: guix-git/doc/contributing.texi:2841 msgid "To check that commits are signed with correct key, use:" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2848 msgid "@xref{Building from Git} for running the first authentication of a Guix checkout." msgstr "" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2852 #, fuzzy #| msgid "You can prevent yourself from accidentally pushing unsigned commits to Savannah by using the pre-push Git hook called located at @file{etc/git/pre-push}:" msgid "To avoid accidentally pushing unsigned or signed with the wrong key commits to Savannah, make sure to configure Git according to @xref{Configuring Git}." msgstr "Puede evitar la subida accidental de revisiones sin firma a Savannah mediante el uso del hook pre-push de Git que se encuentra en @file{etc/git/pre-push}:" #. type: subsection #: guix-git/doc/contributing.texi:2853 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Commit Policy" msgstr "Acceso al repositorio" # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2858 msgid "If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org})." msgstr "Si obtiene acceso, por favor asegúrese de seguir la política descrita a continuación (el debate sobre dicha política puede llevarse a cabo en @email{guix-devel@@gnu.org})." #. type: Plain text #: guix-git/doc/contributing.texi:2862 msgid "Ensure you're aware of how the changes should be handled (@pxref{Managing Patches and Branches}) prior to being pushed to the repository, especially for the @code{master} branch." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2869 msgid "If you're committing and pushing your own changes, try and wait at least one week (two weeks for more significant changes, up to one month for changes such as removing a package---@pxref{package-removal-policy, Package Removal}) after you send them for review. After this, if no one else is available to review them and if you're confident about the changes, it's OK to commit." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2874 msgid "When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., with @command{git am --signoff}. This improves tracking of who did what." msgstr "Cuando suba un commit en nombre de alguien, por favor añada una línea de @code{Signed-off-by} al final del mensaje de la revisión---por ejemplo con @command{git am --signoff}. Esto mejora el seguimiento sobre quién hizo qué." # FUZZY #. type: Plain text #: guix-git/doc/contributing.texi:2878 msgid "When adding channel news entries (@pxref{Channels, Writing Channel News}), make sure they are well-formed by running the following command right before pushing:" msgstr "Cuando añada entradas de noticias del canal (@pxref{Channels, Writing Channel News}), compruebe que tienen el formato correcto con la siguiente órden antes de subir los cambios al repositorio:" #. type: example #: guix-git/doc/contributing.texi:2881 #, no-wrap msgid "make check-channel-news\n" msgstr "make check-channel-news\n" #. type: subsection #: guix-git/doc/contributing.texi:2883 #, no-wrap msgid "Addressing Issues" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2894 msgid "Peer review (@pxref{Submitting Patches}) and tools such as @command{guix lint} (@pxref{Invoking guix lint}) and the test suite (@pxref{Running the Test Suite}) should catch issues before they are pushed. Yet, commits that ``break'' functionality might occasionally go through. When that happens, there are two priorities: mitigating the impact, and understanding what happened to reduce the chance of similar incidents in the future. The responsibility for both these things primarily lies with those involved, but like everything this is a group effort." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2899 msgid "Some issues can directly affect all users---for instance because they make @command{guix pull} fail or break core functionality, because they break major packages (at build time or run time), or because they introduce known security vulnerabilities." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2900 #, no-wrap msgid "reverting commits" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2906 msgid "The people involved in authoring, reviewing, and pushing such commit(s) should be at the forefront to mitigate their impact in a timely fashion: by pushing a followup commit to fix it (if possible), or by reverting it to leave time to come up with a proper fix, and by communicating with other developers about the problem." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2912 msgid "If these persons are unavailable to address the issue in time, other committers are entitled to revert the commit(s), explaining in the commit log and on the mailing list what the problem was, with the goal of leaving time to the original committer, reviewer(s), and author(s) to propose a way forward." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2921 msgid "Once the problem has been dealt with, it is the responsibility of those involved to make sure the situation is understood. If you are working to understand what happened, focus on gathering information and avoid assigning any blame. Do ask those involved to describe what happened, do not ask them to explain the situation---this would implicitly blame them, which is unhelpful. Accountability comes from a consensus about the problem, learning from it and improving processes so that it's less likely to reoccur." msgstr "" # TODO: (MAAV) Comprobar otras traducciones. #. type: subsection #: guix-git/doc/contributing.texi:2922 #, fuzzy, no-wrap #| msgid "Log Rotation" msgid "Commit Revocation" msgstr "Rotación del registro de mensajes" #. type: Plain text #: guix-git/doc/contributing.texi:2929 msgid "In order to reduce the possibility of mistakes, committers will have their Savannah account removed from the Guix Savannah project and their key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2939 msgid "Maintainers@footnote{See @uref{https://guix.gnu.org/en/about} for the current list of maintainers. You can email them privately at @email{guix-maintainers@@gnu.org}.} may also revoke an individual's commit rights, as a last resort, if cooperation with the rest of the community has caused too much friction---even within the bounds of the project's code of conduct (@pxref{Contributing}). They would only do so after public or private discussion with the individual and a clear notice. Examples of behavior that hinders cooperation and could lead to such a decision include:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2941 #, no-wrap msgid "repeated violation of the commit policy stated above;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2942 #, no-wrap msgid "repeated failure to take peer criticism into account;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2943 #, no-wrap msgid "breaching trust through a series of grave incidents." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2950 msgid "When maintainers resort to such a decision, they notify developers on @email{guix-devel@@gnu.org}; inquiries may be sent to @email{guix-maintainers@@gnu.org}. Depending on the situation, the individual may still be welcome to contribute." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2951 #, no-wrap msgid "Helping Out" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2958 msgid "One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes. As a committer, you're welcome to use your expertise and commit rights to help other contributors, too!" msgstr "Una última cosa: el proyecto sigue adelante porque las contribuidoras no solo suben sus cambios, sino que también ofrecen su tiempo @emph{revisando} y subiendo cambios de otras personas. Como contribuidora, también se agradece que use su experiencia y derechos de escritura en el repositorio para ayudar a otras personas que quieren contribuir." #. type: Plain text #: guix-git/doc/contributing.texi:2974 msgid "Perhaps the biggest action you can do to help GNU Guix grow as a project is to review the work contributed by others. You do not need to be a committer to do so; applying, reading the source, building, linting and running other people's series and sharing your comments about your experience will give some confidence to committers. You must ensure the check list found in the @ref{Submitting Patches} section has been correctly followed. A reviewed patch series should give the best chances for the proposed change to be merged faster, so if a change you would like to see merged hasn't yet been reviewed, this is the most appropriate thing to do! If you would like to review changes in a specific area and to receive notifications for incoming patches relevant to that domain, consider joining the relevant team(s) (@pxref{Teams})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2975 #, fuzzy, no-wrap #| msgid "Packaging Guidelines" msgid "reviewing, guidelines" msgstr "Pautas de empaquetamiento" #. type: Plain text #: guix-git/doc/contributing.texi:2980 msgid "Review comments should be unambiguous; be as clear and explicit as you can about what you think should be changed, ensuring the author can take action on it. Please try to keep the following guidelines in mind during review:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2986 msgid "@emph{Be clear and explicit about changes you are suggesting}, ensuring the author can take action on it. In particular, it is a good idea to explicitly ask for new revisions when you want it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2994 msgid "@emph{Remain focused: do not change the scope of the work being reviewed.} For example, if the contribution touches code that follows a pattern deemed unwieldy, it would be unfair to ask the submitter to fix all occurrences of that pattern in the code; to put it simply, if a problem unrelated to the patch at hand was already there, do not ask the submitter to fix it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3001 msgid "@emph{Ensure progress.} As they respond to review, submitters may submit new revisions of their changes; avoid requesting changes that you did not request in the previous round of comments. Overall, the submitter should get a clear sense of progress; the number of items open for discussion should clearly decrease over time." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3008 msgid "@emph{Aim for finalization.} Reviewing code is time-consuming. Your goal as a reviewer is to put the process on a clear path towards integration, possibly with agreed-upon changes, or rejection, with a clear and mutually-understood reasoning. Avoid leaving the review process in a lingering state with no clear way out." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3022 msgid "@emph{Review is a discussion.} The submitter's and reviewer's views on how to achieve a particular change may not always be aligned. To lead the discussion, remain focused, ensure progress and aim for finalization, spending time proportional to the stakes@footnote{The tendency to discuss minute details at length is often referred to as ``bikeshedding'', where much time is spent discussing each one's preference for the color of the shed at the expense of progress made on the project to keep bikes dry.}. As a reviewer, try hard to explain the rationale for suggestions you make, and to understand and take into account the submitter's motivation for doing things in a certain way. In other words, build consensus with everyone involved (@pxref{Making Decisions})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3024 #, no-wrap msgid "LGTM, Looks Good To Me" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3025 #, no-wrap msgid "review tags" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3026 #, no-wrap msgid "Reviewed-by, git trailer" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3037 msgid "When you deem the proposed change adequate and ready for inclusion within Guix, the following well understood/codified @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} @footnote{The @samp{Reviewed-by} Git trailer is used by other projects such as Linux, and is understood by third-party tools such as the @samp{b4 am} sub-command, which is able to retrieve the complete submission email thread from a public-inbox instance and add the Git trailers found in replies to the commit patches.} line should be used to sign off as a reviewer, meaning you have reviewed the change and that it looks good to you:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3046 msgid "If the @emph{whole} series (containing multiple commits) looks good to you, reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to the cover page if it has one, or to the last patch of the series otherwise, adding another @samp{(for the whole series)} comment on the line below to explicit this fact." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3052 msgid "If you instead want to mark a @emph{single commit} as reviewed (but not the whole series), simply reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to that commit message." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3057 msgid "If you are not a committer, you can help others find a @emph{series} you have reviewed more easily by adding a @code{reviewed-looks-good} usertag for the @code{guix} user (@pxref{Debbugs Usertags})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3061 #, no-wrap msgid "update-guix-package, updating the guix package" msgstr "update-guix-package, actualización del paquete guix" #. type: Plain text #: guix-git/doc/contributing.texi:3067 msgid "It is sometimes desirable to update the @code{guix} package itself (the package defined in @code{(gnu packages package-management)}), for example to make new daemon features available for use by the @code{guix-service-type} service type. In order to simplify this task, the following command can be used:" msgstr "A veces es deseable actualizar el propio paquete @code{guix} (el paquete definido en @code{(gnu packages package-management)}, por ejemplo para poner a disposición del tipo de servicio @code{guix-service-type} nuevas características disponibles en el daemon. Para simplificar esta tarea se puede usar la siguiente orden:" #. type: example #: guix-git/doc/contributing.texi:3070 #, no-wrap msgid "make update-guix-package\n" msgstr "make update-guix-package\n" #. type: Plain text #: guix-git/doc/contributing.texi:3077 msgid "The @code{update-guix-package} make target will use the last known @emph{commit} corresponding to @code{HEAD} in your Guix checkout, compute the hash of the Guix sources corresponding to that commit and update the @code{commit}, @code{revision} and hash of the @code{guix} package definition." msgstr "El objetivo de make @code{update-guix-package} usa la última @emph{revisión} (commit en inglés) de @code{HEAD} en su copia local de Guix, calcula el hash correspondiente a las fuentes de Guix en dicho commit y actualiza los campos @code{commit}, @code{revision} y el hash de la definción del paquete @code{guix}." #. type: Plain text #: guix-git/doc/contributing.texi:3081 msgid "To validate that the updated @code{guix} package hashes are correct and that it can be built successfully, the following command can be run from the directory of your Guix checkout:" msgstr "Para validar que la actualización del hash del paquete @code{guix} es correcta y que se puede construir de manera satisfactoria se puede ejecutar la siguiente orden en el directorio de su copia de trabajo local de Guix:" #. type: example #: guix-git/doc/contributing.texi:3084 #, no-wrap msgid "./pre-inst-env guix build guix\n" msgstr "./pre-inst-env guix build guix\n" #. type: Plain text #: guix-git/doc/contributing.texi:3089 msgid "To guard against accidentally updating the @code{guix} package to a commit that others can't refer to, a check is made that the commit used has already been pushed to the Savannah-hosted Guix git repository." msgstr "Para prevenir de actualizaciones accidentales del paquete @code{guix} a una revisión a la que otras personas no puedan hacer referencia se comprueba que dicha revisión se haya publicado ya en el repositorio git de Guix alojado en Savannah." #. type: Plain text #: guix-git/doc/contributing.texi:3094 #, fuzzy msgid "This check can be disabled, @emph{at your own peril}, by setting the @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When this variable is set, the updated package source is also added to the store. This is used as part of the release process of Guix." msgstr "Esta comprobación se puede desactivar, @emph{bajo su cuenta y riesgo}, declarando la variable de entorno @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT}." #. type: cindex #: guix-git/doc/contributing.texi:3098 #, fuzzy, no-wrap #| msgid "derivation path" msgid "deprecation policy" msgstr "ruta de derivación" #. type: Plain text #: guix-git/doc/contributing.texi:3108 msgid "As any lively project with a broad scope, Guix changes all the time and at all levels. Because it's user-extensible and programmable, incompatible changes can directly impact users and make their life harder. It is thus important to reduce user-visible incompatible changes to a minimum and, when such changes are deemed necessary, to clearly communicate them through a @dfn{deprecation period} so everyone can adapt with minimum hassle. This section defines the project's commitments for smooth deprecation and describes procedures and mechanisms to honor them." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3111 msgid "There are several ways to use Guix; how to handle deprecation will depend on each use case. Those can be roughly categorized like this:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3115 msgid "package management exclusively through the command line;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3118 msgid "advanced package management using the manifest and package interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3122 msgid "Home and System management, using the @code{operating-system} and/or @code{home-environment} interfaces together with the service interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3126 msgid "development or use of external tools that use programming interfaces such as the @code{(guix ...)} modules." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3132 msgid "These use cases form a spectrum with varying degrees of coupling---from ``distant'' to tightly coupled. Based on this insight, we define the following @dfn{deprecation policies} that we consider suitable for each of these levels." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3134 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "Command-line tools" msgstr "Interfaz programática" #. type: table #: guix-git/doc/contributing.texi:3139 msgid "Guix sub-commands should be thought of as remaining available ``forever''. Once a Guix sub-command is to be removed, it should be deprecated first, and then remain available for @b{at least one year} after the first release that deprecated it." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3149 msgid "Deprecation should first be announced in the manual and as an entry in @file{etc/news.scm}; additional communication such as a blog post explaining the rationale is welcome. Months before the scheduled removal date, the command should print a warning explaining how to migrate. An example of this is the replacement of @command{guix environment} by @command{guix shell}, started in October 2021@footnote{For more details on the @command{guix shell} transition, see @uref{https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/}.}." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3152 msgid "Because of the broad impact of such a change, we recommend conducting a user survey before enacting a plan." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3153 #, fuzzy, no-wrap #| msgid "package description" msgid "package deprecation" msgstr "descripción de paquete" #. type: item #: guix-git/doc/contributing.texi:3154 #, fuzzy, no-wrap #| msgid "Package management commands." msgid "Package name changes" msgstr "Órdenes de gestión de paquetes." #. type: table #: guix-git/doc/contributing.texi:3159 msgid "When a package name changes, it must remain available under its old name for @b{at least one year}. For example, @code{go-ipfs} was renamed to @code{kubo} following a decision made upstream; to communicate the name change to users, the package module provided this definition:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3160 #, fuzzy, no-wrap #| msgid "reverse-package" msgid "deprecated-package" msgstr "reverse-package" #. type: lisp #: guix-git/doc/contributing.texi:3164 #, no-wrap msgid "" "(define-public go-ipfs\n" " (deprecated-package \"go-ipfs\" kubo))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3168 msgid "That way, someone running @command{guix install go-ipfs} or similar sees a deprecation warning mentioning the new name." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3169 #, fuzzy, no-wrap #| msgid "package removal" msgid "package removal policy" msgstr "borrado de paquetes" #. type: anchor{#1} #: guix-git/doc/contributing.texi:3171 #, fuzzy #| msgid "package removal" msgid "package-removal-policy" msgstr "borrado de paquetes" #. type: item #: guix-git/doc/contributing.texi:3171 #, fuzzy, no-wrap #| msgid "package removal" msgid "Package removal" msgstr "borrado de paquetes" #. type: table #: guix-git/doc/contributing.texi:3175 msgid "Packages whose upstream developers have declared as having reached ``end of life'' or being unmaintained may be removed; likewise, packages that have been @b{failing to build for two months or more} may be removed." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3179 msgid "There is no formal deprecation mechanism for this case, unless a replacement exists, in which case the @code{deprecated-package} procedure mentioned above can be used." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3184 msgid "If the package being removed is a ``leaf'' (no other packages depend on it), it may be removed after a @b{one-month review period} of the patch removing it (this applies even when the removal has additional motivations such as security problems affecting the package)." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3192 msgid "If it has many dependent packages---as is the case for example with Python version@tie{}2---the relevant team must propose a deprecation removal agenda and seek consensus with other packagers for @b{at least one month}. It may also invite feedback from the broader user community, for example through a survey. Removal of all impacted packages may be gradual, spanning multiple months, to accommodate all use cases." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3196 msgid "When the package being removed is considered popular, whether or not it is a leaf, its deprecation must be announced as an entry in @code{etc/news.scm}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3197 #, fuzzy, no-wrap #| msgid "Package Modules" msgid "Package upgrade" msgstr "Módulos de paquetes" #. type: table #: guix-git/doc/contributing.texi:3200 msgid "In the case of packages with many dependents and/or many users, an upgrade may be treated like the @emph{removal} of the previous version." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3204 msgid "Examples include major version upgrades of programming language implementations, as we've seen above with Python, and major upgrades of ``big'' libraries such as Qt or GTK." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3205 #, fuzzy, no-wrap #| msgid "service extensions" msgid "service deprecation" msgstr "extensiones de servicios" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: node #: guix-git/doc/contributing.texi:3206 guix-git/doc/guix.texi:387 #: guix-git/doc/guix.texi:393 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:19043 guix-git/doc/guix.texi:19044 #: guix-git/doc/guix.texi:34814 #, no-wrap msgid "Services" msgstr "Servicios" #. type: table #: guix-git/doc/contributing.texi:3211 msgid "Changes to services for Guix Home and Guix System have a direct impact on user configuration. For a user, adjusting to interface changes is rarely rewarding, which is why any such change must be clearly communicated in advance through deprecation warnings and documentation." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3217 msgid "Renaming of variables related to service, home, or system configuration must be communicated for at least six months before removal using the @code{(guix deprecation)} mechanisms. For example, renaming of @code{murmur-configuration} to @code{mumble-server-configuration} was communicated through a series of definitions like this one:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3218 #, no-wrap msgid "define-deprecated/public-alias" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3223 #, no-wrap msgid "" "(define-deprecated/public-alias\n" " murmur-configuration\n" " mumble-server-configuration)\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3226 msgid "Procedures slated for removal may be defined like this:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3227 #, no-wrap msgid "define-deprecated" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3232 #, no-wrap msgid "" "(define-deprecated (elogind-service #:key (config (elogind-configuration)))\n" " elogind-service-type\n" " (service elogind-service-type config))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3239 msgid "Record fields, notably fields of service configuration records, must follow a similar deprecation period. This is usually achieved through @i{ad hoc} means though. For example, the @code{hosts-file} field of @code{operating-system} was deprecated by adding a @code{sanitized} property that would emit a warning:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3246 #, no-wrap msgid "" "(define-record-type* <operating-system>\n" " ;; @dots{}\n" " (hosts-file %operating-system-hosts-file ;deprecated\n" " (default #f)\n" " (sanitize warn-hosts-file-field-deprecation)))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3250 #, no-wrap msgid "" "(define-deprecated (operating-system-hosts-file os)\n" " hosts-service-type\n" " (%operating-system-hosts-file os))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3255 msgid "When deprecating interfaces in @code{operating-system}, @code{home-environment}, @code{(gnu services)}, or any popular service, the deprecation must come with an entry in @code{etc/news.scm}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3256 #, fuzzy, no-wrap #| msgid "The Programming Interface" msgid "deprecation of programming interfaces" msgstr "La interfaz programática" #. type: item #: guix-git/doc/contributing.texi:3257 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Core interfaces" msgstr "interfaces de usuaria" #. type: table #: guix-git/doc/contributing.texi:3264 msgid "Core programming interfaces, in particular the @code{(guix ...)} modules, may be relied on by a variety of external tools and channels. Any incompatible change must be formally deprecated with @code{define-deprecated}, as shown above, for @b{at least one year} before removal. The manual must clearly document the new interface and, except in obvious cases, explain how to migrate from the old one." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3268 msgid "As an example, the @code{build-expression->derivation} procedure was superseded by @code{gexp->derivation} and remained available as a deprecated symbol:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3274 #, no-wrap msgid "" "(define-deprecated (build-expression->derivation store name exp\n" " #:key @dots{})\n" " gexp->derivation\n" " @dots{})\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3279 msgid "Sometimes bindings are moved from one module to another. In those cases, bindings must be reexported from the original module for at least one year." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3284 msgid "This section does not cover all possible situations but hopefully allows users to know what to expect and developers to stick to its spirit. Please email @email{guix-devel@@gnu.org} for any questions." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: cindex #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: item #: guix-git/doc/contributing.texi:3285 guix-git/doc/guix.texi:3998 #: guix-git/doc/guix.texi:44609 guix-git/doc/guix.texi:44666 #, no-wrap msgid "documentation" msgstr "documentation" #. type: Plain text #: guix-git/doc/contributing.texi:3292 msgid "Guix is documented using the Texinfo system. If you are not yet familiar with it, we accept contributions for documentation in most formats. That includes plain text, Markdown, Org, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3296 msgid "Documentation contributions can be sent to @email{guix-patches@@gnu.org}. Prepend @samp{[DOCUMENTATION]} to the subject." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3301 msgid "When you need to make more than a simple addition to the documentation, we prefer that you send a proper patch as opposed to sending an email as described above. @xref{Submitting Patches} for more information on how to send your patches." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3310 msgid "To modify the documentation, you need to edit @file{doc/guix.texi} and @file{doc/contributing.texi} (which contains this documentation section), or @file{doc/guix-cookbook.texi} for the cookbook. If you compiled the Guix repository before, you will have many more @file{.texi} files that are translations of these documents. Do not modify them, the translation is managed through @uref{https://translate.fedoraproject.org/projects/guix, Weblate}. @xref{Translating Guix} for more information." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3315 msgid "To render documentation, you must first make sure that you ran @command{./configure} in your source tree (@pxref{Running Guix Before It Is Installed}). After that you can run one of the following commands:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:3317 #, no-wrap msgid "@samp{make doc/guix.info} to compile the Info manual." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3319 msgid "You can check it with @command{info doc/guix.info}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3319 #, no-wrap msgid "@samp{make doc/guix.html} to compile the HTML version." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3322 msgid "You can point your browser to the relevant file in the @file{doc/guix.html} directory." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3322 #, no-wrap msgid "@samp{make doc/guix-cookbook.info} for the cookbook Info manual." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3323 #, no-wrap msgid "@samp{make doc/guix-cookbook.html} for the cookbook HTML version." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3326 #, fuzzy, no-wrap #| msgid "transactions" msgid "translation" msgstr "transacciones" #. type: cindex #: guix-git/doc/contributing.texi:3327 #, no-wrap msgid "l10n" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3328 #, no-wrap msgid "i18n" msgstr "" # FUZZY #. type: cindex #: guix-git/doc/contributing.texi:3329 #, fuzzy, no-wrap #| msgid "Working with languages supported by GCC." msgid "native language support" msgstr "Trabajo con lenguajes implementados por GCC." #. type: Plain text #: guix-git/doc/contributing.texi:3339 msgid "Writing code and packages is not the only way to provide a meaningful contribution to Guix. Translating to a language you speak is another example of a valuable contribution you can make. This section is designed to describe the translation process. It gives you advice on how you can get involved, what can be translated, what mistakes you should avoid and what we can do to help you!" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3345 msgid "Guix is a big project that has multiple components that can be translated. We coordinate the translation effort on a @uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance} hosted by our friends at Fedora. You will need an account to submit translations." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3352 msgid "Some of the software packaged in Guix also contain translations. We do not host a translation platform for them. If you want to translate a package provided by Guix, you should contact their developers or find the information on their website. As an example, you can find the homepage of the @code{hello} package by typing @command{guix show hello}. On the ``homepage'' line, you will see @url{https://www.gnu.org/software/hello/} as the homepage." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3357 msgid "Many GNU and non-GNU packages can be translated on the @uref{https://translationproject.org,Translation Project}. Some projects with multiple components have their own platform. For instance, GNOME has its own platform, @uref{https://l10n.gnome.org/,Damned Lies}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3359 msgid "Guix has five components hosted on Weblate." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3361 #, no-wrap msgid "@code{guix} contains all the strings from the Guix software (the" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3363 msgid "guided system installer, the package manager, etc), excluding packages." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3363 #, no-wrap msgid "@code{packages} contains the synopsis (single-sentence description" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3365 msgid "of a package) and description (longer description) of packages in Guix." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3365 #, no-wrap msgid "@code{website} contains the official Guix website, except for" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3367 msgid "blog posts and multimedia content." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3367 #, no-wrap msgid "@code{documentation-manual} corresponds to this manual." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3368 #, no-wrap msgid "@code{documentation-cookbook} is the component for the cookbook." msgstr "" #. type: subsubheading #: guix-git/doc/contributing.texi:3371 #, fuzzy, no-wrap #| msgid "generations" msgid "General Directions" msgstr "generaciones" #. type: Plain text #: guix-git/doc/contributing.texi:3379 msgid "Once you get an account, you should be able to select a component from @uref{https://translate.fedoraproject.org/projects/guix/,the guix project}, and select a language. If your language does not appear in the list, go to the bottom and click on the ``Start new translation'' button. Select the language you want to translate to from the list, to start your new translation." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3384 msgid "Like lots of other free software packages, Guix uses @uref{https://www.gnu.org/software/gettext,GNU Gettext} for its translations, with which translatable strings are extracted from the source code to so-called PO files." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3395 msgid "Even though PO files are text files, changes should not be made with a text editor but with PO editing software. Weblate integrates PO editing functionality. Alternatively, translators can use any of various free-software tools for filling in translations, of which @uref{https://poedit.net/,Poedit} is one example, and (after logging in) @uref{https://docs.weblate.org/en/latest/user/files.html,upload} the changed file. There is also a special @uref{https://www.emacswiki.org/emacs/PoMode,PO editing mode} for users of GNU Emacs. Over time translators find out what software they are happy with and what features they need." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3400 msgid "On Weblate, you will find various links to the editor, that will show various subsets (or all) of the strings. Have a look around and at the @uref{https://docs.weblate.org/en/latest/,documentation} to familiarize yourself with the platform." msgstr "" #. type: subsubheading #: guix-git/doc/contributing.texi:3401 #, no-wrap msgid "Translation Components" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3406 msgid "In this section, we provide more detailed guidance on the translation process, as well as details on what you should or should not do. When in doubt, please contact us, we will be happy to help!" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3413 msgid "Guix is written in the Guile programming language, and some strings contain special formatting that is interpreted by Guile. These special formatting should be highlighted by Weblate. They start with @code{~} followed by one or more characters." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3422 msgid "When printing the string, Guile replaces the special formatting symbols with actual values. For instance, the string @samp{ambiguous package specification `~a'} would be substituted to contain said package specification instead of @code{~a}. To properly translate this string, you must keep the formatting code in your translation, although you can place it where it makes sense in your language. For instance, the French translation says @samp{spécification du paquet « ~a » ambiguë} because the adjective needs to be placed in the end of the sentence." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3426 msgid "If there are multiple formatting symbols, make sure to respect the order. Guile does not know in which order you intended the string to be read, so it will substitute the symbols in the same order as the English sentence." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3434 msgid "As an example, you cannot translate @samp{package '~a' has been superseded by '~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would be reversed. If @var{foo} is superseded by @var{bar}, the translation would read @samp{'foo' superseeds package 'bar'}. To work around this problem, it is possible to use more advanced formatting to select a given piece of data, instead of following the default English order. @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, for more information on formatting in Guile." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:3435 guix-git/doc/guix.texi:2883 #, no-wrap msgid "packages" msgstr "paquetes" #. type: table #: guix-git/doc/contributing.texi:3440 msgid "Package descriptions occasionally contain Texinfo markup (@pxref{Synopses and Descriptions}). Texinfo markup looks like @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}}, etc. When translating, please leave markup as is." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3449 msgid "The characters after ``@@'' form the name of the markup, and the text between ``@{'' and ``@}'' is its content. In general, you should not translate the content of markup like @code{@@code}, as it contains literal code that do not change with language. You can translate the content of formatting markup such as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. However, do not translate the name of the markup, or it will not be recognized. Do not translate the word after @code{@@end}, it is the name of the markup that is closed at this position (e.g.@: @code{@@itemize ... @@end itemize})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3450 #, no-wrap msgid "documentation-manual and documentation-cookbook" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3454 msgid "The first step to ensure a successful translation of the manual is to find and translate the following strings @emph{first}:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:3456 #, no-wrap msgid "@code{version.texi}: Translate this string as @code{version-xx.texi}," msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3459 msgid "where @code{xx} is your language code (the one shown in the URL on weblate)." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3459 #, fuzzy, no-wrap #| msgid "{@code{nslcd-configuration} parameter} string base" msgid "@code{contributing.texi}: Translate this string as" msgstr "{parámetro de @code{nslcd-configuration}} string base" #. type: itemize #: guix-git/doc/contributing.texi:3461 msgid "@code{contributing.xx.texi}, where @code{xx} is the same language code." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3461 #, no-wrap msgid "@code{Top}: Do not translate this string, it is important for Texinfo." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3464 msgid "If you translate it, the document will be empty (missing a Top node). Please look for it, and register @code{Top} as its translation." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3469 msgid "Translating these strings first ensure we can include your translation in the guix repository without breaking the make process or the @command{guix pull} machinery." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3476 msgid "The manual and the cookbook both use Texinfo. As for @code{packages}, please keep Texinfo markup as is. There are more possible markup types in the manual than in the package descriptions. In general, do not translate the content of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc. You should translate the content of formatting markup such as @code{@@emph}, @code{@@i}, etc." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3484 msgid "The manual contains sections that can be referred to by name by @code{@@ref}, @code{@@xref} and @code{@@pxref}. We have a mechanism in place so you do not have to translate their content. If you keep the English title, we will automatically replace it with your translation of that title. This ensures that Texinfo will always be able to find the node. If you decide to change the translation of the title, the references will automatically be updated and you will not have to update them all yourself." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3494 msgid "When translating references from the cookbook to the manual, you need to replace the name of the manual and the name of the section. For instance, to translate @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, you would replace @code{Defining Packages} with the title of that section in the translated manual @emph{only} if that title is translated. If the title is not translated in your language yet, do not translate it here, or the link will be broken. Replace @code{guix} with @code{guix.xx} where @code{xx} is your language code. @code{GNU Guix Reference Manual} is the text of the link. You can translate it however you wish." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3495 #, fuzzy, no-wrap #| msgid "official website" msgid "website" msgstr "sitio web oficial" #. type: table #: guix-git/doc/contributing.texi:3502 msgid "The website pages are written using SXML, an s-expression version of HTML, the basic language of the web. We have a process to extract translatable strings from the source, and replace complex s-expressions with a more familiar XML markup, where each markup is numbered. Translators can arbitrarily change the ordering, as in the following example." msgstr "" #. type: example #: guix-git/doc/contributing.texi:3509 #, no-wrap msgid "" "#. TRANSLATORS: Defining Packages is a section name\n" "#. in the English (en) manual.\n" "#: apps/base/templates/about.scm:64\n" "msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3512 msgid "Note that you need to include the same markups. You cannot skip any." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3520 msgid "In case you make a mistake, the component might fail to build properly with your language, or even make guix pull fail. To prevent that, we have a process in place to check the content of the files before pushing to our repository. We will not be able to update the translation for your language in Guix, so we will notify you (through weblate and/or by email) so you get a chance to fix the issue." msgstr "" #. type: subsubheading #: guix-git/doc/contributing.texi:3521 #, no-wrap msgid "Outside of Weblate" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3524 msgid "Currently, some parts of Guix cannot be translated on Weblate, help wanted!" msgstr "" #. type: item #: guix-git/doc/contributing.texi:3526 #, no-wrap msgid "@command{guix pull} news can be translated in @file{news.scm}, but is not" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3532 msgid "available from Weblate. If you want to provide a translation, you can prepare a patch as described above, or simply send us your translation with the name of the news entry you translated and your language. @xref{Writing Channel News}, for more information about channel news." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3532 #, no-wrap msgid "Guix blog posts cannot currently be translated." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3533 #, no-wrap msgid "The installer script (for foreign distributions) is entirely in English." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3534 #, no-wrap msgid "Some of the libraries Guix uses cannot be translated or are translated" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3536 msgid "outside of the Guix project. Guile itself is not internationalized." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3536 #, no-wrap msgid "Other manuals linked from this manual or the cookbook might not be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3538 #, fuzzy #| msgid "transitive" msgid "translated." msgstr "transitive" #. type: subsubheading #: guix-git/doc/contributing.texi:3540 #, no-wrap msgid "Conditions for Inclusion" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3547 msgid "There are no conditions for adding new translations of the @code{guix} and @code{guix-packages} components, other than they need at least one translated string. New languages will be added to Guix as soon as possible. The files may be removed if they fall out of sync and have no more translated strings." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3553 msgid "Given that the web site is dedicated to new users, we want its translation to be as complete as possible before we include it in the language menu. For a new language to be included, it needs to reach at least 80% completion. When a language is included, it may be removed in the future if it stays out of sync and falls below 60% completion." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3561 msgid "The manual and cookbook are automatically added in the default compilation target. Every time we synchronize translations, developers need to recompile all the translated manuals and cookbooks. This is useless for what is essentially the English manual or cookbook. Therefore, we will only include a new language when it reaches 10% completion in the component. When a language is included, it may be removed in the future if it stays out of sync and falls below 5% completion." msgstr "" #. type: subsubheading #: guix-git/doc/contributing.texi:3562 #, no-wrap msgid "Translation Infrastructure" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3573 msgid "Weblate is backed by a git repository from which it discovers new strings to translate and pushes new and updated translations. Normally, it would be enough to give it commit access to our repositories. However, we decided to use a separate repository for two reasons. First, we would have to give Weblate commit access and authorize its signing key, but we do not trust it in the same way we trust guix developers, especially since we do not manage the instance ourselves. Second, if translators mess something up, it can break the generation of the website and/or guix pull for all our users, independently of their language." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3577 msgid "For these reasons, we use a dedicated repository to host translations, and we synchronize it with our guix and artworks repositories after checking no issue was introduced in the translation." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3583 msgid "Developers can download the latest PO files from weblate in the Guix repository by running the @command{make download-po} command. It will automatically download the latest files from weblate, reformat them to a canonical form, and check they do not contain issues. The manual needs to be built again to check for additional issues that might crash Texinfo." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3587 msgid "Before pushing new translation files, developers should add them to the make machinery so the translations are actually available. The process differs for the various components." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3589 #, no-wrap msgid "New po files for the @code{guix} and @code{packages} components must" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3592 msgid "be registered by adding the new language to @file{po/guix/LINGUAS} or @file{po/packages/LINGUAS}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3592 #, no-wrap msgid "New po files for the @code{documentation-manual} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3598 msgid "registered by adding the file name to @code{DOC_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix.xx.texi} and @file{%D%/contributing.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3598 #, no-wrap msgid "New po files for the @code{documentation-cookbook} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3604 msgid "registered by adding the file name to @code{DOC_COOKBOOK_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix-cookbook.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix-cookbook.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3604 #, no-wrap msgid "New po files for the @code{website} component must be added to the" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3609 msgid "@code{guix-artwork} repository, in @file{website/po/}. @file{website/po/LINGUAS} and @file{website/po/ietf-tags.scm} must be updated accordingly (see @file{website/i18n-howto.txt} for more information on the process)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:7 msgid "@documentencoding UTF-8" msgstr "@documentencoding UTF-8" #. type: title #: guix-git/doc/guix.texi:7 guix-git/doc/guix.texi:165 #, no-wrap msgid "GNU Guix Reference Manual" msgstr "Manual de referencia de GNU Guix" #. type: include #: guix-git/doc/guix.texi:10 #, no-wrap msgid "version.texi" msgstr "version-es.texi" #. type: copying #: guix-git/doc/guix.texi:137 #, fuzzy msgid "Copyright @copyright{} 2012-2024 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023, 2024 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023, 2024 Tomas Volf@* Copyright @copyright{} 2024 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@* Copyright @copyright{} 2024 Dariqq@* Copyright @copyright{} 2024 Denis 'GNUtoo' Carikli@* Copyright @copyright{} 2024 Fabio Natali@* Copyright @copyright{} 2024 Arnaud Daby-Seesaram@* Copyright @copyright{} 2024 Nigko Yerden@* Copyright @copyright{} 2024 Troy Figiel@* Copyright @copyright{} 2024 Sharlatan Hellseher@*" msgstr "" "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès@*\n" "Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*\n" "Copyright @copyright{} 2013 Nikita Karetnikov@*\n" "Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*\n" "Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*\n" "Copyright @copyright{} 2014 Pierre-Antoine Rault@*\n" "Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*\n" "Copyright @copyright{} 2015, 2016, 2017, 2019, 2020 Leo Famulari@*\n" "Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@*\n" "Copyright @copyright{} 2016 Ben Woodcroft@*\n" "Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Efraim Flashner@*\n" "Copyright @copyright{} 2016 John Darrington@*\n" "Copyright @copyright{} 2016, 2017 Nikita Gillmann@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@*\n" "Copyright @copyright{} 2016 Alex ter Weele@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*\n" "Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*\n" "Copyright @copyright{} 2017, 2018, 2020 Mathieu Othacehe@*\n" "Copyright @copyright{} 2017 Federico Beffa@*\n" "Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*\n" "Copyright @copyright{} 2017 Thomas Danckaert@*\n" "Copyright @copyright{} 2017 humanitiesNerd@*\n" "Copyright @copyright{} 2017 Christopher Allan Webber@*\n" "Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@*\n" "Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*\n" "Copyright @copyright{} 2017, 2019, 2020 Maxim Cournoyer@*\n" "Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@*\n" "Copyright @copyright{} 2017 George Clemmer@*\n" "Copyright @copyright{} 2017 Andy Wingo@*\n" "Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@*\n" "Copyright @copyright{} 2017 nee@*\n" "Copyright @copyright{} 2018 Rutger Helling@*\n" "Copyright @copyright{} 2018 Oleg Pykhalov@*\n" "Copyright @copyright{} 2018 Mike Gerwitz@*\n" "Copyright @copyright{} 2018 Pierre-Antoine Rouby@*\n" "Copyright @copyright{} 2018, 2019 Gábor Boskovits@*\n" "Copyright @copyright{} 2018, 2019, 2020 Florian Pelz@*\n" "Copyright @copyright{} 2018 Laura Lazzati@*\n" "Copyright @copyright{} 2018 Alex Vong@*\n" "Copyright @copyright{} 2019 Josh Holland@*\n" "Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@*\n" "Copyright @copyright{} 2019 Ivan Petkov@*\n" "Copyright @copyright{} 2019 Jakob L. Kreuze@*\n" "Copyright @copyright{} 2019 Kyle Andrews@*\n" "Copyright @copyright{} 2019 Alex Griffin@*\n" "Copyright @copyright{} 2019 Guillaume Le Vaillant@*\n" "Copyright @copyright{} 2020 Leo Prikler@*\n" "Copyright @copyright{} 2019, 2020 Simon Tournier@*\n" "Copyright @copyright{} 2020 Wiktor Żelazny@*\n" "Copyright @copyright{} 2020 Damien Cassou@*\n" "Copyright @copyright{} 2020 Jakub Kądziołka@*\n" "Copyright @copyright{} 2020 Jack Hill@*\n" "Copyright @copyright{} 2020 Naga Malleswari@*\n" "Copyright @copyright{} 2020 Brice Waegeneire@*\n" "Copyright @copyright{} 2020 R Veera Kumar@*\n" "Copyright @copyright{} 2020 Pierre Langlois@*\n" "Copyright @copyright{} 2020 pinoaffe@*\n" "Copyright @copyright{} 2020 André Batista@*\n" "Copyright @copyright{} 2020 Alexandru-Sergiu Marton@*\n" "Copyright @copyright{} 2019, 2020 Miguel Ángel Arruga Vivas (traducción)@*" #. type: copying #: guix-git/doc/guix.texi:144 msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''." msgstr "Se garantiza el permiso de copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación libre de GNU (GNU Free Documentation License), versión 1.3 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes, sin textos de cubierta delantera ni trasera. Una copia de la licencia está incluida en la sección titulada ``GNU Free Documentation License''." #. type: dircategory #: guix-git/doc/guix.texi:146 #, no-wrap msgid "System administration" msgstr "Administración del sistema" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Guix: (guix)" msgstr "Guix: (guix.es)" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage installed software and system configuration." msgstr "Gestión del software instalado y la configuración del sistema." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix package: (guix)Invoking guix package" msgstr "guix package: (guix.es)Invocación de guix package" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Installing, removing, and upgrading packages." msgstr "Instalación, borrado y actualización de paquetes." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix gc: (guix)Invoking guix gc" msgstr "guix gc: (guix.es)Invocación de guix gc" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Reclaiming unused disk space." msgstr "Recuperar espacio de disco sin usar." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix pull: (guix)Invoking guix pull" msgstr "guix pull: (guix.es)Invocación de guix pull" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Update the list of available packages." msgstr "Actualización de la lista disponible de paquetes." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix system: (guix)Invoking guix system" msgstr "guix system: (guix.es)Invocación de guix system" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage the operating system configuration." msgstr "Gestión de la configuración del sistema operativo." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix deploy: (guix)Invoking guix deploy" msgstr "guix deploy: (guix.es)Invocación de guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage operating system configurations for remote hosts." msgstr "Gestión de configuraciones de sistemas operativos en máquinas remotas." #. type: dircategory #: guix-git/doc/guix.texi:156 #, no-wrap msgid "Software development" msgstr "Desarrollo de software" #. type: menuentry #: guix-git/doc/guix.texi:162 #, fuzzy #| msgid "guix pull: (guix)Invoking guix pull" msgid "guix shell: (guix)Invoking guix shell" msgstr "guix pull: (guix.es)Invocación de guix pull" #. type: menuentry #: guix-git/doc/guix.texi:162 #, fuzzy #| msgid "replication, of software environments" msgid "Creating software environments." msgstr "replicación, de entornos de software" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix environment: (guix)Invoking guix environment" msgstr "guix environment: (guix.es)Invocación de guix environment" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building development environments with Guix." msgstr "Construcción de entornos de desarrollo con Guix." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix build: (guix)Invoking guix build" msgstr "guix build: (guix.es)Invocación de guix build" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building packages." msgstr "Construcción de paquetes." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix pack: (guix)Invoking guix pack" msgstr "guix pack: (guix.es)Invocación de guix