[gnome-devel-docs] Updated Spanish translation



commit 29df03c6aaf08d9c8a34fa9ed73569852976c219
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Mon Sep 23 14:29:57 2013 +0200

    Updated Spanish translation

 optimization-guide/es/es.po | 1689 ++++++++++++++++++++++++-------------------
 1 files changed, 957 insertions(+), 732 deletions(-)
---
diff --git a/optimization-guide/es/es.po b/optimization-guide/es/es.po
index 82b0599..481d881 100644
--- a/optimization-guide/es/es.po
+++ b/optimization-guide/es/es.po
@@ -3,14 +3,14 @@
 # Copyright (C) 2009 gnome-devel-docs's COPYRIGHT HOLDER
 # This file is distributed under the same license as the gnome-devel-docs package.
 # Jorge González <jorgegonz svn gnome org>, 2009, 2010.
-# Daniel Mustieles <daniel mustieles gmail com>, 2011, 2012.
+# Daniel Mustieles <daniel mustieles gmail com>, 2011, 2012, 2013.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.optimization-guide.master\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-10-31 14:51+0000\n"
-"PO-Revision-Date: 2012-11-19 11:22+0100\n"
+"POT-Creation-Date: 2013-09-22 18:36+0000\n"
+"PO-Revision-Date: 2013-09-23 10:42+0200\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: Español <gnome-es-list gnome org>\n"
 "Language: \n"
@@ -21,61 +21,46 @@ msgstr ""
 "X-Generator: KBabel 1.11.4\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
-#| msgid "translator-credits"
 msgctxt "_"
 msgid "translator-credits"
 msgstr ""
 "Daniel Mustieles <daniel mustieles gmail com>, 2012\n"
 "Jorge González <jorgegonz svn gnome org>, 2009-2010"
 
-#: C/index.docbook:5(book/title)
-msgid "Optimizing GNOME Software"
-msgstr "Optimizar software de GNOME"
-
-#: C/index.docbook:8(publisher/publishername)
-#: C/index.docbook:56(revdescription/para)
-msgid "GNOME Documentation Project"
-msgstr "Proyecto de documentación de GNOME"
-
-#: C/index.docbook:10(bookinfo/copyright)
-msgid "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
-msgstr "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
-
-#: C/index.docbook:14(bookinfo/copyright)
-msgid "<year>2004-2005</year> <holder>Robert Love</holder>"
-msgstr "<year>2004-2005</year> <holder>Robert Love</holder>"
-
-#: C/index.docbook:19(bookinfo/author)
-msgid "<firstname>Callum</firstname> <surname>McKenzie</surname>"
-msgstr "<firstname>Callum</firstname> <surname>McKenzie</surname>"
-
-#: C/index.docbook:23(bookinfo/author)
-msgid "<firstname>Robert</firstname> <surname>Love</surname>"
-msgstr "<firstname>Robert</firstname> <surname>Love</surname>"
-
-#: C/index.docbook:29(legalnotice/para)
+#. (itstool) path: license/p
+#: C/index.page:7
+#| msgid ""
+#| "Permission is granted to copy, distribute and/or modify this document "
+#| "under the terms of the <citetitle>GNU Free Documentation License</"
+#| "citetitle>, Version 1.1 or any later version published by the Free "
+#| "Software Foundation with no Invariant Sections, no Front-Cover Texts, and "
+#| "no Back-Cover Texts. You may obtain a copy of the <citetitle>GNU Free "
+#| "Documentation License</citetitle> from the Free Software Foundation by "
+#| "visiting <ulink type=\"http\" url=\"http://www.fsf.org\";>their Web site</"
+#| "ulink> or by writing to: Free Software Foundation, Inc., 59 Temple Place "
+#| "- Suite 330, Boston, MA 02111-1307, USA."
 msgid ""
 "Permission is granted to copy, distribute and/or modify this document under "
-"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
-"Version 1.1 or any later version published by the Free Software Foundation "
-"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. "
-"You may obtain a copy of the <citetitle>GNU Free Documentation License</"
-"citetitle> from the Free Software Foundation by visiting <ulink type=\"http"
-"\" url=\"http://www.fsf.org\";>their Web site</ulink> or by writing to: Free "
-"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-"
-"1307, USA."
+"the terms of the GNU Free Documentation License, Version 1.1 or any later "
+"version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a "
+"copy of the GNU Free Documentation License from the Free Software Foundation "
+"by visiting <link href=\"http://www.fsf.org\";>their Web site</link> or by "
+"writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, "
+"Boston, MA 02111-1307, USA."
 msgstr ""
 "Se otorga permiso para copiar, distribuir y/o modificar este documento bajo "
-"los términos de la <citetitle>Licencia de Documentación Libre de GNU</"
-"citetitle>, Versión 1.1 o cualquier otra versión posterior publicada por la "
-"Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta "
-"Delantera ni Textos de Cubierta Trasera. Puede encontrar una copia de la "
-"licencia <citetitle>Licencia de Documentación Libre de GNU</citetitle> de la "
-"Free Software Foundation visitando <ulink type=\"http\" url=\"http://www.fsf.";
-"org\">su página web</ulink> o escribiendo a: Free Software Foundation, Inc., "
-"59 Temple Place - Suite 330, Boston, MA 02111-1307, EE. UU."
+"los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o "
+"cualquier otra versión posterior publicada por la Free Software Foundation; "
+"sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de "
+"Cubierta Trasera. Puede encontrar una copia de la licencia Licencia de "
+"Documentación Libre de GNU de la Free Software Foundation visitando <link "
+"href=\"http://www.fsf.org\";>su página web</link> o escribiendo a: Free "
+"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-"
+"1307, EE. UU."
 
-#: C/index.docbook:41(legalnotice/para)
+#. (itstool) path: license/p
+#: C/index.page:16
 msgid ""
 "Many of the names used by companies to distinguish their products and "
 "services are claimed as trademarks. Where those names appear in any GNOME "
@@ -89,22 +74,23 @@ msgstr ""
 "proyecto de documentación las reconozcan dichas marcas comerciales, dichos "
 "nombres se imprimen en mayúsculas o iniciales mayúsculas."
 
-#: C/index.docbook:55(revdescription/para)
-msgid "William Johnston"
-msgstr "William Johnston"
+#. (itstool) path: credit/years
+#: C/index.page:24 C/index.page:28
+msgid "2004-2005"
+msgstr "2004-2005"
 
-#: C/index.docbook:57(revdescription/para)
-msgid "Intial conversion to docbook format."
-msgstr "Conversión inicial al formato docbook."
+#. (itstool) path: credit/name
+#: C/index.page:25
+msgid "Callum McKenzie"
+msgstr "Callum McKenzie"
 
-#: C/index.docbook:51(revhistory/revision)
-msgid ""
-"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
-msgstr ""
-"<revnumber>0.1</revnumber> <date>noviembre de 2007</date> <_:revdescription-"
-"1/>"
+#. (itstool) path: credit/name
+#: C/index.page:29
+msgid "Robert Love"
+msgstr "Robert Love"
 
-#: C/index.docbook:63(abstract/para)
+#. (itstool) path: info/desc
+#: C/index.page:32
 msgid ""
 "Software can be optimized in many ways: for speed, program size, or memory "
 "use. This section contains guides and tutorials for optimizing your software."
@@ -113,11 +99,65 @@ msgstr ""
 "tamaño del programa o uso de memoria. Esta sección contiene guías y "
 "tutoriales para optimizar su software."
 
-#: C/optimization-harmful.xml:3(chapter/title)
-msgid "Disk Seeks Considered Harmful"
-msgstr "Búsquedas de disco consideradas dañinas"
+#. (itstool) path: page/title
+#: C/index.page:35
+#| msgid "Doing the Optimization"
+msgid "Optimization Guide"
+msgstr "Guía de optimización"
 
-#: C/optimization-harmful.xml:5(chapter/para)
+#. (itstool) path: section/title
+#: C/index.page:38 C/massif.page:12
+msgid "Introduction"
+msgstr "Introducción"
+
+#. (itstool) path: section/p
+#: C/index.page:39
+#| msgid ""
+#| "This is a brief introduction to optimization, both the hows and the whys. "
+#| "Details of individual tools and techniques are left for later articles, "
+#| "but a collection of hints and tricks is provided."
+msgid ""
+"This is a brief introduction to optimization, both the hows and thewhys. "
+"Details of individual tools and techniques are left for later articles, but "
+"a collection of hints and tricks is provided."
+msgstr ""
+"Esta es una breve introducción a la optimización, de los cómos tanto de los "
+"porqués. Se dejan para posteriores artículos los detalles de herramientas y "
+"técnicas individuales pero se proporciona una colección de sugerencias y "
+"trucos."
+
+#. (itstool) path: section/title
+#: C/index.page:45
+msgid "Massif"
+msgstr "Massif"
+
+#. (itstool) path: section/p
+#. (itstool) path: page/p
+#: C/index.page:46 C/massif.page:9
+#| msgid ""
+#| "This article describes how to use the <application>Massif</application> "
+#| "heap profiler with GNOME applications. We describe how to invoke, "
+#| "interpret, and act on the output of <application>Massif</application>. "
+#| "The <application>Swell Foop</application> game is used as an example."
+msgid ""
+"This article describes how to use the <app>Massif</app> heap profiler with "
+"GNOME applications. We describe how to invoke, interpret, and act on the "
+"output of <app>Massif</app>. The <app>Swell Foop</app> game is used as an "
+"example."
+msgstr ""
+"Este artículo describe cómo usar el perfilador <app>Massif</app> con las "
+"aplicaciones de GNOME. Describe cómo invocar, interpretar y actuar sobre la "
+"salida de <app>Massif</app>. Se usa el juego <app>Swell Foop</app> como "
+"ejemplo."
+
+#. (itstool) path: section/title
+#: C/index.page:53
+msgid "Harmfulness"
+msgstr "Nocividad"
+
+#. (itstool) path: section/p
+#. (itstool) path: page/p
+#: C/index.page:54 C/harmful.page:8
 msgid ""
 "Disk seeks are one of the most expensive operations you can possibly "
 "perform. You might not know this from looking at how many of them we "
@@ -129,15 +169,23 @@ msgstr ""
 "pero crea que realmente lo son. Por ello, evite los siguientes "
 "comportamientos:"
 
-#: C/optimization-harmful.xml:10(listitem/para)
+#. (itstool) path: page/title
+#: C/harmful.page:7
+msgid "Disk Seeks Considered Harmful"
+msgstr "Búsquedas de disco consideradas dañinas"
+
+#. (itstool) path: item/p
+#: C/harmful.page:13
 msgid "Placing lots of small files all over the disk."
 msgstr "Ubicar montones de pequeños archivos por todo el disco."
 
-#: C/optimization-harmful.xml:15(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:18
 msgid "Opening, stating, and reading lots of files all over the disk"
 msgstr "Abrir, iniciar y leer montones de archivos por todo el disco."
 
-#: C/optimization-harmful.xml:20(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:23
 msgid ""
 "Doing the above on files that are laid out at different times, so as to "
 "ensure that they are fragmented and cause even more seeking."
@@ -146,7 +194,8 @@ msgstr ""
 "para asegurarse de que están fragmentados y causan aún más búsqueda del "
 "disco."
 
-#: C/optimization-harmful.xml:25(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:28
 msgid ""
 "Doing the above on files that are in different directories, so as to ensure "
 "that they are in different cylinder groups and and cause even more seeking."
@@ -155,30 +204,36 @@ msgstr ""
 "asegurarse de que están en grupos de cilindros diferentes y pueden causar "
 "incluso más búsqueda."
 
-#: C/optimization-harmful.xml:30(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:33
 msgid "Repeatedly doing the above when it only needs to be done once."
 msgstr ""
 "Realizar repetidamente lo anterior cuando sólo se necesita realizar una vez."
 
-#: C/optimization-harmful.xml:35(chapter/para)
+#. (itstool) path: page/p
+#: C/harmful.page:38
 msgid "Ways in which you can optimize your code to be seek-friendly:"
 msgstr ""
 "Formas en las que puede optimizar su código para que sea amigable a la hora "
 "de hacer búsquedas:"
 
-#: C/optimization-harmful.xml:40(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:43
 msgid "Consolidate data into a single file."
 msgstr "Consolidar los datos en un solo archivo."
 
-#: C/optimization-harmful.xml:45(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:48
 msgid "Keep data together in the same directory."
 msgstr "Mantener los datos juntos en la mismo carpeta."
 
-#: C/optimization-harmful.xml:50(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:53
 msgid "Cache data so as to not need to reread constantly."
 msgstr "Cachear los datos para no tener que volver a leerlos constantemente."
 
-#: C/optimization-harmful.xml:55(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:58
 msgid ""
 "Share data so as not to have to reread it from disk when each application "
 "loads."
@@ -186,7 +241,8 @@ msgstr ""
 "Compartir los datos para no tener que volver a leerlos del disco cada vez "
 "que una aplicación se carga."
 
-#: C/optimization-harmful.xml:60(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:63
 msgid ""
 "Consider caching all of the data in a single binary file that is properly "
 "aligned and can be mmaped."
@@ -194,7 +250,8 @@ msgstr ""
 "Considerar cachear todos los datos en un archivo binario único que está "
 "alineado apropiadamente y se puede mapear."
 
-#: C/optimization-harmful.xml:65(chapter/para)
+#. (itstool) path: page/p
+#: C/harmful.page:68
 msgid ""
 "The trouble with disk seeks are compounded for reads, which is unfortunately "
 "what we are doing. Remember, reads are generally synchronous while writes "
@@ -207,13 +264,469 @@ msgstr ""
 "complica el problema, serializando cada lectura y contribuyendo a la "
 "latencia del programa."
 
+#. (itstool) path: page/title
+#: C/introduction.page:7
+msgid "What are we Optimizing?"
+msgstr "¿Qué se está optimizando?"
+
+#. (itstool) path: page/p
+#: C/introduction.page:8
+msgid ""
+"When we optimize for GNOME the first thing to remember is this: we are not "
+"trying to make the program better, we are trying to make the person using "
+"the computer happier."
+msgstr ""
+"Al optimizar GNOME lo primero que hay que recordar es esto: no se está "
+"intentando mejorar el programa, se está intentando hacer que las personas "
+"usen el equipo más felices."
+
+#. (itstool) path: page/p
+#: C/introduction.page:10
+msgid ""
+"Better programs make people happier, but there are some improvements that "
+"will make them a lot happier than others: Responsiveness, start-up time, "
+"easy to access commands and not having the computer go into swap the moment "
+"more than two programs are open."
+msgstr ""
+"Programas mejores hacen a la gente más feliz pero existen algunas mejoras "
+"que los harán más felices que otras: tiempo de respuesta, tiempo de inicio, "
+"facilidad para acceder a comandos y que el equipo no tenga que usar la "
+"memoria de intercambio cuando más de dos programas estén abiertos."
+
+#. (itstool) path: page/p
+#: C/introduction.page:13
+msgid ""
+"Traditional optimization tackles concepts like CPU use, code size, the "
+"number of mouse clicks and the memory use of the program. This second list "
+"has been chosen to correlate with the first list, however there is an "
+"important difference: The person using GNOME doesn't care about the second "
+"list, but they care a lot about the first list. When optimizing GNOME "
+"programs we will reduce CPU use, memory use and all those things, but these "
+"are the means to the end, not the final goal. We are optimizing for people."
+msgstr ""
+"La optimización tradicional contempla conceptos como el uso de CPI, el "
+"tamaño del código, el número de pulsaciones del ratón y el uso de memoria de "
+"programa. Se ha elegido esta segunda lista para correlar con la primera, no "
+"obstante existe una diferencia importante. A la persona que usa GNOME no le "
+"importa la segunda lista, pero sí la primera. Al optimizar los programas de "
+"GNOME se reducirá el uso de CPU, el uso de memoria y todo aquello, pero son "
+"conceptos para el fin, no el objetivo final. Se optimiza para las personas."
+
+#. (itstool) path: section/title
+#: C/introduction.page:18
+msgid "Doing the Optimization"
+msgstr "Realizar la optimización"
+
+#. (itstool) path: section/p
+#: C/introduction.page:19
+msgid ""
+"The previous section omitted one important qualifier: To optimize something "
+"it has to be measurable. You can't measure happiness. However, you can "
+"measure start-up time so you can tell if you have improved it. Happiness "
+"will then, hopefully, follow."
+msgstr ""
+"En la sección anterior se omitió un calificador importante: optimizar algo "
+"debe ser medible. No se puede medir la felicidad. No obstante se puede medir "
+"el tiempo de inicio de un programa para saber si se ha mejorado. La "
+"felicidad del usuario aumentará pues."
+
+#. (itstool) path: section/p
+#: C/introduction.page:22
+#| msgid ""
+#| "Optimization is the process of measurement, refinement and re-"
+#| "measurement. So the first thing you must do is find a way to measure what "
+#| "you are optimizing. Ideally this measurement is a single number, for "
+#| "example: the time taken to perform a task. This is your benchmark, it is "
+#| "the only way to tell if you are winning or losing. There is a big "
+#| "difference between a program that <emphasis>should</emphasis> be fast and "
+#| "a program that <emphasis>is</emphasis> fast."
+msgid ""
+"Optimization is the process of measurement, refinement and re-measurement. "
+"So the first thing you must do is find a way to measure what you are "
+"optimizing. Ideally this measurement is a single number, for example: the "
+"time taken to perform a task. This is your benchmark, it is the only way to "
+"tell if you are winning or losing. There is a big difference between a "
+"program that <em>should</em> be fast and a program that <em>is</em> fast."
+msgstr ""
+"La optimización es el proceso de medida, refinamiento y remedida. Lo primero "
+"que debe hacer es encontrar una forma de medir lo que está optimizando. "
+"Idealmente la medida es un simple número, por ejemplo: el tiempo que se "
+"tarda en realizar una tarea. Esta es su prueba, es la única forma de saber "
+"si está ganando o perdiendo. Existe una gran diferencia entre un programa "
+"que <em>debería</em> ser rápido y un programa que <em>es</em> rápido."
+
+#. (itstool) path: section/p
+#: C/introduction.page:25
+msgid ""
+"Once you have a basic benchmark you need to find out why your code is not "
+"doing as well as it should. It is tempting to do this by inspection: just "
+"looking at the code and trying to spot something that looks like it needs "
+"improvement. You will invariably be wrong. Using a profiler to get a "
+"detailed break-down of what your program really does is the only way to be "
+"sure."
+msgstr ""
+"Una vez que tiene una prueba de rendimiento básica debe encontrar por qué su "
+"código no lo está haciendo tan bien como debería. Es tentador hacerlo "
+"inspeccionando: simplemente mirar el código y tratar de encontrar algo que "
+"parece que necesita una mejora. Estará perdiendo el tiempo, Usar un "
+"perfilador para obtener una lista detallada de lo que su programa está "
+"haciendo es, realmente, la única forma de estar seguro."
+
+#. (itstool) path: section/p
+#: C/introduction.page:28
+msgid ""
+"Usually the problem is isolated to small sections of code. Pick the worst "
+"place and concentrate on that first. Once that is done, rerun the profiler "
+"and repeat. As you proceed the gains made at each step will get less and "
+"less, at some point you will have to decide that the results are good "
+"enough. If your efforts are only extracting 10% improvements then you are "
+"well past the point where you should have stopped."
+msgstr ""
+"Generalmente el problema está aislado en pequeñas partes del código. Elija "
+"la peor parte y concéntrese en ella primero. Una vez que lo haya hecho, "
+"vuelva al perfilador y repita el proceso. Según proceda, las mejoras "
+"obtenidas en cada paso se harán cada vez más pequeñas, en algún punto tendrá "
+"que decidir que los resultados son suficientes. Si sus esfuerzos sólo están "
+"obteniendo un 10% de mejoras entonces hace tiempo que pasó el punto en el "
+"que debería haber parado."
+
+#. (itstool) path: section/p
+#: C/introduction.page:31
+msgid ""
+"Don't forget the big picture. For example, rather than just trying to speed "
+"up a piece of code, ask yourself if it needs to be run at all. Could it be "
+"combined with another piece of code? Can the results of previous "
+"calculations be saved and reused? It won't even need to be optimized if it "
+"is in a place where the user is never going to notice it. Worse still, the "
+"code may already be optimized and is doing the heavy calculations now to "
+"avoid doing them later. Code does not run in isolation and neither does the "
+"optimization process."
+msgstr ""
+"No se olvide del objetivo final. Por ejemplo, en lugar de intentar mejorar "
+"un trozo de código, pregúntese si realmente se necesita ejecutar ese código. "
+"¿Se podría combinar con otro trozo de código? ¿Se pueden guardar y reusar "
+"cálculos previos? No necesitará optimizarse si está en un lugar donde el "
+"usuario no lo va a notar. O aún peor, el código puede ya estar optimizado y "
+"está haciendo cálculos pesados ahora para evitar hacerlos luego. El código "
+"no se ejecuta aisladamente ni tampoco lo hace el proceso de optimización."
+
+#. (itstool) path: section/title
+#: C/introduction.page:37
+msgid "Hints"
+msgstr "Sugerencias"
+
+#. (itstool) path: item/title
+#: C/introduction.page:41
+msgid "The Fundamentals"
+msgstr "Lo fundamental"
+
+#. (itstool) path: item/p
+#: C/introduction.page:44
+msgid ""
+"Re-run your benchmark after every change you make to the code and keep a log "
+"of everything you change and how it affects the benchmark. This lets you "
+"undo mistakes and also helps you not to repeat mistakes."
+msgstr ""
+"Vuelva a ejecutar su prueba de rendimiento después de cada cambio que "
+"realice sobre el código y mantenga un registro de todo lo que cambia y de "
+"cómo afecta al rendimiento. Esto le permite deshacer errores y también le "
+"ayuda a no repetirlos."
+
+#. (itstool) path: item/p
+#: C/introduction.page:49
+msgid ""
+"Make sure your code is correct and bug-free before optimizing it. Check that "
+"it remains correct and bug-free after optimization."
+msgstr ""
+"Asegúrese de que su código es correcto y está libre de errores antes de "
+"optimizarlo. Compruebe que permanece correcto y libre de errores después de "
+"haberlo optimizado."
+
+#. (itstool) path: item/p
+#: C/introduction.page:54
+msgid "Optimize at the high level before optimizing the details."
+msgstr "Optimizar al nivel más alto antes de optimizar los detalles."
+
+#. (itstool) path: item/p
+#: C/introduction.page:59
+msgid ""
+"Use the right algorithm. The classic text-book example is using quick-sort "
+"instead of bubble-sort. There are many others, some save memory, some save "
+"CPU. Also, see what shortcuts you can make: you can do quicker than quick-"
+"sort if you are prepared to make some compromises."
+msgstr ""
+"Usar el algoritmo correcto. El clásico ejemplo de libro de texto es usar "
+"ordenación rápida en lugar de ordenación de burbuja. Existen muchos otros, "
+"algunos ahorran memoria, algunos ahorran CPU. También debe ver qué atajos de "
+"teclado puede crear: puede hacerlo más rápido que una ordenación rápida si "
+"está preparado para tomar ciertos compromisos."
+
+#. (itstool) path: item/p
+#: C/introduction.page:64
+msgid ""
+"Optimization is a trade-off. Caching results speeds up calculations, but "
+"increases memory use. Saving data to disk saves memory, but costs time when "
+"it is loaded back from disk."
+msgstr ""
+"La optimización es intercambio. Obtener resultados mejora los cálculos pero "
+"aumenta la memoria en uso. Guardar datos al disco ahorra memoria pero cuesta "
+"tiempo al cargarlos de nuevo desde el disco."
+
+#. (itstool) path: item/p
+#: C/introduction.page:69
+msgid ""
+"Make sure you choose a wide variety of inputs to optimize against. If you "
+"don't it is easy to end up with a piece of code carefully optimized for one "
+"file and no others."
+msgstr ""
+"Asegúrese de elegir cierta variedad de entradas que optimizar. Si no lo hace "
+"es fácil que termine con un trozo de código cuidadosamente optimizado para "
+"un campo y no para otros."
+
+#. (itstool) path: item/p
+#: C/introduction.page:74
+msgid ""
+"Avoid expensive operations: Multiple small disk reads. Using up lots of "
+"memory so disk swapping becomes necessary. Avoid anything that writes or "
+"reads from the hard disk unnecessarily. The network is slow too. Also avoid "
+"graphics operations that need a response from the X server."
+msgstr ""
+"Evite las operaciones caras: múltiples lecturas de disco pequeñas. Use un "
+"montón de memoria para que el área de intercambio («swap») se haga "
+"innecesario. Evite cualquier cosa que escriba o lea innecesariamente del "
+"disco. La red también es lenta. Evite también operaciones gráficas que "
+"necesitan una respuesta del servidor X."
+
+#. (itstool) path: item/title
+#: C/introduction.page:81
+msgid "Traps for the Unwary"
+msgstr "Trampas para los imprudentes"
+
+#. (itstool) path: item/p
+#: C/introduction.page:84
+msgid ""
+"Beware of side effects. There can often be strange interactions between "
+"different sections of code, a speed-up in one part can slow another part "
+"down."
+msgstr ""
+"Esté atento a efectos laterales. Generalmente son interacciones extrañas "
+"entre diferentes secciones del código, una extensión de una parte puede "
+"retardar otra."
+
+#. (itstool) path: item/p
+#: C/introduction.page:89
+msgid ""
+"When timing code, even on a quiet system, events outside the program add "
+"noise to the timing results. Average over multiple runs. If the code is very "
+"short, timer resolution is also a problem. In this case measure the time the "
+"computer takes to run the code 100 or 1000 times. If the times you are "
+"recording are longer than a few seconds, you should be OK."
+msgstr ""
+"Al cronometrar el tiempo del código, incluso en un sistema silencioso, los "
+"eventos fuera del programa añaden ruido a los resultados del tiempo. Haga la "
+"media sobre múltiples ejecuciones. Si el código es muy pequeño la resolución "
+"del tiempo también es un problema. En este caso mida el tiempo que el equipo "
+"tarda en ejecutar el código 100 o 1000 veces. Si los tiempos que está "
+"obteniendo son algo superiores a unos pocos segundos todo debería estar "
+"correcto."
+
+#. (itstool) path: item/p
+#: C/introduction.page:94
+msgid ""
+"It is very easy to be misled by the profiler. There are stories of people "
+"optimizing the operating system idle-loop because that is where it spent all "
+"its time! Don't optimize code that does nothing the user cares about."
+msgstr ""
+"Es muy fácil perderse con el perfilador. Existen historias de programadores "
+"optimizando el bucle de inactividad porque es donde se perdía todo su "
+"tiempo. No optimice código del que el usuario no se preocupe."
+
+#. (itstool) path: item/p
+#: C/introduction.page:99
+msgid ""
+"Remember the resources on the X server. Your program's memory usage doesn't "
+"include the pixmaps that are stored in the X server's process, but they are "
+"still using up memory. Use xrestop to see what resources your program is "
+"using."
+msgstr ""
+"Recuerde los resultados del servidor X. El uso de memoria de su programa no "
+"incluye los pixmaps almacenados en los procesos del servidor X, pero aún "
+"siguen usando memoria. Use xrestop para ver los recursos que está usando su "
+"programa."
+
+#. (itstool) path: item/title
+#: C/introduction.page:106
+msgid "Low Level Hints"
+msgstr "Consejos de bajo nivel"
+
+#. (itstool) path: item/p
+#: C/introduction.page:109
+msgid ""
+"When optimizing memory use, be wary of the difference between peak usage and "
+"average memory usage. Some memory is almost always allocated, this is "
+"usually bad. Some is only briefly allocated, this may be quite acceptable. "
+"Tools like massif use the concept of space-time, the product of memory used "
+"and the duration it was allocated for, instead."
+msgstr ""
+"Al optimizar el uso de memoria considere la diferencia entre el uso de pico "
+"y el uso medio de memoria. Alguna memoria siempre está reservada, esto "
+"generalmente es malo. Alguna está temporalmente reservada, esto puede ser "
+"aceptable. Herramientas como massif usan el concepto de espacio-tiempo, el "
+"producto de la memoria usada y el tiempo durante el que estuvo reservada."
+
+#. (itstool) path: item/p
+#: C/introduction.page:114
+msgid ""
+"Time simplified bits of code that do only the things you know are essential, "
+"this gives an absolute lower limit on the time your code will take. For "
+"example, when optimizing a loop time the empty loop. If that is still too "
+"long no amount of micro-optimization will help and you will have to change "
+"your design. Make sure the compiler doesn't optimize away your empty loop."
+msgstr ""
+"Controle el tiempo de trozos de código simplificados que sólo hacen cosas "
+"esenciales, esto proporciona un límite absoluto inferior en el tiempo que "
+"usará el código. Por ejemplo, al optimizar un bucle, controle el tiempo del "
+"bucle vacío. Si aún es mucho tiempo cualquier intento de optimización no "
+"ayudará y deberá cambiar su diseño. Asegúrese de que el compilador no "
+"desoptimiza el bucle vacío."
+
+#. (itstool) path: item/p
+#: C/introduction.page:119
+msgid ""
+"Move code out from inside loops. A slightly more complicated piece of code "
+"that is executed once is far quicker than a simple piece of code executed a "
+"thousand times. Avoid calling slow code often."
+msgstr ""
+"Mueva el código fuera de los bucles internos. Un trozo de código más "
+"complicado que se ejecuta una sola vez es mucho más rápido que un trozo de "
+"código más simple que se ejecuta mil veces. Evite llamar habitualmente a "
+"código lento."
+
+#. (itstool) path: item/p
+#: C/introduction.page:124
+#| msgid ""
+#| "Give the compiler as many hints as possible. Use the const keyword. Use "
+#| "<envar>G_INLINE_FUNC</envar> for short, frequently called, functions. "
+#| "Look up <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> and the other "
+#| "glib miscellaneous macros. Use the macros instead of gcc-specific "
+#| "keywords to ensure portability."
+msgid ""
+"Give the compiler as many hints as possible. Use the const keyword. Use "
+"<code>G_INLINE_FUNC</code> for short, frequently called, functions. Look up "
+"<code>G_GNUC_PURE</code>, <code>G_LIKELY</code> and the other glib "
+"miscellaneous macros. Use the macros instead of gcc-specific keywords to "
+"ensure portability."
+msgstr ""
+"Proporcione al compilador tantos sugerencias como le sea posible. Use la "
+"palabra clave «const». Use <code>G_INLINE_FUNC</code> para funciones cortas "
+"frecuentemente llamadas. Busque <code>G_GNUC_PURE</code>, <code>G_LIKELY</"
+"code> y otras macros misceláneas de glib. Use las macros en lugar de "
+"palabras clave específicas de gcc para asegurar la portabilidad."
+
+#. (itstool) path: item/p
+#: C/introduction.page:129
+msgid ""
+"Don't use assembly language. It is not portable and, while it may be fast on "
+"one processor, it is not even guaranteed to be fast on every processor that "
+"supports that architecture (e.g. Athlon vs. Pentium 4)."
+msgstr ""
+"No use lenguajes de ensamblado. El código no es portable y puede ser más "
+"rápido en un procesador que en otro, además no está garantizado que sea "
+"rápido en cada procesador que soporta esa arquitectura (ej. Athlon contra "
+"Pentium 4)."
+
+#. (itstool) path: item/p
+#: C/introduction.page:134
+msgid ""
+"Don't rewrite an existing library routine unless you are sure it is "
+"unnecessarily slow. Many CPU-intensive library routines have already been "
+"optimized. Conversely, some library routines are slow, especially ones that "
+"make system calls to the operating system."
+msgstr ""
+"No reescriba una rutina existente de una biblioteca a no ser que esté seguro "
+"de que es demasiado lenta. Muchas rutinas de bibliotecas de uso intensivo "
+"por la CPU ya se han optimizado. Algunas rutinas de bibliotecas son lentas, "
+"especialmente aquellas que realizan llamadas al sistema operativo."
+
+#. (itstool) path: item/p
+#: C/introduction.page:139
+msgid ""
+"Minimize the number of libraries you link to. The fewer libraries to link "
+"in, the faster the program starts. This is a difficult thing to do with "
+"GNOME."
+msgstr ""
+"Minimice el número de bibliotecas a las que enlaza. Cuanto menor sea el "
+"número de bibliotecas que enlazar, más rápido se iniciará el programa. Es "
+"una tarea difícil en GNOME."
+
+#. (itstool) path: item/title
+#: C/introduction.page:146
+msgid "High Level Tricks"
+msgstr "Trucos de alto nivel"
+
+#. (itstool) path: item/p
+#: C/introduction.page:149
+msgid ""
+"Take advantage of concurrency. This doesn't just mean using multiple "
+"processors, it also means taking advantage of the time the user spends "
+"thinking about what they are going to do next to perform some calculations "
+"in anticipation. Do calculations while waiting for data to be loaded off "
+"disk. Take advantage of multiple resources, use them all at once."
+msgstr ""
+"La ventaja de la concurrencia. Esto no significa simplemente usar varios "
+"procesadores, también significa aprovecharse del tiempo que el usuario pasa "
+"pensando en qué harán después, para realizar algunos cálculos anticipados. "
+"Haga cálculos mientras se espera la carga de datos desde el disco. "
+"Aprovéchese de los recursos múltiples, úselos todos a la vez."
+
+#. (itstool) path: item/p
+#: C/introduction.page:154
+msgid ""
+"Cheat. The user only has to think that the computer is fast, it doesn't "
+"matter whether it actually is or not. It is the time between the command and "
+"the answer that is important, it doesn't matter if the response is pre-"
+"calculated, cached, or will in fact be worked out later at a more convenient "
+"time, as long as the user gets what they expect."
+msgstr ""
+"Engañe. El usuario sólo tiene que pensar que el equipo es rápido, no importa "
+"si realmente lo es o no. Es el tiempo entre el comando y la respuesta es lo "
+"que importa, no importa si la respuesta estaba precalculada, cacheada o se "
+"trabajará en ella en cualquier momento posterior conveniente, siempre que el "
+"usuario obtenga lo que espera."
+
+#. (itstool) path: item/p
+#: C/introduction.page:159
+msgid ""
+"Do things in the idle loop. It is easier to program than using full multi-"
+"threading but still gets things done out of the users eye. Be careful "
+"though, if you spend too long in the idle loop your program will become "
+"sluggish. So regularly give control back to the main loop."
+msgstr ""
+"Realice trabajo en el bucle de inactividad. Es más fácil de programar que "
+"usar programación completa para multihilo pero aún así las cosas se hacen "
+"fuera de la vista del usuario. No obstante, sea cuidadoso, si se queda "
+"demasiado tiempo en el bucle de inactividad su programa acabará siendo "
+"lento. Por eso debe devolver regularmente el control al bucle principal."
+
+#. (itstool) path: item/p
+#: C/introduction.page:164
+msgid ""
+"If all else fails, tell the user that the code is going to be slow and put "
+"up a progress bar. They won't be as happy as if you had just presented the "
+"results, but they will at least know the program hasn't crashed and they can "
+"go get a cup of coffee."
+msgstr ""
+"Si todo lo demás falla, dígale al usuario que el código va a ser lento y "
+"ponga una barra de progreso. No estarán tan contentos como si hubiese "
+"mostrado el resultado pero al menos sabrán que el programa no se ha colgado "
+"y que se pueden ir a preparar un café."
+
+#. (itstool) path: media
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/optimization-massif.xml:52(imagedata)
-#| msgid ""
-#| "@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+#: C/massif.page:50
 msgctxt "_"
 msgid ""
 "external ref='figures/massif-before.png' "
@@ -222,13 +735,12 @@ msgstr ""
 "external ref='figures/massif-before.png' "
 "md5='1a6b2ace548e6789ab8bfacb3727b345'"
 
+#. (itstool) path: media
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/optimization-massif.xml:114(imagedata)
-#| msgid ""
-#| "@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+#: C/massif.page:125
 msgctxt "_"
 msgid ""
 "external ref='figures/massif-after.png' "
@@ -237,123 +749,153 @@ msgstr ""
 "external ref='figures/massif-after.png' "
 "md5='36d1b4ad7ab49b28b69ad3eabbaa7069'"
 
-#: C/optimization-massif.xml:3(chapter/title)
-msgid ""
-"Using <application>Massif</application> for Profiling Memory Use in GNOME "
-"Software"
-msgstr ""
-"Usar <application>Massif</application> para el Perfilado del uso de memoria "
-"en software de GNOME"
-
-#: C/optimization-massif.xml:5(chapter/para)
-msgid ""
-"This article describes how to use the <application>Massif</application> heap "
-"profiler with GNOME applications. We describe how to invoke, interpret, and "
-"act on the output of <application>Massif</application>. The "
-"<application>Swell Foop</application> game is used as an example."
-msgstr ""
-"Este artículo describe cómo usar el perfilador <application>Massif</"
-"application> con las aplicaciones de GNOME. Describe cómo invocar, "
-"interpretar y actuar sobre la salida de <application>Massif</application>. "
-"Se usa el juego <application>Swell Foop</application> como ejemplo."
-
-#: C/optimization-massif.xml:10(sect1/title)
-msgid "Introduction"
-msgstr "Introducción"
-
-#: C/optimization-massif.xml:11(sect1/para)
-msgid ""
-"<application>Massif</application> is a member of the <ulink type=\"http\" "
-"url=\"http://valgrind.org/\";>valgrind</ulink> suite of memory-profiling "
-"tools. Its purpose is to give a detailed view of dynamic memory usage during "
-"the lifetime of the program. Specifically it records the memory use of the "
-"heap and the stack."
+#. (itstool) path: page/title
+#: C/massif.page:7
+#| msgid ""
+#| "Using <application>Massif</application> for Profiling Memory Use in GNOME "
+#| "Software"
+msgid "Using <app>Massif</app> for Profiling Memory Use in GNOME Software"
 msgstr ""
-"<application>Massif</application> es un miembro de las herramientas de "
-"perfilado de memoria «heap» <ulink type=\"http\" url=\"http://valgrind.org/";
-"\">valgrind</ulink>. Su propósito es proporcionar una vista detallada del "
-"uso de memoria dinámica durante la vida de un programa. Específicamente "
-"graba el uso de memoria del «heap» y de la pila."
+"Usar <app>Massif</app> para el Perfilado del uso de memoria en software de "
+"GNOME"
 
-#: C/optimization-massif.xml:14(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:13
+#| msgid ""
+#| "<application>Massif</application> is a member of the <ulink type=\"http\" "
+#| "url=\"http://valgrind.org/\";>valgrind</ulink> suite of memory-profiling "
+#| "tools. Its purpose is to give a detailed view of dynamic memory usage "
+#| "during the lifetime of the program. Specifically it records the memory "
+#| "use of the heap and the stack."
+msgid ""
+"<app>Massif</app> is a member of the <link href=\"http://valgrind.org/";
+"\">valgrind</link> suite of memory-profiling tools. Its purpose is to give a "
+"detailed view of dynamic memory usage during the lifetime of the program. "
+"Specifically it records the memory use of the heap and the stack."
+msgstr ""
+"<app>Massif</app> es un miembro de las herramientas de perfilado de memoria "
+"<link href=\"http://valgrind.org/\";>valgrind</link>. Su propósito es "
+"proporcionar una vista detallada del uso de memoria dinámica durante la vida "
+"de un programa. Específicamente graba el uso de memoria del montículo "
+"(«heap») y de la pila."
+
+#. (itstool) path: section/p
+#: C/massif.page:16
+#| msgid ""
+#| "The heap is the region of memory which is allocated with functions like "
+#| "malloc. It grows on demand and is usually the largest region of memory in "
+#| "a program. The stack is where all the local data for functions is stored. "
+#| "This includes the \"automatic\" variables in C and the return address for "
+#| "subroutines. The stack is typically a lot smaller and a lot more active "
+#| "than the heap. We won't consider the stack explicitly since "
+#| "<application>Massif</application> treats it as though it were just "
+#| "another part of the heap. <application>Massif</application> also gives "
+#| "information about how much memory is used to manage the heap."
 msgid ""
 "The heap is the region of memory which is allocated with functions like "
 "malloc. It grows on demand and is usually the largest region of memory in a "
 "program. The stack is where all the local data for functions is stored. This "
 "includes the \"automatic\" variables in C and the return address for "
 "subroutines. The stack is typically a lot smaller and a lot more active than "
-"the heap. We won't consider the stack explicitly since <application>Massif</"
-"application> treats it as though it were just another part of the heap. "
-"<application>Massif</application> also gives information about how much "
-"memory is used to manage the heap."
+"the heap. We won't consider the stack explicitly since <app>Massif</app> "
+"treats it as though it were just another part of the heap. <app>Massif</app> "
+"also gives information about how much memory is used to manage the heap."
 msgstr ""
 "El montículo («heap») es la región de memoria que está reservada con "
-"funciones como malloc. Crece bajo demanda y generalmente es la región de "
+"funciones como «malloc». Crece bajo demanda y generalmente es la región de "
 "memoria más grande del programa. La pila es donde se almacenan todos los "
 "datos locales para las funciones. Incluye las variables «automáticas» de C y "
 "las direcciones de vuelta para las subrutinas. Generalmente la pila es mucho "
 "más pequeña y activa que el montículo. No se considerará explícitamente la "
-"pila ya que <application>Massif</application> la trata como si fuese otra "
-"parte del montículo. <application>Massif</application> también proporciona "
-"información acerca de cuánta memoria se usa para gestionar el montículo."
+"pila ya que <app>Massif</app> la trata como si fuese otra parte del "
+"montículo. <app>Massif</app> también proporciona información acerca de "
+"cuánta memoria se usa para gestionar el montículo."
 
-#: C/optimization-massif.xml:17(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:18
+#| msgid ""
+#| "<application>Massif</application> produces two output files: a graphical "
+#| "overview in a postscript file and a detailed breakdown in a text file."
 msgid ""
-"<application>Massif</application> produces two output files: a graphical "
-"overview in a postscript file and a detailed breakdown in a text file."
+"<app>Massif</app> produces two output files: a graphical overview in a "
+"postscript file and a detailed breakdown in a text file."
 msgstr ""
-"<application>Massif</application> produce dos archivos de salida: una vista "
-"general gráfica en un archivo postscript y un archivo de texto detallado."
+"<app>Massif</app> produce dos archivos de salida: una vista general gráfica "
+"en un archivo postscript y un archivo de texto detallado."
 
-#: C/optimization-massif.xml:22(sect1/title)
-msgid "Using <application>Massif</application> with GNOME"
-msgstr "Usar <application>Massif</application> con GNOME"
+#. (itstool) path: section/title
+#: C/massif.page:23
+#| msgid "Using <application>Massif</application> with GNOME"
+msgid "Using <app>Massif</app> with GNOME"
+msgstr "Usar <app>Massif</app> con GNOME"
 
-#: C/optimization-massif.xml:23(sect1/para)
-msgid ""
-"<application>Massif</application> has very few options and for many programs "
-"does not need them. However for GNOME applications, where memory allocation "
-"might be buried deep in either glib or GTK, the number of levels down the "
-"call-stack Massif descends needs to be increased. This is achieved using the "
-"--depth parameter. By default this is 3; increasing it to 5 will guarantee "
-"the call-stack reaches down to your code. One or two more levels may also be "
+#. (itstool) path: section/p
+#: C/massif.page:24
+#| msgid ""
+#| "<application>Massif</application> has very few options and for many "
+#| "programs does not need them. However for GNOME applications, where memory "
+#| "allocation might be buried deep in either glib or GTK, the number of "
+#| "levels down the call-stack Massif descends needs to be increased. This is "
+#| "achieved using the --depth parameter. By default this is 3; increasing it "
+#| "to 5 will guarantee the call-stack reaches down to your code. One or two "
+#| "more levels may also be desirable to provide your code with some context. "
+#| "Since the level of detail becomes quickly overwhelming it is best to "
+#| "start with the smaller depth parameter and only increase it when it "
+#| "becomes apparent that it isn't sufficient."
+msgid ""
+"<app>Massif</app> has very few options and for many programs does not need "
+"them. However for GNOME applications, where memory allocation might be "
+"buried deep in either glib or GTK, the number of levels down the call-stack "
+"Massif descends needs to be increased. This is achieved using the --depth "
+"parameter. By default this is 3; increasing it to 5 will guarantee the call-"
+"stack reaches down to your code. One or two more levels may also be "
 "desirable to provide your code with some context. Since the level of detail "
 "becomes quickly overwhelming it is best to start with the smaller depth "
 "parameter and only increase it when it becomes apparent that it isn't "
 "sufficient."
 msgstr ""
-"<application>Massif</application> tiene muy pocas opciones y para la mayoría "
-"de programas no se necesitan. No obstante, para las aplicaciones de GNOME "
-"donde la reserva de memoria puede estar debajo de glib o GTK, se debe "
-"aumentar el número de niveles debajo de la pilla de llamadas al que tiene "
-"descender Massif. Se consigue usando el parámetro «--depth». De forma "
-"predeterminada es 3; aumentarlo a 5 garantizará que la pilla de llamadas "
-"llega a su zona de código. Uno o dos niveles más pueden ser deseables para "
-"proporcionar algo de contexto al código. Ya que el nivel de detalle se "
-"convierte en insoportable, es mejor comenzar con un parámetro de profundidad "
-"pequeño e ir aumentándolo cuando parezca que es insuficiente."
-
-#: C/optimization-massif.xml:26(sect1/para)
-msgid ""
-"It is also useful to tell <application>Massif</application> which functions "
-"allocate memory in glib. It removes an unnecessary layer of function calls "
-"from the reports and gives you a clearer idea of what code is allocating "
-"memory. The allocating functions in glib are g_malloc, g_malloc0, g_realloc, "
+"<app>Massif</app> tiene muy pocas opciones y para la mayoría de programas no "
+"se necesitan. No obstante, para las aplicaciones de GNOME donde la reserva "
+"de memoria puede estar debajo de glib o GTK, se debe aumentar el número de "
+"niveles debajo de la pilla de llamadas al que tiene descender Massif. Se "
+"consigue usando el parámetro «--depth». De forma predeterminada es 3; "
+"aumentarlo a 5 garantizará que la pilla de llamadas llega a su zona de "
+"código. Uno o dos niveles más pueden ser deseables para proporcionar algo de "
+"contexto al código. Ya que el nivel de detalle se convierte en insoportable, "
+"es mejor comenzar con un parámetro de profundidad pequeño e ir aumentándolo "
+"cuando parezca que es insuficiente."
+
+#. (itstool) path: section/p
+#: C/massif.page:27
+#| msgid ""
+#| "It is also useful to tell <application>Massif</application> which "
+#| "functions allocate memory in glib. It removes an unnecessary layer of "
+#| "function calls from the reports and gives you a clearer idea of what code "
+#| "is allocating memory. The allocating functions in glib are g_malloc, "
+#| "g_malloc0, g_realloc, g_try_malloc, and g_mem_chunk_alloc. You use the --"
+#| "alloc-fn option to tell Massif about them."
+msgid ""
+"It is also useful to tell <app>Massif</app> which functions allocate memory "
+"in glib. It removes an unnecessary layer of function calls from the reports "
+"and gives you a clearer idea of what code is allocating memory. The "
+"allocating functions in glib are g_malloc, g_malloc0, g_realloc, "
 "g_try_malloc, and g_mem_chunk_alloc. You use the --alloc-fn option to tell "
 "Massif about them."
 msgstr ""
-"También es útil decir a <application>Massif</application> qué funciones "
-"reservan memoria en glib. Quita una capa de llamadas de funciones "
-"innecesarias de los informes y le proporciona una idea más clara de qué "
-"código está reservando memoria. Las funciones de reserva de memoria en glib "
-"son g_malloc, g_malloc0, g_realloc, g_try_malloc, y g_mem_chunk_alloc. Use "
-"la opción «--alloc-fn» para pasarle la opción a Massif."
+"También es útil decir a <app>Massif</app> qué funciones reservan memoria en "
+"glib. Quita una capa de llamadas de funciones innecesarias de los informes y "
+"le proporciona una idea más clara de qué código está reservando memoria. Las "
+"funciones de reserva de memoria en glib son «g_malloc», «g_malloc0», "
+"«g_realloc», «g_try_malloc», y «g_mem_chunk_alloc». Use la opción «--alloc-fn» "
+"para pasarle la opción a Massif."
 
-#: C/optimization-massif.xml:29(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:30
 msgid "Your command-line should therefore look something like:"
 msgstr "Su línea de comando debería parecerse a esta:"
 
-#: C/optimization-massif.xml:32(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:33
 #, no-wrap
 msgid ""
 "\n"
@@ -366,35 +908,48 @@ msgstr ""
 "         --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc swell-foop\n"
 "        "
 
-#: C/optimization-massif.xml:36(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:37
+#| msgid ""
+#| "<application>Swell Foop</application> is the program we will be using as "
+#| "an example. Be warned that, since valgrind emulates the CPU, it will run "
+#| "<emphasis>very</emphasis> slowly. You will also need a lot of memory."
 msgid ""
-"<application>Swell Foop</application> is the program we will be using as an "
-"example. Be warned that, since valgrind emulates the CPU, it will run "
-"<emphasis>very</emphasis> slowly. You will also need a lot of memory."
+"<app>Swell Foop</app> is the program we will be using as an example. Be "
+"warned that, since valgrind emulates the CPU, it will run <em>very</em> "
+"slowly. You will also need a lot of memory."
 msgstr ""
-"<application>Swell Foop</application> es el programa que se usará como "
-"ejemplo. Tenga en cuenta que, ya que valgrind emula la CPU, se ejecutará "
-"<emphasis>muy</emphasis> despacio. También necesitará mucha memoria."
+"<app>Swell Foop</app> es el programa que se usará como ejemplo. Tenga en "
+"cuenta que, ya que valgrind emula la CPU, se ejecutará <em>muy</em> "
+"despacio. También necesitará mucha memoria."
 
-#: C/optimization-massif.xml:41(sect1/title)
+#. (itstool) path: section/title
+#: C/massif.page:41
 msgid "Interpreting the Results"
 msgstr "Interpretar los resultados"
 
-#: C/optimization-massif.xml:42(sect1/para)
-msgid ""
-"The graphical output of <application>Massif</application> is largely self "
-"explanatory. Each band represents the memory allocated by one function over "
-"time. Once you identify which bands are using the most memory, usually the "
-"big thick ones at the top you will have to consult the text file for the "
-"details."
-msgstr ""
-"La salida gráfica de <application>Massif</application> se explica por si "
-"misma. Cada banda representa la memoria que una función tiene reservada en "
-"el tiempo. Una vez que haya identificado las bandas que usan más memoria, "
-"generalmente las anchas en la parte superior, tendrá que consultar el "
-"archivo de texto para ver los detalles."
-
-#: C/optimization-massif.xml:45(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:42
+#| msgid ""
+#| "The graphical output of <application>Massif</application> is largely self "
+#| "explanatory. Each band represents the memory allocated by one function "
+#| "over time. Once you identify which bands are using the most memory, "
+#| "usually the big thick ones at the top you will have to consult the text "
+#| "file for the details."
+msgid ""
+"The graphical output of <app>Massif</app> is largely self explanatory. Each "
+"band represents the memory allocated by one function over time. Once you "
+"identify which bands are using the most memory, usually the big thick ones "
+"at the top you will have to consult the text file for the details."
+msgstr ""
+"La salida gráfica de <app>Massif</app> se explica por si misma. Cada banda "
+"representa la memoria que una función tiene reservada en el tiempo. Una vez "
+"que haya identificado las bandas que usan más memoria, generalmente las "
+"anchas en la parte superior, tendrá que consultar el archivo de texto para "
+"ver los detalles."
+
+#. (itstool) path: section/p
+#: C/massif.page:45
 msgid ""
 "The text file is arranged as a hierarchy of sections, at the top is a list "
 "of the worst memory users arranged in order of decreasing spacetime. Below "
@@ -408,41 +963,58 @@ msgstr ""
 "mostrando los resultados en detalle según se procede en la pila de llamadas. "
 "Para ilustrar esto se usará la salida del comando anterior."
 
-#: C/optimization-massif.xml:49(figure/title)
-msgid ""
-"<application>Massif</application> output for the unoptimized version of the "
-"<application>Swell Foop</application> program."
-msgstr ""
-"La salida de <application>Massif</application> para la versión no optimizada "
-"del programa <application>Swell Foop</application>."
-
-#: C/optimization-massif.xml:56(sect1/para)
-msgid ""
-"<xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> shows a "
-"typical postscript output from <application>Massif</application>. This is "
-"the result you would get from playing a single game of <application>Swell "
-"Foop</application> (version 2.8.0) and then quitting. The postscript file "
-"will have a name like <filename>massif.12345.ps</filename> and the text file "
-"will be called <filename>massif.12345.txt</filename>. The number in the "
-"middle is the process ID of the program that was examined. If you actually "
-"try this example you will find two versions of each file, with slightly "
-"different numbers, this is because <application>Swell Foop</application> "
-"starts a second process and <application>Massif</application> follows that "
-"too. We will ignore this second process, it consumes very little memory."
-msgstr ""
-"La <xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> muestra "
-"una salida postscript típica de <application>Massif</application>. Este es "
-"el resultado que obtendrá al jugar una partida simple de <application>Swell "
-"Foop</application> (versión 2.8.0) y después salir. El archivo postscript "
-"tendrá un nombre tipo <filename>massif.12345.ps</filename> y el archivo de "
-"texto se llamará <filename>massif.12345.txt</filename>. El número en el "
-"medio es el ID del proceso del programa que se examinó. Si prueba este "
-"ejemplo encontrará dos versiones de cada archivo con números ligeramente "
-"diferentes, esto es porque <application>Swell Foop</application> inicia un "
-"segundo proceso y <application>Massif</application> también lo sigue. Se "
-"ignorará el segundo proceso ya que consume muy poca memoria."
-
-#: C/optimization-massif.xml:59(sect1/para)
+#. (itstool) path: figure/title
+#: C/massif.page:49
+#| msgid ""
+#| "<application>Massif</application> output for the unoptimized version of "
+#| "the <application>Swell Foop</application> program."
+msgid ""
+"<app>Massif</app> output for the unoptimized version of the <app>Swell Foop</"
+"app> program."
+msgstr ""
+"La salida de <app>Massif</app> para la versión no optimizada del programa "
+"<app>Swell Foop</app>."
+
+#. (itstool) path: section/p
+#: C/massif.page:52
+#| msgid ""
+#| "<xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> shows a "
+#| "typical postscript output from <application>Massif</application>. This is "
+#| "the result you would get from playing a single game of <application>Swell "
+#| "Foop</application> (version 2.8.0) and then quitting. The postscript file "
+#| "will have a name like <filename>massif.12345.ps</filename> and the text "
+#| "file will be called <filename>massif.12345.txt</filename>. The number in "
+#| "the middle is the process ID of the program that was examined. If you "
+#| "actually try this example you will find two versions of each file, with "
+#| "slightly different numbers, this is because <application>Swell Foop</"
+#| "application> starts a second process and <application>Massif</"
+#| "application> follows that too. We will ignore this second process, it "
+#| "consumes very little memory."
+msgid ""
+"<link xref=\"optimization-massif-FIG-output-unoptimized\"/> shows a typical "
+"postscript output from <app>Massif</app>. This is the result you would get "
+"from playing a single game of <app>Swell Foop</app> (version 2.8.0) and then "
+"quitting. The postscript file will have a name like <file>massif.12345.ps</"
+"file> and the text file will be called <file>massif.12345.txt</file>. The "
+"number in the middle is the process ID of the program that was examined. If "
+"you actually try this example you will find two versions of each file, with "
+"slightly different numbers, this is because <app>Swell Foop</app> starts a "
+"second process and <app>Massif</app> follows that too. We will ignore this "
+"second process, it consumes very little memory."
+msgstr ""
+"La <link xref=\"optimization-massif-FIG-output-unoptimized\"/> muestra una "
+"salida postscript típica de <app>Massif</app>. Este es el resultado que "
+"obtendrá al jugar una partida simple de <app>Swell Foop</app> (versión "
+"2.8.0) y después salir. El archivo postscript tendrá un nombre tipo "
+"<file>massif.12345.ps</file> y el archivo de texto se llamará "
+"<file>massif.12345.txt</file>. El número en el medio es el ID del proceso "
+"del programa que se examinó. Si prueba este ejemplo encontrará dos versiones "
+"de cada archivo con números ligeramente diferentes, esto es porque "
+"<app>Swell Foop</app> inicia un segundo proceso y <app>Massif</app> también "
+"lo sigue. Se ignorará el segundo proceso ya que consume muy poca memoria."
+
+#. (itstool) path: section/p
+#: C/massif.page:67
 msgid ""
 "At the top of the graph we see a large yellow band labelled gdk_pixbuf_new. "
 "This seems like an ideal candidate for optimization, but we will need to use "
@@ -455,7 +1027,8 @@ msgstr ""
 "a gdk_pixbuf_new. La parte superior del archivo de texto mostrará algo como "
 "lo siguiente:"
 
-#: C/optimization-massif.xml:62(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:70
 #, no-wrap
 msgid ""
 "\n"
@@ -490,7 +1063,8 @@ msgstr ""
 "    3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:77(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:85
 msgid ""
 "The line with the '=' signs indicates how far down the stack trace we are, "
 "in this case we are at the top. After this it lists the heaviest users of "
@@ -509,7 +1083,8 @@ msgstr ""
 "espacio-tiempo se dedica a gdk_pixbuf_new. Para buscar qué llamó a "
 "gdk_pixbuf_new necesitamos buscar más abajo en el archivo de texto:"
 
-#: C/optimization-massif.xml:80(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:88
 #, no-wrap
 msgid ""
 "\n"
@@ -544,26 +1119,37 @@ msgstr ""
 "  and 1 other insignificant place\n"
 "        "
 
-#: C/optimization-massif.xml:95(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:103
+#| msgid ""
+#| "The first line tells us we are now four levels deep into the stack. Below "
+#| "it is a listing of the function calls that leads from here to "
+#| "gdk_pixbuf_new. Finally there is a list of functions that are at the next "
+#| "level down and call these functions. There are, of course, also entries "
+#| "for levels 1, 2, and 3, but this is the first level to reach right down "
+#| "through the GDK code to the <application>Swell Foop</application> code. "
+#| "From this listing, we can see instantly that the problem code is "
+#| "load_scenario."
 msgid ""
 "The first line tells us we are now four levels deep into the stack. Below it "
 "is a listing of the function calls that leads from here to gdk_pixbuf_new. "
 "Finally there is a list of functions that are at the next level down and "
 "call these functions. There are, of course, also entries for levels 1, 2, "
 "and 3, but this is the first level to reach right down through the GDK code "
-"to the <application>Swell Foop</application> code. From this listing, we can "
-"see instantly that the problem code is load_scenario."
+"to the <app>Swell Foop</app> code. From this listing, we can see instantly "
+"that the problem code is load_scenario."
 msgstr ""
 "La primera línea dice que estamos a cuatro niveles de profundidad en la "
 "pila. Debajo es una lista de las llamadas de funciones que de aquí a "
 "gdk_pixbuf_new. Finalmente existe una lista de funciones que son el "
 "siguiente nivel por debajo y llaman a esas funciones. También existen, "
 "obviamente, entradas para los niveles 1, 2 y 3, pero este es el primer nivel "
-"que llega justo debajo del código GDK del código de <application>Swell Foop</"
-"application>. Desde esta lista se puede ver instantáneamente que el problema "
-"del código es «load_scenario»."
+"que llega justo debajo del código GDK del código de <app>Swell Foop</app>. "
+"Desde esta lista se puede ver instantáneamente que el problema del código es "
+"«load_scenario»."
 
-#: C/optimization-massif.xml:98(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:106
 msgid ""
 "Now that we know what part of our code is using all the spacetime we can "
 "look at it and find out why. It turns out that the load_scenario is loading "
@@ -575,11 +1161,13 @@ msgstr ""
 "un archivo y nunca libera esa memoria. Habiendo identificado el código del "
 "problema se puede comenzar a arreglarlo."
 
-#: C/optimization-massif.xml:103(sect1/title)
+#. (itstool) path: section/title
+#: C/massif.page:111
 msgid "Acting on the Results"
 msgstr "Actuar sobre los resultados"
 
-#: C/optimization-massif.xml:104(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:112
 msgid ""
 "Reducing spacetime consumption is good, but there are two ways of reducing "
 "it and they are not equal. You can either reduce the amount of memory "
@@ -606,36 +1194,50 @@ msgstr ""
 "pero sólo siempre que sus periodos de máximo uso de memoria no se solapen. "
 "Por ello es mejor reducir la cantidad de memoria reservada."
 
-#: C/optimization-massif.xml:107(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:115
+#| msgid ""
+#| "Unfortunately, the choice of optimization is also constrained by the "
+#| "needs of the program. The size of the pixbuf data in <application>Swell "
+#| "Foop</application> is determined by the size of the game's graphics and "
+#| "cannot be easily reduced. However, the amount of time it spends loaded "
+#| "into memory can be drastically reduced. <xref linkend=\"optimization-"
+#| "massif-FIG-output-optimized\"/> shows the <application>Massif</"
+#| "application> analysis of <application>Swell Foop</application> after "
+#| "being altered to dispose of the pixbufs once the images have been loaded "
+#| "into the X server."
 msgid ""
 "Unfortunately, the choice of optimization is also constrained by the needs "
-"of the program. The size of the pixbuf data in <application>Swell Foop</"
-"application> is determined by the size of the game's graphics and cannot be "
-"easily reduced. However, the amount of time it spends loaded into memory can "
-"be drastically reduced. <xref linkend=\"optimization-massif-FIG-output-"
-"optimized\"/> shows the <application>Massif</application> analysis of "
-"<application>Swell Foop</application> after being altered to dispose of the "
-"pixbufs once the images have been loaded into the X server."
+"of the program. The size of the pixbuf data in <app>Swell Foop</app> is "
+"determined by the size of the game's graphics and cannot be easily reduced. "
+"However, the amount of time it spends loaded into memory can be drastically "
+"reduced. <link xref=\"optimization-massif-FIG-output-optimized\"/> shows the "
+"<app>Massif</app> analysis of <app>Swell Foop</app> after being altered to "
+"dispose of the pixbufs once the images have been loaded into the X server."
 msgstr ""
 "Desafortunadamente la opción de la optimización también está restringida por "
-"las necesidades del programa. El tamaño de los datos de pixbuf en "
-"<application>Swell Foop</application> está determinado por el tamaño de los "
-"gráficos del juego y no se puede reducir fácilmente. No obstante, la "
-"cantidad de tiempo que está cargado en la memoria se puede reducir "
-"drásticamente. La <xref linkend=\"optimization-massif-FIG-output-optimized\"/"
-"> muestra el análisis de <application>Massif</application> para "
-"<application>Swell Foop</application> después de alterar la disposición de "
-"los pixbuf una vez que se han cargado las imágenes en el servidor X."
-
-#: C/optimization-massif.xml:111(figure/title)
+"las necesidades del programa. El tamaño de los datos de pixbuf en <app>Swell "
+"Foop</app> está determinado por el tamaño de los gráficos del juego y no se "
+"puede reducir fácilmente. No obstante, la cantidad de tiempo que está "
+"cargado en la memoria se puede reducir drásticamente. La <link xref="
+"\"optimization-massif-FIG-output-optimized\"/> muestra el análisis de "
+"<app>Massif</app> para <app>Swell Foop</app> después de alterar la "
+"disposición de los pixbuf una vez que se han cargado las imágenes en el "
+"servidor X."
+
+#. (itstool) path: figure/title
+#: C/massif.page:124
+#| msgid ""
+#| "<application>Massif</application> output for the optimized "
+#| "<application>Swell Foop</application> program."
 msgid ""
-"<application>Massif</application> output for the optimized "
-"<application>Swell Foop</application> program."
+"<app>Massif</app> output for the optimized <app>Swell Foop</app> program."
 msgstr ""
-"La salida de <application>Massif</application> para el programa optimizado "
-"<application>Swell Foop</application>."
+"La salida de <app>Massif</app> para el programa optimizado <app>Swell Foop</"
+"app>."
 
-#: C/optimization-massif.xml:118(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:127
 msgid ""
 "The spacetime use of gdk_pixbuf_new is now a thin band that only spikes "
 "briefly (it is now the sixteenth band down and shaded magenta). As a bonus, "
@@ -652,16 +1254,20 @@ msgstr ""
 "de memoria coincidiesen, y por ello el riesgo de usar la memoria de "
 "intercambio, serían bastante escasas."
 
-#: C/optimization-massif.xml:121(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:130
+#| msgid ""
+#| "Can we do better ? A quick examination of <application>Massif</"
+#| "application>'s text output reveals: g_strdup to be the new major offender."
 msgid ""
-"Can we do better ? A quick examination of <application>Massif</"
-"application>'s text output reveals: g_strdup to be the new major offender."
+"Can we do better ? A quick examination of <app>Massif</app>'s text output "
+"reveals: g_strdup to be the new major offender."
 msgstr ""
 "¿Se puede hacer mejor? Un examen rápido de la salida de texto de "
-"<application>Massif</application> releva que g_strdup es el nuevo mayor "
-"problema."
+"<app>Massif</app> releva que g_strdup es el nuevo mayor problema."
 
-#: C/optimization-massif.xml:124(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:133
 #, no-wrap
 msgid ""
 "\n"
@@ -696,13 +1302,15 @@ msgstr ""
 "    5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:139(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:148
 msgid ""
 "If we look closer though we see that it is called from many, many, places."
 msgstr ""
 "Si se mira con detenimiento se ve que se llama desde muchos, muchos sitios."
 
-#: C/optimization-massif.xml:142(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:151
 #, no-wrap
 msgid ""
 "\n"
@@ -739,7 +1347,8 @@ msgstr ""
 "  and 155 other insignificant places\n"
 "        "
 
-#: C/optimization-massif.xml:158(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:167
 msgid ""
 "We now face diminishing returns for our optimization efforts. The graph "
 "hints at another possible approach: Both the \"other\" and \"heap admin\" "
@@ -756,11 +1365,13 @@ msgstr ""
 "individuales pueden ser más grandes y la elevada banda «heap admin» puede "
 "reducirse."
 
-#: C/optimization-massif.xml:163(sect1/title)
+#. (itstool) path: section/title
+#: C/massif.page:172
 msgid "Caveats"
 msgstr "Advertencias"
 
-#: C/optimization-massif.xml:164(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:173
 msgid ""
 "There are a couple of things to watch out for: Firstly, spacetime is only "
 "reported as a percentage, you have to compare it to the overall size of the "
@@ -773,466 +1384,80 @@ msgstr ""
 "cantidad total de memoria. El gráfico, con su eje vertical de kilobytes, es "
 "bueno para ello."
 
-#: C/optimization-massif.xml:167(sect1/para)
-msgid ""
-"Secondly, <application>Massif</application> only takes into account the "
-"memory used by your own program. Resources like pixmaps are stored in the X "
-"server and aren't considered by <application>Massif</application>. In the "
-"<application>Swell Foop</application> example we have actually only moved "
-"the memory consumption from client-side pixbufs to server-side pixmaps. Even "
-"though we cheated there are performance gains. Keeping the image data in the "
-"X server makes the graphics routines quicker and removes a lot of inter-"
-"process communication. Also, the pixmaps will be stored in a native graphics "
-"format which is often more compact than the 32-bit RGBA format used by "
-"gdk_pixbuf. To measure the effect of pixmaps, and other X resources use the "
-"<ulink type=\"http\" url=\"http://www.freedesktop.org/Software/xrestop";
-"\">xrestop</ulink> program."
-msgstr ""
-"Segundo, <application>Massif</application> sólo tiene en cuenta la memoria "
-"usada por su propio programa. Los recursos como los pixmaps se almacenan en "
-"el servidor X y <application>Massif</application> no los considera. En el "
-"ejemplo de <application>Swell Foop</application> realmente sólo se ha movido "
-"el consumo de memoria de los pixbuf de la parte del cliente a los pixbuf de "
-"la parte del servidor. Aunque se haya hecho trampa se ha ganado en "
-"rendimiento. Mantener los datos de imágenes en el servidor X hace que las "
-"rutinas de gráficos sean más rápidas y elimina muchos procesos de "
-"comunicación interna. También, los mapas de píxeles se almacenan en un "
-"formato de gráficos nativo que es más compacto que el formato de 32-bit RGBA "
-"usado por gdk_pixbuf. Para medir el efecto de los mapas de píxeles y otros "
-"recursos X use el programa <ulink type=\"http\" url=\"http://www.freedesktop.";
-"org/Software/xrestop\">xrestop</ulink>."
-
-#: C/optimization-intro.xml:3(chapter/title)
-msgid "The Quick Guide to Optimizing GNOME Programs"
-msgstr "Guía rápida para optimizar programas de GNOME"
-
-#: C/optimization-intro.xml:5(chapter/para)
-msgid ""
-"This is a brief introduction to optimization, both the hows and the whys. "
-"Details of individual tools and techniques are left for later articles, but "
-"a collection of hints and tricks is provided."
-msgstr ""
-"Esta es una breve introducción a la optimización, de los cómos tanto de los "
-"porqués. Se dejan para posteriores artículos los detalles de herramientas y "
-"técnicas individuales pero se proporciona una colección de sugerencias y "
-"trucos."
-
-#: C/optimization-intro.xml:10(sect1/title)
-msgid "What are we Optimizing?"
-msgstr "¿Qué se está optimizando?"
-
-#: C/optimization-intro.xml:11(sect1/para)
-msgid ""
-"When we optimize for GNOME the first thing to remember is this: we are not "
-"trying to make the program better, we are trying to make the person using "
-"the computer happier."
-msgstr ""
-"Al optimizar GNOME lo primero que hay que recordar es esto: no se está "
-"intentando mejorar el programa, se está intentando hacer que las personas "
-"usen el equipo más felices."
-
-#: C/optimization-intro.xml:14(sect1/para)
-msgid ""
-"Better programs make people happier, but there are some improvements that "
-"will make them a lot happier than others: Responsiveness, start-up time, "
-"easy to access commands and not having the computer go into swap the moment "
-"more than two programs are open."
-msgstr ""
-"Programas mejores hacen a la gente más feliz pero existen algunas mejoras "
-"que los harán más felices que otras: tiempo de respuesta, tiempo de inicio, "
-"facilidad para acceder a comandos y que el equipo no tenga que usar la "
-"memoria de intercambio cuando más de dos programas estén abiertos."
-
-#: C/optimization-intro.xml:17(sect1/para)
-msgid ""
-"Traditional optimization tackles concepts like CPU use, code size, the "
-"number of mouse clicks and the memory use of the program. This second list "
-"has been chosen to correlate with the first list, however there is an "
-"important difference: The person using GNOME doesn't care about the second "
-"list, but they care a lot about the first list. When optimizing GNOME "
-"programs we will reduce CPU use, memory use and all those things, but these "
-"are the means to the end, not the final goal. We are optimizing for people."
-msgstr ""
-"La optimización tradicional contempla conceptos como el uso de CPI, el "
-"tamaño del código, el número de pulsaciones del ratón y el uso de memoria de "
-"programa. Se ha elegido esta segunda lista para correlar con la primera, no "
-"obstante existe una diferencia importante. A la persona que usa GNOME no le "
-"importa la segunda lista, pero sí la primera. Al optimizar los programas de "
-"GNOME se reducirá el uso de CPU, el uso de memoria y todo aquello, pero son "
-"conceptos para el fin, no el objetivo final. Se optimiza para las personas."
-
-#: C/optimization-intro.xml:23(sect1/title)
-msgid "Doing the Optimization"
-msgstr "Realizar la optimización"
-
-#: C/optimization-intro.xml:24(sect1/para)
-msgid ""
-"The previous section omitted one important qualifier: To optimize something "
-"it has to be measurable. You can't measure happiness. However, you can "
-"measure start-up time so you can tell if you have improved it. Happiness "
-"will then, hopefully, follow."
-msgstr ""
-"En la sección anterior se omitió un calificador importante: optimizar algo "
-"debe ser medible. No se puede medir la felicidad. No obstante se puede medir "
-"el tiempo de inicio de un programa para saber si se ha mejorado. La "
-"felicidad del usuario aumentará pues."
-
-#: C/optimization-intro.xml:27(sect1/para)
-msgid ""
-"Optimization is the process of measurement, refinement and re-measurement. "
-"So the first thing you must do is find a way to measure what you are "
-"optimizing. Ideally this measurement is a single number, for example: the "
-"time taken to perform a task. This is your benchmark, it is the only way to "
-"tell if you are winning or losing. There is a big difference between a "
-"program that <emphasis>should</emphasis> be fast and a program that "
-"<emphasis>is</emphasis> fast."
-msgstr ""
-"La optimización es el proceso de medida, refinamiento y remedida. Lo primero "
-"que debe hacer es encontrar una forma de medir lo que está optimizando. "
-"Idealmente la medida es un simple número, por ejemplo: el tiempo que se "
-"tarda en realizar una tarea. Esta es su prueba, es la única forma de saber "
-"si está ganando o perdiendo. Existe una gran diferencia entre un programa "
-"que <emphasis>debería</emphasis> ser rápido y un programa que <emphasis>es</"
-"emphasis> rápido."
-
-#: C/optimization-intro.xml:30(sect1/para)
-msgid ""
-"Once you have a basic benchmark you need to find out why your code is not "
-"doing as well as it should. It is tempting to do this by inspection: just "
-"looking at the code and trying to spot something that looks like it needs "
-"improvement. You will invariably be wrong. Using a profiler to get a "
-"detailed break-down of what your program really does is the only way to be "
-"sure."
-msgstr ""
-"Una vez que tiene una prueba de rendimiento básica debe encontrar por qué su "
-"código no lo está haciendo tan bien como debería. Es tentador hacerlo "
-"inspeccionando: simplemente mirar el código y tratar de encontrar algo que "
-"parece que necesita una mejora. Estará perdiendo el tiempo, Usar un "
-"perfilador para obtener una lista detallada de lo que su programa está "
-"haciendo es, realmente, la única forma de estar seguro."
-
-#: C/optimization-intro.xml:33(sect1/para)
-msgid ""
-"Usually the problem is isolated to small sections of code. Pick the worst "
-"place and concentrate on that first. Once that is done, rerun the profiler "
-"and repeat. As you proceed the gains made at each step will get less and "
-"less, at some point you will have to decide that the results are good "
-"enough. If your efforts are only extracting 10% improvements then you are "
-"well past the point where you should have stopped."
-msgstr ""
-"Generalmente el problema está aislado en pequeñas partes del código. Elija "
-"la peor parte y concéntrese en ella primero. Una vez que lo haya hecho, "
-"vuelva al perfilador y repita el proceso. Según proceda, las mejoras "
-"obtenidas en cada paso se harán cada vez más pequeñas, en algún punto tendrá "
-"que decidir que los resultados son suficientes. Si sus esfuerzos sólo están "
-"obteniendo un 10% de mejoras entonces hace tiempo que pasó el punto en el "
-"que debería haber parado."
-
-#: C/optimization-intro.xml:36(sect1/para)
-msgid ""
-"Don't forget the big picture. For example, rather than just trying to speed "
-"up a piece of code, ask yourself if it needs to be run at all. Could it be "
-"combined with another piece of code? Can the results of previous "
-"calculations be saved and reused? It won't even need to be optimized if it "
-"is in a place where the user is never going to notice it. Worse still, the "
-"code may already be optimized and is doing the heavy calculations now to "
-"avoid doing them later. Code does not run in isolation and neither does the "
-"optimization process."
-msgstr ""
-"No se olvide del objetivo final. Por ejemplo, en lugar de intentar mejorar "
-"un trozo de código, pregúntese si realmente se necesita ejecutar ese código. "
-"¿Se podría combinar con otro trozo de código? ¿Se pueden guardar y reusar "
-"cálculos previos? No necesitará optimizarse si está en un lugar donde el "
-"usuario no lo va a notar. O aún peor, el código puede ya estar optimizado y "
-"está haciendo cálculos pesados ahora para evitar hacerlos luego. El código "
-"no se ejecuta aisladamente ni tampoco lo hace el proceso de optimización."
-
-#: C/optimization-intro.xml:41(sect1/title)
-msgid "Hints"
-msgstr "Sugerencias"
-
-#: C/optimization-intro.xml:43(itemizedlist/title)
-msgid "The Fundamentals"
-msgstr "Lo fundamental"
-
-#: C/optimization-intro.xml:45(listitem/para)
-msgid ""
-"Re-run your benchmark after every change you make to the code and keep a log "
-"of everything you change and how it affects the benchmark. This lets you "
-"undo mistakes and also helps you not to repeat mistakes."
-msgstr ""
-"Vuelva a ejecutar su prueba de rendimiento después de cada cambio que "
-"realice sobre el código y mantenga un registro de todo lo que cambia y de "
-"cómo afecta al rendimiento. Esto le permite deshacer errores y también le "
-"ayuda a no repetirlos."
-
-#: C/optimization-intro.xml:50(listitem/para)
-msgid ""
-"Make sure your code is correct and bug-free before optimizing it. Check that "
-"it remains correct and bug-free after optimization."
-msgstr ""
-"Asegúrese de que su código es correcto y está libre de errores antes de "
-"optimizarlo. Compruebe que permanece correcto y libre de errores después de "
-"haberlo optimizado."
-
-#: C/optimization-intro.xml:55(listitem/para)
-msgid "Optimize at the high level before optimizing the details."
-msgstr "Optimizar al nivel más alto antes de optimizar los detalles."
-
-#: C/optimization-intro.xml:60(listitem/para)
-msgid ""
-"Use the right algorithm. The classic text-book example is using quick-sort "
-"instead of bubble-sort. There are many others, some save memory, some save "
-"CPU. Also, see what shortcuts you can make: you can do quicker than quick-"
-"sort if you are prepared to make some compromises."
-msgstr ""
-"Usar el algoritmo correcto. El clásico ejemplo de libro de texto es usar "
-"ordenación rápida en lugar de ordenación de burbuja. Existen muchos otros, "
-"algunos ahorran memoria, algunos ahorran CPU. También debe ver qué atajos de "
-"teclado puede crear: puede hacerlo más rápido que una ordenación rápida si "
-"está preparado para tomar ciertos compromisos."
-
-#: C/optimization-intro.xml:65(listitem/para)
-msgid ""
-"Optimization is a trade-off. Caching results speeds up calculations, but "
-"increases memory use. Saving data to disk saves memory, but costs time when "
-"it is loaded back from disk."
-msgstr ""
-"La optimización es intercambio. Obtener resultados mejora los cálculos pero "
-"aumenta la memoria en uso. Guardar datos al disco ahorra memoria pero cuesta "
-"tiempo al cargarlos de nuevo desde el disco."
-
-#: C/optimization-intro.xml:70(listitem/para)
-msgid ""
-"Make sure you choose a wide variety of inputs to optimize against. If you "
-"don't it is easy to end up with a piece of code carefully optimized for one "
-"file and no others."
-msgstr ""
-"Asegúrese de elegir cierta variedad de entradas que optimizar. Si no lo hace "
-"es fácil que termine con un trozo de código cuidadosamente optimizado para "
-"un campo y no para otros."
-
-#: C/optimization-intro.xml:75(listitem/para)
-msgid ""
-"Avoid expensive operations: Multiple small disk reads. Using up lots of "
-"memory so disk swapping becomes necessary. Avoid anything that writes or "
-"reads from the hard disk unnecessarily. The network is slow too. Also avoid "
-"graphics operations that need a response from the X server."
-msgstr ""
-"Evite las operaciones caras: múltiples lecturas de disco pequeñas. Use un "
-"montón de memoria para que el área de intercambio («swap») se haga "
-"innecesario. Evite cualquier cosa que escriba o lea innecesariamente del "
-"disco. La red también es lenta. Evite también operaciones gráficas que "
-"necesitan una respuesta del servidor X."
-
-#: C/optimization-intro.xml:81(itemizedlist/title)
-msgid "Traps for the Unwary"
-msgstr "Trampas para los imprudentes"
-
-#: C/optimization-intro.xml:83(listitem/para)
-msgid ""
-"Beware of side effects. There can often be strange interactions between "
-"different sections of code, a speed-up in one part can slow another part "
-"down."
-msgstr ""
-"Esté atento a efectos laterales. Generalmente son interacciones extrañas "
-"entre diferentes secciones del código, una extensión de una parte puede "
-"retardar otra."
-
-#: C/optimization-intro.xml:88(listitem/para)
-msgid ""
-"When timing code, even on a quiet system, events outside the program add "
-"noise to the timing results. Average over multiple runs. If the code is very "
-"short, timer resolution is also a problem. In this case measure the time the "
-"computer takes to run the code 100 or 1000 times. If the times you are "
-"recording are longer than a few seconds, you should be OK."
-msgstr ""
-"Al cronometrar el tiempo del código, incluso en un sistema silencioso, los "
-"eventos fuera del programa añaden ruido a los resultados del tiempo. Haga la "
-"media sobre múltiples ejecuciones. Si el código es muy pequeño la resolución "
-"del tiempo también es un problema. En este caso mida el tiempo que el equipo "
-"tarda en ejecutar el código 100 o 1000 veces. Si los tiempos que está "
-"obteniendo son algo superiores a unos pocos segundos todo debería estar "
-"correcto."
-
-#: C/optimization-intro.xml:93(listitem/para)
-msgid ""
-"It is very easy to be misled by the profiler. There are stories of people "
-"optimizing the operating system idle-loop because that is where it spent all "
-"its time! Don't optimize code that does nothing the user cares about."
-msgstr ""
-"Es muy fácil perderse con el perfilador. Existen historias de programadores "
-"optimizando el bucle de inactividad porque es donde se perdía todo su "
-"tiempo. No optimice código del que el usuario no se preocupe."
-
-#: C/optimization-intro.xml:98(listitem/para)
-msgid ""
-"Remember the resources on the X server. Your program's memory usage doesn't "
-"include the pixmaps that are stored in the X server's process, but they are "
-"still using up memory. Use xrestop to see what resources your program is "
-"using."
-msgstr ""
-"Recuerde los resultados del servidor X. El uso de memoria de su programa no "
-"incluye los pixmaps almacenados en los procesos del servidor X, pero aún "
-"siguen usando memoria. Use xrestop para ver los recursos que está usando su "
-"programa."
-
-#: C/optimization-intro.xml:104(itemizedlist/title)
-msgid "Low Level Hints"
-msgstr "Consejos de bajo nivel"
-
-#: C/optimization-intro.xml:106(listitem/para)
-msgid ""
-"When optimizing memory use, be wary of the difference between peak usage and "
-"average memory usage. Some memory is almost always allocated, this is "
-"usually bad. Some is only briefly allocated, this may be quite acceptable. "
-"Tools like massif use the concept of space-time, the product of memory used "
-"and the duration it was allocated for, instead."
-msgstr ""
-"Al optimizar el uso de memoria considere la diferencia entre el uso de pico "
-"y el uso medio de memoria. Alguna memoria siempre está reservada, esto "
-"generalmente es malo. Alguna está temporalmente reservada, esto puede ser "
-"aceptable. Herramientas como massif usan el concepto de espacio-tiempo, el "
-"producto de la memoria usada y el tiempo durante el que estuvo reservada."
-
-#: C/optimization-intro.xml:111(listitem/para)
-msgid ""
-"Time simplified bits of code that do only the things you know are essential, "
-"this gives an absolute lower limit on the time your code will take. For "
-"example, when optimizing a loop time the empty loop. If that is still too "
-"long no amount of micro-optimization will help and you will have to change "
-"your design. Make sure the compiler doesn't optimize away your empty loop."
-msgstr ""
-"Controle el tiempo de trozos de código simplificados que sólo hacen cosas "
-"esenciales, esto proporciona un límite absoluto inferior en el tiempo que "
-"usará el código. Por ejemplo, al optimizar un bucle, controle el tiempo del "
-"bucle vacío. Si aún es mucho tiempo cualquier intento de optimización no "
-"ayudará y deberá cambiar su diseño. Asegúrese de que el compilador no "
-"desoptimiza el bucle vacío."
-
-#: C/optimization-intro.xml:116(listitem/para)
-msgid ""
-"Move code out from inside loops. A slightly more complicated piece of code "
-"that is executed once is far quicker than a simple piece of code executed a "
-"thousand times. Avoid calling slow code often."
-msgstr ""
-"Mueva el código fuera de los bucles internos. Un trozo de código más "
-"complicado que se ejecuta una sola vez es mucho más rápido que un trozo de "
-"código más simple que se ejecuta mil veces. Evite llamar habitualmente a "
-"código lento."
-
-#: C/optimization-intro.xml:121(listitem/para)
-msgid ""
-"Give the compiler as many hints as possible. Use the const keyword. Use "
-"<envar>G_INLINE_FUNC</envar> for short, frequently called, functions. Look "
-"up <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> and the other glib "
-"miscellaneous macros. Use the macros instead of gcc-specific keywords to "
-"ensure portability."
-msgstr ""
-"Proporcione al compilador tantos sugerencias como le sea posible. Use la "
-"palabra clave «const». Use <envar>G_INLINE_FUNC</envar> para funciones cortas "
-"frecuentemente llamadas. Busque <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</"
-"envar> y otras macros misceláneas de glib. Use las macros en lugar de "
-"palabras clave específicas de gcc para asegurar la portabilidad."
-
-#: C/optimization-intro.xml:126(listitem/para)
-msgid ""
-"Don't use assembly language. It is not portable and, while it may be fast on "
-"one processor, it is not even guaranteed to be fast on every processor that "
-"supports that architecture (e.g. Athlon vs. Pentium 4)."
-msgstr ""
-"No use lenguajes de ensamblado. El código no es portable y puede ser más "
-"rápido en un procesador que en otro, además no está garantizado que sea "
-"rápido en cada procesador que soporta esa arquitectura (ej. Athlon contra "
-"Pentium 4)."
-
-#: C/optimization-intro.xml:131(listitem/para)
-msgid ""
-"Don't rewrite an existing library routine unless you are sure it is "
-"unnecessarily slow. Many CPU-intensive library routines have already been "
-"optimized. Conversely, some library routines are slow, especially ones that "
-"make system calls to the operating system."
-msgstr ""
-"No reescriba una rutina existente de una biblioteca a no ser que esté seguro "
-"de que es demasiado lenta. Muchas rutinas de bibliotecas de uso intensivo "
-"por la CPU ya se han optimizado. Algunas rutinas de bibliotecas son lentas, "
-"especialmente aquellas que realizan llamadas al sistema operativo."
-
-#: C/optimization-intro.xml:136(listitem/para)
-msgid ""
-"Minimize the number of libraries you link to. The fewer libraries to link "
-"in, the faster the program starts. This is a difficult thing to do with "
-"GNOME."
-msgstr ""
-"Minimice el número de bibliotecas a las que enlaza. Cuanto menor sea el "
-"número de bibliotecas que enlazar, más rápido se iniciará el programa. Es "
-"una tarea difícil en GNOME."
-
-#: C/optimization-intro.xml:142(itemizedlist/title)
-msgid "High Level Tricks"
-msgstr "Trucos de alto nivel"
-
-#: C/optimization-intro.xml:144(listitem/para)
-msgid ""
-"Take advantage of concurrency. This doesn't just mean using multiple "
-"processors, it also means taking advantage of the time the user spends "
-"thinking about what they are going to do next to perform some calculations "
-"in anticipation. Do calculations while waiting for data to be loaded off "
-"disk. Take advantage of multiple resources, use them all at once."
-msgstr ""
-"La ventaja de la concurrencia. Esto no significa simplemente usar varios "
-"procesadores, también significa aprovecharse del tiempo que el usuario pasa "
-"pensando en qué harán después, para realizar algunos cálculos anticipados. "
-"Haga cálculos mientras se espera la carga de datos desde el disco. "
-"Aprovéchese de los recursos múltiples, úselos todos a la vez."
-
-#: C/optimization-intro.xml:149(listitem/para)
-msgid ""
-"Cheat. The user only has to think that the computer is fast, it doesn't "
-"matter whether it actually is or not. It is the time between the command and "
-"the answer that is important, it doesn't matter if the response is pre-"
-"calculated, cached, or will in fact be worked out later at a more convenient "
-"time, as long as the user gets what they expect."
-msgstr ""
-"Engañe. El usuario sólo tiene que pensar que el equipo es rápido, no importa "
-"si realmente lo es o no. Es el tiempo entre el comando y la respuesta es lo "
-"que importa, no importa si la respuesta estaba precalculada, cacheada o se "
-"trabajará en ella en cualquier momento posterior conveniente, siempre que el "
-"usuario obtenga lo que espera."
-
-#: C/optimization-intro.xml:154(listitem/para)
-msgid ""
-"Do things in the idle loop. It is easier to program than using full multi-"
-"threading but still gets things done out of the users eye. Be careful "
-"though, if you spend too long in the idle loop your program will become "
-"sluggish. So regularly give control back to the main loop."
-msgstr ""
-"Realice trabajo en el bucle de inactividad. Es más fácil de programar que "
-"usar programación completa para multihilo pero aún así las cosas se hacen "
-"fuera de la vista del usuario. No obstante, sea cuidadoso, si se queda "
-"demasiado tiempo en el bucle de inactividad su programa acabará siendo "
-"lento. Por eso debe devolver regularmente el control al bucle principal."
-
-#: C/optimization-intro.xml:159(listitem/para)
-msgid ""
-"If all else fails, tell the user that the code is going to be slow and put "
-"up a progress bar. They won't be as happy as if you had just presented the "
-"results, but they will at least know the program hasn't crashed and they can "
-"go get a cup of coffee."
-msgstr ""
-"Si todo lo demás falla, dígale al usuario que el código va a ser lento y "
-"ponga una barra de progreso. No estarán tan contentos como si hubiese "
-"mostrado el resultado pero al menos sabrán que el programa no se ha colgado "
-"y que se pueden ir a preparar un café."
-
-#~ msgid "2004-2005"
-#~ msgstr "2004-2005"
-
-#~ msgid "Callum McKenzie"
-#~ msgstr "Callum McKenzie"
-
-#~ msgid "Robert Love"
-#~ msgstr "Robert Love"
+#. (itstool) path: section/p
+#: C/massif.page:176
+#| msgid ""
+#| "Secondly, <application>Massif</application> only takes into account the "
+#| "memory used by your own program. Resources like pixmaps are stored in the "
+#| "X server and aren't considered by <application>Massif</application>. In "
+#| "the <application>Swell Foop</application> example we have actually only "
+#| "moved the memory consumption from client-side pixbufs to server-side "
+#| "pixmaps. Even though we cheated there are performance gains. Keeping the "
+#| "image data in the X server makes the graphics routines quicker and "
+#| "removes a lot of inter-process communication. Also, the pixmaps will be "
+#| "stored in a native graphics format which is often more compact than the "
+#| "32-bit RGBA format used by gdk_pixbuf. To measure the effect of pixmaps, "
+#| "and other X resources use the <ulink type=\"http\" url=\"http://www.";
+#| "freedesktop.org/Software/xrestop\">xrestop</ulink> program."
+msgid ""
+"Secondly, <app>Massif</app> only takes into account the memory used by your "
+"own program. Resources like pixmaps are stored in the X server and aren't "
+"considered by <app>Massif</app>. In the <app>Swell Foop</app> example we "
+"have actually only moved the memory consumption from client-side pixbufs to "
+"server-side pixmaps. Even though we cheated there are performance gains. "
+"Keeping the image data in the X server makes the graphics routines quicker "
+"and removes a lot of inter-process communication. Also, the pixmaps will be "
+"stored in a native graphics format which is often more compact than the 32-"
+"bit RGBA format used by gdk_pixbuf. To measure the effect of pixmaps, and "
+"other X resources use the <link href=\"http://www.freedesktop.org/Software/";
+"xrestop\">xrestop</link> program."
+msgstr ""
+"Segundo, <app>Massif</app> sólo tiene en cuenta la memoria usada por su "
+"propio programa. Los recursos como los mapas de píxeles se almacenan en el "
+"servidor X y <app>Massif</app> no los considera. En el ejemplo de <app>Swell "
+"Foop</app> realmente sólo se ha movido el consumo de memoria de los pixbuf "
+"de la parte del cliente a los pixbuf de la parte del servidor. Aunque se "
+"haya hecho trampa se ha ganado en rendimiento. Mantener los datos de "
+"imágenes en el servidor X hace que las rutinas de gráficos sean más rápidas "
+"y elimina muchos procesos de comunicación interna. También, los mapas de "
+"píxeles se almacenan en un formato de gráficos nativo que es más compacto "
+"que el formato de 32-bit RGBA usado por gdk_pixbuf. Para medir el efecto de "
+"los mapas de píxeles y otros recursos X use el programa <link href=\"http://";
+"www.freedesktop.org/Software/xrestop\">xrestop</link>."
+
+#~ msgid "Optimizing GNOME Software"
+#~ msgstr "Optimizar software de GNOME"
+
+#~ msgid "GNOME Documentation Project"
+#~ msgstr "Proyecto de documentación de GNOME"
+
+#~ msgid "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
+#~ msgstr "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
+
+#~ msgid "<year>2004-2005</year> <holder>Robert Love</holder>"
+#~ msgstr "<year>2004-2005</year> <holder>Robert Love</holder>"
+
+#~ msgid "<firstname>Callum</firstname> <surname>McKenzie</surname>"
+#~ msgstr "<firstname>Callum</firstname> <surname>McKenzie</surname>"
+
+#~ msgid "<firstname>Robert</firstname> <surname>Love</surname>"
+#~ msgstr "<firstname>Robert</firstname> <surname>Love</surname>"
+
+#~ msgid "William Johnston"
+#~ msgstr "William Johnston"
+
+#~ msgid "Intial conversion to docbook format."
+#~ msgstr "Conversión inicial al formato docbook."
+
+#~ msgid ""
+#~ "<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/"
+#~ ">"
+#~ msgstr ""
+#~ "<revnumber>0.1</revnumber> <date>noviembre de 2007</date> <_:"
+#~ "revdescription-1/>"
+
+#~ msgid "The Quick Guide to Optimizing GNOME Programs"
+#~ msgstr "Guía rápida para optimizar programas de GNOME"
 
 #~ msgid "Callum"
 #~ msgstr "Callum"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]