[gtkmm-documentation] Updated Spanish translation



commit 874f824ad2f80a41da67fad882e46de26db20815
Author: NicolÃs Satragno <nsatragno gmail com>
Date:   Sun Feb 19 18:45:17 2012 +0100

    Updated Spanish translation

 docs/tutorial/es/es.po |  422 ++++++++++++++++++++++++++++++------------------
 1 files changed, 262 insertions(+), 160 deletions(-)
---
diff --git a/docs/tutorial/es/es.po b/docs/tutorial/es/es.po
index a343434..10ed98c 100644
--- a/docs/tutorial/es/es.po
+++ b/docs/tutorial/es/es.po
@@ -14,8 +14,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gtkmm-documentation.tutorial.master\n"
-"POT-Creation-Date: 2012-02-16 12:07+0000\n"
-"PO-Revision-Date: 2012-02-16 18:00+0100\n"
+"POT-Creation-Date: 2012-02-16 17:01+0000\n"
+"PO-Revision-Date: 2012-02-19 18:40+0100\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: EspaÃol <gnome-es-list gnome org>\n"
 "MIME-Version: 1.0\n"
@@ -105,8 +105,8 @@ msgid ""
 "Section \"Build Structure\" of chapter on \"Wrapping C Libraries with gmmproc"
 "\"."
 msgstr ""
-"SecciÃn ÂConstruir la estructura del capÃtulo acerca de ÂEnvolver bibliotecas "
-"de C con gmmprocÂ."
+"SecciÃn ÂConstruir la estructura del capÃtulo acerca de ÂEnvolver "
+"bibliotecas de C con gmmprocÂ."
 
 #: C/gtkmm-tutorial-in.xml:71(firstname)
 msgid "David"
@@ -179,8 +179,8 @@ msgstr ""
 "para el Software Libre; sin Secciones Invariantes, sin Textos de Portada y "
 "sin Textos de Contraportada. Puede conseguir una copia de la Licencia de "
 "DocumentaciÃn Libre de GNU, visitando la pÃgina oficial o escribiendo a: "
-"Free Software Fundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-"
-"1307, EE. UU."
+"Free Software Fundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307, EE. UU."
 
 #: C/gtkmm-tutorial-in.xml:113(title)
 msgid "Introduction"
@@ -836,8 +836,8 @@ msgid ""
 msgstr ""
 "A pesar de que hemos mostrado el comando de compilaciÃn para el ejemplo "
 "simple, en realidad deberÃa usar las herramientas automake y autoconf, como "
-"se describe en ÂAutoconf, Automake, LibtoolÂ, por  G. V. Vaughan y otros. Los "
-"ejemplos utilizados en este libro se incluyen en el paquete "
+"se describe en ÂAutoconf, Automake, LibtoolÂ, por  G. V. Vaughan y otros. "
+"Los ejemplos utilizados en este libro se incluyen en el paquete "
 "<application>gtkmm</application>, con archivos de construcciÃn apropiados, "
 "por lo que no mostraremos los comandos de construcciÃn en el futuro. SÃlo "
 "tendrà que encontrar la carpeta adecuada e introducir <literal>make</"
@@ -857,14 +857,14 @@ msgid ""
 msgstr ""
 "Para simplificar la compilaciÃn, se usa <literal>pkg-config</literal>, que "
 "està presente en todas las instalaciones correctas de <application>gtkmm</"
-"application>. Este programa Âsabe quà opciones de compilaciÃn son necesarias "
-"para compilar los programas que usan <application>gtkmm</application>. La "
-"opciÃn <literal>--cflags</literal> hace que <literal>pkg-config</literal> "
-"devuelva la lista de carpetas en las que el compilador buscarà los archivos "
-"de cabecera; la opciÃn <literal>--libs</literal> solicita la lista de "
-"bibliotecas a las que el compilador enlazarà y las carpetas en las que "
-"encontrarlas. Intente ejecutarlo desde su intÃrprete de comandos para ver "
-"los resultados en su sistema."
+"application>. Este programa Âsabe quà opciones de compilaciÃn son "
+"necesarias para compilar los programas que usan <application>gtkmm</"
+"application>. La opciÃn <literal>--cflags</literal> hace que <literal>pkg-"
+"config</literal> devuelva la lista de carpetas en las que el compilador "
+"buscarà los archivos de cabecera; la opciÃn <literal>--libs</literal> "
+"solicita la lista de bibliotecas a las que el compilador enlazarà y las "
+"carpetas en las que encontrarlas. Intente ejecutarlo desde su intÃrprete de "
+"comandos para ver los resultados en su sistema."
 
 #: C/gtkmm-tutorial-in.xml:375(programlisting)
 #, no-wrap
@@ -1116,7 +1116,7 @@ msgid ""
 "Glib::ustring. It provides almost exactly the same interface as std::string, "
 "along with automatic conversions to and from std::string."
 msgstr ""
-"std::string utiliza 8 bits por caracter, pero 8 bits no son suficientes para "
+"std::string utiliza 8 bits por carÃcter, pero 8 bits no son suficientes para "
 "codificar lenguajes como Ãrabe, chino y japonÃs. A pesar de que las "
 "codificaciones de estos lenguajes ahora las ha especificado el Consorcio "
 "Unicode, los lenguajes C y C++ todavÃa no proporcionan ningÃn soporte "
@@ -1167,7 +1167,7 @@ msgid ""
 "characters instead of bytes."
 msgstr ""
 "Evite la aritmÃtica de punteros al estilo C, y funciones como strlen(). En "
-"UTF-8, cada caracter podrÃa necesitar entre 1 y 6 bytes, por lo que no es "
+"UTF-8, cada carÃcter podrÃa necesitar entre 1 y 6 bytes, por lo que no es "
 "posible asumir que el prÃximo byte es otro carÃcter. <classname>Glib::"
 "ustring</classname> se ocupa de estos detalles, por lo que puede usar "
 "mÃtodos como Glib::ustring::substr() y seguir pensando en tÃrminos de "
@@ -1247,7 +1247,7 @@ msgid ""
 "classname>, <type>const char*[]</type>, etc."
 msgstr ""
 "<classname>Glib::StringArrayHandle</classname> o <classname>Glib::"
-"ArrayHandle&lt;Glib::ustring&gt;</classname>: usa <classname>std::vector&lt;"
+"ArrayHandle&lt;Glib::ustring&gt;</classname>: usan <classname>std::vector&lt;"
 "Glib::ustring&gt;</classname>, <classname>std::list&lt;Glib::ustring&gt;</"
 "classname>, <type>const char*[]</type>, etc."
 
@@ -1363,7 +1363,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:498(title)
 msgid "Hello World"
-msgstr "Hola mundo"
+msgstr "Hello World"
 
 #: C/gtkmm-tutorial-in.xml:504(para)
 msgid ""
@@ -1371,7 +1371,7 @@ msgid ""
 "<classname>HelloWorld</classname> class:"
 msgstr ""
 "Fascinante, Âverdad? Examinemos el cÃdigo. Primero, la clase "
-"<classname>HolaMundo</classname>:"
+"<classname>HelloWorld</classname>:"
 
 #: C/gtkmm-tutorial-in.xml:509(programlisting)
 #, no-wrap
@@ -1391,18 +1391,18 @@ msgid ""
 "  Gtk::Button m_button;\n"
 "};"
 msgstr ""
-"class HolaMundo : public Gtk::Window\n"
+"class HelloWorld : public Gtk::Window\n"
 "{\n"
 "\n"
 "public:\n"
-"  HolaMundo();\n"
-"  virtual ~HolaMundo();\n"
+"  HelloWorld();\n"
+"  virtual ~HelloWorld();\n"
 "\n"
 "protected:\n"
-"  //Manejadores de seÃales:\n"
+"  //Signal handlers:\n"
 "  virtual void on_button_clicked();\n"
 "\n"
-"  //Widgets miembros:\n"
+"  //Member widgets:\n"
 "  Gtk::Button m_button;\n"
 "};"
 
@@ -1414,7 +1414,7 @@ msgid ""
 "initialisation work for the window, including setting up the signals. Here "
 "it is, with the comments omitted:"
 msgstr ""
-"Esta clase implementa la ventana ÂHola mundoÂ. Deriva de <classname>Gtk::"
+"Esta clase implementa la ventana ÂHello WorldÂ. Deriva de <classname>Gtk::"
 "Window</classname> y tiene un Ãnico <classname>Gtk::Button</classname> como "
 "miembro. Se eligià usar el constructor para realizar todo el trabajo de "
 "inicializaciÃn de la ventana, incluyendo establecer las seÃales. Aquà estÃ, "
@@ -1434,13 +1434,13 @@ msgid ""
 "  m_button.show();\n"
 "}"
 msgstr ""
-"HolaMundo::HolaMundo()\n"
+"HelloWorld::HelloWorld()\n"
 ":\n"
-"  m_button (\"Hola mundo\")\n"
+"  m_button (\"Hello World\")\n"
 "{\n"
 "  set_border_width(10);\n"
 "  m_button.signal_clicked().connect(sigc::mem_fun(*this,\n"
-"    &amp;HolaMundo::on_button_clicked));\n"
+"    &amp;HelloWorld::on_button_clicked));\n"
 "  add(m_button);.\n"
 "  m_button.show();\n"
 "}"
@@ -1451,7 +1451,7 @@ msgid ""
 "<literal>m_button</literal> object the label \"Hello World\"."
 msgstr ""
 "Tenga en cuenta que se ha usado una declaraciÃn de inicializaciÃn para darle "
-"al objeto <literal>m_button</literal> la etiqueta ÂHola mundoÂ."
+"al objeto <literal>m_button</literal> la etiqueta ÂHello WorldÂ."
 
 #: C/gtkmm-tutorial-in.xml:549(para)
 msgid ""
@@ -1518,8 +1518,8 @@ msgstr ""
 "{\n"
 "  Gtk::Main kit(argc, argv);\n"
 "\n"
-"  HolaMundo holamundo;\n"
-"  Gtk::Main::run(holamundo);\n"
+"  HelloWorld helloworld;\n"
+"  Gtk::Main::run(helloworld);\n"
 "\n"
 "  return 0;\n"
 "}"
@@ -1549,9 +1549,9 @@ msgid ""
 "Window, run() will return, causing the final line of our main() function be "
 "to executed. The application will then finish."
 msgstr ""
-"A continuaciÃn, creamos un objeto de nuestra clase <classname>HolaMundo</"
+"A continuaciÃn, creamos un objeto de nuestra clase <classname>HelloWorld</"
 "classname>, cuyo constructor no toma argumentos, pero todavÃa no es visible. "
-"Cuando se llama a Gtk::Main::run(), pasÃndole la ventana ÂholamundoÂ, la "
+"Cuando se llama a Gtk::Main::run(), pasÃndole la ventana ÂhelloworldÂ, la "
 "muestra y comienza la <emphasis>iteraciÃn de eventos</emphasis> de "
 "<application>gtkmm</application>. Durante la iteraciÃn, <application>gtkmm</"
 "application> espera las acciones del usuario, y responde apropiadamente. "
@@ -1587,11 +1587,11 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:605(para)
 msgid ""
-"<application>gtkmm</application> 3's library is called <literal>libgtkmm-"
-"3.0</literal> rather than <literal>libgtkmm-2.4</literal> and installs its "
-"headers in a similarly-versioned directory, so your pkg-config check should "
-"ask for <literal>gtkmm-3.0</literal> rather than <literal>gtkmm-2.4</"
-"literal>."
+"<application>gtkmm</application> 3's library is called "
+"<literal>libgtkmm-3.0</literal> rather than <literal>libgtkmm-2.4</literal> "
+"and installs its headers in a similarly-versioned directory, so your pkg-"
+"config check should ask for <literal>gtkmm-3.0</literal> rather than "
+"<literal>gtkmm-2.4</literal>."
 msgstr ""
 "La biblioteca de <application>gtkmm</application> 3 se llama "
 "<literal>libgtkmm-3.0</literal>, en vez de <literal>libgtkmm-2.4</literal> e "
@@ -1930,7 +1930,7 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:731(programlisting)
 #, no-wrap
 msgid "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
-msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Algo\", true);"
+msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
 
 #: C/gtkmm-tutorial-in.xml:735(programlisting)
 #, no-wrap
@@ -2064,10 +2064,10 @@ msgid ""
 msgstr ""
 "Para recuperar el estado de un <classname>ToggleButton</classname>, puede "
 "usar el mÃtodo <methodname>get_active()</methodname>. Esto devuelve "
-"<literal>true</literal> si el botÃn està ÂabajoÂ. TambiÃn puede establecer el "
-"estado del botÃn conmutador con <methodname>set_active()</methodname>. Tenga "
-"en cuenta que, si hace esto, y el estado efectivamente cambia, hace que se "
-"emita la seÃal ÂclickedÂ. Esto normalmente serà lo que quiera."
+"<literal>true</literal> si el botÃn està ÂabajoÂ. TambiÃn puede establecer "
+"el estado del botÃn conmutador con <methodname>set_active()</methodname>. "
+"Tenga en cuenta que, si hace esto, y el estado efectivamente cambia, hace "
+"que se emita la seÃal ÂclickedÂ. Esto normalmente serà lo que quiera."
 
 #: C/gtkmm-tutorial-in.xml:832(para)
 msgid ""
@@ -2198,7 +2198,7 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:919(programlisting)
 #, no-wrap
 msgid "m_rb2.set_group(m_rb1.get_group()); //doesn't work"
-msgstr "m_rb2.set_group(m_rb1.get_group()); //no funciona"
+msgstr "m_rb2.set_group(m_rb1.get_group()); //doesn't work"
 
 #: C/gtkmm-tutorial-in.xml:917(para)
 msgid ""
@@ -2247,11 +2247,11 @@ msgstr ""
 "{\n"
 "    Gtk::RadioButton::Group group;\n"
 "    Gtk::RadioButton *m_rb1 = Gtk::manage(\n"
-"      new Gtk::RadioButton(group,\"boton1\"));\n"
+"      new Gtk::RadioButton(group,\"button1\"));\n"
 "    Gtk::RadioButton *m_rb2 = manage(\n"
-"      new Gtk::RadioButton(group,\"boton2\"));\n"
+"      new Gtk::RadioButton(group,\"button2\"));\n"
 "      Gtk::RadioButton *m_rb3 = manage(\n"
-"        new Gtk::RadioButton(group,\"boton3\"));\n"
+"        new Gtk::RadioButton(group,\"button3\"));\n"
 "}"
 
 #: C/gtkmm-tutorial-in.xml:946(para)
@@ -2306,9 +2306,9 @@ msgid ""
 msgstr ""
 "<classname>Gtk::Scale</classname> y <classname>Gtk::Scrollbar</classname> "
 "heredan de <classname>Gtk::Range</classname> y comparten mucha "
-"funcionalidad. Contienen un Âcanal y un Âcontrol deslizante (a veces llamado "
-"Ârueda en otros entornos IGU). Deslizar el control con el puntero lo mueve "
-"dentro del canal, mientras que pulsar en el canal avanza al control "
+"funcionalidad. Contienen un Âcanal y un Âcontrol deslizante (a veces "
+"llamado Ârueda en otros entornos IGU). Deslizar el control con el puntero "
+"lo mueve dentro del canal, mientras que pulsar en el canal avanza al control "
 "deslizante hacia la ubicaciÃn de la pulsaciÃn, completamente o en una "
 "cantidad definida dependiendo del botÃn que se use. Este es el "
 "comportamiento normal de las barras de desplazamiento."
@@ -2665,8 +2665,8 @@ msgid ""
 "widget may also be used to enter a value directly."
 msgstr ""
 "Un <classname>SpinButton</classname> permite al usuario seleccionar un valor "
-"de un rango de valores numÃricos. Este tiene un widget ÂEntry con botones de "
-"flechas en un lado. Al pulsar en los botones hace que el valor del Âspin "
+"de un rango de valores numÃricos. Este tiene un widget ÂEntry con botones "
+"de flechas en un lado. Al pulsar en los botones hace que el valor del Âspin "
 "suba y baje en toda la gama de valores posibles. El widget <classname>Entry</"
 "classname> tambiÃn puede utilizarse para introducir un valor directamente."
 
@@ -3748,7 +3748,7 @@ msgid ""
 "//compiler error - no conversion from ustring to int.\n"
 "int number = row[m_Columns.m_col_text];"
 msgstr ""
-"//error del compilador: no hay conversiÃn de ustring a int.\n"
+"//compiler error - no conversion from ustring to int.\n"
 "int number = row[m_Columns.m_col_text];"
 
 #: C/gtkmm-tutorial-in.xml:2434(title)
@@ -3863,8 +3863,8 @@ msgstr ""
 "Gtk::TreeView::Column* pColumn =\n"
 "    Gtk::manage( new Gtk::TreeView::Column(\"Symbol\") );\n"
 "\n"
-"// m_columns.icon y m_columns.symbol son columnas en el modelo.\n"
-"// pColumn ies la columna en el TreeView:\n"
+"// m_columns.icon and m_columns.symbol are columns in the model.\n"
+"// pColumn is the column in the TreeView:\n"
 "pColumn-&gt;pack_start(m_columns.icon, false); //false = don't expand.\n"
 "pColumn-&gt;pack_start(m_columns.symbol);\n"
 "\n"
@@ -4042,6 +4042,14 @@ msgid ""
 "  //Do something with the row - see above for set/get.\n"
 "}"
 msgstr ""
+"typedef Gtk::TreeModel::Children type_children; //minimise code length.\n"
+"type_children children = refModel-&gt;children();\n"
+"for(type_children::iterator iter = children.begin();\n"
+"    iter != children.end(); ++iter)\n"
+"{\n"
+"  Gtk::TreeModel::Row row = *iter;\n"
+"  //Do something with the row - see above for set/get.\n"
+"}"
 
 #: C/gtkmm-tutorial-in.xml:2633(title)
 msgid "Row children"
@@ -4087,7 +4095,7 @@ msgstr "SelecciÃn Ãnica o mÃltiple"
 #: C/gtkmm-tutorial-in.xml:2659(programlisting)
 #, no-wrap
 msgid "refTreeSelection-&gt;set_mode(Gtk::SELECTION_MULTIPLE);"
-msgstr ""
+msgstr "refTreeSelection-&gt;set_mode(Gtk::SELECTION_MULTIPLE);"
 
 #: C/gtkmm-tutorial-in.xml:2656(para)
 msgid ""
@@ -4116,10 +4124,10 @@ msgid ""
 "}"
 msgstr ""
 "TreeModel::iterator iter = refTreeSelection-&gt;get_selected();\n"
-"if(iter) //Si hay algo seleccionado\n"
+"if(iter) //If anything is selected\n"
 "{\n"
 "  TreeModel::Row row = *iter;\n"
-"  //Hacer algo con la fila.\n"
+"  //Do something with the row.\n"
 "}"
 
 #: C/gtkmm-tutorial-in.xml:2676(para)
@@ -4150,7 +4158,7 @@ msgstr ""
 "    const Gtk::TreeModel::iterator&amp; iter)\n"
 "{\n"
 "  TreeModel::Row row = *iter;\n"
-"  //Hacer algo con la fila.\n"
+"  //Do something with the row.\n"
 "}"
 
 #: C/gtkmm-tutorial-in.xml:2695(title)
@@ -4216,6 +4224,13 @@ msgid ""
 "  return iter-&gt;children().empty(); // only allow leaf nodes to be selected\n"
 "}"
 msgstr ""
+"bool DemoWindow::select_function(\n"
+"    const Glib::RefPtr&lt;Gtk::TreeModel&gt;&amp; model,\n"
+"    const Gtk::TreeModel::Path&amp; path, bool)\n"
+"{\n"
+"  const Gtk::TreeModel::iterator iter = model-&gt;get_iter(path);\n"
+"  return iter-&gt;children().empty(); // only allow leaf nodes to be selected\n"
+"}"
 
 #: C/gtkmm-tutorial-in.xml:2732(title)
 msgid "Changing the selection"
@@ -4234,7 +4249,7 @@ msgid ""
 "if(row)\n"
 "  refTreeSelection-&gt;select(row);"
 msgstr ""
-"Gtk::TreeModel::Row row = m_refModel-&gt;children()[5]; //La quinta fila.\n"
+"Gtk::TreeModel::Row row = m_refModel-&gt;children()[5]; //The fifth row.\n"
 "if(row)\n"
 "  refTreeSelection-&gt;select(row);"
 
@@ -4352,7 +4367,7 @@ msgid ""
 "  }\n"
 "}"
 msgstr ""
-"void VentanaEjemplo::on_button_delete()\n"
+"void ExampleWindow::on_button_delete()\n"
 "{\n"
 "  Glib::RefPtr&lt;Gtk::TreeSelection&gt; refTreeSelection =\n"
 "      m_treeview.get_selection();\n"
@@ -4617,6 +4632,18 @@ msgid ""
 "else\n"
 "  set_nothing_chosen(); //Your own function."
 msgstr ""
+"Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
+"if(iter)\n"
+"{\n"
+"  Gtk::TreeModel::Row row = *iter;\n"
+"\n"
+"  //Get the data for the selected row, using our knowledge\n"
+"  //of the tree model:\n"
+"  int id = row[m_Columns.m_col_id];\n"
+"  set_something_id_chosen(id); //Your own function.\n"
+"}\n"
+"else\n"
+"  set_nothing_chosen(); //Your own function."
 
 #: C/gtkmm-tutorial-in.xml:3008(title)
 msgid "Responding to changes"
@@ -4812,8 +4839,8 @@ msgstr ""
 "Glib::RefPtr&lt;Gtk::TextBuffer::TagTable&gt; refTagTable =\n"
 "    Gtk::TextBuffer::TagTable::create();\n"
 "refTagTable-&gt;add(refTagMatch);\n"
-"//Posiblemente, la siguiente versiÃn de <application>gtkmm</application> tenga un mÃtodo set_tag_table(),\n"
-"//para usarlo despuÃs de la creaciÃn del bÃfer.\n"
+"//Hopefully a future version of <application>gtkmm</application> will have a set_tag_table() method,\n"
+"//for use after creation of the buffer.\n"
 "Glib::RefPtr&lt;Gtk::TextBuffer&gt; refBuffer =\n"
 "    Gtk::TextBuffer::create(refTagTable);"
 
@@ -4840,7 +4867,7 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:3194(programlisting)
 #, no-wrap
 msgid "refBuffer-&gt;apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
-msgstr ""
+msgstr "refBuffer-&gt;apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
 
 #: C/gtkmm-tutorial-in.xml:3195(para)
 msgid ""
@@ -5237,7 +5264,7 @@ msgstr ""
 "      (event-&gt;button == 3) )\n"
 "  {\n"
 "    m_Menu_Popup-&gt;popup(event-&gt;button, event-&gt;time);\n"
-"    return true; //Se ha manejado.\n"
+"    return true; //It has been handled.\n"
 "  }\n"
 "  else\n"
 "    return false;\n"
@@ -5320,7 +5347,7 @@ msgid ""
 msgstr ""
 "\n"
 "Gtk::ToolButton* button = Gtk::manage(new Gtk::ToolButton(icon, \"Big\"));\n"
-"button-&gt;set_tooltip_text(\"Pincel grande);\n"
+"button-&gt;set_tooltip_text(\"Big Brush);\n"
 "group_brushes-&gt;insert(*button);\n"
 
 #: C/gtkmm-tutorial-in.xml:3537(para)
@@ -5487,6 +5514,10 @@ msgid ""
 "// uses the newly-created adjustment for the scrollbar as well\n"
 "Gtk::Scrollbar vscrollbar (textview.get_vadjustment(), Gtk::ORIENTATION_VERTICAL);"
 msgstr ""
+"// creates its own adjustments\n"
+"Gtk::TextView textview;\n"
+"// uses the newly-created adjustment for the scrollbar as well\n"
+"Gtk::Scrollbar vscrollbar (textview.get_vadjustment(), Gtk::ORIENTATION_VERTICAL);"
 
 #: C/gtkmm-tutorial-in.xml:3660(title)
 msgid "Adjustment Internals"
@@ -5704,7 +5735,7 @@ msgstr "Gtk::EventBox();"
 msgid ""
 "A child widget can be added to the <classname>EventBox</classname> using:"
 msgstr ""
-"se puede agregar un widget hijo a <classname>EventBox</classname> utilizando:"
+"Se puede agregar un widget hijo a <classname>EventBox</classname> utilizando:"
 
 #: C/gtkmm-tutorial-in.xml:3793(programlisting)
 #, no-wrap
@@ -5957,11 +5988,11 @@ msgid ""
 "    context-&gt;restore();\n"
 "}"
 msgstr ""
-"void hacerAlgo(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
+"void doSomething(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
 "{\n"
 "    context-&gt;save();\n"
-"    // cambiar el estado de los grÃficos\n"
-"    // hacer operaciones de dibujo\n"
+"    // change graphics state\n"
+"    // peform drawing operations\n"
 "    context-&gt;restore();\n"
 "}"
 
@@ -6389,7 +6420,7 @@ msgstr ""
 "bool MyArea::on_draw(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; cr)\n"
 "{\n"
 "  Glib::RefPtr&lt;Gdk::Pixbuf&gt; image = Gdk::Pixbuf::create_from_file(\"myimage.png\");\n"
-"  // Dibujar la imagen en 110, 90, a excepciÃn de las regiones ultraperifÃricas de 10 pÃxeles.\n"
+"  // Draw the image at 110, 90, except for the outermost 10 pixels.\n"
 "  Gdk::Cairo::set_source_pixbuf(cr, image, 100, 80);\n"
 "  cr-&gt;rectangle(110, 90, image-&gt;get_width()-20, image-&gt;get_height()-20);\n"
 "  cr-&gt;fill();\n"
@@ -6768,7 +6799,7 @@ msgid ""
 msgstr ""
 "Glib::RefPtr&lt;Gtk::Clipboard&gt; refClipboard = Gtk::Clipboard::get();\n"
 "\n"
-"//Objetivos:\n"
+"//Targets:\n"
 "std::list&lt;Gtk::TargetEntry&gt; listTargets;\n"
 "listTargets.push_back( Gtk::TargetEntry(\"example_custom_target\") );\n"
 "listTargets.push_back( Gtk::TargetEntry(\"UTF8_STRING\") );\n"
@@ -6854,7 +6885,7 @@ msgstr ""
 "    const Gtk::SelectionData&amp; selection_data)\n"
 "{\n"
 "  Glib::ustring clipboard_data = selection_data.get_data_as_string();\n"
-"  //Hacer algo con los datos pegados.\n"
+"  //Do something with the pasted data.\n"
 "}"
 
 #: C/gtkmm-tutorial-in.xml:4832(title)
@@ -6875,6 +6906,8 @@ msgid ""
 "refClipboard-&gt;request_targets( sigc::mem_fun(*this,\n"
 "    &amp;ExampleWindow::on_clipboard_received_targets) );"
 msgstr ""
+"refClipboard-&gt;request_targets( sigc::mem_fun(*this,\n"
+"    &amp;ExampleWindow::on_clipboard_received_targets) );"
 
 #: C/gtkmm-tutorial-in.xml:4842(para)
 msgid ""
@@ -6900,6 +6933,19 @@ msgid ""
 "  m_Button_Paste.set_sensitive(bPasteIsPossible);\n"
 "}"
 msgstr ""
+"void ExampleWindow::on_clipboard_received_targets(\n"
+"  const Glib::StringArrayHandle&amp; targets_array)\n"
+"{\n"
+"  // Get the list of available clipboard targets:\n"
+"  std::list&lt;std::string&gt; targets = targets_array;\n"
+"\n"
+"  const bool bPasteIsPossible =\n"
+"    std::find(targets.begin(), targets.end(),\n"
+"      example_target_custom) != targets.end();\n"
+"\n"
+"  // Enable/Disable the Paste button appropriately:\n"
+"  m_Button_Paste.set_sensitive(bPasteIsPossible);\n"
+"}"
 
 #: C/gtkmm-tutorial-in.xml:4864(title) C/gtkmm-tutorial-in.xml:5257(title)
 msgid "Simple"
@@ -7073,6 +7119,10 @@ msgid ""
 "Glib::RefPtr&lt;Gtk::PageSetup&gt; new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);\n"
 "m_refPageSetup = new_page_setup;\n"
 msgstr ""
+"\n"
+"//Within a class that inherits from Gtk::Window and keeps m_refPageSetup and m_refSettings as members...\n"
+"Glib::RefPtr&lt;Gtk::PageSetup&gt; new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);\n"
+"m_refPageSetup = new_page_setup;\n"
 
 #: C/gtkmm-tutorial-in.xml:5041(para) C/gtkmm-tutorial-in.xml:5106(para)
 #: C/gtkmm-tutorial-in.xml:9405(para)
@@ -7145,6 +7195,12 @@ msgid ""
 "op-&gt;signal_done().connect(sigc::bind(sigc::mem_fun(*this, &amp;ExampleWindow::on_printoperation_done), op));\n"
 "// run the op\n"
 msgstr ""
+"\n"
+"// in class ExampleWindow's method...\n"
+"Glib::RefPtr&lt;PrintOperation&gt; op = PrintOperation::create();\n"
+"// ...set up op...\n"
+"op-&gt;signal_done().connect(sigc::bind(sigc::mem_fun(*this, &amp;ExampleWindow::on_printoperation_done), op));\n"
+"// run the op\n"
 
 #: C/gtkmm-tutorial-in.xml:5117(programlisting)
 #, no-wrap
@@ -7161,6 +7217,17 @@ msgid ""
 "    op-&gt;signal_status_changed().connect(sigc::bind(sigc::mem_fun(*this, &amp;ExampleWindow::on_printoperation_status_changed), op));\n"
 "}\n"
 msgstr ""
+"\n"
+"void ExampleWindow::on_printoperation_done(Gtk::PrintOperationResult result, const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
+"{\n"
+"  if (result == Gtk::PRINT_OPERATION_RESULT_ERROR)\n"
+"    //notify user\n"
+"  else if (result == Gtk::PRINT_OPERATION_RESULT_APPLY)\n"
+"    //Update PrintSettings with the ones used in this PrintOperation\n"
+"\n"
+"  if (! op-&gt;is_finished())\n"
+"    op-&gt;signal_status_changed().connect(sigc::bind(sigc::mem_fun(*this, &amp;ExampleWindow::on_printoperation_status_changed), op));\n"
+"}\n"
 
 #: C/gtkmm-tutorial-in.xml:5116(para)
 msgid ""
@@ -7184,6 +7251,16 @@ msgid ""
 "  //update UI\n"
 "}\n"
 msgstr ""
+"\n"
+"void ExampleWindow::on_printoperation_status_changed(const Glib::RefPtr&lt;PrintFormOperation&gt;&amp; op)\n"
+"{\n"
+"  if (op-&gt;is_finished())\n"
+"    //the print job is finished\n"
+"  else\n"
+"    //get the status with get_status() or get_status_string()\n"
+"\n"
+"  //update UI\n"
+"}\n"
 
 #: C/gtkmm-tutorial-in.xml:5131(para)
 msgid "Finally, check the status. For instance, <placeholder-1/>"
@@ -7204,7 +7281,7 @@ msgid ""
 msgstr ""
 "\n"
 "Glib::RefPtr&lt;Gtk::PrintOperation&gt; op = Gtk::PrintOperation::create();\n"
-"// ...configurar la operaciÃn...\n"
+"// ...set up op...\n"
 "op-&gt;set_export_filename(\"test.pdf\");\n"
 "Gtk::PrintOperationResult res = op-&gt;run(Gtk::PRINT_OPERATION_ACTION_EXPORT);\n"
 
@@ -7238,31 +7315,7 @@ msgid "You may add a custom tab to the print dialog: <placeholder-1/>"
 msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:5196(programlisting)
-#, fuzzy, no-wrap
-#| msgid ""
-#| "\n"
-#| "Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
-#| "{\n"
-#| "  set_custom_tab_label(\"My custom tab\");\n"
-#| "\n"
-#| "  Gtk::HBox* hbox = new Gtk::HBox(false, 8);\n"
-#| "  hbox-&gt;set_border_width(6);\n"
-#| "\n"
-#| "  Gtk::Label* label = Gtk::manage(new Gtk::Label(\"Enter some text: \"));\n"
-#| "  hbox-&gt;pack_start(*label, false, false);\n"
-#| "  label-&gt;show();\n"
-#| "\n"
-#| "  hbox-&gt;pack_start(m_Entry, false, false);\n"
-#| "  m_Entry.show();\n"
-#| "\n"
-#| "  return hbox;\n"
-#| "}\n"
-#| "\n"
-#| "void CustomPrintOperation::on_custom_widget_apply(Gtk::Widget* /* widget */)\n"
-#| "{\n"
-#| "  Glib::ustring user_input = m_Entry.get_text();\n"
-#| "  //...\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "\n"
 "Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
@@ -7291,12 +7344,12 @@ msgstr ""
 "\n"
 "Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
 "{\n"
-"  set_custom_tab_label(\"Mi pestaÃa personalizada\");\n"
+"  set_custom_tab_label(\"My custom tab\");\n"
 "\n"
-"  Gtk::HBox* hbox = new Gtk::HBox(false, 8);\n"
+"  Gtk::Box* hbox = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, 8);\n"
 "  hbox-&gt;set_border_width(6);\n"
 "\n"
-"  Gtk::Label* label = Gtk::manage(new Gtk::Label(\"Introducir texto: \"));\n"
+"  Gtk::Label* label = Gtk::manage(new Gtk::Label(\"Enter some text: \"));\n"
 "  hbox-&gt;pack_start(*label, false, false);\n"
 "  label-&gt;show();\n"
 "\n"
@@ -7340,9 +7393,9 @@ msgid ""
 "op-&gt;run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
 msgstr ""
 "\n"
-"// en una clase que hereda de Gtk::Window...\n"
+"// in a class that inherits from Gtk::Window...\n"
 "Glib::RefPtr&lt;PrintOperation&gt; op = PrintOperation::create();\n"
-"// ...configurar la operaciÃn...\n"
+"// ...set up op...\n"
 "op-&gt;run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
 
 #: C/gtkmm-tutorial-in.xml:5232(para)
@@ -7463,8 +7516,8 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:5346(para)
 msgid ""
-"<varname>description</varname>: A short description of the resource as a UTF-"
-"8 encoded string"
+"<varname>description</varname>: A short description of the resource as a "
+"UTF-8 encoded string"
 msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:5350(para)
@@ -7539,7 +7592,7 @@ msgstr ""
 "}\n"
 "if (info)\n"
 "{\n"
-"  // No se encontrà el elemento\n"
+"  // item was found\n"
 "}"
 
 #: C/gtkmm-tutorial-in.xml:5396(para)
@@ -7960,15 +8013,15 @@ msgstr ""
 "    event-&gt;keyval == GDK_KEY_1 &amp;&amp;\n"
 "    (event-&gt;state &amp; (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK)) == GDK_MOD1_MASK)\n"
 "  {\n"
-"    handle_alt_1_press(); // GDK_MOD1_MASK normalmente es la tecla Alt\n"
+"    handle_alt_1_press(); // GDK_MOD1_MASK is normally the Alt key\n"
 "    return true;\n"
 "  }\n"
 "  return false;\n"
 "}\n"
 "\n"
-"Gtk::Entry m_entry; // en una definiciÃn de clase\n"
+"Gtk::Entry m_entry; // in a class definition\n"
 "\n"
-"// en el constructor de la clase\n"
+"// in the class constructor\n"
 "m_entry.signal_key_press_event().connect( sigc::ptr_fun(&amp;on_key_press_or_release_event) );\n"
 "m_entry.signal_key_release_event().connect( sigc::ptr_fun(&amp;on_key_press_or_release_event) );\n"
 "m_entry.add_events(Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);\n"
@@ -8116,7 +8169,7 @@ msgid ""
 "my_connection.disconnect();\n"
 msgstr ""
 "\n"
-"mi_conexion.disconnect();\n"
+"my_connection.disconnect();\n"
 
 #: C/gtkmm-tutorial-in.xml:5866(programlisting)
 #, no-wrap
@@ -8125,7 +8178,7 @@ msgid ""
 "bool MyCallback() { std::cout &lt;&lt; \"Hello World!\\n\" &lt;&lt; std::endl; return true; }\n"
 msgstr ""
 "\n"
-"bool MyCallback() { std::cout &lt;&lt; \"Hola Mundo\\n\" &lt;&lt; std::endl; return true; }\n"
+"bool MyCallback() { std::cout &lt;&lt; \"Hello World!\\n\" &lt;&lt; std::endl; return true; }\n"
 
 #: C/gtkmm-tutorial-in.xml:5859(para)
 msgid ""
@@ -8367,7 +8420,7 @@ msgstr ""
 "{\n"
 "private:\n"
 "  Gtk::Button theButton;\n"
-"  // se destruirà cuando se destruya el objeto Foo\n"
+"  // will be destroyed when the Foo object is destroyed\n"
 "};\n"
 
 #: C/gtkmm-tutorial-in.xml:6089(title)
@@ -8426,7 +8479,7 @@ msgstr ""
 "\n"
 "Gtk::Button* pButton = new Gtk::Button(\"Test\");\n"
 "\n"
-"// hacer algo Ãtil con pButton\n"
+"// do something useful with pButton\n"
 "\n"
 "delete pButton;\n"
 
@@ -8478,7 +8531,7 @@ msgstr ""
 "MyWidget::MyWidget()\n"
 "{\n"
 "  Gtk::Button* pButton = manage(new Gtk::Button(\"Test\"));\n"
-"  add(*pButton); //aÃadir un botÃn a MyWidget\n"
+"  add(*pButton); //add aButton to MyWidget\n"
 "}\n"
 
 #: C/gtkmm-tutorial-in.xml:6159(para)
@@ -8498,7 +8551,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:6180(para)
 msgid "foo.add( (w=new Gtk::Label(\"Hello\"), w-&gt;set_manage(), &amp;w) );"
-msgstr "foo.add( (w=new Gtk::Label(\"Hola\"), w-&gt;set_manage(), &amp;w) );"
+msgstr "foo.add( (w=new Gtk::Label(\"Hello\"), w-&gt;set_manage(), &amp;w) );"
 
 #: C/gtkmm-tutorial-in.xml:6184(para)
 msgid "is the same as"
@@ -8506,7 +8559,7 @@ msgstr "es lo mismo que"
 
 #: C/gtkmm-tutorial-in.xml:6188(para)
 msgid "foo.add( manage(new Gtk::Label(\"Hello\")) );"
-msgstr "foo.add( manage(new Gtk::Label(\"Hola\")) );"
+msgstr "foo.add( manage(new Gtk::Label(\"Hello\")) );"
 
 #: C/gtkmm-tutorial-in.xml:6192(para)
 msgid ""
@@ -8538,7 +8591,7 @@ msgid ""
 "Glib::RefPtr&lt;Gdk::Pixbuf&gt; pixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
 msgstr ""
 "\n"
-"Glib::RefPtr&lt;Gdk::Pixbuf&gt; pixbuf = Gdk::Pixbuf::create_from_file(nombre_de_archivo);\n"
+"Glib::RefPtr&lt;Gdk::Pixbuf&gt; pixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
 
 #: C/gtkmm-tutorial-in.xml:6216(para)
 msgid ""
@@ -8666,7 +8719,7 @@ msgid ""
 "Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
 msgstr ""
 "\n"
-"Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basico.glade\");\n"
+"Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
 
 #: C/gtkmm-tutorial-in.xml:6300(para)
 msgid ""
@@ -8686,7 +8739,7 @@ msgid ""
 "Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
 msgstr ""
 "\n"
-"Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basico.glade\", \"treeview_products\");\n"
+"Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
 
 #: C/gtkmm-tutorial-in.xml:6312(para)
 msgid ""
@@ -8964,7 +9017,7 @@ msgid ""
 "de\n"
 "ja"
 msgstr ""
-"# mantenga este archivo ordenado alfabÃticamente, un cÃdigo de idioma por lÃnea\n"
+"# keep this file sorted alphabetically, one language code per line\n"
 "de\n"
 "ja"
 
@@ -9031,10 +9084,10 @@ msgid ""
 msgstr ""
 "IT_PROG_INTLTOOL([0.35.0])\n"
 "\n"
-"GETTEXT_PACKAGE=nombre_programa\n"
+"GETTEXT_PACKAGE=programname\n"
 "AC_SUBST(GETTEXT_PACKAGE)\n"
 "AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], [\"$GETTEXT_PACKAGE\"],\n"
-"                   [El dominio que usar con gettext])\n"
+"                   [The domain to use with gettext])\n"
 "AM_GLIB_GNU_GETTEXT\n"
 "\n"
 "PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
@@ -9142,12 +9195,12 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:6661(programlisting)
 #, no-wrap
 msgid "display_message(\"Getting ready for i18n.\");"
-msgstr "display_message(\"Listo para i18n.\");"
+msgstr "display_message(\"Getting ready for i18n.\");"
 
 #: C/gtkmm-tutorial-in.xml:6663(programlisting)
 #, no-wrap
 msgid "display_message(_(\"Getting ready for i18n.\"));"
-msgstr "display_message(_(\"Listo para i18n.\"));"
+msgstr "display_message(_(\"Getting ready for i18n.\"));"
 
 #: C/gtkmm-tutorial-in.xml:6655(para)
 msgid ""
@@ -9335,7 +9388,7 @@ msgid ""
 "label-&gt;set_text(Glib::locale_to_utf8(output.str()));"
 msgstr ""
 "std::ostringstream output;\n"
-"output.imbue(std::locale(\"\")); // usar la configuraciÃn regional del usuario para este flujo\n"
+"output.imbue(std::locale(\"\")); // use the user's locale for this stream\n"
 "output &lt;&lt; percentage &lt;&lt; \" % done\";\n"
 "label-&gt;set_text(Glib::locale_to_utf8(output.str()));"
 
@@ -9344,8 +9397,8 @@ msgstr ""
 msgid ""
 "Unfortunately, the integration with the standard iostreams is not completely "
 "foolproof. <application>gtkmm</application> converts <classname>Glib::"
-"ustring</classname>s to a locale-specific encoding (which usually is not UTF-"
-"8) if you output them to an <classname>ostream</classname> with "
+"ustring</classname>s to a locale-specific encoding (which usually is not "
+"UTF-8) if you output them to an <classname>ostream</classname> with "
 "<function>operator&lt;&lt;</function>. Likewise, retrieving <classname>Glib::"
 "ustrings</classname> from <classname>istream</classname> with "
 "<function>operator&gt;&gt;</function> causes a conversion in the opposite "
@@ -9356,8 +9409,8 @@ msgid ""
 "characters and the current locale is not UTF-8 encoded, the result is a "
 "corrupted <classname>Glib::ustring</classname>. You can work around this "
 "with a manual conversion. For instance, to retrieve the <classname>std::"
-"string</classname> from a <classname>ostringstream</classname>: <placeholder-"
-"1/>"
+"string</classname> from a <classname>ostringstream</classname>: "
+"<placeholder-1/>"
 msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:6848(title)
@@ -9384,9 +9437,9 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:6859(para)
 msgid ""
 "In these cases, you should add extra characters to the strings. For "
-"instance, use <literal>\"jumps[noun]\"</literal> and <literal>\"jumps[verb]"
-"\"</literal> instead of just <literal>\"jumps\"</literal>) and strip them "
-"again outside the <function>gettext</function> call. If you add extra "
+"instance, use <literal>\"jumps[noun]\"</literal> and <literal>\"jumps"
+"[verb]\"</literal> instead of just <literal>\"jumps\"</literal>) and strip "
+"them again outside the <function>gettext</function> call. If you add extra "
 "characters you should also add a comment for the translators before the "
 "<function>gettext</function> call. Such comments will be shown in the "
 "<filename>.po</filename> files. For instance:"
@@ -9399,6 +9452,9 @@ msgid ""
 "// just here to distinguish the string from another \"jumps\" string\n"
 "text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
 msgstr ""
+"// note to translators: don't translate the \"[noun]\" part - it is\n"
+"// just here to distinguish the string from another \"jumps\" string\n"
+"text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
 
 #: C/gtkmm-tutorial-in.xml:6875(title)
 msgid "Composition of strings"
@@ -10064,7 +10120,7 @@ msgid ""
 msgstr ""
 "\n"
 "Glib::RefPtr&lt;Gdk::Pixbuf&gt; refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
-"Gdk::Pixbuf&amp; underlying = *refPixbuf; //Error de sintaxis; no compilarÃ.\n"
+"Gdk::Pixbuf&amp; underlying = *refPixbuf; //Syntax error - will not compile.\n"
 
 #: C/gtkmm-tutorial-in.xml:7343(title)
 msgid "Casting"
@@ -10533,7 +10589,7 @@ msgstr ""
 "{\n"
 "    std::cout &lt;&lt; \"Hello World\" &lt;&lt; std::endl;\n"
 "\n"
-"    // llamar a la versiÃn de la clase base del mÃtodo:\n"
+"    // call the base class's version of the method:\n"
 "    Gtk::Button::on_clicked();\n"
 "}\n"
 
@@ -10572,7 +10628,7 @@ msgid ""
 "m_button1.signal_clicked().connect( sigc::bind&lt;Glib::ustring&gt;( sigc::mem_fun(*this, &amp;HelloWorld::on_button_clicked), \"button 1\") );\n"
 msgstr ""
 "\n"
-"m_button1.signal_clicked().connect( sigc::bind&lt;Glib::ustring&gt;( sigc::mem_fun(*this, &amp;HolaMundo::on_button_clicked), \"button 1\") );\n"
+"m_button1.signal_clicked().connect( sigc::bind&lt;Glib::ustring&gt;( sigc::mem_fun(*this, &amp;HelloWorld::on_button_clicked), \"button 1\") );\n"
 
 #: C/gtkmm-tutorial-in.xml:7735(programlisting)
 #, no-wrap
@@ -10670,7 +10726,7 @@ msgid ""
 msgstr ""
 "\n"
 "bool on_button_press(GdkEventButton* event);\n"
-"Gtk::Button button(\"etiqueta\");\n"
+"Gtk::Button button(\"label\");\n"
 "button.signal_button_press_event().connect( sigc::ptr_fun(&amp;on_button_press) );\n"
 
 #: C/gtkmm-tutorial-in.xml:7795(para)
@@ -10778,6 +10834,22 @@ msgid ""
 "  return m_signal_something;\n"
 "}\n"
 msgstr ""
+"\n"
+"class Server\n"
+"{\n"
+"public:\n"
+"  //signal accessor:\n"
+"  typedef sigc::signal&lt;void, bool, int&gt; type_signal_something;\n"
+"  type_signal_something signal_something();\n"
+"\n"
+"protected:\n"
+"  type_signal_something m_signal_something;\n"
+"};\n"
+"\n"
+"Server::type_signal_something Server::signal_something()\n"
+"{\n"
+"  return m_signal_something;\n"
+"}\n"
 
 #: C/gtkmm-tutorial-in.xml:7857(para)
 msgid ""
@@ -11142,7 +11214,7 @@ msgid ""
 msgstr ""
 "\n"
 "  $ git clone git://git.gnome.org/mm-common\n"
-"  $ cp -a mm-common/skeletonmm libalgomm\n"
+"  $ cp -a mm-common/skeletonmm libsomethingmm\n"
 
 #: C/gtkmm-tutorial-in.xml:8153(para)
 msgid ""
@@ -11196,8 +11268,8 @@ msgid ""
 "  done\n"
 msgstr ""
 "\n"
-"$ for f in $(find libalgomm -depth -name '*skeleton*'); do \\\n"
-"    d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libalgo}\"; \\\n"
+"$ for f in $(find libsomethingmm -depth -name '*skeleton*'); do \\\n"
+"    d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libsomething}\"; \\\n"
 "  done\n"
 
 #: C/gtkmm-tutorial-in.xml:8183(para)
@@ -11576,7 +11648,7 @@ msgid ""
 "}\n"
 msgstr ""
 "\n"
-"#include &lt;biblioteca.h&gt;\n"
+"#include &lt;libsomething.h&gt;\n"
 "\n"
 "int main(int, char**)\n"
 "{\n"
@@ -11697,8 +11769,8 @@ msgstr ""
 msgid ""
 "A .hg file will typically include some headers and then declare a class, "
 "using some macros to add API or behaviour to this class. For instance, "
-"gtkmm's <filename>button.hg</filename> looks roughly like this: <placeholder-"
-"1/>"
+"gtkmm's <filename>button.hg</filename> looks roughly like this: "
+"<placeholder-1/>"
 msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:8477(function)
@@ -12069,6 +12141,8 @@ msgid ""
 "_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, copy function, "
 "free function )"
 msgstr ""
+"_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, copy function, "
+"free function )"
 
 #: C/gtkmm-tutorial-in.xml:8654(programlisting)
 #, no-wrap
@@ -12076,6 +12150,8 @@ msgid ""
 "\n"
 "_CLASS_OPAQUE_COPYABLE(StockItem, GtkStockItem, NONE, gtk_stock_item_copy, gtk_stock_item_free)\n"
 msgstr ""
+"\n"
+"_CLASS_OPAQUE_COPYABLE(StockItem, GtkStockItem, NONE, gtk_stock_item_copy, gtk_stock_item_free)\n"
 
 #: C/gtkmm-tutorial-in.xml:8653(para)
 msgid "For instance, from <filename>stockitem.hg</filename>: <placeholder-1/>"
@@ -12097,6 +12173,8 @@ msgid ""
 "_CLASS_OPAQUE_REFCOUNTED( C++ class, C class, new function, ref function, "
 "unref function )"
 msgstr ""
+"_CLASS_OPAQUE_REFCOUNTED( C++ class, C class, new function, ref function, "
+"unref function )"
 
 #: C/gtkmm-tutorial-in.xml:8667(programlisting)
 #, no-wrap
@@ -12374,7 +12452,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:8825(function)
 msgid "_WRAP_METHOD( C++ method signature, C function name)"
-msgstr ""
+msgstr "_WRAP_METHOD( C++ method signature, C function name)"
 
 #: C/gtkmm-tutorial-in.xml:8827(programlisting)
 #, no-wrap
@@ -12441,7 +12519,7 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:8869(term) C/gtkmm-tutorial-in.xml:9057(term)
 #: C/gtkmm-tutorial-in.xml:9128(term) C/gtkmm-tutorial-in.xml:9159(term)
 msgid "ifdef"
-msgstr ""
+msgstr "ifdef"
 
 #: C/gtkmm-tutorial-in.xml:8871(para) C/gtkmm-tutorial-in.xml:9059(para)
 #: C/gtkmm-tutorial-in.xml:9130(para) C/gtkmm-tutorial-in.xml:9161(para)
@@ -12630,7 +12708,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:8979(function)
 msgid "_WRAP_METHOD_DOCS_ONLY(C function name)"
-msgstr ""
+msgstr "_WRAP_METHOD_DOCS_ONLY(C function name)"
 
 #: C/gtkmm-tutorial-in.xml:8981(programlisting)
 #, no-wrap
@@ -12661,11 +12739,11 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:8994(function)
 msgid "_IGNORE(C function name 1, C function name2, etc)"
-msgstr ""
+msgstr "_IGNORE(C function name 1, C function name2, etc)"
 
 #: C/gtkmm-tutorial-in.xml:8995(function)
 msgid "_IGNORE_SIGNAL(C signal name 1, C signal name2, etc)"
-msgstr ""
+msgstr "_IGNORE_SIGNAL(C signal name 1, C signal name2, etc)"
 
 #: C/gtkmm-tutorial-in.xml:8997(programlisting)
 #, no-wrap
@@ -12695,7 +12773,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9011(function)
 msgid "_WRAP_SIGNAL( C++ signal handler signature, C signal name)"
-msgstr ""
+msgstr "_WRAP_SIGNAL( C++ signal handler signature, C signal name)"
 
 #: C/gtkmm-tutorial-in.xml:9013(programlisting)
 #, no-wrap
@@ -12768,7 +12846,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9072(function)
 msgid "_WRAP_PROPERTY(C property name, C++ type)"
-msgstr ""
+msgstr "_WRAP_PROPERTY(C property name, C++ type)"
 
 #: C/gtkmm-tutorial-in.xml:9074(programlisting)
 #, no-wrap
@@ -12777,7 +12855,7 @@ msgid ""
 "_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
 msgstr ""
 "\n"
-"_WRAP_PROPERTY(\"etiqueta\", Glib::ustring)\n"
+"_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
 
 #: C/gtkmm-tutorial-in.xml:9081(title)
 msgid "_WRAP_VFUNC"
@@ -12789,7 +12867,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9083(function)
 msgid "_WRAP_VFUNC( C++ method signature, C function name)"
-msgstr ""
+msgstr "_WRAP_VFUNC( C++ method signature, C function name)"
 
 #: C/gtkmm-tutorial-in.xml:9085(programlisting)
 #, no-wrap
@@ -12874,7 +12952,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9150(function)
 msgid "_IMPLEMENTS_INTERFACE(C++ interface name)"
-msgstr ""
+msgstr "_IMPLEMENTS_INTERFACE(C++ interface name)"
 
 #: C/gtkmm-tutorial-in.xml:9152(programlisting)
 #, no-wrap
@@ -12973,7 +13051,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9207(function)
 msgid "_MEMBER_GET(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET(C++ name, C name, C++ type, C type)"
 
 #: C/gtkmm-tutorial-in.xml:9208(function)
 msgid "_MEMBER_SET(C++ name, C name, C++ type, C type)"
@@ -13014,6 +13092,9 @@ msgid ""
 "// _MEMBER_GET_PTR(engine_lang, lang_engine, EngineLang*, PangoEngineLang*)\n"
 "// It's just a comment. It's difficult to find a real-world example.\n"
 msgstr ""
+"\n"
+"// _MEMBER_GET_PTR(engine_lang, lang_engine, EngineLang*, PangoEngineLang*)\n"
+"// It's just a comment. It's difficult to find a real-world example.\n"
 
 #: C/gtkmm-tutorial-in.xml:9223(para)
 msgid ""
@@ -13034,7 +13115,7 @@ msgstr ""
 
 #: C/gtkmm-tutorial-in.xml:9237(function)
 msgid "_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)"
 
 #: C/gtkmm-tutorial-in.xml:9238(function)
 msgid "_MEMBER_SET_GOBJECT(C++ name, C name, C++ type, C type)"
@@ -13153,8 +13234,8 @@ msgstr ""
 "\n"
 "void init()\n"
 "{\n"
-"  Gtk::Main::init_gtkmm_internals(); //Configura el sistema de tipo g y la tabla Glib::wrap().\n"
-"  wrap_init(); //Informa a la tabla Glib::wrap() sobre las clases de libalgomm.\n"
+"  Gtk::Main::init_gtkmm_internals(); //Sets up the g type system and the Glib::wrap() table.\n"
+"  wrap_init(); //Tells the Glib::wrap() table about the libsomethingmm classes.\n"
 "}\n"
 
 #: C/gtkmm-tutorial-in.xml:9281(para)
@@ -13239,6 +13320,10 @@ msgid ""
 "../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
 "make[4]: *** [example-widget.lo] Error 1\n"
 msgstr ""
+"\n"
+"example-widget.h:56: error: using typedef-name 'ExampleWidget' after 'struct'\n"
+"../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
+"make[4]: *** [example-widget.lo] Error 1\n"
 
 #: C/gtkmm-tutorial-in.xml:9333(programlisting)
 #, no-wrap
@@ -13247,6 +13332,9 @@ msgid ""
 "example-widget.h:60: error: '_ExampleWidget ExampleWidget' redeclared as different kind of symbol\n"
 "../../libexample/libexamplemm/example-widget.h:34: error: previous declaration of 'typedef struct _ExampleWidget ExampleWidget'\n"
 msgstr ""
+"\n"
+"example-widget.h:60: error: '_ExampleWidget ExampleWidget' redeclared as different kind of symbol\n"
+"../../libexample/libexamplemm/example-widget.h:34: error: previous declaration of 'typedef struct _ExampleWidget ExampleWidget'\n"
 
 #: C/gtkmm-tutorial-in.xml:9325(para)
 msgid ""
@@ -13328,6 +13416,20 @@ msgid ""
 "        do_something(something);\n"
 "}\n"
 msgstr ""
+"\n"
+"GtkWidget* example_widget_new(int something, const char* thing)\n"
+"{\n"
+"        ExampleWidget* widget;\n"
+"        widget = g_object_new (EXAMPLE_TYPE_WIDGET, NULL);\n"
+"        example_widget_construct(widget, \"something\", something, \"thing\", thing);\n"
+"}\n"
+"\n"
+"void example_widget_construct(ExampleWidget* widget, int something, const char* thing)\n"
+"{\n"
+"        //Do stuff that uses private API:\n"
+"        widget-&gt;priv-&gt;thing = thing;\n"
+"        do_something(something);\n"
+"}\n"
 
 #: C/gtkmm-tutorial-in.xml:9365(para)
 msgid ""
@@ -13408,7 +13510,7 @@ msgstr ""
 #: C/gtkmm-tutorial-in.xml:0(None)
 msgid "translator-credits"
 msgstr ""
-"NicolÃs Satragno <nsatrasgno gmail com>, 2012\n"
+"NicolÃs Satragno <nsatragno gmail com>, 2012\n"
 "Josà Zambrano <jozaol gmail com>, 2011\n"
 "Daniel Mustieles <daniel mustieles gmail com>, 2011\n"
 "Jorge GonzÃlez <jorgegonz svn gnome org>, 2010"



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