[gnome-devel-docs] [l10n] Updated German translation



commit 89d02f51ea82b90de45d22ed0a318d7ee36d2745
Author: Mario BlÃttermann <mario blaettermann gmail com>
Date:   Thu Feb 23 22:53:12 2012 +0100

    [l10n] Updated German translation

 platform-overview/de/de.po | 6747 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 5824 insertions(+), 923 deletions(-)
---
diff --git a/platform-overview/de/de.po b/platform-overview/de/de.po
index 3dc7dc6..d62991c 100644
--- a/platform-overview/de/de.po
+++ b/platform-overview/de/de.po
@@ -1,14 +1,14 @@
 # German translation of the platform-overview documentation.
-# Mario BlÃttermann <mariobl freenet de>, 2009-2011.
+# Mario BlÃttermann <mario blaettermann gmail com>, 2009-2012.
 # Wolfgang StÃggl <c72578 yahoo de>, 2011.
 # Christian Kirbach <Christian Kirbach googlemail com>, 2011.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"POT-Creation-Date: 2011-05-15 07:54+0000\n"
-"PO-Revision-Date: 2011-06-19 16:08+0100\n"
-"Last-Translator: Mario BlÃttermann <mariobl freenet de>\n"
+"POT-Creation-Date: 2012-02-23 18:04+0000\n"
+"PO-Revision-Date: 2012-02-23 22:49+0100\n"
+"Last-Translator: Mario BlÃttermann <mario blaettermann gmail com>\n"
 "Language-Team: Deutsch <gnome-de gnome org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,61 +17,307 @@ msgstr ""
 "X-Poedit-Country: GERMANY\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: C/webkit.page:6(desc)
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/tech-webkit.page:28(None) C/tech-tracker.page:26(None)
+#: C/tech-telepathy.page:27(None) C/tech-soup.page:25(None)
+#: C/tech-pango.page:25(None) C/tech-notify.page:25(None)
+#: C/tech-keyring.page:25(None) C/tech-gupnp.page:25(None)
+#: C/tech-gtk.page:25(None) C/tech-gstreamer.page:25(None)
+#: C/tech-gsettings.page:23(None) C/tech-gobject.page:24(None)
+#: C/tech-glib.page:24(None) C/tech-gio.page:27(None)
+#: C/tech-gio-network.page:26(None) C/tech-gdk.page:26(None)
+#: C/tech-gda.page:26(None) C/tech-eds.page:26(None) C/tech-dbus.page:26(None)
+#: C/tech-clutter.page:26(None) C/tech-canberra.page:27(None)
+#: C/tech-cairo.page:27(None) C/tech-atk.page:27(None)
+#: C/sample-telepathy-imstatus.page:24(None)
+#: C/sample-avahi-discoverprinter.page:24(None) C/overview-ui.page:33(None)
+#: C/overview-systemintegration.page:33(None)
+#: C/overview-multimedia.page:33(None) C/overview-help.page:27(None)
+#: C/overview-datastorage.page:33(None) C/overview-communication.page:33(None)
+msgid "@@image: 'test_comm1.png'; md5=47677860b23d89d6f428f1dc454bdb08"
+msgstr "original"
+
+#: C/tech-webkit.page:7(desc)
 msgid "The power of HTML5 and the web in your application"
 msgstr "Die Kraft von HTML5 und des Internet in Ihrer Anwendung"
 
-#: C/webkit.page:10(title)
+#: C/tech-webkit.page:11(title)
 msgid "WebKit"
 msgstr "WebKit"
 
-# Upstream meint die Hauptorganisation, die WebKit entwickelt
-#: C/webkit.page:12(p)
+#: C/tech-webkit.page:16(em) C/tech-tracker.page:14(em)
+#: C/tech-telepathy.page:15(em) C/tech-soup.page:13(em)
+#: C/tech-pango.page:13(em) C/tech-notify.page:13(em)
+#: C/tech-keyring.page:13(em) C/tech-gupnp.page:13(em) C/tech-gtk.page:13(em)
+#: C/tech-gstreamer.page:13(em) C/tech-gsettings.page:11(em)
+#: C/tech-gobject.page:12(em) C/tech-glib.page:12(em) C/tech-gio.page:15(em)
+#: C/tech-gio-network.page:14(em) C/tech-gdk.page:14(em) C/tech-gda.page:14(em)
+#: C/tech-eds.page:14(em) C/tech-dbus.page:14(em) C/tech-clutter.page:14(em)
+#: C/tech-canberra.page:15(em) C/tech-cairo.page:15(em) C/tech-atk.page:15(em)
+#: C/overview-ui.page:21(em) C/overview-systemintegration.page:21(em)
+#: C/overview-multimedia.page:21(em) C/overview-help.page:15(em)
+#: C/overview-datastorage.page:21(em)
+msgid "Strong selling point #1"
+msgstr ""
+
+#: C/tech-webkit.page:19(em) C/tech-tracker.page:17(em)
+#: C/tech-telepathy.page:18(em) C/tech-soup.page:16(em)
+#: C/tech-pango.page:16(em) C/tech-notify.page:16(em)
+#: C/tech-keyring.page:16(em) C/tech-gupnp.page:16(em) C/tech-gtk.page:16(em)
+#: C/tech-gstreamer.page:16(em) C/tech-gsettings.page:14(em)
+#: C/tech-gobject.page:15(em) C/tech-glib.page:15(em) C/tech-gio.page:18(em)
+#: C/tech-gio-network.page:17(em) C/tech-gdk.page:17(em) C/tech-gda.page:17(em)
+#: C/tech-eds.page:17(em) C/tech-dbus.page:17(em) C/tech-clutter.page:17(em)
+#: C/tech-canberra.page:18(em) C/tech-cairo.page:18(em) C/tech-atk.page:18(em)
+#: C/overview-ui.page:24(em) C/overview-systemintegration.page:24(em)
+#: C/overview-multimedia.page:24(em) C/overview-help.page:18(em)
+#: C/overview-datastorage.page:24(em)
+msgid "Strong selling point #2"
+msgstr ""
+
+#: C/tech-webkit.page:22(em) C/tech-tracker.page:20(em)
+#: C/tech-telepathy.page:21(em) C/tech-soup.page:19(em)
+#: C/tech-pango.page:19(em) C/tech-notify.page:19(em)
+#: C/tech-keyring.page:19(em) C/tech-gupnp.page:19(em) C/tech-gtk.page:19(em)
+#: C/tech-gstreamer.page:19(em) C/tech-gsettings.page:17(em)
+#: C/tech-gobject.page:18(em) C/tech-glib.page:18(em) C/tech-gio.page:21(em)
+#: C/tech-gio-network.page:20(em) C/tech-gdk.page:20(em) C/tech-gda.page:20(em)
+#: C/tech-eds.page:20(em) C/tech-dbus.page:20(em) C/tech-clutter.page:20(em)
+#: C/tech-canberra.page:21(em) C/tech-cairo.page:21(em) C/tech-atk.page:21(em)
+#: C/overview-ui.page:27(em) C/overview-systemintegration.page:27(em)
+#: C/overview-multimedia.page:27(em) C/overview-help.page:21(em)
+#: C/overview-datastorage.page:27(em)
+msgid "Strong selling point #3"
+msgstr ""
+
+#: C/tech-webkit.page:26(p) C/tech-tracker.page:24(p)
+#: C/tech-telepathy.page:25(p) C/tech-soup.page:23(p) C/tech-pango.page:23(p)
+#: C/tech-notify.page:23(p) C/tech-keyring.page:23(p) C/tech-gupnp.page:23(p)
+#: C/tech-gtk.page:23(p) C/tech-gstreamer.page:23(p)
+#: C/tech-gsettings.page:21(p) C/tech-gobject.page:22(p) C/tech-glib.page:22(p)
+#: C/tech-gio.page:25(p) C/tech-gio-network.page:24(p) C/tech-gdk.page:24(p)
+#: C/tech-gda.page:24(p) C/tech-eds.page:24(p) C/tech-dbus.page:24(p)
+#: C/tech-clutter.page:24(p) C/tech-canberra.page:25(p) C/tech-cairo.page:25(p)
+#: C/tech-atk.page:25(p)
+msgid "Marketing blurb, info on what this library offers developers."
+msgstr ""
+
+#: C/tech-webkit.page:29(p) C/tech-tracker.page:27(p)
+#: C/tech-telepathy.page:28(p) C/tech-soup.page:26(p) C/tech-pango.page:26(p)
+#: C/tech-notify.page:26(p) C/tech-keyring.page:26(p) C/tech-gupnp.page:26(p)
+#: C/tech-gtk.page:26(p) C/tech-gstreamer.page:26(p)
+#: C/tech-gsettings.page:24(p) C/tech-gobject.page:25(p) C/tech-glib.page:25(p)
+#: C/tech-gio.page:28(p) C/tech-gio-network.page:27(p) C/tech-gdk.page:27(p)
+#: C/tech-gda.page:27(p) C/tech-eds.page:27(p) C/tech-dbus.page:27(p)
+#: C/tech-clutter.page:27(p) C/tech-canberra.page:28(p) C/tech-cairo.page:28(p)
+#: C/tech-atk.page:28(p)
+msgid "Example image"
+msgstr "Beispielbild"
+
+#: C/tech-webkit.page:34(title) C/tech-tracker.page:32(title)
+#: C/tech-telepathy.page:33(title) C/tech-soup.page:31(title)
+#: C/tech-pango.page:31(title) C/tech-notify.page:31(title)
+#: C/tech-keyring.page:31(title) C/tech-gupnp.page:31(title)
+#: C/tech-gtk.page:31(title) C/tech-gstreamer.page:31(title)
+#: C/tech-gsettings.page:29(title) C/tech-gobject.page:30(title)
+#: C/tech-glib.page:30(title) C/tech-gio.page:33(title)
+#: C/tech-gio-network.page:32(title) C/tech-gdk.page:32(title)
+#: C/tech-gda.page:32(title) C/tech-eds.page:32(title)
+#: C/tech-dbus.page:32(title) C/tech-clutter.page:32(title)
+#: C/tech-canberra.page:33(title) C/tech-cairo.page:33(title)
+#: C/tech-atk.page:33(title) C/overview-ui.page:38(title)
+#: C/overview-systemintegration.page:38(title)
+#: C/overview-multimedia.page:38(title) C/overview-help.page:61(title)
+#: C/overview-datastorage.page:38(title)
+#: C/overview-communication.page:38(title)
+msgid "What can you do?"
+msgstr "Was kÃnnen Sie tun?"
+
+#: C/tech-webkit.page:36(p) C/tech-tracker.page:34(p)
+#: C/tech-telepathy.page:35(p) C/tech-soup.page:33(p) C/tech-pango.page:33(p)
+#: C/tech-notify.page:41(p) C/tech-keyring.page:33(p) C/tech-gupnp.page:33(p)
+#: C/tech-gtk.page:33(p) C/tech-gstreamer.page:33(p)
+#: C/tech-gsettings.page:31(p) C/tech-gobject.page:32(p) C/tech-glib.page:32(p)
+#: C/tech-gio.page:35(p) C/tech-gio-network.page:34(p) C/tech-gdk.page:34(p)
+#: C/tech-gda.page:34(p) C/tech-eds.page:34(p) C/tech-dbus.page:34(p)
+#: C/tech-clutter.page:34(p) C/tech-canberra.page:35(p) C/tech-cairo.page:35(p)
+#: C/tech-atk.page:35(p)
 msgid ""
-"WebKit is a powerful, multi-platform HTML engine used in open source and "
-"commercial products. WebKitGTK+ is the port of WebKit built on <link xref="
-"\"gtk\">GTK+</link> and integrated into the GNOME developer platform. "
-"WebKitGTK+ is developed upstream as part of the main WebKit project, so it's "
-"always up to date with the latest HTML5 features."
+"Things that <em style=\"strong\">you can do</em> with <em style=\"strong"
+"\"><link xref=\"blah\">some feature</link></em> of the library."
+msgstr ""
+
+#: C/tech-webkit.page:41(title) C/tech-tracker.page:39(title)
+#: C/tech-telepathy.page:57(title) C/tech-soup.page:38(title)
+#: C/tech-pango.page:75(title) C/tech-notify.page:46(title)
+#: C/tech-keyring.page:81(title) C/tech-gupnp.page:38(title)
+#: C/tech-gtk.page:38(title) C/tech-gstreamer.page:38(title)
+#: C/tech-gsettings.page:36(title) C/tech-gobject.page:37(title)
+#: C/tech-glib.page:37(title) C/tech-gio.page:40(title)
+#: C/tech-gio-network.page:39(title) C/tech-gdk.page:39(title)
+#: C/tech-gda.page:39(title) C/tech-eds.page:39(title)
+#: C/tech-dbus.page:39(title) C/tech-clutter.page:39(title)
+#: C/tech-canberra.page:40(title) C/tech-cairo.page:40(title)
+#: C/tech-atk.page:40(title)
+msgid "API and reference documentation"
+msgstr ""
+
+#: C/tech-webkit.page:45(link) C/tech-tracker.page:43(link)
+#: C/tech-soup.page:42(link) C/tech-gupnp.page:42(link)
+#: C/tech-gtk.page:42(link) C/tech-gstreamer.page:42(link)
+#: C/tech-gsettings.page:40(link) C/tech-gobject.page:41(link)
+#: C/tech-glib.page:41(link) C/tech-gio.page:44(link)
+#: C/tech-gio-network.page:43(link) C/tech-gdk.page:43(link)
+#: C/tech-gda.page:43(link) C/tech-eds.page:43(link) C/tech-dbus.page:43(link)
+#: C/tech-clutter.page:43(link) C/tech-canberra.page:44(link)
+#: C/tech-cairo.page:44(link) C/tech-atk.page:44(link)
+msgid "Documentation Link"
+msgstr ""
+
+#: C/tech-webkit.page:46(p) C/tech-tracker.page:44(p) C/tech-soup.page:43(p)
+#: C/tech-pango.page:80(p) C/tech-notify.page:51(p) C/tech-keyring.page:86(p)
+#: C/tech-keyring.page:90(p) C/tech-gupnp.page:43(p) C/tech-gtk.page:43(p)
+#: C/tech-gstreamer.page:43(p) C/tech-gsettings.page:41(p)
+#: C/tech-gobject.page:42(p) C/tech-glib.page:42(p) C/tech-gio.page:45(p)
+#: C/tech-gio-network.page:44(p) C/tech-gdk.page:44(p) C/tech-gda.page:44(p)
+#: C/tech-eds.page:44(p) C/tech-dbus.page:44(p) C/tech-clutter.page:44(p)
+#: C/tech-canberra.page:45(p) C/tech-cairo.page:45(p) C/tech-atk.page:45(p)
+msgid ""
+"Brief description of the documentation. Maybe also some direct links to "
+"particularly interesting pages."
+msgstr ""
+
+#: C/tech-webkit.page:53(title) C/tech-tracker.page:51(title)
+#: C/tech-telepathy.page:69(title) C/tech-soup.page:50(title)
+#: C/tech-pango.page:87(title) C/tech-notify.page:58(title)
+#: C/tech-keyring.page:97(title) C/tech-gupnp.page:50(title)
+#: C/tech-gtk.page:50(title) C/tech-gstreamer.page:50(title)
+#: C/tech-gsettings.page:48(title) C/tech-gobject.page:49(title)
+#: C/tech-glib.page:49(title) C/tech-gio.page:52(title)
+#: C/tech-gio-network.page:51(title) C/tech-gdk.page:51(title)
+#: C/tech-gda.page:51(title) C/tech-eds.page:51(title)
+#: C/tech-dbus.page:51(title) C/tech-clutter.page:51(title)
+#: C/tech-canberra.page:52(title) C/tech-cairo.page:52(title)
+#: C/tech-atk.page:52(title) C/samples.page:25(title)
+#: C/overview-ui.page:45(title) C/overview-systemintegration.page:45(title)
+#: C/overview-multimedia.page:45(title) C/overview-help.page:68(title)
+#: C/overview-datastorage.page:45(title)
+#: C/overview-communication.page:53(title)
+msgid "Code samples"
+msgstr ""
+
+#: C/tech-webkit.page:55(p) C/tech-tracker.page:53(p)
+#: C/tech-telepathy.page:71(p) C/tech-soup.page:52(p) C/tech-pango.page:89(p)
+#: C/tech-notify.page:60(p) C/tech-keyring.page:99(p) C/tech-gupnp.page:52(p)
+#: C/tech-gtk.page:52(p) C/tech-gstreamer.page:52(p)
+#: C/tech-gsettings.page:50(p) C/tech-gobject.page:51(p) C/tech-glib.page:51(p)
+#: C/tech-gio.page:54(p) C/tech-gio-network.page:53(p) C/tech-gdk.page:53(p)
+#: C/tech-gda.page:53(p) C/tech-eds.page:53(p) C/tech-dbus.page:53(p)
+#: C/tech-clutter.page:53(p) C/tech-canberra.page:54(p) C/tech-cairo.page:54(p)
+#: C/tech-atk.page:54(p) C/overview-ui.page:47(p)
+#: C/overview-systemintegration.page:47(p) C/overview-multimedia.page:47(p)
+#: C/overview-help.page:70(p) C/overview-datastorage.page:47(p)
+msgid "A sample we should write"
+msgstr ""
+
+#: C/tech-webkit.page:56(link) C/tech-tracker.page:54(link)
+#: C/tech-telepathy.page:72(link) C/tech-soup.page:53(link)
+#: C/tech-pango.page:90(link) C/tech-notify.page:61(link)
+#: C/tech-keyring.page:100(link) C/tech-gupnp.page:53(link)
+#: C/tech-gtk.page:53(link) C/tech-gstreamer.page:53(link)
+#: C/tech-gsettings.page:51(link) C/tech-gobject.page:52(link)
+#: C/tech-glib.page:52(link) C/tech-gio.page:55(link)
+#: C/tech-gio-network.page:54(link) C/tech-gdk.page:54(link)
+#: C/tech-gda.page:54(link) C/tech-eds.page:54(link) C/tech-dbus.page:54(link)
+#: C/tech-clutter.page:54(link) C/tech-canberra.page:55(link)
+#: C/tech-cairo.page:55(link) C/tech-atk.page:55(link)
+#: C/overview-ui.page:48(link) C/overview-systemintegration.page:48(link)
+#: C/overview-multimedia.page:48(link) C/overview-help.page:71(link)
+#: C/overview-datastorage.page:48(link) C/overview-communication.page:59(link)
+msgid "More..."
+msgstr ""
+
+#: C/tech-webkit.page:61(title) C/tech-tracker.page:59(title)
+#: C/tech-telepathy.page:77(title) C/tech-soup.page:58(title)
+#: C/tech-pango.page:95(title) C/tech-notify.page:66(title)
+#: C/tech-keyring.page:105(title) C/tech-gupnp.page:58(title)
+#: C/tech-gtk.page:58(title) C/tech-gstreamer.page:58(title)
+#: C/tech-gsettings.page:56(title) C/tech-gobject.page:57(title)
+#: C/tech-glib.page:57(title) C/tech-gio.page:60(title)
+#: C/tech-gio-network.page:59(title) C/tech-gdk.page:59(title)
+#: C/tech-gda.page:59(title) C/tech-eds.page:59(title)
+#: C/tech-dbus.page:59(title) C/tech-clutter.page:59(title)
+#: C/tech-canberra.page:60(title) C/tech-cairo.page:60(title)
+#: C/tech-atk.page:60(title) C/overview-ui.page:53(title)
+#: C/overview-systemintegration.page:53(title)
+#: C/overview-multimedia.page:53(title) C/overview-help.page:76(title)
+#: C/overview-datastorage.page:53(title)
+#: C/overview-communication.page:64(title)
+msgid "Real-world examples"
 msgstr ""
-"WebKit ist eine mÃchtige, Plattform Ãbergreifende HTML-Engine, die sowohl in "
-"quelloffenen als auch in kommerziellen Produkten eingesetzt wird. WebKitGTK+ "
-"ist der auf <link xref=\"gtk\">GTK+</link> aufsetzende Port von WebKit und "
-"ist in die GNOME-Entwicklerplattform integriert. WebKitGTK+ wird von dessen "
-"Organisation als Teil des WebKit-Hauptprojekts entwickelt und ist somit immer "
-"in Bezug auf die aktuellen Funktionsmerkmale von HTML5 auf dem neuesten Stand."
 
-#: C/webkit.page:19(p)
+#: C/tech-webkit.page:63(p) C/tech-tracker.page:61(p)
+#: C/tech-telepathy.page:79(p) C/tech-soup.page:60(p) C/tech-pango.page:97(p)
+#: C/tech-notify.page:68(p) C/tech-keyring.page:107(p) C/tech-gupnp.page:60(p)
+#: C/tech-gtk.page:60(p) C/tech-gstreamer.page:60(p)
+#: C/tech-gsettings.page:58(p) C/tech-gobject.page:59(p) C/tech-glib.page:59(p)
+#: C/tech-gio.page:62(p) C/tech-gio-network.page:61(p) C/tech-gdk.page:61(p)
+#: C/tech-gda.page:61(p) C/tech-eds.page:61(p) C/tech-dbus.page:61(p)
+#: C/tech-clutter.page:61(p) C/tech-canberra.page:62(p) C/tech-cairo.page:62(p)
+#: C/tech-atk.page:62(p)
 msgid ""
-"WebKitGTK+ makes it easy to add web functionality to your application, or to "
-"use HTML5 and associated technologies to create dynamic user interfaces "
-"quickly."
+"This library is used in lots of open source software. Take a look at some of "
+"it."
+msgstr ""
+
+#: C/tech-webkit.page:66(p) C/tech-tracker.page:64(p)
+#: C/tech-telepathy.page:82(p) C/tech-soup.page:63(p) C/tech-pango.page:100(p)
+#: C/tech-notify.page:71(p) C/tech-keyring.page:110(p) C/tech-gupnp.page:63(p)
+#: C/tech-gtk.page:63(p) C/tech-gstreamer.page:63(p)
+#: C/tech-gsettings.page:61(p) C/tech-gobject.page:62(p) C/tech-glib.page:62(p)
+#: C/tech-gio.page:65(p) C/tech-gio-network.page:64(p) C/tech-gdk.page:64(p)
+#: C/tech-gda.page:64(p) C/tech-eds.page:64(p) C/tech-dbus.page:64(p)
+#: C/tech-clutter.page:64(p) C/tech-canberra.page:65(p) C/tech-cairo.page:65(p)
+#: C/tech-atk.page:65(p) C/overview-ui.page:58(p)
+#: C/overview-systemintegration.page:58(p) C/overview-multimedia.page:58(p)
+#: C/overview-help.page:81(p) C/overview-datastorage.page:58(p)
+msgid "<em style=\"strong\">XXX</em> is ."
 msgstr ""
-"WebKitGTK+ erleichtert das HinzufÃgen von Web-FunktionalitÃt zu Ihrer "
-"Anwendung erheblich, oder die Nutzung von HTML5 und den dazugehÃrigen "
-"Technologien zum schnellen Erstellen dynamischer BenutzeroberflÃchen."
 
-#: C/webkit.page:24(link)
-msgid "WebKitGTK+ demo tutorial"
-msgstr "WebKitGTK+ Demo-Tutorial"
+#: C/tech-webkit.page:67(p) C/tech-tracker.page:65(p)
+#: C/tech-telepathy.page:83(p) C/tech-soup.page:64(p) C/tech-pango.page:101(p)
+#: C/tech-notify.page:72(p) C/tech-keyring.page:111(p) C/tech-gupnp.page:64(p)
+#: C/tech-gtk.page:64(p) C/tech-gstreamer.page:64(p)
+#: C/tech-gsettings.page:62(p) C/tech-gobject.page:63(p) C/tech-glib.page:63(p)
+#: C/tech-gio.page:66(p) C/tech-gio-network.page:65(p) C/tech-gdk.page:65(p)
+#: C/tech-gda.page:65(p) C/tech-eds.page:65(p) C/tech-dbus.page:65(p)
+#: C/tech-clutter.page:65(p) C/tech-canberra.page:66(p) C/tech-cairo.page:66(p)
+#: C/tech-atk.page:66(p) C/overview-ui.page:59(p)
+#: C/overview-systemintegration.page:59(p) C/overview-multimedia.page:59(p)
+#: C/overview-help.page:82(p) C/overview-datastorage.page:59(p)
+msgid ""
+"(<link href=\"xxx\">Website</link> | <link href=\"xxx\">Screenshot</link> | "
+"<link href=\"xxx\">Source code</link> )"
+msgstr ""
 
-#: C/webkit.page:25(link)
-msgid "WebKitGTK+ Reference Manual"
-msgstr "WebKitGTK+-Referenzhandbuch"
+#: C/tech-tracker.page:7(desc)
+msgid "Semantic data storage with RDF and SPARQL"
+msgstr ""
 
-#: C/webkit.page:26(link)
-msgid "The WebKitGTK+ web site"
-msgstr "Die WebKitGTK+-Webseite"
+#: C/tech-tracker.page:10(title)
+msgid "Tracker"
+msgstr ""
 
-#: C/telepathy.page:6(desc)
+#: C/tech-telepathy.page:7(desc)
 msgid "Unified and integrated contacts and instant messaging"
 msgstr "Vereinheitlichte und integrierte Kontakte und Sofortnachrichten"
 
-#: C/telepathy.page:10(title)
+#: C/tech-telepathy.page:11(title) C/samples.page:12(case)
 msgid "Telepathy"
 msgstr "Telepathy"
 
-#: C/telepathy.page:12(p)
+#: C/tech-telepathy.page:37(p)
 msgid ""
 "Telepathy provides a powerful framework for interacting with the user's "
 "instant messaging contacts. With Telepathy, all accounts and connections are "
@@ -84,9 +330,9 @@ msgstr ""
 "GNOME-Arbeitsumgebung verankert ist. Anwendungen kÃnnen diesen Dienst nutzen, "
 "um mit den Kontakten zu kommunizieren."
 
-#: C/telepathy.page:18(p)
+#: C/tech-telepathy.page:43(p)
 msgid ""
-"With the Telepathy Tubes API, you can even tunnel an arbitrary protocal over "
+"With the Telepathy Tubes API, you can even tunnel an arbitrary protocol over "
 "modern instant messaging protocols like Jabber to create interactive "
 "applications. Create multi-player games or collaborative editors that "
 "integrate with the desktop-wide instant messaging services."
@@ -97,19 +343,72 @@ msgstr ""
 "geeignete Spiele oder kollaborative Editoren, die sich in die globalen "
 "Sofortnachrichtendienste integrieren."
 
-#: C/telepathy.page:25(link)
+#: C/tech-telepathy.page:49(p)
+msgid "Mission control"
+msgstr ""
+
+#: C/tech-telepathy.page:51(p)
+msgid "Telepathy-Glib"
+msgstr "Telepathy-Glib"
+
+#: C/tech-telepathy.page:61(link)
 msgid "Telepathy Developer's Manual"
 msgstr "Telepathy-Entwicklerhandbuch"
 
-#: C/pango.page:6(desc)
+#: C/tech-telepathy.page:62(p)
+msgid ""
+"Comprehensive manual, including <link href=\"\">conceptual overviews</link>, "
+"example implementations of <link href=\"http://telepathy.freedesktop.org/doc/";
+"book/chapter.chat-example.html\">instant messaging</link>, <link href="
+"\"http://telepathy.freedesktop.org/doc/book/chapter.voip-example.html\";>voice "
+"over IP</link>, and <link href=\"http://telepathy.freedesktop.org/doc/book/";
+"chapter.tube-example.html\">Tubes</link> clients, and a number of <link href="
+"\"http://telepathy.freedesktop.org/doc/book/source-code.html\";>example "
+"programs</link> in C and Python. [BROKEN; LOTS OF TODO ITEMS]"
+msgstr ""
+
+#: C/tech-telepathy.page:89(title) C/demo-magic-mirror.vala.page:149(title)
+#: C/demo-guitar-tuner.vala.page:258(title)
+msgid "Further reading"
+msgstr "Weitere Informationen"
+
+#: C/tech-telepathy.page:92(p)
+msgid ""
+"<link href=\"http://www.aosabook.org/en/telepathy.html\";>Telepathy (technical "
+"overview)</link>, <em>The Architecture of Open Source Applications</em>, "
+"Brown &amp; Wilson, June 2011."
+msgstr ""
+
+#: C/tech-telepathy.page:95(p)
+msgid ""
+"<link href=\"http://gnomejournal.org/article/86/telepathy-overview";
+"\">Telepathy Overview</link>, <em>GNOME Journal</em>, Nov 2009."
+msgstr ""
+
+#: C/tech-telepathy.page:98(p)
+msgid ""
+"<link href=\"http://gnomejournal.org/article/84/telepathy-empathy-and-mission-";
+"control-5-in-gnome-228\">Telepathy, Empathy and Mission Control 5 in GNOME "
+"2.28</link>, <em>GNOME Journal</em>, Nov 2009."
+msgstr ""
+
+#: C/tech-soup.page:6(desc)
+msgid "Asynchronous HTTP library with cookies, SSL, and XML-RPC"
+msgstr ""
+
+#: C/tech-soup.page:9(title)
+msgid "Soup"
+msgstr "Soup"
+
+#: C/tech-pango.page:5(desc)
 msgid "Fully internationalized text layout and rendering"
 msgstr "VollstÃndig internationalisiertes Text-Layout und Darstellung"
 
-#: C/pango.page:10(title)
+#: C/tech-pango.page:9(title)
 msgid "Pango"
 msgstr "Pango"
 
-#: C/pango.page:12(p)
+#: C/tech-pango.page:35(p)
 msgid ""
 "Pango is the core text and font handling library in the GNOME platform. It is "
 "responsible for laying out and rendering text, and is used throughout GTK+."
@@ -118,7 +417,7 @@ msgstr ""
 "GNOME-Plattform. Es ist fÃr das Anordnen und Darstellen von Texten zustÃndig "
 "und wird durchgehend in GTK+ verwendet."
 
-#: C/pango.page:15(p)
+#: C/tech-pango.page:38(p)
 msgid ""
 "The Pango layout engine can be used with different font backends and drawing "
 "backends. On most GNOME systems, Pango will use FreeType, fontconfig, and "
@@ -131,7 +430,7 @@ msgstr ""
 "anderen Systemen kommen deren Schriftsysteme zum Einsatz, zum Beispiel "
 "Uniscribe auf Microsoft Windows und ATSUI auf MacOS."
 
-#: C/pango.page:22(p)
+#: C/tech-pango.page:45(p)
 msgid ""
 "Pango has extensive support for the various writing systems used throughout "
 "the world. Many of the writing systems used for languages have complex rules "
@@ -150,7 +449,7 @@ msgstr ""
 "die verschiedenen Schriftsysteme automatisch. Anwendungsentwickler brauchen "
 "keinen zusÃtzlichen Code zu schreiben, um andere Sprachen zu unterstÃtzen."
 
-#: C/pango.page:31(p)
+#: C/tech-pango.page:54(p)
 msgid ""
 "Pango supports the text styling used in typical documents and interfaces, "
 "including italics, font weights, and underlines. Pango uses a simple XML-like "
@@ -169,7 +468,7 @@ msgstr ""
 "Die Benutzung von Pango ist direkt aus GTK+ heraus mÃglich, was die Anpassung "
 "des Textstils in Ihren grafischen BenutzeroberflÃchen erheblich erleichtert."
 
-#: C/pango.page:40(p)
+#: C/tech-pango.page:63(p)
 msgid ""
 "You should use Pango directly whenever you need to lay text out on the screen "
 "or on a different medium. Using Pango will allow your text layout to work "
@@ -183,19 +482,90 @@ msgstr ""
 "hilft Ihnen bei der Erstellung portablen Codes. Am bedeutsamsten ist jedoch, "
 "dass Ihre Anwendung Text in Hunderten von Sprachen korrekt darstellen kann."
 
-#: C/pango.page:49(link)
+#: C/tech-pango.page:79(link)
 msgid "Pango Reference Manual"
 msgstr "Pango-Referenzhandbuch"
 
-#: C/notify.page:6(desc)
+#: C/tech.page:9(name) C/sample-telepathy-imstatus.page:12(name)
+#: C/samples.page:17(name) C/sample-avahi-discoverprinter.page:12(name)
+#: C/overview-ui.page:9(name) C/overview-systemintegration.page:9(name)
+#: C/overview-multimedia.page:9(name) C/overview-gettingstarted.page:10(name)
+#: C/overview-datastorage.page:9(name) C/overview-communication.page:9(name)
+#: C/overview-communication.page:67(cite) C/dev-translate.page:10(name)
+#: C/dev-translate.page:21(cite) C/dev-help.page:10(name)
+#: C/dev-help.page:21(cite) C/dev-coding.page:10(name)
+#: C/dev-build.page:10(name) C/concepts-signals.page:10(name)
+#: C/concepts-gobject.page:10(name) C/concepts-deployment.page:10(name)
+#: C/concepts-boxmodel.page:10(name)
+msgid "Phil Bull"
+msgstr "Phil Bull"
+
+#: C/tech.page:10(email) C/sample-telepathy-imstatus.page:13(email)
+#: C/samples.page:18(email) C/sample-avahi-discoverprinter.page:13(email)
+#: C/overview-ui.page:10(email) C/overview-systemintegration.page:10(email)
+#: C/overview-multimedia.page:10(email)
+#: C/overview-gettingstarted.page:11(email)
+#: C/overview-datastorage.page:10(email)
+#: C/overview-communication.page:10(email) C/dev-translate.page:11(email)
+#: C/dev-help.page:11(email) C/dev-coding.page:11(email)
+#: C/dev-build.page:11(email) C/concepts-signals.page:11(email)
+#: C/concepts-gobject.page:11(email) C/concepts-deployment.page:11(email)
+#: C/concepts-boxmodel.page:11(email)
+msgid "philbull gmail com"
+msgstr "philbull gmail com"
+
+#: C/tech.page:11(years) C/sample-telepathy-imstatus.page:14(years)
+#: C/samples.page:19(years) C/sample-avahi-discoverprinter.page:14(years)
+#: C/overview-ui.page:11(years) C/overview-systemintegration.page:11(years)
+#: C/overview-multimedia.page:11(years)
+#: C/overview-gettingstarted.page:12(years)
+#: C/overview-datastorage.page:11(years)
+#: C/overview-communication.page:11(years) C/dev-translate.page:12(years)
+#: C/dev-help.page:12(years) C/dev-coding.page:12(years)
+#: C/dev-build.page:12(years) C/concepts-signals.page:12(years)
+#: C/concepts-gobject.page:12(years) C/concepts-deployment.page:12(years)
+#: C/concepts-boxmodel.page:12(years)
+msgid "2012"
+msgstr "2012"
+
+#: C/tech.page:14(desc)
+msgid "See a list of all of the development libraries in GNOME."
+msgstr ""
+
+#: C/tech.page:17(title)
+msgid "Platform libraries"
+msgstr "Plattform-Bibliotheken"
+
+#: C/tech.page:19(p)
+msgid "The GNOME platform is a rich collection of libraries."
+msgstr ""
+
+#: C/tech.page:23(title)
+msgid "Graphics and Multimedia"
+msgstr "Grafik und Multimedia"
+
+# zentrale = wichtige
+#: C/tech.page:28(title)
+msgid "Core Application Support"
+msgstr "UnterstÃtzung fÃr zentrale Anwendungen"
+
+#: C/tech.page:33(title)
+msgid "Application Technologies"
+msgstr "Anwendungstechnologien"
+
+#: C/tech.page:38(title)
+msgid "Under the Hood"
+msgstr "Unter der Haube"
+
+#: C/tech-notify.page:5(desc)
 msgid "Interactive notifications in the messaging tray"
 msgstr "Interaktive Meldungen im Benachrichtigungsfeld"
 
-#: C/notify.page:10(title)
+#: C/tech-notify.page:9(title)
 msgid "Notify"
 msgstr "Benachrichtigungen"
 
-#: C/notify.page:12(p)
+#: C/tech-notify.page:34(p)
 msgid ""
 "The libnotify library provides a convenient API for presenting notifications "
 "to the user. Notifications can be simple message or they can allow the user "
@@ -212,19 +582,19 @@ msgstr ""
 "wird. In GNOME 3 werden die Benachrichtigungen am unteren Rand des "
 "Bildschirms dargestellt und dann in das Benachrichtigungsfeld verschoben."
 
-#: C/notify.page:20(link)
+#: C/tech-notify.page:50(link)
 msgid "Libnotify Reference Manual"
 msgstr "Libnotify-Referenzhandbuch"
 
-#: C/keyring.page:6(desc)
+#: C/tech-keyring.page:5(desc)
 msgid "Secure storage for passwords and other data"
 msgstr "Sicheres Speichern von PasswÃrtern und anderen Daten"
 
-#: C/keyring.page:10(title)
+#: C/tech-keyring.page:9(title)
 msgid "Keyring"
 msgstr "SchlÃsselbund"
 
-#: C/keyring.page:12(p)
+#: C/tech-keyring.page:35(p)
 msgid ""
 "GNOME provides a modern and secure keyring manager to store users' passwords "
 "and other sensitive data. Applications can use the keyring manager library to "
@@ -237,7 +607,7 @@ msgstr ""
 "und Zugreifen auf PasswÃrter verwenden. Benutzer kÃnnen ihre PasswÃrter in "
 "der GNOME-Anwendung <app>SchlÃsselbundverwaltung</app> verwalten."
 
-#: C/keyring.page:18(p)
+#: C/tech-keyring.page:41(p)
 msgid ""
 "The keyring manager provides any number of keyrings, where each keyring can "
 "contain any number of keyring items. Items in a keyring store some piece of "
@@ -252,7 +622,7 @@ msgstr ""
 "Entsperrung bereitstellen mÃssen. Sobald ein SchlÃsselbund entsperrt ist, hat "
 "der Benutzer Zugriff auf alle enthaltenen EintrÃge."
 
-#: C/keyring.page:25(p)
+#: C/tech-keyring.page:48(p)
 msgid ""
 "The keyring manager provides access control lists for each keyring item, "
 "controlling which applications are allowed access to that item. If an unknown "
@@ -268,7 +638,7 @@ msgstr ""
 "dass bÃswillige oder dÃrftig programmierte Anwendungen Zugriff auf die "
 "sicherheitskritischen Daten des Benutzers erlangen."
 
-#: C/keyring.page:32(p)
+#: C/tech-keyring.page:55(p)
 msgid ""
 "Keyring data stored on the file system is encrypted with the AES block "
 "cipher, and SHA1 is used for hashes of the item's attributes. Using the "
@@ -284,7 +654,7 @@ msgstr ""
 "zu mÃssen. Der SchlÃsselbund muss erst dann entsperrt werden, wenn "
 "tatsÃchlich ein passendes Objekt gefunden wurde und darauf zugegriffen wird."
 
-#: C/keyring.page:39(p)
+#: C/tech-keyring.page:62(p)
 msgid ""
 "The keyring manager also provides a session keyring. Items in the session "
 "keyring are never stored on disk, and are lost as soon as the user's session "
@@ -297,7 +667,7 @@ msgstr ""
 "Benutzers beendet ist. Der Sitzungs-SchlÃsselbund kann zum Speichern von "
 "PasswÃrtern genutzt werden, die nur fÃr die aktuelle Sitzung nÃtig sind."
 
-#: C/keyring.page:44(p)
+#: C/tech-keyring.page:67(p)
 msgid ""
 "If you use GIO to access remote servers, you automatically get the benefits "
 "of the keyring manager. Whenever GVFS needs to authenticate the user, it "
@@ -310,7 +680,7 @@ msgstr ""
 "Speicherung des Passworts angeboten, entweder im Standard-SchlÃsselbund oder "
 "im sitzungsgebundenen SchlÃsselbund."
 
-#: C/keyring.page:49(p)
+#: C/tech-keyring.page:72(p)
 msgid ""
 "You should use the keyring manager whenever your application needs to store "
 "passwords or other sensitive data for users. Using the keyring manager "
@@ -322,959 +692,5490 @@ msgstr ""
 "speichern soll. Die SchlÃsselbundverwaltung bietet eine hohe "
 "Bedienerfreundlichkeit und hÃlt die Benutzerdaten doch sicher in Verwahrung."
 
-#: C/keyring.page:54(p)
-msgid ""
-"For API references please see the <link href=\"http://developer.gnome.org/";
-"gnome-keyring/stable/\">gnome-keyring Reference Manual</link> and the <link "
-"href=\"http://developer.gnome.org/libseahorse/stable/\";>libseahorse Reference "
-"Manual</link>."
-msgstr ""
-"Weitere Informationen Ãber API-Referenzen finden Sie im <link href=\"http://";
-"library.gnome.org/gnome-keyring/stable/\">gnome-keyring Referenzhandbuch</"
-"link> und dem <link href=\"http://library.gnome.org/libseahorse/stable/";
-"\">libseahorse Referenzhandbuch</link>."
-
-#: C/index.page:6(desc)
-msgid "Overview of the powerful technologies inside the GNOME platform."
-msgstr "Ãberblick Ãber die mÃchtigen Technologien der GNOME-Plattform."
-
-#: C/index.page:10(name)
-msgid "Shaun McCance"
-msgstr "Shaun McCance"
-
-#: C/index.page:11(email)
-msgid "shaunm gnome org"
-msgstr "shaunm gnome org"
-
-#: C/index.page:15(name)
-msgid "GermÃn PÃo-CaamaÃo"
-msgstr "GermÃn PÃo-CaamaÃo"
-
-#: C/index.page:16(email)
-msgid "gpoo gnome org"
-msgstr "gpoo gnome org"
-
-#: C/index.page:20(name)
-msgid "GNOME Foundation"
-msgstr "GNOME-Foundation"
-
-#: C/index.page:21(page)
-msgid "http://foundation.gnome.org/";
-msgstr "http://foundation.gnome.org/";
-
-#: C/index.page:23(title)
-msgid "GNOME"
-msgstr "GNOME"
-
-#: C/index.page:27(title)
-msgid "Overview of the GNOME Platform"
-msgstr "Ãberblick Ãber die GNOME-Plattform"
-
-#: C/index.page:29(p)
-msgid ""
-"GNOME is a powerful but simple desktop environment with a strong focus on "
-"usability, accessibility, and internationalization. GNOME is designed to be "
-"usable by everybody, regardless of technical expertise, disabilitites, or "
-"native language. GNOME makes it easy for people to use their computers."
-msgstr ""
-"GNOME ist eine mÃchtige und doch schlichte Arbeitsumgebung, bei der das "
-"Hauptaugenmerk auf Benutzerfreundlichkeit, Barrierefreiheit und "
-"Internationalisierung liegt. GNOME wurde entworfen, um von jedermann benutzt "
-"werden zu kÃnnen, ungeachtet seiner technischen FÃhigkeiten, seiner "
-"Behinderungen oder seiner Muttersprache. GNOME macht die Benutzung eines "
-"Rechners leicht."
-
-#: C/index.page:34(p)
-msgid ""
-"The GNOME platform provides a comprehensive development environment for "
-"graphical applications and other software. GNOME provides a comprehensive "
-"developer platform that allow developers to create professional software that "
-"is easy to use and aesthetically pleasing. Using the technologies in GNOME, "
-"you can create high-quality software to meet and exceed your users' "
-"expectations. This document provides a high-level overview of the GNOME "
-"platform along with links to detailed documentation on each part of the "
-"platform."
-msgstr ""
-"Die GNOME-Plattform bietet eine Entwicklungsumgebung fÃr grafische "
-"Anwendungen und andere Software. GNOME stellt eine umfassende "
-"Entwicklerplattform bereit, die die Erstellung professioneller Software "
-"erlaubt, welche leicht zu bedienen ist und auch Ãsthetischen AnsprÃchen "
-"genÃgt. Unter Verwendung der GNOME-Technologien kÃnnen Sie qualitativ "
-"hochwertige Software erstellen, welche die Erwartungen Ihrer Benutzer erfÃllt "
-"und sogar Ãbersteigt. Dieses Dokument bietet einen ausfÃhrlichen Ãberblick "
-"Ãber die Plattform, begleitet von Links zu detaillierteren Informationen zu "
-"jedem der Bestandteile."
-
-#: C/index.page:45(title)
-msgid "Graphics and Multimedia"
-msgstr "Grafik und Multimedia"
-
-# zentrale = wichtige
-#: C/index.page:50(title)
-msgid "Core Application Support"
-msgstr "UnterstÃtzung fÃr zentrale Anwendungen"
-
-#: C/index.page:55(title)
-msgid "Application Technologies"
-msgstr "Anwendungstechnologien"
-
-#: C/index.page:60(title)
-msgid "Under the Hood"
-msgstr "Unter der Haube"
-
-#: C/help.page:6(desc)
-msgid "Topic-oriented help system"
-msgstr "Themenbasiertes Hilfesystem"
-
-#: C/help.page:10(title)
-msgid "Help"
-msgstr "Hilfe"
+#: C/tech-keyring.page:85(link)
+msgid "gnome-keyring Reference Manual"
+msgstr "Referenzhandbuch fÃr gnome-keyring"
 
-#: C/help.page:12(p)
-msgid ""
-"Users sometimes need a little help, even with the best-designed applications. "
-"GNOME provides a built-in topic-oriented help system using the <link href="
-"\"http://projectmallard.org/\";>Mallard</link> markup language. Pioneered by "
-"GNOME developers, Mallard is an agile and dynamic language that helps you "
-"write and revise quickly. Its topic-oriented design means your users can find "
-"the answers they need without sifting through a manual. With its unique "
-"linking and organization system, Mallard is the only language designed to "
-"handle plugin and vendor help in one coherent document."
-msgstr ""
-"Benutzer benÃtigen gelegentlich etwas Hilfe, selbst fÃr die perfektesten "
-"Anwendungen. GNOME verfÃgt Ãber ein eingebautes, themenorientiertes "
-"Hilfesystem, welches die Auszeichnungssprache <link href=\"http://";
-"projectmallard.org/\">Mallard</link> nutzt. Von den GNOME-Entwicklern ins "
-"Leben gerufen, ist Mallard eine agile und dynamische Sprache, die das "
-"Schreiben und Ãberarbeiten erheblich erleichtert. Mit seinem beispiellosen "
-"Verweis- und Organisationssystem ist Mallard die einzige Sprache, die mit "
-"Plugins und HinzufÃgungen von Drittanbietern in einem einzigen "
-"zusammenhÃngenden Dokument umgehen kann."
+#: C/tech-keyring.page:89(link)
+msgid "libseahorse Reference Manual"
+msgstr "libseahorse-Referenzhandbuch"
 
-#: C/help.page:22(p)
-msgid ""
-"When you do need linear manuals, GNOME also supports the industry-standard "
-"<link href=\"http://docbook.org/\";>DocBook</link> format."
+#: C/tech-gupnp.page:5(desc)
+msgid "An easy to use, efficient and flexible UPnP framework"
 msgstr ""
-"Falls Sie linear aufgebaute HandbÃcher benÃtigen, unterstÃtzt GNOME auch das "
-"als Industriestandard designierte <link href=\"http://docbook.org/\";>DocBook</"
-"link>-Format."
-
-#: C/help.page:27(link)
-msgid "Ten Minute Mallard Tour"
-msgstr "Zehn-Minuten-Tour in Mallard"
-
-#: C/help.page:28(link)
-msgid "The Mallard web site"
-msgstr "Die Mallard-Webseite"
 
-#: C/help.page:29(link)
-msgid "The DocBook web site"
-msgstr "Die DocBook-Webseite"
+#: C/tech-gupnp.page:9(title)
+msgid "GUPnP"
+msgstr "GUPnP"
 
-#: C/gtk.page:6(desc)
+#: C/tech-gtk.page:5(desc)
 msgid "Graphical interfaces and core application support"
 msgstr "Grafische Schnittstellen und UnterstÃtzung fÃr zentrale Anwendungen"
 
-#: C/gtk.page:10(title)
+#: C/tech-gtk.page:9(title)
 msgid "GTK+"
 msgstr "GTK+"
 
-#: C/gtk.page:12(p)
-msgid ""
-"GTK+ is the primary library used to construct user interfaces in GNOME. It "
-"provides all the user interface controls, or widgets, used in a common "
-"graphical application. Its modern, object-oriented API allows you to "
-"construct attractive and sophisticated user interfaces without dealing with "
-"the low-level details of drawing and device interaction."
-msgstr ""
-"GTK+ ist die primÃre zur Erstellung von BenutzeroberflÃchen verwendete "
-"Bibliothek in GNOME. Sie stellt alle Bedienelemente bereit, auch Widgets "
-"genannt, die in einer grafischen Anwendung zum Einsatz kommen. Ihre moderne, "
-"objektorientierte Schnittstelle erlaubt Ihnen die Erstellung attraktiver und "
-"kultivierter BenutzeroberflÃchen, ohne dass Sie sich mit den "
-"Hintergrunddetails des Zeichnens oder der Interaktion mit GerÃten befassen "
-"mÃssen."
-
-#: C/gtk.page:19(p)
-msgid ""
-"In addition to basic widgets, such as buttons, check boxes, and text entries, "
-"GTK+ also provides powerful Model-View-Controller (MVC) APIs for tree views, "
-"multi-line text fields, and menu and toolbar actions."
-msgstr ""
-"ZusÃtzlich zu den grundlegenden Widgets wie KnÃpfen, Ankreuzfeldern oder "
-"Texteingabefeldern stellt GTK+ auch eine mÃchtige Model-View-Controller-(MVC-)"
-"Schnittstelle fÃr Baumansichten, mehrzeilige Textfelder sowie MenÃ- und "
-"Werkzeugleisten-Aktionen bereit."
-
-#: C/gtk.page:24(p)
-msgid ""
-"Widgets in GTK+ are placed on windows using a box-packing model. Programmers "
-"specify only how to pack widgets together in container boxes, rather than "
-"position them directly with absolute coordinates. GTK+ ensures that windows "
-"are sized correctly to fit their contents, and it automatically handles "
-"window resizing."
-msgstr ""
-"Die Widgets in GTK+ werden innerhalb von Fenstern in einem Box-"
-"Anordnungsmodell platziert. Die Programmierer legen fest, wie die Widgets in "
-"Containerboxen angeordnet werden sollen, ohne dass diese direkt in "
-"unverÃnderliche Positionen gesetzt werden mÃssen. GTK+ stellt dabei sicher, "
-"dass die FenstergrÃÃen optimal auf deren Inhalt abgestimmt sind. Die "
-"Anpassung der FenstergrÃÃe erfolgt dabei automatisch."
-
-#: C/gtk.page:30(p)
-msgid ""
-"Because GTK+ offers a flexible API, developing additional widgets for use in "
-"GTK+ applications is easy. A number of third-party libraries exist which "
-"provide additional widgets, and many developers have created custom, special-"
-"purpose widgets for their applications."
-msgstr ""
-"Weil GTK+ eine Ãber eine flexible API verfÃgt, ist der Entwurf zusÃtzlicher "
-"Widgets recht einfach. Es existiert eine Reihe von Drittanbieter-"
-"Bibliotheken, die zusÃtzliche Widgets anbieten. Viele Entwickler haben "
-"bereits eigene, fÃr ihre speziellen Zwecke benÃtigte Widgets erstellt."
-
-#: C/gtk.page:35(p)
-msgid ""
-"GTK+ handles the difficult details of user interfaces and user interaction, "
-"and provides a simple yet powerful API which allows you to focus on the "
-"details of your application. Applications developed with GTK+ will "
-"automatically follow the user's theme and font settings, will interact "
-"properly with accessibility technologies, and will behave as users expect."
-msgstr ""
-"GTK+ kÃmmert sich um die schwierigen Einzelheiten der BenutzeroberflÃchen und "
-"Benutzer-Interaktionen. Eine simple und doch mÃchtige API erlaubt es Ihnen, "
-"sich auf die Details Ihrer Anwendung zu konzentrieren. Die mit GTK+ "
-"entwickelten Anwendungen folgen automatisch den Benutzereinstellungen fÃr "
-"Erscheinungsbild und Schriften, arbeiten hervorragend mit Barrierefreiheits-"
-"Technologien zusammen und bieten genau dass, was der Benutzer erwartet."
-
-#: C/gtk.page:43(link)
-msgid "GTK+ demo tutorial"
-msgstr "GTK+ Demo-Tutorial"
-
-#: C/gtk.page:44(link)
-msgid "GTK+ Reference Manual"
-msgstr "GTK+-Referenzhandbuch"
-
-#: C/gtk.page:45(link)
-msgid "The GTK+ web site"
-msgstr "Die GTK+-Webseite"
-
-#: C/gstreamer.page:6(desc)
+#: C/tech-gstreamer.page:5(desc)
 msgid "Plugin-based rich multimedia creation and delivery"
 msgstr "Plugin-basierte, reichhaltige Multimedia-Erzeugung und Wiedergabe"
 
-#: C/gstreamer.page:10(title)
+#: C/tech-gstreamer.page:9(title)
 msgid "GStreamer"
 msgstr "GStreamer"
 
-#: C/gstreamer.page:12(p)
-msgid ""
-"GStreamer is a powerful multimedia library for playing, creating, and "
-"manipulating sound, video, and other media. You can use GStreamer to provide "
-"sound and video playback, record input from multiple sources, and edit "
-"multimedia content. GStreamer supports encoding and decoding numerous formats "
-"by default, and support for additional formats can be added with plug-ins."
-msgstr ""
-"GStreamer ist eine mÃchtige Multimedia-Bibliothek zur Wiedergabe, Erzeugung "
-"und Bearbeitung von KlÃngen, Video und anderen Medien. Sie kÃnnen GStreamer "
-"zur Wiedergabe von Klang und Video, Aufnahmen aus verschiedenen Quellen und "
-"Bearbeiten von Multimedia-Inhalten verwenden. GStreamer unterstÃtzt bereits "
-"die Kodierung und Enkodierung verschiedener Formate. Die UnterstÃtzung fÃr "
-"weitere Formate kann Ãber Plugins erfolgen."
-
-#: C/gstreamer.page:19(p)
-msgid ""
-"GStreamer provides a flexible architecture wherein media is processed through "
-"a pipeline of elements. Each element may apply filters to the content, such "
-"as encoding or decoding, combining multiple sources, or transforming the "
-"multimedia content. This architecture allows for an arbitrary arrangement of "
-"elements, so that you can accomplish virtually any effect using GStreamer. "
-"Furthermore, GStreamer is designed to have low overhead, so it can be used in "
-"applications with high demands on latency."
-msgstr ""
-"GStreamer stellt eine flexible Architektur bereit, in der Mediendaten "
-"innerhalb einer Pipeline aus Elementen verarbeitet werden. Jedes Element kann "
-"Filter auf die Inhalte anwenden, wie Enkodierung oder Dekodierung, "
-"ZusammenfÃhren mehrerer Quellen, oder Umwandeln des Multimedia-Inhalts. Diese "
-"Architektur erlaubt eine willkÃrliche Anordnung der Elemente, so dass Sie "
-"virtuell jeden beliebigen Effekt in GStreamer verwirklichen kÃnnen. AuÃerdem "
-"wurde GStreamer auf geringen Verschnitt hin entworfen, so dass es in "
-"Anwendungen mit hohen Anforderungen an die Latenzzeit genutzt werden kann."
-
-#: C/gstreamer.page:28(p)
-msgid ""
-"While GStreamer provides a powerful API for manipulating multimedia, it also "
-"provides convenient routines for simple playback. GStreamer can automatically "
-"construct a pipeline to read and playback files in any supported format, "
-"allowing you to use sound and video in your application easily."
-msgstr ""
-"GStreamer bietet nicht nur eine mÃchtige API fÃr die Manipulation von "
-"Multimediadaten, sondern auch bequeme Routinen fÃr die einfache Wiedergabe. "
-"GStreamer kann automatisch eine Weiterleitung konstruieren, um Dateien in "
-"jedem unterstÃtzten Format zu lesen und wiederzugeben. Dies erlaubt Ihnen in "
-"Ihrer Anwendung die einfache Nutzung von Klang und Video."
-
-#: C/gstreamer.page:34(p)
-msgid ""
-"The GStreamer architecture allows plugins to add encoders, decoders, and all "
-"sorts of content filters. Third-party developers can provide GStreamer "
-"plugins which will be automatically available to other applications using "
-"GStreamer. Plugins can provide support for other multimedia formats or "
-"provide additional functionality and effects."
-msgstr ""
-"Die GStreamer-Architektur ermÃglicht es, mittels Plugins Encoder und Decoder "
-"einzubinden sowie den Inhalt auf alle erdenklichen Arten zu filtern. "
-"Drittanbieter kÃnnen GStreamer-Plugins bereitstellen, die Ãber dann "
-"automatisch auch fÃr alle Anwendungen verfÃgbar sind, die GStreamer nutzen. "
-"Plugins kÃnnen der UnterstÃtzung weiterer Multimediaformate dienen oder "
-"zusÃtzliche Funktionen und Effekte bereitstellen."
-
-#: C/gstreamer.page:41(p)
-msgid ""
-"You should use GStreamer whenever you need to read or play multimedia content "
-"in your application, or if your application needs to manipulate sound or "
-"video. Using GStreamer makes your application development easy, and it "
-"provides you well-tested elements for many of your needs."
-msgstr ""
-"Sie sollten GStreamer verwenden, wann immer es in Ihrer Anwendung notwendig "
-"ist, Multimedia-Inhalte zu lesen oder wiederzugeben, oder wenn Ihre Anwendung "
-"KlÃnge oder Video bearbeiten soll. GStreamer erleichtert Ihre "
-"Anwendungsentwicklung und stellt umfassend getestete Elemente fÃr viele "
-"AnwendungsfÃlle bereit."
-
-#: C/gstreamer.page:47(p)
-msgid ""
-"For comprehensive information on GStreamer, see <link href=\"http://gstreamer.";
-"freedesktop.org/data/doc/gstreamer/head/manual/html/index.html\">The "
-"GStreamer Application Development Manual</link>, <link href=\"http://";
-"gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/\">The "
-"GStreamer 0.10 Core Reference Manual</link>, and <link href=\"http://";
-"gstreamer.freedesktop.org/documentation/\">the GStreamer documentation page</"
-"link>."
+#: C/tech-gsettings.page:7(title)
+msgid "GSettings"
+msgstr "GSettings"
+
+#: C/tech-gobject.page:5(desc)
+msgid "Bindable and introspectable C object system"
 msgstr ""
-"Umfassende Informationen zu GStreamer finden Sie in <link href=\"http://";
-"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html"
-"\">The GStreamer Application Development Manual</link>, <link href=\"http://";
-"gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/\">The "
-"GStreamer 0.10 Core Reference Manual</link> und der <link href=\"http://";
-"gstreamer.freedesktop.org/documentation/\">Dokumentationsseite zu GStreamer</"
-"link>."
 
-#: C/gio.page:6(desc)
+#: C/tech-gobject.page:8(title)
+msgid "GObject"
+msgstr "GObject"
+
+#: C/tech-glib.page:5(desc)
+msgid "glib"
+msgstr "glib"
+
+#: C/tech-glib.page:8(title)
+msgid "GLib"
+msgstr "GLib"
+
+#: C/tech-gio.page:6(desc)
 msgid "Asynchronous file and URI handling with access to file and volume info"
 msgstr ""
 "Asynchrone Verarbeitung von Dateien und Adressen mit Zugriff auf "
 "Informationen zu Dateien und DatentrÃgern"
 
-#: C/gio.page:11(title)
+#: C/tech-gio.page:11(title)
 msgid "GIO Files"
 msgstr "GIO-Dateien"
 
-#: C/gio.page:13(p)
-msgid ""
-"GIO provides APIs for asynchronously reading and writing files and other "
-"streams. Files are referenced by URIs, and local backends can provide access "
-"to more than just local files. When running under the GNOME desktop, GIO uses "
-"GVfs to allow access to files over SFTP, FTP, WebDAV, SMB, and other popular "
-"protocols. This transparent network file access is free to all applications "
-"using GIO."
-msgstr ""
-"GIO stellt Schnittstellen zum asynchronen Lesen und Schreiben von Dateien und "
-"anderen DatenstrÃmen bereit. Dateien werden als Adressen referenziert, so "
-"dass lokale Backends auf mehr als nur lokale Dateien zugreifen kÃnnen. "
-"Innerhalb der GNOME-Arbeitsumgebung benutzt GIO GVfs zum Zugriff auf Dateien "
-"Ãber SFTP, FTP, WebDAV, SMB und andere populÃre Protokolle. Dieser "
-"transparente Netzwerkzugriff auf Dateien ist aus allen Anwendungen heraus "
-"mÃglich, die GIO nutzen."
-
-#: C/gio.page:20(p)
-msgid ""
-"The GIO file APIs were designed to be used in event-driven graphical "
-"interfaces. The non-blocking, asynchronous design means your user interface "
-"doesn't hang while waiting for a file. There are also synchronous versions of "
-"the APIs available, which are sometimes more convenient for worker threads or "
-"processes."
-msgstr ""
-"Die Datei-APIs in GIO wurden fÃr die Nutzung in ereignisgesteuerten "
-"grafischen BenutzeroberflÃchen entworfen. Das nicht-blockierende, asynchrone "
-"Design bedeutet, dass die BenutzeroberflÃche Ihrer Anwendung nicht "
-"ausgebremst wird, wÃhrend auf eine Datei gewartet wird. Es sind auch "
-"synchrone Versionen der APIs verfÃgbar, welche gelegentlich fÃr "
-"Arbeitsthreads oder Prozesse notwendig sind."
-
-#: C/gio.page:26(p)
-msgid ""
-"GIO also provides routines for managing drives and volumes, querying file "
-"types and icons, and finding applications to open files."
-msgstr ""
-"GIO bietet auÃerdem Routinen fÃr die Verwaltung von Laufwerken und "
-"DatentrÃgern, die Abfrage von Dateitypen und Symbolen und zum Suchen von "
-"Anwendungen zum Ãffnen von Dateien."
-
-#: C/gio.page:30(link) C/gio-network.page:20(link) C/d-bus.page:46(link)
-msgid "GIO Reference Manual"
-msgstr "GIO-Referenzhandbuch"
-
-#: C/gio-network.page:6(desc)
+#: C/tech-gio-network.page:6(desc)
 msgid "Powerful networking API built on the GIO stream classes"
 msgstr "MÃchtige Netzwerk-API, die auf den GIO-Stream-Klassen aufsetzt"
 
-#: C/gio-network.page:10(title)
+#: C/tech-gio-network.page:10(title)
 msgid "GIO Networking"
 msgstr "Netzwerk mit GIO"
 
-#: C/gio-network.page:12(p)
-msgid ""
-"Built on top of the stream APIs used for files, GIO provides high-level "
-"networking APIs to communicate over TCP/IP and UNIX domain sockets. You can "
-"use the GIO networking APIs to connect to a server, listen for events, and "
-"read resources. The asynchronous API designs means your application doesn't "
-"block waiting for a response."
-msgstr ""
-"Aufbauend auf den fÃr Dateien verwendeten Stream-APIs bietet GIO Netzwerk-"
-"APIs auf hÃherer Ebene fÃr die Kommunikation Ãber TCP/IP und UNIX Domain-"
-"Sockets. Sie kÃnnen die Netzwerk-APIs aus GIO fÃr die Verbindung zu einem "
-"Server, zum Lauschen nach Ereignissen und Lesen von Ressourcen verwenden. Das "
-"asynchrone API-Design hat zur Folge, dass Ihre Anwendung nicht blockiert "
-"wird, wÃhrend auf eine Antwort gewartet wird."
-
-#: C/gio-network.page:21(link)
-msgid "Lowlevel network support"
-msgstr "NetzwerkunterstÃtzung auf niederer Ebene"
-
-#: C/gio-network.page:22(link)
-msgid "Highlevel network functionality"
-msgstr "NetzwerkfunktionalitÃt auf hÃherer Ebene"
-
-#: C/gdk.page:6(desc)
+#: C/tech-gdk.page:6(desc)
 msgid "Underlying windowing and event handling"
 msgstr "Darunterliegendes Handling von Fenstern und Ereignissen"
 
-#: C/gdk.page:10(title)
+#: C/tech-gdk.page:10(title)
 msgid "GDK"
 msgstr "GDK"
 
-#: C/gdk.page:12(p)
-msgid ""
-"GDK is the low-level library used by GTK+ to interact with the system for "
-"graphics and input devices. Although you will rarely use GDK directly in "
-"application code, it contains all the necessary functionality to draw objects "
-"and text to the screen and to interact with the user with various input "
-"devices."
-msgstr ""
-"GDK ist die Low-Level-Bibliothek, die von GTK+ zur Interaktion mit dem System "
-"fÃr grafische und EingabegerÃte verwendet wird. Obwohl Sie GDK im "
-"Anwendungscode kaum direkt verwenden werden, enthÃlt es doch alle notwendige "
-"FunktionalitÃt zum Darstellen von Text und Objekten auf dem Bildschirm sowie "
-"zur Interaktion des Benutzers mit den verschiedenen EingabegerÃten."
-
-#: C/gdk.page:18(p)
-msgid ""
-"GDK enables you to access events from keyboards, mice, and other input "
-"devices, rather than connect to the high-level signals used in GTK+. GDK also "
-"provides low-level routines to access drag and drop and clipboard data from "
-"the system. When implementing custom controls, you may need to access these "
-"features to implement proper user interaction behavior."
-msgstr ""
-"GDK ermÃglicht Ihnen den Zugriff auf von Tastaturen, MÃusen oder anderen "
-"EingabegerÃten ausgelÃste Ereignisse, im Gegensatz zu den in GTK+ verwendeten "
-"High-Level-Signalen. GDK stellt auch Low-Level-Routinen fÃr Ziehen-und-"
-"Ablegen und die Daten in der Zwischenablage des Systems zur VerfÃgung. Wenn "
-"Sie eigene BedienungsmÃglichkeiten implementieren, dann dÃrften Sie auf diese "
-"Funktionsmerkmale zugreifen wollen, um eine saubere Interaktion mit dem "
-"Benutzer zu gewÃhrleisten."
-
-#: C/gdk.page:25(p)
-msgid ""
-"GDK provides other functionality which is needed to implement a complete "
-"graphical toolkit like GTK+. Since GDK acts as a platform abstraction, "
-"allowing GTK+ to run under multiple environments, it provides an API for all "
-"of the system functionality needed by GTK+. This includes information about "
-"multi-head displays, resolution and color depth, colormaps, and cursors."
-msgstr ""
-"GDK stellt weitere FunktionalitÃt bereit, die fÃr die Implementation eines "
-"kompletten grafischen Werkzeugkastens wie GTK+ erforderlich ist. Weil sich GTK"
-"+ als Plattform-Abstraktion versteht, was dir Verwendung in verschiedenen "
-"Umgebungen ermÃglicht, stellt es eine API fÃr alle von GTK+ benÃtigte "
-"SystemfunktionalitÃt bereit. Das schlieÃt Informationen Ãber die Anzeige auf "
-"mehreren Bildschirmen ein, die AuflÃsung und Farbtiefe, Farbpaletten und "
-"Zeiger."
-
-#: C/gdk.page:32(p)
-msgid ""
-"You should use GDK whenever you need low-level access to the underlying "
-"windowing system, including low-level access to events, windows, and the "
-"clipboard. Using GDK for these tasks ensures that your code is portable and "
-"integrates with the rest of your GTK+ code. The simple drawing routines in "
-"GDK should generally not be used. Instead, you should use the extensive "
-"functionality provide by Cairo."
-msgstr ""
-"Sie sollten GDK immer dann verwenden, wenn Sie Zugriff auf das "
-"darunterliegende Fenstersystem benÃtigen, wie beispielsweise Zugriff auf "
-"Ereignisse, Fenster oder die Zwischenablage. Die Nutzung von GDK fÃr "
-"derartige Aufgaben stellt sicher, dass Ihr Code portierbar ist und sich in "
-"den restlichen GTK+-Code gut integriert. Die simplen Zeichenroutinen in GDK "
-"sollten nicht verwendet werden. Stattdessen sollten Sie die erweiterte "
-"FunktionalitÃt nutzen, die Cairo zur VerfÃgung stellt."
-
-#: C/gdk.page:41(link)
-msgid "GDK Reference Manual"
-msgstr "GDK-Referenzhandbuch"
-
-#: C/gda.page:6(desc)
+#: C/tech-gda.page:6(desc)
 msgid "Common relational database access"
 msgstr "Zugriff auf verbreitete relationale Datenbanken"
 
-#: C/gda.page:10(title)
+#: C/tech-gda.page:10(title)
 msgid "GDA"
 msgstr "GDA"
 
-#: C/gda.page:12(p)
-msgid ""
-"GDA offers a wrapper around relational databases, allowing you to easily "
-"store and retrieve data in many different common database systems."
-msgstr ""
-"GDA bietet einen Wrapper fÃr relationale Datenbanken, welcher Ihnen das "
-"einfache Speichern und Holen von Daten in verschiedenen verbreiteten "
-"Datenbanksystemen ermÃglicht."
-
-# Der Titel ist im Original auch nicht Ãbersetzt.
-#: C/gda.page:17(link)
-msgid "GNOME Data Access Manual"
-msgstr "GNOME Data Access Manual"
-
-#: C/eds.page:6(desc)
+#: C/tech-eds.page:6(desc)
 msgid "Integration with the desktop-wide address book and calendar"
 msgstr "Integration mit dem globalen Adressbuch und Kalender"
 
-#: C/eds.page:10(title)
+#: C/tech-eds.page:10(title)
 msgid "Evolution Data Server"
 msgstr "Evolution Data Server"
 
-#: C/eds.page:12(p)
-msgid ""
-"With Evolution Data Server, GNOME provides a single address book and calendar "
-"that all applications can use to store and retrieve information. Using "
-"Evolution Data Server means that users no longer have to maintain separate "
-"lists of contacts in each application, or manually copy events to their "
-"calendar."
-msgstr ""
-"Mit dem ÂEvolution Data Server bietet GNOME ein Adressbuch und einen "
-"Kalender, den alle Anwendungen zum Speichern und Abfragen von Informationen "
-"verwenden kÃnnen. Benutzer brauchen dadurch nicht mehr separate Kontaktlisten "
-"in den verschiedenen Anwendungen zu verwalten oder per Hand Ereignisse in ."
-"den Kalender zu kopieren"
-
-#: C/eds.page:18(p)
-msgid ""
-"People use computers increasingly to interact with their friends and "
-"colleagues. Applications such as email programs, instant messengers, and "
-"telephony and video conferencing applications are used to communicate with "
-"others. These applications often provide contact lists to help users. Using "
-"Evolution Data Server, applications can store contact information in a single "
-"location, allowing all applications to see all the pertinent data about "
-"users' contacts."
-msgstr ""
-"Leute, die Rechner benutzen, wollen in immer mehr zunehmendem MaÃe mit "
-"Freunden oder Kollegen in Verbindung treten. Anwendungen wie E-Mail-"
-"Programme, Sofortnachrichtendienste oder Videokonferenzen werden zur "
-"Kommunikation mit anderen benutzt. Diese Anwendungen stellen oft "
-"Kontaktlisten bereit, um den Benutzer zu unterstÃtzen. Bei der Verwendung von "
-"ÂEvolution Data Server kÃnnen Anwendungen jegliche Kontaktinformationen an "
-"einem zentralen Ort speichern, was allen Anwendungen die fÃr Kontakt "
-"relevanten Daten zur VerfÃgung stellt."
-
-#: C/eds.page:26(p)
-msgid ""
-"Applications can also use Evolution Data Server to store and retrieve "
-"appointments on the user's calendar. For example, the clock on the panel "
-"shows a simple calendar when clicked. If the user has any appointments "
-"scheduled, they are shown alongside the calendar. This makes it easy to see "
-"upcoming appointments without opening a full calendar application."
-msgstr ""
-"Anwendungen kÃnnen den ÂEvolution Data Server ebenfalls dazu verwenden, "
-"EintrÃge des Benutzerkalenders zu speichern oder abzufragen. Beispielsweise "
-"zeigt die Uhr im Panel beim Anklicken einen einfachen Kalender an. Falls der "
-"Benutzer Termine eingetragen hat, werden diese im Kalender angezeigt. Dadurch "
-"wird die Anzeige von Terminen erleichtert, da das Ãffnen einer kompletten "
-"Kalender-Anwendung nicht nÃtig ist."
-
-#: C/eds.page:33(link)
-msgid "Evolution API Reference: libebook"
-msgstr "Evolution-API-Referenz: libebook"
-
-#: C/eds.page:34(link)
-msgid "Evolution API Reference: libecal"
-msgstr "Evolution-API-Referenz: libecal"
-
-#: C/d-bus.page:6(desc)
+#: C/tech-dbus.page:6(desc)
 msgid "Standard interprocess communications bus"
 msgstr "Standard-Bus fÃr die Interprozess-Kommunikation"
 
-#: C/d-bus.page:10(title)
+#: C/tech-dbus.page:10(title)
 msgid "D-Bus"
 msgstr "D-Bus"
 
-#: C/d-bus.page:12(p)
-msgid ""
-"D-Bus is a cross-desktop message bus for sending events between various "
-"applications, the desktop, and low-level components of the system. D-Bus "
-"provides a simple API for sending messages to particular services and for "
-"broadcasting messages to all interested services. D-Bus enables different "
-"types of applications to communicate and integrate with each other and with "
-"the desktop, providing better interaction and a richer experience for the "
-"user."
-msgstr ""
-"D-BUS ist ein Plattform Ãbergreifendes Nachrichtensystem zum Senden von "
-"Ereignismeldungen zwischen verschiedenen Anwendungen sowie den eingebauten "
-"Komponenten des Systems. D-BUS stellt eine einfache Schnittstelle zum Senden "
-"von Nachrichten zu bestimmten Diensten und fÃr die Verbreitung von Meldungen "
-"an alle interessierten Dienste dar. D-BUS ermÃglicht die Kommunikation "
-"zwischen verschiedenen Anwendungstypen und deren gemeinsame Integration in "
-"die Arbeitsumgebung, wobei eine bessere Interaktion durch den Benutzer "
-"erreicht wird."
-
-#: C/d-bus.page:20(p)
-msgid ""
-"D-Bus provides a session and a system bus. The session bus is used by "
-"applications in a single user session, allowing them to share data and event "
-"notifications and to integrate into the user's desktop. For example, movie "
-"players can send a D-Bus message to prevent the screensaver from activating "
-"when the user is watching a movie."
-msgstr ""
-"D-Bus stellt einen Sitzungs- und einen Systembus bereit. Der Sitzungsbus wird "
-"von Anwendungen in einer einzelnen Benutzersitzung verwendet, was den "
-"Anwendungen die Freigabe von Daten und Benachrichtigungen Ãber Ereignisse "
-"sowie die Integration in die Arbeitsumgebung des Benutzers ermÃglicht. "
-"Beispielsweise kÃnnen Video-Wiedergabeprogramme eine D-Bus-Meldung senden, um "
-"die Aktivierung des Bildschirmschoners zu verhindern, wenn der Benutzer ein "
-"Video abspielt."
-
-#: C/d-bus.page:26(p)
-msgid ""
-"The system bus is a single message bus which runs independently of any user "
-"sessions. It can communicate with applications in any session, enabling those "
-"applications to interact with system components without dealing with low-"
-"level system details. The system bus is used to provide important "
-"functionality that users expect to work on their systems. For example, the "
-"system bus is used to monitor when network interfaces go up or down, when "
-"external drives get plugged in, and when laptop batteries are low."
-msgstr ""
-"Der Systembus ist ein einzelner Nachrichtenbus, der unabhÃngig von einer "
-"Benutzersitzung lÃuft. Er kann mit Anwendungen in einer beliebigen Sitzung "
-"kommunizieren, wobei diesen Anwendungen die Interaktion mit Systemkomponenten "
-"ermÃglicht wird, ohne auf Low-Level-Details des Systems zurÃckgreifen zu "
-"mÃssen. Der Systembus wird verwendet, um wichtige FunktionalitÃten "
-"bereitzustellen, die der Benutzer erwartet. Beispielsweise Ãberwacht der "
-"Systembus VorgÃnge wie das Aktivieren oder Deaktivieren von "
-"Netzwerkschnittstellen, das AnschlieÃen externer Laufwerke oder die KapazitÃt "
-"der Laptop-Akkus."
-
-#: C/d-bus.page:35(p)
-msgid ""
-"D-Bus is developed jointly on <link href=\"http://www.freedesktop.org/";
-"\">freedesktop.org</link>, so you can use it with different desktop "
-"environments and applications. Because D-Bus is a cross-desktop project, you "
-"use it to create portable and versatile software that seamlessly integrates "
-"with the user's desktop, regardless of which desktop it is."
-msgstr ""
-"D-Bus wird plattformÃbergreifend auf <link href=\"http://www.freedesktop.org/";
-"\">freedesktop.org</link> entwickelt, so dass Sie es in verschiedenen "
-"Arbeitsumgebungen und Anwendungen nutzen kÃnnen. Weil D-Bus ein "
-"plattformÃbergreifendes Projekt ist, eignet es sich zum Entwurf portierbarer "
-"und vielseitiger Software, die sich nahtlos in die Arbeitsumgebung einfÃgt, "
-"unabhÃngig von deren Ursprung."
-
-#: C/d-bus.page:42(p)
-msgid ""
-"GNOME provides full support for D-Bus using the GBus and GDBus APIs in GIO."
-msgstr ""
-"GNOME bietet Ãber die APIs von GBus und GDBus in GIO vollstÃndige "
-"UnterstÃtzung fÃr D-Bus."
-
-#: C/d-bus.page:47(link)
-msgid "D-Bus Tutorial"
-msgstr "D-Bus-Tutorial"
-
-#: C/d-bus.page:48(link)
-msgid "D-Bus Specification"
-msgstr "D-Bus-Spezifikation"
-
 # Szenengrafik ist etwas unglÃcklich, aber ich weià auch nichts besseres aus der Computergrafik
-#: C/clutter.page:6(desc)
+#: C/tech-clutter.page:6(desc)
 msgid "Stunning graphics and animations with a scene-graph API"
 msgstr "ÃberwÃltigende Grafiken und Animationen mit einer Szenengrafik-API"
 
-#: C/clutter.page:10(title)
+#: C/tech-clutter.page:10(title)
 msgid "Clutter"
 msgstr "Clutter"
 
-#: C/clutter.page:12(p)
+#: C/tech-canberra.page:7(desc)
+msgid "Simple audio API for notifications and events"
+msgstr "Einfache Audio-Schnittstelle fÃr Benachrichtigungen und Ereignisse"
+
+#: C/tech-canberra.page:11(title)
+msgid "Canberra"
+msgstr "Canberra"
+
+#: C/tech-cairo.page:7(desc)
+msgid "Modern 2D vector drawing canvas"
+msgstr "Moderne ZeichenflÃche fÃr zweidimensionale Vektorgrafik"
+
+#: C/tech-cairo.page:11(title)
+msgid "Cairo"
+msgstr "Cairo"
+
+#: C/tech-atk.page:6(desc)
+msgid "Support for screen readers and other accessibility tools"
+msgstr "UnterstÃtzung fÃr Bildschirmleser und andere Barrierefreiheitswerkzeuge"
+
+#: C/tech-atk.page:11(title)
+msgid "ATK"
+msgstr "ATK"
+
+#: C/sample-telepathy-imstatus.page:17(desc)
+#: C/sample-avahi-discoverprinter.page:17(desc)
+msgid "xxx"
+msgstr "xxx"
+
+#: C/sample-telepathy-imstatus.page:20(title)
+#: C/overview-communication.page:55(p)
+msgid "Change the IM status"
+msgstr ""
+
+#: C/sample-telepathy-imstatus.page:22(p)
+msgid "Use the Telepathy API to change the user's IM status."
+msgstr ""
+
+#: C/sample-telepathy-imstatus.page:25(p) C/overview-communication.page:34(p)
+msgid "Empathy instant messaging client"
+msgstr ""
+
+#: C/sample-telepathy-imstatus.page:28(code)
+#, no-wrap
 msgid ""
-"Clutter is a library that allows creating fast, portable, dynamic, compelling "
-"user interfaces."
+"\n"
+"import telepathy\n"
+"status = telepathy.get_im_status_or_whatever()\n"
 msgstr ""
-"Clutter ist eine Bibliothek zum Erstellen schneller, portabler, dynamischer "
-"und ansprechender Benutzerschnittstellen."
+"\n"
+"import telepathy\n"
+"status = telepathy.get_im_status_or_whatever()\n"
+
+#: C/samples.page:11(title)
+msgid "Technology"
+msgstr "Technologie"
 
-#: C/clutter.page:15(p)
+#: C/samples.page:13(case)
+msgid "Avahi"
+msgstr "Avahi"
+
+#: C/samples.page:22(desc)
 msgid ""
-"Clutter uses the <link href=\"http://www.khronos.org/opengl/\";>OpenGL</link> "
-"and <link href=\"http://www.khronos.org/opengles/\";>OpenGL|ES</link> industry "
-"standard API to access the accelerated graphical hardware on both desktop and "
-"mobile environments alike, without exposing the complexities of GPU pipeline "
-"programming."
+"Short snippets of example code to implement specific features and UI patterns."
 msgstr ""
-"Clutter verwendet die Industriestandard-APIs <link href=\"http://www.khronos.";
-"org/opengl/\">OpenGL</link> und <link href=\"http://www.khronos.org/opengles/";
-"\">OpenGL|ES</link>, um Hardwarebeschleunigung fÃr Grafik sowohl auf "
-"Arbeitsplatz- als auch auf mobilen Rechnern einzusetzen, ohne die KomplexitÃt "
-"der GPU Pipeline-Programmierung zu enthÃllen."
 
-#: C/clutter.page:21(p)
+#: C/samples.page:26(p)
 msgid ""
-"Clutter does not specify any visual style, and does not provide any pre-"
-"defined complex user interface control; it lets the developer define what is "
-"needed, using a flexible scene graph API, with free-form placement of the "
-"scene elements (or \"actors\") on the main viewport (or \"stage\")."
+"This library of code snippets provides demonstrations of all sorts of "
+"functionality that you can add to your app with GNOME APIs."
+msgstr ""
+
+#: C/sample-avahi-discoverprinter.page:20(title)
+msgid "Discover printers on the local network with mDNS"
 msgstr ""
-"Clutter definiert keinen visuellen Stil und bietet keine vorkonfigurierte "
-"komplexe Steuerung der Benutzerschnittstelle; es ÃberlÃsst den Entwicklern "
-"die Definition alles notwendigen mit Hilfe einer flexibler API fÃr "
-"Szenegraphen mit freier Platzierung der Szenenelemente (d.h. Akteuren) und "
-"des Bildschirmausschnitts (d.h.BÃhne)."
 
-#: C/clutter.page:26(p)
+#: C/sample-avahi-discoverprinter.page:22(p)
 msgid ""
-"Clutter comes with pre-defined actors for displaying solid colors, image "
-"data, text and custom high-precision 2D drawing using the Cairo API. Clutter "
-"also provides generic classes for structuring a user interface using both a "
-"box-packing model like GTK+, and a series of free-form \"constraints\"."
+"You can find printers on the local network using Avahi and mDNS/zeroconf."
+msgstr ""
+
+#: C/sample-avahi-discoverprinter.page:25(p)
+msgid "Avahi find printers."
 msgstr ""
-"Clutter stellt vordefinierte Akteure zur VerfÃgung zur Anzeige einfarbiger "
-"FlÃchen, Bilddaten, Text und benutzerdefiniertem 2D-Zeichnen mit hoher "
-"PrÃzision mit Hilfe der Cairo-API. Clutter bietet auch generische Klassen zur "
-"Strukturierung einer Benutzerschnittstelle sowohl mittels des Box-Packing-"
-"Modells wie GTK+, als auch einer Serie von beliebigen ÂEinschrÃnkungenÂ."
 
-#: C/clutter.page:32(p)
+#: C/sample-avahi-discoverprinter.page:28(code)
+#, no-wrap
 msgid ""
-"A number of third-party libraries allow integration with other technologies, "
-"such as: Clutter-GTK, for embedding a Clutter stage inside a GTK+ "
-"application; Clutter-GStreamer, for embedding GStreamer video and audio "
-"pipelines; Clutter-Box2D and Clutter-Bullet, for adding physics interaction "
-"in both 2D and 3D environments."
+"\n"
+"import avahi\n"
+"do_something()\n"
 msgstr ""
-"Eine Reihe Bibliotheken von Drittanbietern ermÃglicht die Integration mit "
-"anderen Technologien wie z.B.: Clutter-GTK fÃr die Einbettung einer Clutter-"
-"Ansicht in eine GTK+-Anwendung, Clutter-GStreamer zum Einbetten von GStreamer-"
-"Video und Ton, Clutter-Box2D und Clutter-Bullet zum HinzufÃgen von "
-"physikalischer Interaktion in 2D- als auch 3D-Umgebungen."
+"\n"
+"import avahi\n"
+"do_something()\n"
 
-#: C/clutter.page:39(link)
-msgid "The Clutter Cookbook"
-msgstr "Das Clutter-Kochbuch"
+#: C/overview-ui.page:14(desc)
+msgid ""
+"Standard user interface elements, rendering, animation, and document display."
+msgstr ""
 
-#: C/clutter.page:40(link)
-msgid "Clutter Reference Manual"
-msgstr "Clutter-Referenzhandbuch"
+#: C/overview-ui.page:17(title)
+msgid "User interface and display"
+msgstr ""
 
-#: C/clutter.page:41(link)
-msgid "The Clutter web site"
-msgstr "Die Webseite von Clutter"
+#: C/overview-ui.page:31(p) C/overview-systemintegration.page:31(p)
+#: C/overview-multimedia.page:31(p) C/overview-help.page:25(p)
+#: C/overview-datastorage.page:31(p)
+msgid "Marketing blurb, info on what the platform offers."
+msgstr ""
 
-#: C/canberra.page:6(desc)
-msgid "Simple audio API for notifications and events"
-msgstr "Einfache Audio-Schnittstelle fÃr Benachrichtigungen und Ereignisse"
+#: C/overview-ui.page:34(p) C/overview-systemintegration.page:34(p)
+#: C/overview-multimedia.page:34(p) C/overview-help.page:28(p)
+#: C/overview-datastorage.page:34(p)
+msgid "IMAGE"
+msgstr ""
 
-#: C/canberra.page:10(title)
-msgid "Canberra"
-msgstr "Canberra"
+#: C/overview-ui.page:40(p) C/overview-systemintegration.page:40(p)
+#: C/overview-multimedia.page:40(p) C/overview-help.page:63(p)
+#: C/overview-datastorage.page:40(p)
+msgid ""
+"For <em style=\"strong\">action</em>, use <em style=\"strong\"><link xref="
+"\"blah\">technology</link></em>."
+msgstr ""
 
-#: C/canberra.page:12(p)
+#: C/overview-ui.page:55(p) C/overview-systemintegration.page:55(p)
+#: C/overview-multimedia.page:55(p) C/overview-help.page:78(p)
+#: C/overview-datastorage.page:55(p)
 msgid ""
-"Canberra is a simple library for playing audio events and notifications, such "
-"as when the user has received a message or an error has occurred. As well as "
-"providing a convenient API, Canberra can also work with the accessibility "
-"features of the desktop to provide alternate notification for hearing-"
-"impaired users."
+"You can see lots of real-world applications of system integration in open "
+"source projects, like the examples given below."
 msgstr ""
-"Canberra ist eine einfache Bibliothek zum Abspielen von Klangereignissen und "
-"Benachrichtigungen, beispielsweise wenn der Benutzer eine Nachricht erhalten "
-"hat oder ein Fehler aufgetreten ist. Neben der Bereitstellung einer "
-"komfortablen API kann Canberra auÃerdem mit den Barrierefreiheits-"
-"Funktionsmerkmalen der Arbeitsumgebung umgehen, um alternative "
-"Benachrichtigungen fÃr Benutzer mit eingeschrÃnkten HÃrvermÃgen "
-"bereitzustellen."
 
-#: C/canberra.page:19(link)
-msgid "Canberra Reference"
-msgstr "Canberra Referenz"
+#: C/overview-systemintegration.page:14(desc)
+msgid ""
+"Make your app feel like an integral part of the system using the GNOME OS and "
+"hardware support layers."
+msgstr ""
 
-#: C/cairo.page:6(desc)
-msgid "Modern 2D vector drawing canvas"
-msgstr "Moderne ZeichenflÃche fÃr zweidimensionale Vektorgrafik"
+#: C/overview-systemintegration.page:17(title)
+msgid "System integration and hardware support"
+msgstr ""
 
-#: C/cairo.page:10(title)
-msgid "Cairo"
-msgstr "Cairo"
+#: C/overview-multimedia.page:14(desc)
+msgid ""
+"Multi-format audio and video playback and editing, streaming from the web, "
+"and webcam support."
+msgstr ""
 
-#: C/cairo.page:12(p)
-msgid ""
-"Cairo is a 2D graphics library featuring a sophisticated API for drawing "
-"vector graphics, compositing images, and rendering anti-aliased text. Cairo "
-"provides support for multiple output devices, including the X Window System, "
-"Microsoft Windows, and image buffers, allowing you to write platform-"
-"independent code to draw graphics on different media."
-msgstr ""
-"Cairo ist eine 2D-Grafikbibliothek, die eine hochentwickelte Schnittstelle "
-"fÃr das Zeichnen von Vektorgrafiken, das Erstellen von Bildern und zum "
-"Rendern von geglÃttetem Text bereitstellt. Cairo unterstÃtzt zahlreiche "
-"AusgabegerÃte, wie das X-Window-System, Microsoft Windows und Bildpuffer. "
-"Dies ermÃglicht Ihnen das Schreiben von plattformunabhÃngigem Code zum "
-"Zeichnen von Grafiken auf verschiedenen Medien."
-
-#: C/cairo.page:18(p)
-msgid ""
-"The Cairo drawing model is similar to those provided by PostScript and PDF. "
-"The Cairo API provides such drawing operations as stroking and filling cubic "
-"BÃzier splines, compositing images, and performing affine transformations. "
-"These vector operations allow for rich, anti-aliased graphics without using "
-"expensive pixel-based drawing in your application code."
-msgstr ""
-"Das Cairo-Darstellungsmodell ist dem von PostScript oder PDF Ãhnlich. Die "
-"Cairo-Schnittstelle bietet solche Zeichenoperationen wie Pinselstriche, "
-"FÃllen von kubischen BÃzier-Objekten, Zusammensetzen von Bildern und die "
-"AusfÃhrung von Umwandlungen. Diese Vektor-Operationen ermÃglichen "
-"hervorragende, geglÃttete Grafiken ohne Zuhilfenahme pixelbasierten Zeichnens "
-"in Ihrem Code."
-
-#: C/cairo.page:25(p)
-msgid ""
-"Cairo's rich drawing model allows for high-quality rendering to multiple "
-"media. The same API can be used to create stunning on-screen graphics and "
-"text, to render images, or create crisp output suitable for printing."
-msgstr ""
-"Das Zeichenmodell von Cairo ermÃglicht qualitativ hochwertige Ausgaben auf "
-"verschiedenen Medien. Die gleiche Schnittstelle wird zur Erzeugung "
-"fantastischer Bildschirmgrafiken ebenso verwendet wie fÃr das Darstellen von "
-"Bildern oder fÃr knackige Ausdrucke."
-
-#: C/cairo.page:30(p)
-msgid ""
-"You should use Cairo whenever you need to draw graphics in your application "
-"beyond the widgets provided by GTK+. Much of the drawing inside GTK+ is done "
-"using Cairo. Using Cairo for your custom drawing will allow your application "
-"to have high-quality, anti-aliased, and resolution-independent graphics."
-msgstr ""
-"Sie sollten Cairo immer dann verwenden, wenn Sie in Ihren Anwendungen "
-"Grafiken zeichnen wollen, die die Widgets von GTK+ nicht bieten. Die meisten "
-"ZeichenvorgÃnge in GTK+ werden bereits mit Cairo ausgefÃhrt. Die Verwendung "
-"von Cairo fÃr Ihre spezielle Zeichnung erlaubt qualitativ hochwertige, "
-"geglÃttete und von der AuflÃsung unabhÃngige Grafiken in Ihrer Anwendung."
-
-#: C/cairo.page:37(link)
-msgid "Cairo Manual"
-msgstr "Cairo-Handbuch"
-
-#: C/atk.page:6(desc)
-msgid "Support for screen readers and other accessibility tools"
-msgstr "UnterstÃtzung fÃr Bildschirmleser und andere Barrierefreiheitswerkzeuge"
+#: C/overview-multimedia.page:17(title)
+msgid "Multimedia"
+msgstr "Multimedia"
 
-#: C/atk.page:11(title)
-msgid "ATK"
-msgstr "ATK"
+#: C/overview-help.page:7(desc)
+msgid ""
+"The innovative help system and built-in assitive technologies allow you to "
+"accommodate every user."
+msgstr ""
 
-#: C/atk.page:13(p)
-msgid ""
-"Accessibility is the process of ensuring your application can be used by "
-"people with various disabilities. Disabilities come in many forms: visual "
-"impairments, movement impairments, hearing impairments, cognitive and "
-"language impairments, and seizure disorders. Many people have some sort of "
-"disability, and making your application accessibility will allow more people "
-"to use your application effectively."
-msgstr ""
-"Die Barrierefreiheit stellt sicher, dass Ihre Anwendung von Benutzern mit "
-"verschiedenen Behinderungen verwendet werden kann. Behinderungen gibt es in "
-"verschiedenen Formen: visuelle EinschrÃnkungen, BewegungseinschrÃnkungen, "
-"SchwerhÃrigkeit/GehÃrlosigkeit und Anfallsleiden. Viele Leute haben solche "
-"Behinderungen, und die Sicherstellung der Barrierefreiheit fÃr Ihre Anwendung "
-"macht diese fÃr mehr Benutzer effektiver zugÃnglich."
-
-#: C/atk.page:20(p)
-msgid ""
-"GNOME provides support for accessibility devices using the ATK framework. "
-"This framework defines a set of interfaces to which graphical interface "
-"components adhere. This allows, for instance, screen readers to read the text "
-"of an interface and interact with its controls. ATK support is built into GTK"
-"+ and the rest of the GNOME platform, so any application using GTK+ will have "
-"reasonable accessibility support for free."
-msgstr ""
-"GNOME bietet Ãber das ATK-Framework UnterstÃtzung fÃr Barrierefreiheits-"
-"GerÃte. Dieses Framework definiert eine Reihe von Schnittstellen, die sich "
-"mit den Komponenten der grafischen Schnittstellen verbinden. Dies erlaubt "
-"beispielsweise Bildschirmlesern das Lesen von Text einer Schnittstelle und "
-"die Interaktion mit deren Bedienelementen. ATK-UnterstÃtzung ist in GTK+ und "
-"die Ãbrige GNOME-Plattform eingebaut, so dass jede GTK+ nutzende Anwendung "
-"ansprechende Barrierefreiheits-UnterstÃtzung als Gratisbeigabe erhÃlt."
-
-#: C/atk.page:28(p)
-msgid ""
-"Nonetheless, you should be aware of accessibility issues when when developing "
-"your applications. Although GTK+ interfaces provide reasonable accessibility "
-"by default, you can often improve how well your program behaves with "
-"accessibility tools by providing additional information to ATK. If you "
-"develop custom widgets, you should ensure that they expose their properties "
-"to ATK. You should also avoid using sound, graphics, or color as the sole "
-"means of conveying information to the user."
-msgstr ""
-"Nichtsdestotrotz sollten Sie beim Entwickeln von Anwendungen die "
-"Barrierefreiheit im Auge behalten. Obwohl die GTK+-Schnittstellen schon "
-"vernÃnftige Schnittstellen standardmÃÃig bereitstellt, kÃnnen Sie doch die "
-"Barrierefreiheit Ihres Programms weiter verbessern, indem Sie ATK zusÃtzliche "
-"Informationen zur VerfÃgung stellen. Falls Sie eigene Widgets entwickeln, "
-"stellen Sie bitte sicher, dass deren Eigenschaften an ATK Ãbermittelt werden. "
-"Sie sollten auch vermeiden, KlÃnge, Grafiken oder Farben als grundlegende und "
-"alleinige Informationselemente fÃr den Benutzer zu verwenden."
-
-#: C/atk.page:37(p)
-msgid ""
-"The GNOME desktop ships with a number of accessibility tools which enable "
-"users with disabilities to take full advantage of their desktop and "
-"applications. Applications that fully implement ATK will be able to work with "
-"the accessibility tools. GNOME's accessibility tools include a screen reader, "
-"a screen magnifier, an on-screen keyboard, and <app>Dasher</app>, an "
-"innovative predictive text entry tool."
-msgstr ""
-"Die GNOME-Arbeitsumgebung wird mit einer Reihe von Barrierefreiheits-"
-"Werkzeugen geliefert, die es Benutzern mit Behinderungen ermÃglichen, ihre "
-"Arbeitsumgebung und ihre Anwendungen uneingeschrÃnkt zu benutzen. "
-"Anwendungen, die ATK vollstÃndig implementieren, sind fÃhig, mit diesen "
-"Barrierefreiheits-Werkzeugen zu arbeiten. Die GNOME-Barrierefreiheits-"
-"Werkzeuge enthalten einen Bildschirmleser, eine Bildschirmlupe, eine "
-"Bildschirmtastatur sowie <app>Dasher</app>, ein innovatives und "
-"vorausschauendes Werkzeug zur Texteingabe."
-
-#: C/atk.page:46(link)
-msgid "GNOME Accessibility for Developers"
-msgstr "GNOME-Barrierefreiheit fÃr Entwickler"
-
-#: C/atk.page:47(link)
-msgid "ATK Reference"
-msgstr "ATK-Referenz"
+#: C/overview-help.page:11(title)
+msgid "Help and assistive technologies"
+msgstr "Hilfe und Barrierefreiheitstechnologien"
 
-#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
-#: C/index.page:0(None)
-msgid "translator-credits"
+#: C/overview-help.page:33(p)
+#, fuzzy
+msgid ""
+"Users sometimes need a little help, even with the best-designed applications. "
+"GNOME provides a built-in <em style=\"strong\">topic-oriented help system</"
+"em> using the <link href=\"http://projectmallard.org/\";>Mallard</link> markup "
+"language. Pioneered by GNOME developers, Mallard is an agile and dynamic "
+"language that helps you write and revise quickly. Its topic-oriented design "
+"means your users can find the answers they need without sifting through a "
+"manual. With its unique dynamic linking and organization system, Mallard is "
+"the only language designed to handle plugin and vendor help in one coherent "
+"document."
 msgstr ""
-"Mario BlÃttermann <mariobl freenet de>, 2009, 2010, 2011\n"
-"Christian Kirbach <Christian Kirbach googlemail com>, 2011."
+"Benutzer benÃtigen gelegentlich etwas Hilfe, selbst fÃr die perfektesten "
+"Anwendungen. GNOME verfÃgt Ãber ein eingebautes, themenorientiertes "
+"Hilfesystem, welches die Auszeichnungssprache <link href=\"http://";
+"projectmallard.org/\">Mallard</link> nutzt. Von den GNOME-Entwicklern ins "
+"Leben gerufen, ist Mallard eine agile und dynamische Sprache, die das "
+"Schreiben und Ãberarbeiten erheblich erleichtert. Mit seinem beispiellosen "
+"Verweis- und Organisationssystem ist Mallard die einzige Sprache, die mit "
+"Plugins und HinzufÃgungen von Drittanbietern in einem einzigen "
+"zusammenhÃngenden Dokument umgehen kann."
 
-#~ msgid ""
-#~ "Built on top of OpenGL, Clutter makes it easy to create dynamic user "
-#~ "interfaces with fast animations."
-#~ msgstr ""
-#~ "Aufsetzend auf OpenGL erleichtert Clutter erheblich die Erstellung "
-#~ "dynamischer BenutzeroberflÃchen mit schnellen Animationen."
+#: C/overview-help.page:43(p)
+msgid ""
+"When you do need linear manuals, GNOME also supports the industry-standard "
+"<link href=\"http://docbook.org/\";>DocBook</link> format."
+msgstr ""
+"Falls Sie linear aufgebaute HandbÃcher benÃtigen, unterstÃtzt GNOME auch das "
+"als Industriestandard designierte <link href=\"http://docbook.org/\";>DocBook</"
+"link>-Format."
+
+#: C/overview-help.page:47(p)
+msgid "Yelp help viewer, yelp-xsl and yelp-tools"
+msgstr "Hilfebetrachter Yelp, yelp-xsl und yelp-tools"
+
+#: C/overview-help.page:49(p)
+msgid "Accessibility: Orca, OSK, built-in to GTK accessibility tools."
+msgstr ""
+
+#: C/overview-help.page:52(link)
+msgid "Ten Minute Mallard Tour"
+msgstr "Zehn-Minuten-Tour in Mallard"
+
+#: C/overview-help.page:53(link)
+msgid "The Mallard web site"
+msgstr "Die Mallard-Webseite"
+
+#: C/overview-help.page:54(link)
+msgid "The DocBook web site"
+msgstr "Die DocBook-Webseite"
+
+#: C/overview-gettingstarted.page:15(desc)
+msgid "Learn what you need to get started with GNOME development."
+msgstr ""
+"Erfahren Sie hier, was Sie fÃr den Einstieg in die GNOME-Entwicklung "
+"benÃtigen."
+
+#: C/overview-gettingstarted.page:18(title)
+msgid "Getting started"
+msgstr "Erste Schritte"
+
+#: C/overview-gettingstarted.page:22(em)
+msgid "Check OS support"
+msgstr "ÃberprÃfen Sie die BetriebssystemunterstÃtzung"
+
+#: C/overview-gettingstarted.page:23(p)
+msgid ""
+"Make sure that you're running an operating system that supports the GNOME "
+"library versions that you want to target. Major Linux distributions tend to "
+"have up-to-date support."
+msgstr ""
+"Stellen Sie sicher, das Ihr Betriebssystem die GNOME-Bibliotheksversionen "
+"unterstÃtzt, fÃr die Sie entwickeln wollen. Die wichtigsten Linux-"
+"Distributionen sind dafÃr bekannt, hinreichend aktuell zu sein."
+
+#: C/overview-gettingstarted.page:28(em)
+msgid "Install developer tools"
+msgstr "Installieren Sie die Entwicklungswerkzeuge"
+
+#: C/overview-gettingstarted.page:29(p)
+msgid ""
+"You need to install the development libraries and build tools appropriate to "
+"the programming language and GNOME technologies that you want to develop "
+"with. Many Linux distributions have GNOME \"dev\" packages that provide a "
+"quick and easy way of getting the right tools."
+msgstr ""
+
+#: C/overview-gettingstarted.page:35(em)
+msgid "Learn the platform"
+msgstr ""
+
+#: C/overview-gettingstarted.page:36(p)
+msgid ""
+"Check out the developer tutorials and introductory guides for GNOME "
+"technologies to get yourself familiar with the platform. There are code "
+"snippets to help you along the way too."
+msgstr ""
+
+#: C/overview-gettingstarted.page:41(em)
+msgid "Start coding"
+msgstr ""
+
+#: C/overview-gettingstarted.page:42(p)
+msgid ""
+"Once you have installed the necessary tools and gained familiarity with some "
+"of the GNOME technologies that are available, you're ready to start coding!"
+msgstr ""
+
+#: C/overview-gettingstarted.page:45(em)
+msgid "Get support and documentation"
+msgstr "UnterstÃtzung und Dokumentation erhalten"
+
+#: C/overview-gettingstarted.page:46(p)
+msgid ""
+"There are lots of sources of developer support and documentation for GNOME. "
+"There are snippets of sample code, longer-format developer tutorials, in-"
+"depth API documentation and listings, and reference implementations in the "
+"form of open source applications. If you have specific questions, you can use "
+"the IRC channels and mailing lists to answer them."
+msgstr ""
+
+#: C/overview-datastorage.page:14(desc)
+msgid ""
+"Access structured data storage, networking shares, and the desktop settings "
+"system."
+msgstr ""
+
+#: C/overview-datastorage.page:17(title)
+msgid "Data storage and settings management"
+msgstr "Datenspeicherung und Einstellungsverwaltung"
+
+#: C/overview-communication.page:14(desc)
+msgid ""
+"Instant messaging, networking, social media, email, and calendaring support."
+msgstr ""
+
+#: C/overview-communication.page:17(title)
+msgid "Communication and social networking"
+msgstr "Kommunikation und soziale Netzwerke"
+
+#: C/overview-communication.page:21(em)
+msgid "Connect to instant messaging and social networking services"
+msgstr "Verbindungen zu Sofortnachrichtendiensten und sozialen Netzwerken"
+
+#: C/overview-communication.page:24(em)
+msgid "Set up multi-protocol connections with web services or other clients"
+msgstr ""
+
+#: C/overview-communication.page:27(em)
+msgid "Handle mail, online contacts and calendar services"
+msgstr "Umgang mit Mail, Online-Kontakten und Kalenderdiensten"
+
+#: C/overview-communication.page:31(p)
+msgid ""
+"Get your users connected and communicating with their friends and contacts "
+"through instant messaging, social media, and email. GNOME's extensive "
+"communications stack gives you high-level, abstracted access to complicated "
+"instant messaging and email protocols. For more specialised communication "
+"needs, there's access to the nuts and bolts through lower level APIs too."
+msgstr ""
+
+#: C/overview-communication.page:40(p)
+#, fuzzy
+msgid ""
+"For <em style=\"strong\">connecting to instant messaging services</em>, use "
+"<em style=\"strong\"><link xref=\"telepathy\">Telepathy</link></em>. It "
+"provides a powerful framework for interacting with the user's instant "
+"messaging contacts, and has support for a wide range of messaging protocols. "
+"With Telepathy, all accounts and connections are handled by a <link xref=\"d-"
+"bus\">D-Bus</link> session service that's deeply integrated into GNOME. "
+"Applications can tie into this service to communicate with contacts."
+msgstr ""
+"Telepathy bietet eine mÃchtige Umgebung fÃr die Interaktion mit den "
+"Sofortnachrichten-Kontakten des Benutzers. Mit Telepathy werden alle Konten "
+"und Verbindungen Ãber einen D-Bus-Sitzungsdienst verarbeitet, der tief in der "
+"GNOME-Arbeitsumgebung verankert ist. Anwendungen kÃnnen diesen Dienst nutzen, "
+"um mit den Kontakten zu kommunizieren."
+
+#: C/overview-communication.page:42(p)
+msgid ""
+"Create multi-player games or collaborative editors that integrate with the "
+"desktop-wide instant messaging services. With the <em style=\"strong\"><link "
+"xref=\"telepathy#tubes\">Telepathy Tubes</link></em> API, you can <em style="
+"\"strong\">tunnel an arbitrary protocol</em> over modern instant messaging "
+"protocols like Jabber to create interactive applications."
+msgstr ""
+
+#: C/overview-communication.page:44(p)
+msgid ""
+"Allow users to see other people they can chat with, and find printers, shared "
+"files, and shared music collections as soon as they connect to a network. The "
+"<em style=\"strong\"><link xref=\"avahi\">Avahi</link></em> API provides <em "
+"style=\"strong\">service discovery</em> on a local network via the mDNS/DNS-"
+"SD protocol suite. It's compatible with similar technology found in MacOS X "
+"and Windows."
+msgstr ""
+
+#: C/overview-communication.page:46(p)
+msgid ""
+"Handle users' local and online address books and calendars with <em style="
+"\"strong\"><link xref=\"eds\">Evolution Data Server</link></em> (EDS). It "
+"provides a way of storing account information and interacting with"
+msgstr ""
+
+#: C/overview-communication.page:48(p)
+msgid ""
+"With <em style=\"strong\"><link xref=\"eds\">Folks</link></em>, you will have "
+"access to a single API for handling social networking, chat, email, and audio/"
+"video communications."
+msgstr ""
+"Mit <em style=\"strong\"><link xref=\"eds\">Folks</link></em> erhalten Sie "
+"Zugriff auf eine API fÃr den Umgang mit sozialen Netzwerken, "
+"Sofortnachrichten, E-Mail und Audio- und Videokommunikation."
+
+#: C/overview-communication.page:56(p)
+msgid "Fetch a contact from a Gmail address book"
+msgstr ""
+
+#: C/overview-communication.page:57(p)
+msgid "Scan the network for zeroconf printers"
+msgstr ""
+
+#: C/overview-communication.page:58(p)
+msgid "Something with Telepathy Tubes"
+msgstr ""
+
+#: C/overview-communication.page:68(p)
+msgid "Need to use better links than these."
+msgstr ""
+
+#: C/overview-communication.page:71(p)
+msgid ""
+"You can see lots of real-world applications of the GNOME communications "
+"technologies in open source projects, like the examples given below."
+msgstr ""
+
+#: C/overview-communication.page:74(p)
+msgid ""
+"<em style=\"strong\">Empathy</em> is an instant messaging app with support "
+"for a wide range of messaging services. It uses Telepathy to handle "
+"connections, presence, and contact information for all of the protocols that "
+"it supports."
+msgstr ""
+
+#: C/overview-communication.page:75(p)
+msgid ""
+"(<link href=\"https://live.gnome.org/Empathy\";>Website</link> | <link href="
+"\"http://staz.be/tup/2009-06/Capture-Conversations.png\";>Screenshot</link> | "
+"<link href=\"http://git.gnome.org/browse/empathy/tree/\";>Empathy source code</"
+"link> )"
+msgstr ""
+
+#: C/overview-communication.page:79(p)
+msgid ""
+"With Telepathy Tubes support, the <em style=\"strong\">GNOME Games</em> "
+"collection was able to add multi-player gaming support through the Jabber "
+"protocol."
+msgstr ""
+
+#: C/overview-communication.page:80(p)
+msgid ""
+"(<link href=\"https://live.gnome.org/GnomeGames/\";>Website</link> | <link "
+"href=\"https://live.gnome.org/glChess?action=AttachFile&amp;do=get&amp;";
+"target=glchess3d.png\">Screenshot</link> | <link href=\"http://git.gnome.org/";
+"browse/gnome-games/tree/glchess/src\">GLChess online multiplayer code</link> )"
+msgstr ""
+
+#: C/overview-communication.page:84(p)
+msgid ""
+"Avahi support allows users of the <em style=\"strong\">Rhythmbox</em> music "
+"player to see shared music collections on their local network, using DAAP."
+msgstr ""
+
+#: C/overview-communication.page:85(p)
+msgid ""
+"(<link href=\"http://projects.gnome.org/rhythmbox/\";>Website</link> | <link "
+"href=\"http://skss.learnfree.eu/wp-content/uploads/2009/05/rhythmbox_daap_3.";
+"png\">Screenshot</link> | <link href=\"http://git.gnome.org/browse/rhythmbox/";
+"tree/plugins/daap\">DAAP Code</link> )"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/index.page:30(None)
+msgid "@@image: 'equation.png'; md5=3f9de1175d8de332977ee67890e2cb6d"
+msgstr "original"
+
+#: C/index.page:6(desc)
+msgid "Overview of the powerful technologies inside the GNOME platform."
+msgstr "Ãberblick Ãber die mÃchtigen Technologien der GNOME-Plattform."
+
+#: C/index.page:10(name) C/demos.page:15(name)
+#: C/demo-message-board.c.page:13(name)
+msgid "Shaun McCance"
+msgstr "Shaun McCance"
+
+#: C/index.page:11(email) C/demos.page:16(email)
+#: C/demo-message-board.c.page:14(email)
+msgid "shaunm gnome org"
+msgstr "shaunm gnome org"
+
+#: C/index.page:15(name)
+msgid "GermÃn PÃo-CaamaÃo"
+msgstr "GermÃn PÃo-CaamaÃo"
+
+#: C/index.page:16(email)
+msgid "gpoo gnome org"
+msgstr "gpoo gnome org"
+
+#: C/index.page:20(name)
+msgid "GNOME Foundation"
+msgstr "GNOME-Foundation"
+
+#: C/index.page:21(page)
+msgid "http://foundation.gnome.org/";
+msgstr "http://foundation.gnome.org/";
+
+#: C/index.page:23(title)
+msgid "GNOME"
+msgstr "GNOME"
+
+#: C/index.page:27(title)
+msgid "Overview of the GNOME platform"
+msgstr "Ãberblick Ãber die GNOME-Plattform"
+
+#: C/index.page:31(p)
+#, fuzzy
+msgid "GNOME equation"
+msgstr "GNOME-Foundation"
+
+#: C/index.page:34(p)
+#, fuzzy
+msgid ""
+"GNOME provides a comprehensive developer platform that allows developers to "
+"create professional software that is easy to use and aesthetically pleasing. "
+"Using the technologies in GNOME, you can create high-quality software to meet "
+"and exceed your users' expectations. Here, you can find a high-level overview "
+"of the platform, designed to introduce you to its capabilities, and to help "
+"you find resources on developing with GNOME."
+msgstr ""
+"Die GNOME-Plattform bietet eine Entwicklungsumgebung fÃr grafische "
+"Anwendungen und andere Software. GNOME stellt eine umfassende "
+"Entwicklerplattform bereit, die die Erstellung professioneller Software "
+"erlaubt, welche leicht zu bedienen ist und auch Ãsthetischen AnsprÃchen "
+"genÃgt. Unter Verwendung der GNOME-Technologien kÃnnen Sie qualitativ "
+"hochwertige Software erstellen, welche die Erwartungen Ihrer Benutzer erfÃllt "
+"und sogar Ãbersteigt. Dieses Dokument bietet einen ausfÃhrlichen Ãberblick "
+"Ãber die Plattform, begleitet von Links zu detaillierteren Informationen zu "
+"jedem der Bestandteile."
+
+#: C/index.page:42(title)
+msgid "Overview of GNOME technologies"
+msgstr "Ãberblick Ãber die GNOME-Technologien"
+
+#: C/index.page:43(p)
+msgid "Find out what you can do with GNOME's extensive collection of libraries."
+msgstr ""
+
+#: C/index.page:47(title)
+msgid "Tools for developers"
+msgstr "Werkzeuge fÃr Entwickler"
+
+#: C/index.page:48(p)
+msgid ""
+"A range of tools are available to make your life easier when developing with "
+"GNOME."
+msgstr ""
+
+#: C/index.page:53(title)
+msgid "Examples and documentation"
+msgstr "Beispiele und Dokumentation"
+
+#: C/index.page:54(p)
+msgid ""
+"There are lots of example code snippets that you can use as a reference, as "
+"well as extensive generated API documentation."
+msgstr ""
+
+#: C/index.page:58(title)
+msgid "Conceptual foundations"
+msgstr "Konzeptuelle Grundlagen"
+
+#: C/index.page:59(p)
+msgid ""
+"Learn about some of the concepts that differentiate GNOME from other "
+"development platforms."
+msgstr ""
+"Erfahren Sie hier mehr Ãber die Konzepte, die GNOME von anderen "
+"Entwicklerplattformen unterscheiden."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:40(None)
+msgid "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
+msgstr "original"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:45(None)
+msgid "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+msgstr "original"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:50(None)
+msgid "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
+msgstr "original"
+
+#: C/getting-ready.page:8(desc)
+msgid "Install GNOME development tools"
+msgstr "Die GNOME-Entwicklungswerkzeuge installieren"
+
+#: C/getting-ready.page:12(name) C/demo-record-collection.js.page:12(name)
+#: C/demo-image-viewer.vala.page:12(name) C/demo-image-viewer.cpp.page:12(name)
+#: C/demo-image-viewer.c.page:12(name) C/demo-guitar-tuner.vala.page:12(name)
+#: C/demo-guitar-tuner.py.page:12(name) C/demo-guitar-tuner.cpp.page:12(name)
+#: C/demo-guitar-tuner.c.page:12(name) C/demo-audio-player.vala.page:12(name)
+msgid "GNOME Documentation Project"
+msgstr "GNOME-Dokumentationsprojekt"
+
+#: C/getting-ready.page:13(email) C/demos.page:11(email)
+#: C/demo-record-collection.js.page:13(email)
+#: C/demo-image-viewer.vala.page:13(email)
+#: C/demo-image-viewer.cpp.page:13(email) C/demo-image-viewer.c.page:13(email)
+#: C/demo-guitar-tuner.vala.page:13(email)
+#: C/demo-guitar-tuner.py.page:13(email) C/demo-guitar-tuner.cpp.page:13(email)
+#: C/demo-guitar-tuner.c.page:13(email) C/demo-audio-player.vala.page:13(email)
+msgid "gnome-doc-list gnome org"
+msgstr "gnome-doc-list gnome org"
+
+#: C/getting-ready.page:17(title)
+msgid "Getting ready for GNOME development"
+msgstr ""
+
+#: C/getting-ready.page:20(title)
+msgid "Install the required tools"
+msgstr "Die benÃtigten Werkzeuge installieren"
+
+#: C/getting-ready.page:21(p)
+msgid ""
+"Before you can start coding you will have to install the required tools for "
+"GNOME development on your computer. This shouldn't take you more than ten "
+"minutes."
+msgstr ""
+
+#: C/getting-ready.page:26(title)
+msgid "Automatic installation"
+msgstr "Automatische Installation"
+
+#: C/getting-ready.page:27(p)
+msgid ""
+"On an up-to-date distribution you should be able to simply install the "
+"required packages by clicking on <link href=\"media/gnome-devtools.catalog"
+"\">Install now</link>."
+msgstr ""
+
+#: C/getting-ready.page:32(title)
+msgid "Manual installation"
+msgstr "Manuelle Installation"
+
+#: C/getting-ready.page:33(p)
+msgid ""
+"If you prefer manual installation you can find the instructions for the "
+"various distributions in the <link href=\"http://live.gnome.org/";
+"DeveloperTools/Installation\">GNOME wiki</link>. Click on the image to go "
+"directly to the installation page for your distribution:"
+msgstr ""
+
+#: C/getting-ready.page:40(media)
+msgid "Ubuntu"
+msgstr "Ubuntu"
+
+#: C/getting-ready.page:45(media)
+msgid "Fedora"
+msgstr "Fedora"
+
+#: C/getting-ready.page:50(media)
+msgid "OpenSuSE"
+msgstr "OpenSuSE"
+
+#: C/getting-ready.page:53(link)
+msgid "Others"
+msgstr "Andere"
+
+#: C/getting-ready.page:60(title)
+msgid "Required versions"
+msgstr "BenÃtigte Versionen"
+
+#: C/getting-ready.page:61(p)
+msgid ""
+"The guides assume that you have at least the following versions of the tools "
+"installed:"
+msgstr ""
+
+#: C/getting-ready.page:64(p)
+msgid "Anjuta - 3.0"
+msgstr "Anjuta - 3.0"
+
+#: C/getting-ready.page:65(p)
+msgid "Devhelp - 3.0"
+msgstr "Devhelp - 3.0"
+
+#: C/getting-ready.page:66(p)
+msgid "Glade - 3.10"
+msgstr "Glade - 3.10"
+
+#: C/getting-ready.page:68(p)
+msgid ""
+"Of course, any newer version will also work. Now, we wish you a lot of fun "
+"with the <link xref=\"index\">Demos</link>."
+msgstr ""
+
+#: C/dev-translate.page:15(desc)
+msgid "Tools to help you internationalize your apps."
+msgstr ""
+
+#: C/dev-translate.page:18(title)
+msgid "Translation and Localization"
+msgstr "Internationalisierung und Lokalisierung"
+
+#: C/dev-translate.page:22(p) C/dev-help.page:22(p)
+msgid ""
+"This assumes the reader knows how to.... By the end of this page, the reader "
+"will be able to...."
+msgstr ""
+
+#: C/dev-translate.page:27(cite)
+msgid "Andre Klapper"
+msgstr "Andre Klapper"
+
+#: C/dev-translate.page:28(p)
+msgid ""
+"Also check https://live.gnome.org/TranslationProject#For_maintainers.2BAC8-";
+"developers_of_modules"
+msgstr ""
+
+#: C/dev-translate.page:32(p) C/dev-help.page:26(p)
+msgid "Short introductory text..."
+msgstr "Eine kurze Beschreibung des Inhalts â"
+
+#: C/dev-translate.page:35(p) C/dev-help.page:29(p)
+msgid "First step..."
+msgstr "Erster Schritt â"
+
+#: C/dev-translate.page:36(p) C/dev-help.page:30(p)
+msgid "Second step..."
+msgstr "Zweiter Schritt â"
+
+#: C/dev-translate.page:37(p) C/dev-help.page:31(p)
+msgid "Third step..."
+msgstr "Dritter Schritt â"
+
+#: C/dev-help.page:15(desc)
+msgid "Integrate user assistance features and accessibility support."
+msgstr ""
+
+#: C/dev-help.page:18(title)
+msgid "Help and accessibility tools"
+msgstr "Hilfe und Barrierefreiheitswerkzeuge"
+
+#: C/dev-coding.page:15(desc)
+msgid "Enhance your workflow with IDEs, debuggers, and profilers."
+msgstr ""
+
+#: C/dev-coding.page:18(title)
+msgid "Coding tools"
+msgstr ""
+
+#: C/dev-coding.page:20(p)
+msgid "Nemiver"
+msgstr "Nemiver"
+
+#: C/dev-coding.page:22(p)
+msgid "GDB"
+msgstr "GDB"
+
+#: C/dev-coding.page:24(p)
+msgid "Anjuta"
+msgstr "Anjuta"
+
+#: C/dev-build.page:15(desc)
+msgid ""
+"Interpreters, compilers, and build tools appropriate to the language you're "
+"coding in."
+msgstr ""
+
+#: C/dev-build.page:18(title)
+msgid "Build systems and interpreters"
+msgstr "Build-Systeme und Interpreter"
+
+#: C/dev-build.page:20(p)
+msgid ""
+"GNOME supports a range of programming languages, so the build tools or "
+"interpreter you use will depend on what you decide to code in."
+msgstr ""
+"GNOME unterstÃtzt eine Reihe von Programmiersprachen, daher werden die Build-"
+"Werkzeuge oder Interpreter davon abhÃngig sein, in welcher Sprache Ihr Code "
+"geschrieben ist."
+
+#: C/dev-build.page:23(title)
+msgid "Languages"
+msgstr "Sprachen"
+
+#: C/dev-build.page:25(title) C/demos.page:39(title)
+msgid "C"
+msgstr "C"
+
+#: C/dev-build.page:26(p)
+msgid ""
+"The C language is at the core of GNOME. Much of the stack is built with "
+"autotools and GCC, but other build systems are supported."
+msgstr ""
+"Die Programmiersprache C bildet den Kern von GNOME. Der grÃÃte Teil des "
+"Stacks wird mit den Autotools und GCC erstellt, aber weitere Build-Systeme "
+"werden unterstÃtzt."
+
+#: C/dev-build.page:30(title) C/demos.page:47(title)
+msgid "JavaScript"
+msgstr "JavaScript"
+
+#: C/dev-build.page:31(p)
+msgid ""
+"GNOME has two JavaScript bindings: Seed, based on the WebKit JavaScriptCore "
+"engine, and gjs, built around the Mozilla SpiderMonkey engine."
+msgstr ""
+
+#: C/dev-build.page:36(title) C/demos.page:51(title)
+msgid "Python"
+msgstr "Python"
+
+#: C/dev-build.page:37(p)
+msgid "The libraries"
+msgstr "Die Bibliotheken"
+
+#: C/dev-build.page:40(title) C/demos.page:55(title)
+msgid "Vala"
+msgstr "Vala"
+
+#: C/demos.page:10(name)
+msgid "GNOME Documentation Team"
+msgstr "GNOME-Dokumentationsteam"
+
+#: C/demos.page:12(years)
+msgid "2010, 2011"
+msgstr "2010, 2011"
+
+#: C/demos.page:17(years) C/demo-message-board.c.page:15(years)
+msgid "2010"
+msgstr "2010"
+
+#: C/demos.page:20(name) C/demo-record-collection.js.page:16(name)
+#: C/demo-photo-wall.c.page:15(name) C/demo-magic-mirror.vala.page:16(name)
+#: C/demo-image-viewer.vala.page:16(name) C/demo-image-viewer.py.page:17(name)
+#: C/demo-image-viewer.js.page:17(name) C/demo-image-viewer.cpp.page:16(name)
+#: C/demo-image-viewer.c.page:16(name) C/demo-guitar-tuner.vala.page:16(name)
+#: C/demo-guitar-tuner.py.page:16(name) C/demo-guitar-tuner.cpp.page:16(name)
+#: C/demo-guitar-tuner.c.page:16(name)
+msgid "Johannes Schmid"
+msgstr "Johannes Schmid"
+
+#: C/demos.page:21(email) C/demo-record-collection.js.page:17(email)
+#: C/demo-photo-wall.c.page:16(email) C/demo-magic-mirror.vala.page:17(email)
+#: C/demo-image-viewer.vala.page:17(email)
+#: C/demo-image-viewer.py.page:18(email) C/demo-image-viewer.js.page:18(email)
+#: C/demo-image-viewer.cpp.page:17(email) C/demo-image-viewer.c.page:17(email)
+#: C/demo-guitar-tuner.vala.page:17(email)
+#: C/demo-guitar-tuner.py.page:17(email) C/demo-guitar-tuner.cpp.page:17(email)
+#: C/demo-guitar-tuner.c.page:17(email)
+msgid "jhs gnome org"
+msgstr "jhs gnome org"
+
+#: C/demos.page:22(years)
+msgid "2011"
+msgstr "2011"
+
+#: C/demos.page:25(desc)
+msgid ""
+"Walkthroughs of building simple apps, designed to introduce you to various "
+"GNOME technologies."
+msgstr ""
+
+#: C/demos.page:29(title)
+msgid "Walkthrough guides"
+msgstr ""
+
+#: C/demos.page:31(p)
+msgid ""
+"These guides are designed to give you a step-by-step introduction to various "
+"GNOME technologies, from software libraries to development and build tools. "
+"In each guide, you'll be walked through the process of building a functional "
+"application from scratch, integrating high-level features into it, and then "
+"building it ready for use."
+msgstr ""
+
+#: C/demos.page:34(title)
+msgid "Getting Ready"
+msgstr ""
+
+#: C/demos.page:35(p)
+msgid ""
+"Before you start working on any of these guides, you'll need to make sure "
+"that you have some GNOME development tools installed."
+msgstr ""
+
+#: C/demos.page:43(title)
+msgid "C++"
+msgstr "C++"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-record-collection.js.page:62(None)
+msgid ""
+"@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
+msgstr "original"
+
+#: C/demo-record-collection.js.page:8(desc)
+msgid "Create a small database application for ordering your music collection"
+msgstr ""
+
+#: C/demo-record-collection.js.page:21(title)
+msgid "Record Collection"
+msgstr ""
+
+#: C/demo-record-collection.js.page:24(p) C/demo-message-board.c.page:23(p)
+#: C/demo-image-viewer.cpp.page:24(p) C/demo-image-viewer.c.page:24(p)
+msgid "In this tutorial, you will learn:"
+msgstr "In diesem Tutorial lernen Sie,"
+
+#: C/demo-record-collection.js.page:26(p)
+msgid "How to connect to a database using libgda"
+msgstr "wie Sie mittels libgda eine Verbindung zu einer Datenbank herstellen"
+
+#: C/demo-record-collection.js.page:27(p)
+msgid "How to insert and browse records in a database table"
+msgstr ""
+"wie Sie DatensÃtze in eine Datenbanktabelle einfÃgen und durch diese "
+"navigieren"
+
+#: C/demo-record-collection.js.page:32(title)
+#: C/demo-photo-wall.c.page:34(title)
+msgid "Introduction"
+msgstr "EinfÃhrung"
+
+#: C/demo-record-collection.js.page:33(p)
+msgid ""
+"This demo uses the Javascript language. We are going to demonstrate how to "
+"connect and use a database from a GTK program, by using the GDA (GNOME Data "
+"Access) library. Thus you also need this library installed."
+msgstr ""
+
+#: C/demo-record-collection.js.page:36(p)
+msgid ""
+"GNOME Data Access (GDA) is library whose purpose is to provide universal "
+"access to different kinds and types of data sources. This goes from "
+"traditional relational database systems, to any imaginable kind of data "
+"source such as a mail server, a LDAP directory, etc. For more information, "
+"and for a full API and documentation, visit the <link href=\"http://library.";
+"gnome.org/devel/libgda/stable/\">GDA website</link>."
+msgstr ""
+
+#: C/demo-record-collection.js.page:39(p)
+msgid ""
+"Although a big part of the code is related to user interface (GUI), we are "
+"going to focus our tutorial on the database parts (we might mention other "
+"parts we think are relevant though). To know more about Javascript programs "
+"in GNOME, see the <link xref=\"image-viewer.js\">Image Viewer program</link> "
+"tutorial."
+msgstr ""
+
+#: C/demo-record-collection.js.page:45(title)
+#: C/demo-photo-wall.c.page:44(title) C/demo-message-board.c.page:40(title)
+#: C/demo-magic-mirror.vala.page:42(title)
+#: C/demo-image-viewer.vala.page:49(title)
+#: C/demo-image-viewer.py.page:43(title) C/demo-image-viewer.js.page:44(title)
+#: C/demo-image-viewer.cpp.page:34(title) C/demo-image-viewer.c.page:34(title)
+#: C/demo-guitar-tuner.py.page:40(title) C/demo-guitar-tuner.cpp.page:40(title)
+#: C/demo-guitar-tuner.c.page:40(title)
+msgid "Create a project in Anjuta"
+msgstr "Ein Projekt in Anjuta erstellen"
+
+#: C/demo-record-collection.js.page:46(p) C/demo-photo-wall.c.page:45(p)
+#: C/demo-magic-mirror.vala.page:43(p) C/demo-image-viewer.vala.page:50(p)
+#: C/demo-image-viewer.py.page:44(p) C/demo-image-viewer.js.page:45(p)
+#: C/demo-image-viewer.cpp.page:35(p) C/demo-image-viewer.c.page:35(p)
+#: C/demo-guitar-tuner.vala.page:45(p) C/demo-guitar-tuner.py.page:41(p)
+#: C/demo-guitar-tuner.cpp.page:41(p) C/demo-guitar-tuner.c.page:41(p)
+msgid ""
+"Before you start coding, you'll need to set up a new project in Anjuta. This "
+"will create all of the files you need to build and run the code later on. "
+"It's also useful for keeping everything together."
+msgstr ""
+
+#: C/demo-record-collection.js.page:49(p) C/demo-photo-wall.c.page:48(p)
+#: C/demo-magic-mirror.vala.page:46(p) C/demo-image-viewer.py.page:47(p)
+#: C/demo-image-viewer.js.page:48(p) C/demo-image-viewer.cpp.page:38(p)
+#: C/demo-image-viewer.c.page:38(p) C/demo-guitar-tuner.py.page:44(p)
+#: C/demo-guitar-tuner.cpp.page:44(p) C/demo-guitar-tuner.c.page:44(p)
+msgid ""
+"Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
+"gui></guiseq> to open the project wizard."
+msgstr ""
+
+#: C/demo-record-collection.js.page:52(p)
+msgid ""
+"Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
+"<gui>Forward</gui>, and fill-out your details on the next few pages. Use "
+"<file>record-collection</file> as project name and directory."
+msgstr ""
+
+#: C/demo-record-collection.js.page:55(p)
+msgid ""
+"Click <gui>Finished</gui> and the project will be created for you. Open "
+"<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"It contains very basic example code."
+msgstr ""
+
+#: C/demo-record-collection.js.page:61(title)
+msgid "Program Structure"
+msgstr "Programmstruktur"
+
+#: C/demo-record-collection.js.page:63(p)
+msgid ""
+"This demo is a simple GTK application (with a single window) capable of "
+"inserting records into a database table as well as browsing all records of "
+"the table. The table has two fields: <code>id</code>, an integer, and "
+"<code>name</code>, a varchar. The first section (on the top) of the "
+"application allows you to insert a record into the table. The last section "
+"(bottom) allows you to see all the records of that table. Its content is "
+"refreshed every time a new record is inserted and on the application startup."
+msgstr ""
+
+#: C/demo-record-collection.js.page:68(title)
+msgid "Starting the fun"
+msgstr ""
+
+#: C/demo-record-collection.js.page:69(p)
+msgid "Let's start by examining the skeleton of the program:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:95(p)
+msgid ""
+"Lines 1â4: Initial imports. Pay special attention to line 3, which tells "
+"Javascript to import the GDA library, our focus in this tutorial."
+msgstr ""
+
+#: C/demo-record-collection.js.page:96(p)
+msgid ""
+"Lines 6â17: Define our <code>Demo</code> class. Pay special attention to "
+"lines 13â15, where we call 3 methods which will do the whole job. They will "
+"be detailed below."
+msgstr ""
+
+#: C/demo-record-collection.js.page:97(p)
+msgid "Lines 19â23: Start the application."
+msgstr ""
+
+#: C/demo-record-collection.js.page:102(title)
+msgid "Designing the application"
+msgstr "Entwurf der Anwendung"
+
+#: C/demo-record-collection.js.page:103(p)
+msgid ""
+"Let's take a look at the <code>setupWindow</code> method. It is responsible "
+"for creating the User Interface (UI). As UI is not our focus, we will explain "
+"only the relevant parts."
+msgstr ""
+
+#: C/demo-record-collection.js.page:154(p)
+msgid ""
+"Lines 22 and 27: Create the 2 entries (for the two fields) in which users "
+"will type something to get inserted in the database."
+msgstr ""
+
+#: C/demo-record-collection.js.page:155(p)
+msgid ""
+"Lines 31â34: Create the Insert button. We connect its <code>clicked</code> "
+"signal to the <code>_insertClicked</code> private method of the class. This "
+"method is detailed below."
+msgstr ""
+
+#: C/demo-record-collection.js.page:156(p)
+msgid ""
+"Line 39: Create the widget (<code>TextView</code>) where we will show the "
+"contents of the table."
+msgstr ""
+
+#: C/demo-record-collection.js.page:157(p)
+msgid ""
+"Line 44: Create the label where we will show the number of records in the "
+"table. Initially it's empty, it will be updated later."
+msgstr ""
+
+#: C/demo-record-collection.js.page:162(title)
+msgid "Connecting to and initializing the database"
+msgstr "Verbindung zur Datenbank und Initialisierung"
+
+#: C/demo-record-collection.js.page:163(p)
+msgid ""
+"The code which makes the connection to the database is in the "
+"<code>setupDatabase</code> method below:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:180(p)
+msgid ""
+"Lines 2â3: Create the GDA's <code>Connection</code> object. We must supply to "
+"its constructor some properties:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:183(p)
+msgid ""
+"<code>provider</code>: One of GDA's supported providers. GDA supports SQLite, "
+"MySQL, PostgreSQL, Oracle and many others. For demo purposes we will use a "
+"SQLite database, as it comes installed by default in most distributions and "
+"it is simple to use (it just uses a file as a database)."
+msgstr ""
+
+#: C/demo-record-collection.js.page:186(p)
+msgid ""
+"<code>cnc_string</code>: The connection string. It may change from provider "
+"to provider. The syntax for SQLite is: <code>DB_DIR=<var>PATH</var>;"
+"DB_NAME=<var>FILENAME</var></code>. In this demo we are accessing a database "
+"called gnome_demo in the user home dir (note the call to GLib's "
+"<code>get_home_dir</code> function)."
+msgstr ""
+
+#: C/demo-record-collection.js.page:190(p)
+msgid ""
+"If the provider is not supported by GDA, or if the connection string is "
+"missing some element, line 2 will raise an exception. So, in real life we "
+"should handle it with JavaScript's statement <code>try</code>...<code>catch</"
+"code>."
+msgstr ""
+
+#: C/demo-record-collection.js.page:194(p)
+msgid ""
+"Line 4: Open the connection. In the SQLite provider, if the database does not "
+"exist, it will be created in this step."
+msgstr ""
+
+#: C/demo-record-collection.js.page:196(p)
+msgid ""
+"Lines 6â10: Try to do a simple select to check if the table exists (line 7). "
+"If it does not exist (because the database was just created), this command "
+"will raise an exception, which is handled by the <code>try</code>..."
+"<code>catch</code> block. If it is the case, we run the create table "
+"statement (line 9)."
+msgstr ""
+
+#: C/demo-record-collection.js.page:197(p)
+msgid ""
+"In order to run the SQL commands above we are using global GDA functions, "
+"<code>execute_select_command</code> and <code>execute_non_select_command</"
+"code>. They are simple to use, and just require two arguments: The "
+"<code>Connection</code> object and the SQL command to be parsed."
+msgstr ""
+
+#: C/demo-record-collection.js.page:201(p)
+msgid "At this point we have the database set up, and are ready to use it."
+msgstr ""
+
+#: C/demo-record-collection.js.page:205(title)
+msgid "Selecting"
+msgstr ""
+
+#: C/demo-record-collection.js.page:206(p)
+msgid ""
+"After connecting to the database, our demo's constructor calls the "
+"<code>selectData</code> method. It is responsible for getting all the records "
+"in the table and showing them on the <code>TextView</code> widget. Let's take "
+"a look at it:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:227(p)
+msgid ""
+"Line 2: The <code>SELECT</code> command. We are using the global GDA's "
+"function <code>execute_select_command</code> for that. It returns a "
+"<code>DataModel</code> object, which is later used to retrieve the rows."
+msgstr ""
+
+#: C/demo-record-collection.js.page:228(p)
+msgid ""
+"Line 3: Create an <code>Iter</code> object, which is used to iterate over the "
+"<code>DataModel</code>'s records."
+msgstr ""
+
+#: C/demo-record-collection.js.page:229(p)
+msgid ""
+"Line 7: Loop through all the records, fetching them with the help of the "
+"<code>Iter</code> object. At this point, the <code>iter</code> variable "
+"contains the actual, retrieved data. Its <code>move_next</code> method "
+"returns <code>false</code> when it reaches the last record."
+msgstr ""
+
+#: C/demo-record-collection.js.page:231(p)
+msgid "Lines 8â9: We do two things in each line:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:233(p)
+msgid ""
+"Use <code>Iter</code>'s method <code>get_value_at</code>, which requires only "
+"one argument: the column number to retrieve, starting at 0. As our "
+"<code>SELECT</code> command returns only two columns, we are retrieving "
+"columns 0 and 1."
+msgstr ""
+
+#: C/demo-record-collection.js.page:234(p)
+msgid ""
+"The method <code>get_value_at</code> returns the field in GLib's "
+"<code>GValue</code> format. A simple way to convert this format to a string "
+"is by using GDA's global function <code>value_stringify</code>. That's what "
+"we are doing here, and we store the results in the variables <code>id_field</"
+"code> and <code>name_field</code>."
+msgstr ""
+
+#: C/demo-record-collection.js.page:237(p)
+msgid ""
+"Line 11: Concatenate the two fields to make one text line, separated by <code>"
+"\"=&gt;\"</code>, and store it in the <code>text</code> variable."
+msgstr ""
+
+#: C/demo-record-collection.js.page:238(p)
+msgid ""
+"Line 14: After the loop is finished, we have all the records formatted in the "
+"<code>text</code> variable. In this line we just set the contents of the "
+"<code>TextView</code> with that variable."
+msgstr ""
+
+#: C/demo-record-collection.js.page:239(p)
+msgid ""
+"Line 15: Display the number of records in the table, making use of the "
+"<code>DataModel</code>'s <code>get_n_rows</code> method."
+msgstr ""
+
+#: C/demo-record-collection.js.page:244(title)
+#, fuzzy
+msgid "Inserting"
+msgstr "SchlÃsselbund"
+
+#: C/demo-record-collection.js.page:245(p)
+msgid ""
+"OK, we know how to connect to a database and how to select rows from a table. "
+"Now it's time to do an <code>INSERT</code> on the table. Do you remember "
+"above, in the method <code>setupWindow</code> we connected the <gui>Insert</"
+"gui> button's <code>clicked</code> signal to the method <code>_insertClicked</"
+"code>? Let's see the implementation of this method."
+msgstr ""
+
+#: C/demo-record-collection.js.page:266(p)
+msgid ""
+"We have learned how to use GDA's convenience functions "
+"<code>execute_select_command</code> and <code>execute_non_select_command</"
+"code> to quickly execute SQL commands on the database. GDA allows one to "
+"build a SQL statement indirectly, by using its <code>SqlBuilder</code> "
+"object. What are the benefits of this? GDA will generate the SQL statement "
+"dynamically, and it will be valid for the connection provider used (it will "
+"use the same SQL dialect the provider uses). Let's study the code:"
+msgstr ""
+
+#: C/demo-record-collection.js.page:270(p)
+msgid ""
+"Lines 2â3: Check if the user filled all the fields. The code for the private "
+"method <code>_validateFields</code> is really simple and you can read it in "
+"the full demo source code."
+msgstr ""
+
+#: C/demo-record-collection.js.page:271(p)
+msgid ""
+"Line 5: The faster way of doing the <code>INSERT</code>. It's commented out "
+"as we want to show how to use the <code>SqlBuilder</code> object to build a "
+"SQL statement portable across databases."
+msgstr ""
+
+#: C/demo-record-collection.js.page:272(p)
+msgid ""
+"Line 7: Create the <code>SqlBuilder</code> object. We must pass the type of "
+"statement we are going to build. It can be <code>SELECT</code>, <code>UPDATE</"
+"code>, <code>INSERT</code> or <code>DELETE</code>."
+msgstr ""
+
+#: C/demo-record-collection.js.page:273(p)
+msgid ""
+"Line 8: Set the name of the table on which the built statement will operate "
+"(it will generate <code>INSERT INTO demo</code>)"
+msgstr ""
+
+#: C/demo-record-collection.js.page:274(p)
+msgid ""
+"Lines 9â10: Set the fields and its values that will be part of the statement. "
+"The first argument is the field name (as in the table). The second one is the "
+"value for that field."
+msgstr ""
+
+#: C/demo-record-collection.js.page:275(p)
+msgid ""
+"Line 11: Get the dynamically generated <code>Statement</code> object, which "
+"represents a SQL statement."
+msgstr ""
+
+#: C/demo-record-collection.js.page:276(p)
+msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
+msgstr ""
+
+#: C/demo-record-collection.js.page:277(p)
+msgid ""
+"Line 14: Clear the id and name fields on the screen. The code for the private "
+"method <code>_clearFields</code> is really simple and you can read it in the "
+"full demo source code."
+msgstr ""
+
+#: C/demo-record-collection.js.page:278(p)
+msgid ""
+"Line 15: Refresh the view on the screen by doing another <code>SELECT</code>."
+msgstr ""
+
+#: C/demo-record-collection.js.page:280(p)
+msgid ""
+"You can also make use of parameters while building the statement. By using "
+"the <code>SqlBuilder</code> objects and parameters you are less subject to "
+"attacks like SQL injection. Check the <link href=\"http://library.gnome.org/";
+"devel/libgda/stable/\">GDA documentation</link> for more information about "
+"parameters."
+msgstr ""
+
+#: C/demo-record-collection.js.page:284(title)
+#: C/demo-image-viewer.py.page:219(title)
+#: C/demo-image-viewer.js.page:305(title)
+#: C/demo-guitar-tuner.py.page:221(title)
+msgid "Run the application"
+msgstr "Die Anwendung ausfÃhren"
+
+#: C/demo-record-collection.js.page:285(p)
+msgid ""
+"All of the code you need should now be in place, so try running the code. You "
+"now have a database for your record collection!"
+msgstr ""
+
+#: C/demo-record-collection.js.page:289(title)
+#: C/demo-photo-wall.c.page:377(title) C/demo-magic-mirror.vala.page:142(title)
+#: C/demo-image-viewer.vala.page:282(title)
+#: C/demo-image-viewer.py.page:224(title)
+#: C/demo-image-viewer.js.page:310(title)
+#: C/demo-image-viewer.cpp.page:212(title)
+#: C/demo-image-viewer.c.page:220(title)
+#: C/demo-guitar-tuner.vala.page:253(title)
+#: C/demo-guitar-tuner.py.page:226(title)
+#: C/demo-guitar-tuner.cpp.page:255(title)
+#: C/demo-guitar-tuner.c.page:255(title)
+msgid "Reference Implementation"
+msgstr ""
+
+#: C/demo-record-collection.js.page:290(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"record-collection/record-collection.js\">reference code</link>."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-photo-wall.c.page:76(None)
+msgid "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
+msgstr "original"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-photo-wall.c.page:79(None)
+msgid ""
+"@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
+msgstr "original"
+
+#: C/demo-photo-wall.c.page:7(desc)
+msgid "A Clutter image viewer"
+msgstr "Ein Clutter-Bildbetrachter"
+
+#: C/demo-photo-wall.c.page:11(name)
+msgid "Chris KÃhl"
+msgstr "Chris KÃhl"
+
+#: C/demo-photo-wall.c.page:12(email)
+msgid "chrisk openismus com"
+msgstr "chrisk openismus com"
+
+#: C/demo-photo-wall.c.page:20(title)
+msgid "Photo Wall"
+msgstr "Fotowand"
+
+#: C/demo-photo-wall.c.page:23(p)
+msgid ""
+"For this example we will build a simple image viewer using Clutter. You will "
+"learn:"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:25(p)
+msgid "How to size and position <code>ClutterActor</code>s"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:26(p)
+msgid "How to place an image in a <code>ClutterActor</code>"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:27(p)
+msgid "How to do simple transitions using Clutter's animation framework"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:28(p)
+msgid "How to make <code>ClutterActor</code>s respond to mouse events"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:29(p)
+msgid "How to get file names from a directory"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:35(p)
+msgid ""
+"Clutter is a library for creating dynamic user interfaces using OpenGL for "
+"hardware acceleration. This example demonstates a small, but central, part of "
+"the Clutter library to create a simple but attractive image viewing program."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:38(p)
+msgid ""
+"To help us reach our goal we will be utilising a few other common pieces of "
+"GLib as well. Most importantly, we'll use one <code>GSList</code>, a singly-"
+"linked list, to hold our <code>ClutterActor</code>s and another one for file "
+"path names. We will also use <code>GDir</code>, a utility for working with "
+"directories, to access our image directory and gather file paths."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:51(p)
+msgid ""
+"Choose <gui>Gtk+ (simple)</gui> from the <gui>C</gui> tab, click "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+"<file>photo-wall</file> as project name and directory."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:54(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we "
+"will create the UI manually in this tutorial. Check the <link xref=\"guitar-"
+"tuner.c\">Guitar-Tuner</link> tutorial using the interface builder."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:59(p)
+msgid ""
+"Enable <gui>Configure external packages</gui>. On the next page, select "
+"<em>clutter-1.0</em> from the list to include the Clutter library in your "
+"project."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:63(p) C/demo-image-viewer.c.page:49(p)
+#: C/demo-guitar-tuner.c.page:54(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.c</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"You should see some code which starts with the lines:"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:72(title)
+msgid "A look at Photo Wall"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:73(p)
+msgid "Our image viewer presents the user with a wall of images."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:77(p)
+msgid ""
+"When an image is clicked, it is animated to fill the viewing area. When the "
+"image having focus is clicked it is returned to its original position using "
+"an animation with the same duration of 500 milliseconds."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:83(title)
+msgid "Initial setup"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:84(p)
+msgid ""
+"The following code segment contains many of the defines and variables we will "
+"be using in the following sections. Use this as a reference for later "
+"sections. Copy this code to the beginning of <file>src/main.c</file>:"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:121(title)
+msgid "Jumping into the code"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:122(p)
+msgid ""
+"We will start by taking a look at the <code>main()</code> function as a "
+"whole. Then we'll discuss the other code sections in detail. Change the "
+"<file>src/main.c</file> to contain this <code>main()</code> function. You can "
+"delete the <code>create_window()</code> function as we don't need it in this "
+"example."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:163(p)
+msgid ""
+"Line 4: <code>ClutterColor</code> is defined by setting the red, green, blue "
+"and transparency (alpha) values. The values range from 0-255. For "
+"transparency a value of 255 is opaque."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:164(p)
+msgid ""
+"Line 7: You must initialize Clutter. If you forget to do this, you will get "
+"very strange errors. Be warned."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:165(p)
+msgid ""
+"Lines 9â11: Here we get the default <code>ClutterStage</code> that was "
+"provided by <code>clutter_init</code>. We then set the size using the defines "
+"from the previous section and the address of the <code>ClutterColor</code> we "
+"just defined."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:166(p)
+msgid ""
+"A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> onto "
+"which other <code>ClutterActor</code>s are placed."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:168(p)
+msgid ""
+"Line 12: Here we call our function for getting the image file paths. We'll "
+"look at this in a bit."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:169(p)
+msgid ""
+"Lines 14â26: This is where we set up the <code>ClutterActor</code>s, load the "
+"images and place them into their spot in the image wall. We will look at this "
+"in detail in the next section."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:170(p)
+msgid ""
+"Line 29: Show the stage and <em>all its children</em>, meaning our images."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:171(p)
+msgid "Line 32: Start the Clutter main loop."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:176(title)
+msgid "Setting up our image actors"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:177(p)
+msgid ""
+"In Clutter, an actor is the most basic visual element. Basically, everything "
+"you see is an actor."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:178(p)
+msgid ""
+"In this section, we are going to take a closer look at the loop used for "
+"setting up the <code>ClutterActor</code>s that will display our images."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:196(p)
+msgid ""
+"Line 5: Here we want to get the path at the <var>n</var>th location in the "
+"<code>GSList</code> that is holding our image path names. The <var>n</var>th "
+"position is calculated based on <code>row</code> and <code>col</code>. The "
+"return value is a pointer to a <code>GSList</code> which is just a node in "
+"the list. We will use this to get the actual path in the next line. The first "
+"parameter is a pointer to the head of the list."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:198(p)
+msgid ""
+"Line 6: This is where we actually create the <code>ClutterActor</code> and "
+"place the image into the actor. The first argument is the path which we "
+"access through our <code>GSList</code> node. The second argument is for error "
+"reporting but we are ignoring that to keep things short."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:200(p)
+msgid "Line 7: We'll look at this function in a later section."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:202(p)
+msgid ""
+"Line 8: This adds the <code>ClutterActor</code> to the stage, which is a "
+"container. It also assumes ownership of the <code>ClutterActor</code> which "
+"is something you'll want to look into as you get deeper into GNOME "
+"development. See the <link href=\"http://library.gnome.org/devel/gobject/";
+"stable/gobject-memory.html\"><code>GObject</code> documentation</link> for "
+"the gory details."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:204(p)
+msgid ""
+"Line 9: This adds our <code>ClutterActor</code> to a <code>GSList</code> so "
+"that we can later iterate over the <code>ClutterActor</code>s."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:205(p)
+msgid ""
+"Interesting to note is that we want to prepend the <code>ClutterActor</code>s "
+"rather than append so that we avoid traversing the list upon each insertion. "
+"You will often see <code>g_slist_prepend</code> followed by "
+"<code>g_slist_reverse</code> because it faster than inserting many objects at "
+"the end of the list."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:211(title)
+msgid "Loading the images"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:212(p)
+msgid ""
+"Let's take a short break from Clutter to see how we can get the file names "
+"from our image directory."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:239(p)
+msgid ""
+"Lines 5 and 12: This opens our directory or, if an error occured, returns "
+"after printing an error message."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:240(p)
+msgid ""
+"Lines 14â23: The first line gets another file name from the <code>GDir</code> "
+"we opened earlier. If there was an image file (which we check by looking at "
+"its extension, \".png\" or \".jpg\") in the directory we proceed to prepend "
+"the image directory path to the filename and prepend that to the list we set "
+"up earlier. Lastly we attempt to get the next path name and reenter the loop "
+"if another file was found."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:245(title)
+msgid "Set up the actors"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:246(p)
+msgid ""
+"We now take a look at the sizing and positioning of <code>ClutterActor</"
+"code>s and also readying the <code>ClutterActor</code> for user interaction."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:265(p)
+msgid ""
+"Line 7: Setting an actor reactive means that it reacts to events, such as "
+"<code>button-press-event</code> in our case. For Photo Wall, all "
+"<code>ClutterActor</code>s in the wall should initially be reactive."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:268(p)
+msgid ""
+"Line 9â12: Now we connect the <code>button-press-event</code> to the "
+"<code>actor_clicked_cb</code> callback which we will look at next."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:271(p)
+msgid "At this point we've got a wall of images that are ready to be viewed."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:275(title)
+msgid "Reacting to the clicks"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:320(p)
+msgid ""
+"Lines 1â4: We have to make sure our callback function matches the signature "
+"required for the <code>button_clicked_event</code> signal. For our example, "
+"we will only use the first argument, the <code>ClutterActor</code> that is "
+"actually clicked."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:322(p)
+msgid ""
+"A few words on the arguments we are not using in this example. The "
+"<code>ClutterEvent</code> is different depending on what event is being "
+"handled. For example, a key event produces a <code>ClutterKeyEvent</code> "
+"from which you can get the key being pressed among other information. For "
+"mouse click events you get a <code>ClutterButtonEvent</code> from which you "
+"can get the <code>x</code> and <code>y</code> values. See the Clutter "
+"documentation for other <code>ClutterEvent</code> types."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:323(p)
+msgid ""
+"The <code>user_data</code> is what one uses to pass data into the the "
+"function. A pointer to any data type can be passed in. If you need multiple "
+"data to be passed into the callback, you can place the data into a struct and "
+"pass its address in."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:327(p)
+msgid ""
+"Line 7: We set up a static flag to track which state we are in: wall mode or "
+"focus mode. We start out in wall mode so no image has focus. Thus, we set the "
+"flag to <code>FALSE</code> initially."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:328(p)
+msgid ""
+"Line 9: This line of code runs a custom function, "
+"<code>foreach_set_focus_state</code>, for each element in our "
+"<code>actor_list</code>, passing it the address to the <code>is_focused</"
+"code> flag. We'll see the definition of the <code>foreach_set_focus_state</"
+"code> function in the next section."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:329(p)
+msgid ""
+"Lines 13â19: Reaching this code means that one image currently has focus and "
+"we want to return to wall mode. The <code>clutter_actor_animate</code> "
+"function is used to animate a <code>ClutterActor</code>'s property or "
+"properties from the current state(s) to the specified state(s). The arguments "
+"are as follows:"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:331(p)
+msgid "The address of the <code>ClutterActor</code> to animate"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:332(p)
+msgid ""
+"The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so that we "
+"have a constant speed for animation."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:333(p)
+msgid ""
+"The duration of the animation in milliseconds. I've chosen 500 ms for this "
+"example."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:334(p)
+msgid ""
+"The remaining arguments are property/value pairs. Here we want to set the "
+"<code>x</code> value to the starting <code>x</code> value this "
+"<code>ClutterActor</code> was at before being brought into focus."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:335(p)
+msgid ""
+"The last argument must always be <code>NULL</code> to indicate that there are "
+"no more properties to be set."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:337(p)
+msgid ""
+"The <code>depth</code> property needs a little more explaining. We need to "
+"raise the focused image so that it doesn't slide behind other "
+"<code>ClutterActor</code>s. In this section we are returning it to the same "
+"depth as the others on the wall."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:338(p)
+msgid ""
+"Depth also determines which <code>ClutterActor</code>s receive events. A "
+"<code>ClutterActor</code> with a higher depth value receives the click events "
+"and can choose whether the event gets sent to <code>ClutterActor</code>s "
+"under it. We'll see how that works in a few steps."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:340(p)
+msgid ""
+"Line 24: Reaching this line of code means we are currently in the wall state "
+"and are about to give a <code>ClutterActor</code> focus. Here we save the "
+"starting position so that we can return to it later."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:341(p)
+msgid ""
+"Line 25: Setting the <code>ClutterActor</code>'s <code>reactive</code> "
+"property to <code>TRUE</code> makes this <code>ClutterActor</code> react to "
+"events. In this focused state the only <code>ClutterActor</code> that we want "
+"to receive events will be the <code>ClutterActor</code> being viewed. "
+"Clicking on the <code>ClutterActor</code> will return it to its starting "
+"position."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:342(p)
+msgid ""
+"Lines 27â33: This is similar to the above block of code. Notice that we are "
+"setting the the depth to raise it above the other images."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:343(p)
+msgid ""
+"Line 37: Here we toggle the <code>is_focused</code> flag to the current state."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:344(p)
+msgid ""
+"As mentioned previously, the <code>ClutterActor</code>s with higher "
+"<code>depth</code> values receive events but can allow <code>ClutterActor</"
+"code>s below them to also receive events. Returning <code>TRUE</code> will "
+"stop events from being passed down, while <code>FALSE</code> will pass events "
+"down."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:346(p)
+msgid ""
+"Remember, however, that to receive events the <code>ClutterActor</code>s must "
+"be set <code>reactive</code>."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:350(p)
+msgid ""
+"The following is the convenience function passed to <code>g_slist_foreach</"
+"code>."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:363(p)
+msgid ""
+"Lines 2â5: The signature of this function requires two <code>gpointer</"
+"code>s. The first is a pointer to the <code>ClutterActor</code> that our "
+"<code>GSList</code> holds and the other is the <code>is_focused</code> flag "
+"that we've passed in the previous section. We want to cast these and store "
+"them for easy use."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:364(p)
+msgid ""
+"Line 7: Depending on which boolean value is passed in, the "
+"<code>ClutterActor</code> will be set to respond to events or not."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:369(title) C/demo-image-viewer.vala.page:274(title)
+#: C/demo-image-viewer.cpp.page:206(title)
+#: C/demo-image-viewer.c.page:214(title)
+#: C/demo-guitar-tuner.vala.page:247(title)
+#: C/demo-guitar-tuner.cpp.page:249(title)
+#: C/demo-guitar-tuner.c.page:249(title)
+msgid "Build and run the application"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:370(p)
+msgid ""
+"All of the code should now be ready to go. All you need now is some pictures "
+"to load. By default, the pictures are loaded from a <file>berlin_images</"
+"file> directory. If you want, you can change the <code>#define "
+"IMAGE_DIR_PATH</code> line near the top to refer to your photo directory, or "
+"create a <file>berlin_images</file> directory by clicking "
+"<guiseq><gui>Project</gui><gui>New Directory...</gui></guiseq> and creating a "
+"<file>berlin_images</file> directory as a subdirectory of the <file>photo-"
+"wall</file> directory. Make sure to put at least twelve images in the "
+"directory!"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:372(p)
+msgid ""
+"When you have done that, click <guiseq><gui>Build</gui><gui>Build Project</"
+"gui></guiseq> to build everything again, then <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> to start the application."
+msgstr ""
+
+#: C/demo-photo-wall.c.page:373(p)
+msgid ""
+"If you haven't already done so, choose the <file>Debug/src/photo-wall</file> "
+"application in the dialog that appears. Finally, hit <gui>Run</gui> and enjoy!"
+msgstr ""
+
+#: C/demo-photo-wall.c.page:378(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"photo-wall/photo-wall.c\">reference code</link>."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-message-board.c.page:35(None)
+msgid "@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
+msgstr "original"
+
+#: C/demo-message-board.c.page:9(desc)
+msgid "A simple program using WebKitGTK+ and the DOM."
+msgstr ""
+
+#: C/demo-message-board.c.page:20(title)
+msgid "Message Board"
+msgstr ""
+
+#: C/demo-message-board.c.page:25(p)
+msgid "How to display a web page with WebKit."
+msgstr ""
+
+#: C/demo-message-board.c.page:26(p)
+msgid ""
+"How to manipulate the contents of a web page using WebKit's DOM functions."
+msgstr ""
+
+#: C/demo-message-board.c.page:29(p)
+msgid ""
+"This tutorial assumes you are familiar with the C programming language and "
+"have a basic understanding of GTK+, including how to create and place widgets "
+"and how to connect callback functions to signals. See <link xref=\"image-"
+"viewer.c\"/> to learn the basics of GTK+."
+msgstr ""
+
+#: C/demo-message-board.c.page:42(p)
+msgid ""
+"The GNOME platform includes WebKitGTK+, built on top of the powerful WebKit "
+"HTML framework. WebKit is used throughout GNOME, not just to view web pages "
+"on the Internet, but also to create rich user interfaces that can be easily "
+"styled with CSS."
+msgstr ""
+
+#: C/demo-message-board.c.page:47(p)
+msgid ""
+"In this tutorial, you will create a simple message board using WebKit. The "
+"message board will allow you to enter some text and have it added to a list "
+"of messages in HTML. Before you begin, you need to set up a project in Anjuta."
+msgstr ""
+
+#: C/demo-message-board.c.page:53(p)
+msgid ""
+"In Anjuta, click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></"
+"guiseq> to open the new project assistant."
+msgstr ""
+
+#: C/demo-message-board.c.page:55(p)
+msgid ""
+"Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
+"<gui>Continue</gui>."
+msgstr ""
+
+#: C/demo-message-board.c.page:57(p)
+msgid ""
+"Fill out your details on the <gui>Basic information</gui> page. Use "
+"<input>message-board</input> for the project name. Click <gui>Continue</gui>."
+msgstr ""
+
+#: C/demo-message-board.c.page:60(p)
+msgid ""
+"Disable the <gui>Use GtkBuilder for user interface</gui> option as this "
+"tutorial builds the user-interface manually."
+msgstr ""
+
+#: C/demo-message-board.c.page:63(p)
+msgid ""
+"You need to tell Anjuta you're using WebKitGTK+ on this project. On the "
+"<gui>Project options</gui> page, select <gui>Configure external packages</"
+"gui>. Click <gui>Continue</gui>. On the <gui>Configure external packages</"
+"gui> page, check <gui>webkitgtk-3.0</gui>."
+msgstr ""
+
+#: C/demo-message-board.c.page:69(p)
+msgid ""
+"After you finish the new project assistant, open the file <file>src/main.c</"
+"file> from either the <gui>Project</gui> or the <gui>File</gui> tab. Anjuta "
+"will have filled this in with some basic GTK+ code from its templates. Since "
+"you are creating a WebKit project, you first need to include the WebKit "
+"headers. After the line that includes <code>gtk/gtk.h</code>, add the "
+"following line:"
+msgstr ""
+
+#: C/demo-message-board.c.page:76(code)
+#, no-wrap
+msgid "#include &lt;webkit/webkit.h&gt;"
+msgstr ""
+
+#: C/demo-message-board.c.page:78(p)
+msgid ""
+"Verify that everything works by building what you have so far. Click "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> or just press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>. The first time you build, you "
+"will be asked for some configure options. Just accept the defaults and click "
+"<gui>Execute</gui>."
+msgstr ""
+
+#: C/demo-message-board.c.page:84(p)
+msgid ""
+"You should now be able to run the program. Click <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> or just press <key>F3</key>. You should see "
+"an empty window appear."
+msgstr ""
+
+#: C/demo-message-board.c.page:90(title)
+msgid "Lay out your window and web view"
+msgstr ""
+
+#: C/demo-message-board.c.page:92(p)
+msgid ""
+"Now that you can show a window, it's time to start working with WebKit. For "
+"this tutorial, you'll create a text entry and a web view and pack them both "
+"into a window. Find the function <code>create_window</code> and replace it "
+"with the following:"
+msgstr ""
+
+#: C/demo-message-board.c.page:132(p)
+msgid ""
+"You first create a <code>GtkWindow</code> object and set its title and "
+"default size. You also connect the <code>gtk_main_quit</code> function to the "
+"<code>delete-event</code> signal. The <code>delete-event</code> signal is "
+"emitted when the window is closed. The <code>gtk_main_quit</code> function is "
+"part of GTK, and it quits the application."
+msgstr ""
+
+#: C/demo-message-board.c.page:138(p)
+msgid ""
+"You then create a vertical box and add it to the window. A window can only "
+"hold a single child widget, so you need to use a box to add multiple widgets. "
+"The second argument to <code>gtk_box_new</code> sets the amount of padding "
+"(in pixels) between each child, and the next line puts a six-pixel border "
+"around the entire thing."
+msgstr ""
+
+#: C/demo-message-board.c.page:144(p)
+msgid ""
+"You next create a <code>GtkEntry</code> object and pack it into the box. The "
+"third and fourth arguments to <code>gtk_box_pack_start</code> specify that "
+"the entry shouldn't take up any extra space the box has available. The fourth "
+"argument is the amount of padding you want around the entry. In this case, "
+"you set the padding to zero, because you're allowing the box to handle all "
+"the padding."
+msgstr ""
+
+#: C/demo-message-board.c.page:151(p)
+msgid ""
+"Before you add a web view, you have to create a scrolled window to put it "
+"inside of. The scrolled window will place scrollbars on the right and bottom "
+"when necessary, and prevent your web view from filling your entire screen. "
+"This time, you pass <code>TRUE</code> and <code>TRUE</code> to "
+"<code>gtk_box_pack_start</code> to allow the scrolled window (and thus, the "
+"web view) to use any extra space available in the box."
+msgstr ""
+
+#: C/demo-message-board.c.page:158(p)
+msgid ""
+"Finally, you create a <code>WebKitWebView</code> and add it to the scrolled "
+"window. Then load a very basic HTML page into the web view by calling "
+"<code>webkit_web_view_load_string</code> with the following arguments:"
+msgstr ""
+
+#: C/demo-message-board.c.page:164(code)
+#, no-wrap
+msgid "WEBKIT_WEB_VIEW (view)"
+msgstr ""
+
+#: C/demo-message-board.c.page:165(p)
+msgid ""
+"The view itself. Because <code>view</code> is typed as a <code>GtkWidget*</"
+"code>, you have to use <code>WEBKIT_WEB_VIEW</code> to safely cast the object."
+msgstr ""
+
+#: C/demo-message-board.c.page:170(code)
+#, no-wrap
+msgid "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+msgstr "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+
+#: C/demo-message-board.c.page:171(p)
+msgid "The simplest HTML file you could possibly write."
+msgstr ""
+
+#: C/demo-message-board.c.page:174(code)
+#, no-wrap
+msgid "\"text/html\""
+msgstr "\"text/html\""
+
+#: C/demo-message-board.c.page:175(p)
+msgid ""
+"The MIME type of the content you provided. In this case, you're using plain "
+"HTML."
+msgstr ""
+
+#: C/demo-message-board.c.page:179(code)
+#, no-wrap
+msgid "\"UTF-8\""
+msgstr "\"UTF-8\""
+
+#: C/demo-message-board.c.page:180(p)
+msgid ""
+"The character encoding of the content you provided. Although you only used "
+"ASCII characters, it's a good idea to specify UTF-8. UTF-8 is used as the "
+"default encoding throughout the GNOME platform."
+msgstr ""
+
+#: C/demo-message-board.c.page:185(code)
+#, no-wrap
+msgid "NULL"
+msgstr ""
+
+#: C/demo-message-board.c.page:186(p)
+msgid ""
+"The base URI. You don't need it in this simple example, but you might want to "
+"provide a <sys>file:</sys> URI if you add images or other features where you "
+"want to use relative URI references."
+msgstr ""
+
+#: C/demo-message-board.c.page:193(p)
+msgid ""
+"Every time you add a widget, you have to call <code>gtk_widget_show</code> on "
+"it for it to be visible. If you call <code>gtk_widget_show_all</code> on a "
+"container widget like a <code>GtkBox</code>, GTK+ will automatically show all "
+"the widgets inside the container, to any depth. Sometimes you don't want to "
+"call <code>gtk_widget_show_all</code>, such as when you want to dynamically "
+"hide and show some widgets in response to events."
+msgstr ""
+
+#: C/demo-message-board.c.page:201(p)
+msgid ""
+"Finally, you have to call <code>gtk_widget_show_all</code> on the box. "
+"Otherwise, none of the widgets you created will be visible. (The window is "
+"shown in the <code>main</code> function with <code>gtk_widget_show</code>.)"
+msgstr ""
+
+#: C/demo-message-board.c.page:205(p)
+msgid ""
+"Build and run the message board again. You should see a window with a text "
+"entry and a web view. It doesn't do anything yet because the text entry and "
+"the web view don't know anything about each other."
+msgstr ""
+
+#: C/demo-message-board.c.page:211(title)
+msgid "Hook up signals"
+msgstr ""
+
+#: C/demo-message-board.c.page:213(p)
+msgid ""
+"Now you want to make the message board actually <em>do</em> something when "
+"you enter text into the text entry. To do this, connect a callback function "
+"to the <code>activate</code> signal of <code>entry</code>. GTK+ emits the "
+"<code>activate</code> signal whenever the user presses <key>Enter</key> in "
+"the entry. Add the following into <code>create_window</code>, anywhere after "
+"both <code>entry</code> and <code>view</code> have been defined:"
+msgstr ""
+
+#: C/demo-message-board.c.page:224(p)
+msgid ""
+"You then have to actually define <code>entry_activate_cb</code>. Define it as "
+"follows, anywhere above <code>create_window</code>:"
+msgstr ""
+
+#: C/demo-message-board.c.page:247(p)
+msgid ""
+"The first thing you do is get a <code>WebKitDOMDocument</code> object that "
+"represents the HTML document displayed in <code>view</code>. The DOM classes "
+"and methods in WebKit allow you to inspect and manipulate the HTML document, "
+"and work very similarly to the DOM APIs you might already know from "
+"JavaScript."
+msgstr ""
+
+#: C/demo-message-board.c.page:253(p)
+msgid ""
+"Once you have the document, you want to get the <code>body</code> element so "
+"that you can add <code>div</code> elements to it. The "
+"<code>webkit_dom_document_query_selector</code> function lets you find an "
+"element in the document using CSS selectors. This keeps you from having to "
+"write tedious loops to traverse the document."
+msgstr ""
+
+#: C/demo-message-board.c.page:260(cite) C/demo-message-board.c.page:272(cite)
+#: C/demo-message-board.c.page:324(cite) C/demo-message-board.c.page:381(cite)
+#: C/demo-message-board.c.page:389(cite)
+msgid "shaunm"
+msgstr "shaunm"
+
+#: C/demo-message-board.c.page:261(p)
+msgid "FIXME: Is this true? Does query_selector take CSS, CSSish, or what?"
+msgstr ""
+
+#: C/demo-message-board.c.page:264(p)
+msgid ""
+"Next, you create a new <code>div</code> element to hold the message. Every "
+"element you create has to be attached to a document, so the function to "
+"create an element takes the <code>WebKitDOMDocument</code> as its first "
+"arguments. You then set the text content of the element to the contents of "
+"the text entry. Because <code>gtk_entry_get_text</code> returns a <code>const "
+"gchar*</code>, you don't have to free the result."
+msgstr ""
+
+#: C/demo-message-board.c.page:273(p)
+msgid ""
+"Not passing the GError**, but we should give it a quick mention and link to "
+"somewhere that explains how GError-handling works."
+msgstr ""
+
+#: C/demo-message-board.c.page:277(p)
+msgid ""
+"Finally, you append the new <code>div</code> element to the body and clear "
+"out the text entry so you can type something new. Build and run the program "
+"again and test it for yourself."
+msgstr ""
+
+#: C/demo-message-board.c.page:284(title)
+msgid "Make it look better with CSS"
+msgstr ""
+
+#: C/demo-message-board.c.page:286(p)
+msgid ""
+"At this point, your program is completely functional, but not very pretty. "
+"You can style the message display with CSS, just like you can with any other "
+"HTML page. There are many ways you could attach some CSS to the page: You "
+"could add it in the initial HTML document. You could inline it in the "
+"<code>style</code> attribute of the <code>div</code> elements. You could even "
+"programmatically construct it using the DOM APIs."
+msgstr ""
+
+#: C/demo-message-board.c.page:293(p)
+msgid ""
+"In this tutorial, you'll attach the CSS using the <code>user-stylesheet-uri</"
+"code> property of the <code>WebKitWebSetting</code> object attached to your "
+"web view. In a more complete application, you would want to save and load "
+"your HTML file. Keeping the style information outside the actual HTML means "
+"that you can change the styling completely within your application, without "
+"having to change users' files. You would normally just install a file along "
+"with your application, but just to keep everything in one file for this demo, "
+"we'll use a trick called a data URI. First, define the CSS as a static string "
+"near the top of your file."
+msgstr ""
+
+#: C/demo-message-board.c.page:315(p)
+msgid ""
+"All you have in this example are <code>div</code> elements inside a "
+"<code>body</code> element. If you created more complicated HTML, you could "
+"use whatever CSS is necessary. In fact, if you're comfortable with CSS, you "
+"should trying changing this to something you like better."
+msgstr ""
+
+#: C/demo-message-board.c.page:320(p)
+msgid ""
+"To apply the CSS, you set the <code>user-stylesheet-uri</code> in the "
+"<code>create_window</code> function, anywhere after <code>view</code> has "
+"already been defined."
+msgstr ""
+
+#: C/demo-message-board.c.page:324(p)
+msgid "g_base64_encode has bad args"
+msgstr ""
+
+#: C/demo-message-board.c.page:336(p)
+msgid ""
+"Also, make sure to add variable declarations for <code>tmp</code> and "
+"<code>css</code> to the top of <code>create_window</code>."
+msgstr ""
+
+#: C/demo-message-board.c.page:339(code)
+#, no-wrap
+msgid ""
+"\n"
+"gchar *tmp, *css;\n"
+msgstr ""
+"\n"
+"gchar *tmp, *css;\n"
+
+#: C/demo-message-board.c.page:343(p)
+msgid ""
+"A data URI starts with <sys>data:</sys> and some information about the "
+"content type and how the data is encoded. The actual data follows after a "
+"comma, in this case encoded in Base64. Unlike other URI schemes like "
+"<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</sys> "
+"URI scheme doesn't specify where to find a file to load. Rather, it gives the "
+"entire contents of the file."
+msgstr ""
+
+#: C/demo-message-board.c.page:350(p)
+msgid ""
+"The code above first encodes your CSS definitions in Base64, then combines "
+"that with a fixed string to create a data URI. The <code>g_strconcat</code> "
+"function can take any number of string arguments and concatenate them all "
+"together, so you have to pass <code>NULL</code> as the final argument so it "
+"knows when to stop. And don't forget to free those temporary strings after "
+"you set the stylesheet property."
+msgstr ""
+
+#: C/demo-message-board.c.page:357(p)
+msgid ""
+"Build and run the program again. It should now work exactly the same as at "
+"the end of the last section, except the messages will be nicely styled with a "
+"border and a subtle background gradient."
+msgstr ""
+
+#: C/demo-message-board.c.page:363(title)
+msgid "Learn more"
+msgstr ""
+
+#: C/demo-message-board.c.page:365(p)
+msgid ""
+"This tutorial showed you how to create a basic application using GTK+ and "
+"WebKit, including showing a document and manipulating its contents. To create "
+"a real application, you probably want to do a little bit more. Try adding "
+"features on your own. Here are a few ideas:"
+msgstr ""
+
+#: C/demo-message-board.c.page:371(p)
+msgid ""
+"If you're comfortable with CSS, try changing the style of the message "
+"display. CSS is easy to get started with, but increasingly more powerful. "
+"There is a wealth of CSS tutorials on the Internet, and just about everything "
+"you can do on the web, you can do in this application."
+msgstr ""
+
+#: C/demo-message-board.c.page:377(p)
+msgid ""
+"Right now, you lose all your messages whenever you close the message board. "
+"Try saving the HTML contents after each post, and loading the saved file (if "
+"it exists) on startup."
+msgstr ""
+
+#: C/demo-message-board.c.page:381(p)
+msgid "Link to method to get HTML from DOM and to GIO APIs."
+msgstr ""
+
+#: C/demo-message-board.c.page:385(p)
+msgid ""
+"If you keep your messages around for a long time, you'll start wondering when "
+"you posted them. Add a timestamp to each message when it's posted. You'll "
+"probably want to create some additional child <code>div</code> elements with "
+"different classes that you can style in the CSS."
+msgstr ""
+
+#: C/demo-message-board.c.page:389(p)
+msgid "Link to strftime or something"
+msgstr ""
+
+#: C/demo-message-board.c.page:392(p)
+msgid ""
+"This program keeps messages around forever. Think about ways you could allow "
+"the user to delete messages. Perhaps you want messages to disappear "
+"automatically after they're too old, or after there are a certain number of "
+"messages before them. Or you could add a link in each message to delete it. "
+"You could even override the context menu when you right-click on a message. "
+"These features involve exploring WebKit's DOM API more."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-magic-mirror.vala.page:39(None)
+msgid "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+msgstr "original"
+
+#: C/demo-magic-mirror.vala.page:8(desc)
+msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:12(name)
+msgid "Daniel G. Siegel"
+msgstr "Daniel G. Siegel"
+
+#: C/demo-magic-mirror.vala.page:13(email)
+msgid "dgsiegel gnome org"
+msgstr "dgsiegel gnome org"
+
+#: C/demo-magic-mirror.vala.page:21(title)
+msgid "Magic Mirror"
+msgstr "Magischer Spiegel"
+
+#: C/demo-magic-mirror.vala.page:24(em)
+msgid ""
+"Your mirror just fell off the wall and broke into a thousand pieces â but you "
+"need a mirror to shave your beard off or add some makeup! You only have 15 "
+"minutes left before catching the bus to work. So what can you do?"
+msgstr ""
+"Ihr Spiegel ist soeben von der Wand gefallen und in tausend StÃcke "
+"zersprungen â aber Sie brauchen einen Spiegel, um sich zu rasieren oder fÃr "
+"Ihr Makeup! Ihnen bleiben gerade noch fÃnfzehn Minuten, sonst verpassen Sie "
+"den Bus und kommen zu spÃt zur Arbeit. Was nun?"
+
+#: C/demo-magic-mirror.vala.page:25(p)
+msgid ""
+"In this tutorial, we're going to make a program which lets you use your "
+"webcam as a mirror. You will learn how to:"
+msgstr ""
+"In diesem Tutorial erstellen wir ein Programm, mit dem Sie Ihre Webcam als "
+"Spiegel verwenden kÃnnen. Sie lernen, wie Sie"
+
+#: C/demo-magic-mirror.vala.page:27(p)
+msgid "Create a GTK+ application"
+msgstr "eine GTK+-Anwendung erstellen"
+
+#: C/demo-magic-mirror.vala.page:28(p)
+msgid "Access your webcam using GStreamer and embed the result into a window"
+msgstr ""
+"auf Ihre Webcam mit GStreamer zugreifen und das Ergebnis in ein Fenster "
+"einbetten"
+
+#: C/demo-magic-mirror.vala.page:29(p)
+msgid "Grab photos off your webcam"
+msgstr "Fotos von Ihrer Webcam holen"
+
+#: C/demo-magic-mirror.vala.page:31(p) C/demo-image-viewer.vala.page:38(p)
+#: C/demo-image-viewer.py.page:33(p) C/demo-image-viewer.js.page:33(p)
+#: C/demo-guitar-tuner.vala.page:34(p) C/demo-guitar-tuner.py.page:30(p)
+#: C/demo-guitar-tuner.cpp.page:30(p) C/demo-guitar-tuner.c.page:30(p)
+msgid "You'll need the following to be able to follow this tutorial:"
+msgstr "Folgendes benÃtigen Sie, um diesem Tutorial folgen zu kÃnnen:"
+
+#: C/demo-magic-mirror.vala.page:33(p) C/demo-image-viewer.py.page:35(p)
+#: C/demo-image-viewer.js.page:35(p) C/demo-guitar-tuner.py.page:32(p)
+#: C/demo-guitar-tuner.cpp.page:32(p) C/demo-guitar-tuner.c.page:32(p)
+msgid "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
+msgstr ""
+"Eine installierte Version der <link xref=\"getting-ready\">Anjuta-IDE</link>"
+
+#: C/demo-magic-mirror.vala.page:34(p)
+msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
+msgstr "Installierte Pakete von GTK und GStreamer sowie den Vala-Compiler"
+
+#: C/demo-magic-mirror.vala.page:35(p)
+msgid "Basic knowledge of an object-oriented programming language"
+msgstr "Grundlegende Kenntnisse einer objektorientierten Programmiersprache"
+
+#: C/demo-magic-mirror.vala.page:49(p)
+msgid ""
+"Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:52(p)
+msgid ""
+"Disable <gui>Use GtkBuilder for user interface</gui> as we will create the UI "
+"manually in this tutorial. Check the <link xref=\"guitar-tuner.vala\">Guitar-"
+"Tuner</link> tutorial using the interface builder."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:57(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is selected. On the "
+"next page, select <em>gstreamer-0.10</em> from the list to include the "
+"<app>GStreamer</app> library into your project."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:61(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/magic_mirror.vala</file> from the <gui>Project</gui> or <gui>File</"
+"gui> tabs. You should see some code which starts with the lines:"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:70(title)
+#: C/demo-image-viewer.vala.page:106(title)
+#: C/demo-image-viewer.cpp.page:60(title) C/demo-image-viewer.c.page:58(title)
+#: C/demo-guitar-tuner.vala.page:67(title)
+#: C/demo-guitar-tuner.cpp.page:63(title) C/demo-guitar-tuner.c.page:63(title)
+msgid "Build the code for the first time"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:71(p)
+msgid ""
+"The code loads an (empty) window and shows it. More details are given below; "
+"skip this list if you understand the basics:"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:74(p) C/demo-guitar-tuner.vala.page:72(p)
+msgid ""
+"The two <code>using</code> lines import namespaces so we don't have to name "
+"them explicitly."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:77(p)
+msgid ""
+"The constructor of the <code>Main</code> class creates a new window and sets "
+"its title. Afterwards the window is shown and a signal is connected which "
+"quits the application if the window is closed. More on signals later on."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:81(p)
+msgid ""
+"The static <code>main</code> function is run by default when you start a Vala "
+"application. It calls a few functions which create the Main class, set up and "
+"then run the application. The <code>Gtk.Main</code> function starts the GTK "
+"main loop, which runs the user interface and starts listening for events "
+"(like clicks and key presses)."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:85(p) C/demo-image-viewer.vala.page:126(p)
+#: C/demo-image-viewer.cpp.page:76(p) C/demo-image-viewer.c.page:77(p)
+#: C/demo-guitar-tuner.cpp.page:78(p) C/demo-guitar-tuner.c.page:82(p)
+msgid ""
+"This code is ready to be used, so you can compile it by clicking "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>)."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:86(p) C/demo-image-viewer.vala.page:127(p)
+msgid ""
+"Change the <gui>Configuration</gui> to <gui>Default</gui> and then press "
+"<gui>Execute</gui> to configure the build directory. You only need to do this "
+"once, for the first build."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:90(title)
+msgid "Access the webcam video stream with GStreamer"
+msgstr "Auf den Videostream der Webcam mit GStreamer zugreifen"
+
+#: C/demo-magic-mirror.vala.page:91(p)
+msgid ""
+"The GStreamer multimedia framework is able to handle video from webcams. "
+"Let's add GStreamer to our application and so we can access the video stream."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:118(p)
+msgid ""
+"First we remove the window we created before because GStreamer will take care "
+"of showing the picture on screen."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:122(p)
+msgid ""
+"Now we are creating a GStreamer element which accesses our webcam. We are "
+"using the Camerabin element, which is an all-in-one camera element and is "
+"capable of taking photos, videos, applying effects and much more. Perfect for "
+"our use case! With <code>this.camerabin.set_state (Gst.State.PLAYING)</code> "
+"we tell the GStreamer pipeline we just created to start playing. Easy, no?"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:129(p)
+msgid ""
+"Of course it is also possible to integrate the video more tighly into other "
+"windows but that is an advanced topic that includes some details of the X "
+"Window System we will omit here."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:133(p)
+msgid ""
+"Compile and run it again. You will end up with two windows. In the next step "
+"we will integrate the video into the GTK+ window."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:143(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"magic-mirror/magic-mirror.vala\">reference code</link>. There is also "
+"a more <link href=\"magic-mirror/magic-mirror-advanced.vala\">extensive "
+"implementation</link> that embeds the window into a regular Gtk.Window which "
+"involves some advanced techniques, and adds buttons to start/stop the picture."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:150(p)
+msgid ""
+"To find out more about the Vala programming language you might want to check "
+"out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
+"link>."
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:155(title)
+msgid "Conclusion"
+msgstr ""
+
+#: C/demo-magic-mirror.vala.page:156(p)
+msgid ""
+"That's it, you have managed to create a full-featured webcam photo "
+"application in 15 minutes. Now you can shave your beard off or add some "
+"makeup to your beautiful face, right before having a beautiful day at your "
+"workplace, where you can impress your friends and colleagues with an awesome "
+"application you just made in 15 minutes."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-image-viewer.vala.page:46(None) C/demo-image-viewer.py.page:40(None)
+#: C/demo-image-viewer.js.page:41(None) C/demo-image-viewer.cpp.page:31(None)
+#: C/demo-image-viewer.c.page:31(None)
+msgid "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
+msgstr "original"
+
+#: C/demo-image-viewer.vala.page:8(desc) C/demo-image-viewer.c.page:8(desc)
+msgid "A little bit more than a simple \"Hello world\" Gtk application."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:20(name)
+msgid "Philip Chimento"
+msgstr "Philip Chimento"
+
+#: C/demo-image-viewer.vala.page:21(email)
+msgid "philip chimento gmail com"
+msgstr "philip chimento gmail com"
+
+#: C/demo-image-viewer.vala.page:24(name)
+#: C/demo-guitar-tuner.vala.page:20(name)
+msgid "Tiffany Antopolski"
+msgstr "Tiffany Antopolski"
+
+#: C/demo-image-viewer.vala.page:25(email)
+#: C/demo-guitar-tuner.vala.page:21(email)
+msgid "tiffany antopolski gmail com"
+msgstr "tiffany antopolski gmail com"
+
+#: C/demo-image-viewer.vala.page:29(title)
+#: C/demo-image-viewer.py.page:23(title) C/demo-image-viewer.js.page:23(title)
+#: C/demo-image-viewer.cpp.page:21(title) C/demo-image-viewer.c.page:21(title)
+msgid "Image Viewer"
+msgstr "Bildbetrachter"
+
+#: C/demo-image-viewer.vala.page:31(p)
+msgid ""
+"In this tutorial you will create an application which opens and displays an "
+"image file. You will learn:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:33(p)
+msgid ""
+"How to set up a basic project using the <link xref=\"getting-ready\">Anjuta "
+"IDE</link>."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:34(p)
+msgid ""
+"How to write a <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gtk\">Gtk application</link> in Vala"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:35(p)
+msgid ""
+"Some basic concepts of <link href=\"http://developer.gnome.org/gobject/stable/";
+"\">GObject</link> programming"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:40(p) C/demo-guitar-tuner.vala.page:36(p)
+msgid ""
+"Basic knowledge of the <link href=\"https://live.gnome.org/Vala/Tutorial";
+"\">Vala</link> programming language."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:41(p) C/demo-guitar-tuner.vala.page:37(p)
+msgid "An installed copy of <app>Anjuta</app>."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:42(p)
+msgid ""
+"You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</link> "
+"API Reference useful, although it is not necessary to follow the tutorial."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:55(p) C/demo-guitar-tuner.vala.page:48(p)
+msgid ""
+"Start <app>Anjuta</app> and click <gui>Create a new project</gui> or "
+"<guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></guiseq> to open the "
+"project wizard."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:58(p)
+msgid ""
+"Choose <gui>Gtk+ (Simple)</gui> from the <gui>Vala</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:62(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we "
+"will create the UI manually in this tutorial."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:63(p)
+msgid ""
+"You will learn how to use the interface builder in the <link xref=\"guitar-"
+"tuner.vala\">Guitar-Tuner</link> tutorial."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:67(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.vala</file> from the <gui>Project</gui> or <gui>File</gui> "
+"tabs. You will see this code:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:107(p)
+msgid ""
+"The code loads an (empty) window from the user interface description file and "
+"shows it. More details are given below; skip this list if you understand the "
+"basics:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:112(p)
+msgid ""
+"The two <code>using</code> lines at the top import namespaces so we don't "
+"have to name them explicitly."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:115(p)
+msgid ""
+"The constructor of the <code>Main</code> class creates a new (empty) window "
+"and connects a <link href=\"https://live.gnome.org/Vala/SignalsAndCallbacks";
+"\">signal</link> to exit the application when that window is closed."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:116(p) C/demo-image-viewer.c.page:67(p)
+#: C/demo-guitar-tuner.c.page:72(p)
+msgid ""
+"Connecting signals is how you define what happens when you push a button, or "
+"when some other event happens. Here, the <code>destroy</code> function is "
+"called (and quits the app) when you close the window."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:120(p)
+msgid ""
+"The <code>static main</code> function is run by default when you start a Vala "
+"application. It calls a few functions which create the <code>Main</code> "
+"class, set up and then run the application. The <link href=\"http://valadoc.";
+"org/gtk+-3.0/Gtk.main.html\"><code>Gtk.main</code></link> function starts the "
+"GTK <link href=\"http://en.wikipedia.org/wiki/Event_loop\";>main loop</link>, "
+"which runs the user interface and starts listening for events (like clicks "
+"and key presses)."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:132(title)
+#: C/demo-image-viewer.cpp.page:81(title) C/demo-image-viewer.c.page:82(title)
+msgid "Creating the user interface"
+msgstr "Erstellung der BenutzeroberflÃche"
+
+#: C/demo-image-viewer.vala.page:133(p)
+msgid ""
+"Now we will bring life into the empty window. GTK organizes the user "
+"interface with <link href=\"http://www.valadoc.org/gtk+-2.0/Gtk.Container.html";
+"\"><code>Gtk.Container</code></link>s that can contain other widgets and even "
+"other containers. Here we will use the simplest available container, a <link "
+"href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.html\";><code>Gtk.Box</"
+"code></link>."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:137(p)
+msgid "Add the following lines to the top of the <code>Main</code> class:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:143(p)
+msgid "Now replace the current constructor with the one below:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:169(p)
+msgid ""
+"The first two lines are the parts of the GUI that we will need to access from "
+"more than one method. We declare them up here so that they are accessible "
+"throughout the class instead of only in the method where they are created."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:173(p)
+msgid ""
+"The first lines of the constructor create the empty window. The next lines "
+"create the widgets we want to use: a button for opening up an image, the "
+"image view widget itself and the box we will use as a container."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:177(p)
+msgid ""
+"The calls to <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
+"pack_start.html\"><code>pack_start</code></link> add the two widgets to the "
+"box and define their behaviour. The image will expand into any available "
+"space whereas the button will just be as big as needed. You will notice that "
+"we don't set explicit sizes on the widgets. In GTK this is usually not needed "
+"as it makes it much easier to have a layout that looks good in different "
+"window sizes. Next, the box is added to the window."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:184(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTK uses "
+"the concept of <em>signals</em>."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:185(p)
+msgid ""
+"When the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.html\";>button</"
+"link> is clicked, it fires the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.";
+"Button.clicked.html\"><code>clicked</code></link> signal, which we can "
+"connect to some action (defined in a <link href=\"https://live.gnome.org/Vala/";
+"SignalsAndCallbacks\">callback</link> method)."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:188(p)
+msgid ""
+"This is done using the <code>connect</code> method of the button's "
+"<code>clicked</code> signal, which in this case tells GTK to call the (yet "
+"undefined) <code>on_image_open</code> callback method when the button is "
+"clicked. We will define the <em>callback</em> in the next section."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:192(p)
+msgid ""
+"In the callback, we need to access the <code>window</code> and <code>image</"
+"code> widgets, which is why we defined them as private members at the top of "
+"our class."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:196(p)
+msgid ""
+"The last <code>connect</code> call makes sure that the application exits when "
+"the window is closed. The code generated by Anjuta called an "
+"<code>on_destroy</code> callback method which called <link href=\"http://www.";
+"valadoc.org/gtk+-2.0/Gtk.main_quit.html\"><code>Gtk.main_quit</code></link>, "
+"but just connecting our signal to <code>main_quit</code> directly is easier. "
+"You can delete the <code>on_destroy</code> method."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:203(title)
+#: C/demo-image-viewer.cpp.page:141(title)
+#: C/demo-image-viewer.c.page:147(title)
+msgid "Showing the image"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:204(p)
+msgid ""
+"We will now define the signal handler for the <code>clicked</code> signal for "
+"the button we mentioned before. Add this code after the constructor:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:231(p)
+msgid "This is a bit complicated, so let's break it down:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:232(p)
+msgid ""
+"A signal handler is a type of callback method that is called when a signal is "
+"emitted. Here the terms are used interchangeably."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:235(p)
+msgid ""
+"The first argument of the callback method is always the widget that sent the "
+"signal. Sometimes other arguments related to the signal come after that, but "
+"<em>clicked</em> doesn't have any."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:237(p)
+msgid ""
+"In this case the <code>button</code> sent the <code>clicked</code> signal, "
+"which is connected to the <code>on_open_image</code> callback method:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:242(p)
+msgid ""
+"The <code>on_open_image</code> method takes the button that emitted the "
+"signal as an argument:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:248(p)
+msgid ""
+"The next interesting line is where the dialog for choosing the file is "
+"created. <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.FileChooserDialog.";
+"html\"><code>FileChooserDialog</code></link>'s constructor takes the title of "
+"the dialog, the parent window of the dialog and several options like the "
+"number of buttons and their corresponding values."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:250(p)
+msgid ""
+"Notice that we are using <link href=\"http://unstable.valadoc.org/gtk+-3.0/";
+"Gtk.Stock.html\"><em>stock</em></link> button names from Gtk, instead of "
+"manually typing \"Cancel\" or \"Open\". The advantage of using stock names is "
+"that the button labels will already be translated into the user's language."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:254(p)
+msgid ""
+"The next two lines restrict the <gui>Open</gui> dialog to only display files "
+"which can be opened by <em>GtkImage</em>. GtkImage is a widget which displays "
+"an image. A filter object is created first; we then add all kinds of files "
+"supported by <link href=\"http://www.valadoc.org/gdk-pixbuf-2.0/Gdk.Pixbuf.";
+"html\"><code>Gdk.Pixbuf</code></link> (which includes most image formats like "
+"PNG and JPEG) to the filter. Finally, we set this filter to be the <gui>Open</"
+"gui> dialog's filter."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:259(p)
+msgid ""
+"<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.run.html";
+"\"><code>dialog.run</code></link> displays the <gui>Open</gui> dialog. The "
+"dialog will wait for the user to choose an image; when they do, <code>dialog."
+"run</code> will return the <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.";
+"ResponseType.html\">ResponseType</link> value <code>ResponseType.ACCEPT</"
+"code> (it would return <code>ResponseType.CANCEL</code> if the user clicked "
+"<gui>Cancel</gui>). The <code>switch</code> statement tests for this."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:264(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next lines get the "
+"filename of the image selected by the user, and tell the <code>GtkImage</"
+"code> widget to load and display the selected image."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:267(p) C/demo-image-viewer.py.page:212(p)
+#: C/demo-image-viewer.js.page:298(p)
+msgid ""
+"In the final line of this method, we destroy the <gui>Open</gui> dialog "
+"because we don't need it any more."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:268(p)
+msgid "Destroying automatically hides the dialog."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:275(p) C/demo-image-viewer.cpp.page:207(p)
+#: C/demo-image-viewer.c.page:215(p) C/demo-guitar-tuner.vala.page:248(p)
+#: C/demo-guitar-tuner.c.page:250(p)
+msgid ""
+"All of the code should now be ready to go. Click <guiseq><gui>Build</"
+"gui><gui>Build Project</gui></guiseq> to build everything again, and then "
+"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq> to start the application."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:277(p)
+msgid ""
+"If you haven't already done so, choose the <file>src/image-viewer</file> "
+"application in the dialog that appears. Finally, hit <gui>Run</gui> and enjoy!"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:283(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"image-viewer/image-viewer.vala\">reference code</link>."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:287(title)
+#: C/demo-image-viewer.py.page:229(title)
+#: C/demo-image-viewer.js.page:315(title)
+#: C/demo-image-viewer.cpp.page:217(title)
+#: C/demo-image-viewer.c.page:225(title)
+#: C/demo-guitar-tuner.vala.page:264(title)
+#: C/demo-guitar-tuner.py.page:231(title)
+#: C/demo-guitar-tuner.cpp.page:268(title)
+#: C/demo-guitar-tuner.c.page:260(title)
+msgid "Next steps"
+msgstr "NÃchste Schritte"
+
+#: C/demo-image-viewer.vala.page:288(p) C/demo-image-viewer.py.page:230(p)
+#: C/demo-image-viewer.js.page:316(p) C/demo-image-viewer.cpp.page:218(p)
+#: C/demo-image-viewer.c.page:226(p) C/demo-guitar-tuner.vala.page:265(p)
+#: C/demo-guitar-tuner.py.page:232(p) C/demo-guitar-tuner.cpp.page:269(p)
+#: C/demo-guitar-tuner.c.page:261(p)
+msgid "Here are some ideas for how you can extend this simple demonstration:"
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:290(p)
+msgid ""
+"Set it up so that when the window opens it is of a specific size to start off "
+"with. For example, 200 X 200 pixels."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:292(p) C/demo-image-viewer.py.page:233(p)
+#: C/demo-image-viewer.js.page:319(p) C/demo-image-viewer.cpp.page:221(p)
+#: C/demo-image-viewer.c.page:229(p)
+msgid ""
+"Have the user select a directory rather than a file, and provide controls to "
+"cycle through all of the images in a directory."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:295(p) C/demo-image-viewer.py.page:236(p)
+#: C/demo-image-viewer.js.page:322(p) C/demo-image-viewer.cpp.page:224(p)
+#: C/demo-image-viewer.c.page:232(p)
+msgid ""
+"Apply random filters and effects to the image when it is loaded and allow the "
+"user to save the modified image."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:296(p) C/demo-image-viewer.py.page:237(p)
+#: C/demo-image-viewer.js.page:323(p) C/demo-image-viewer.cpp.page:225(p)
+#: C/demo-image-viewer.c.page:233(p)
+msgid ""
+"<link href=\"http://www.gegl.org/api.html\";>GEGL</link> provides powerful "
+"image manipulation capabilities."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:299(p) C/demo-image-viewer.py.page:240(p)
+#: C/demo-image-viewer.js.page:326(p) C/demo-image-viewer.cpp.page:228(p)
+#: C/demo-image-viewer.c.page:236(p)
+msgid ""
+"Allow the user to load images from network shares, scanners, and other more "
+"complicated sources."
+msgstr ""
+
+#: C/demo-image-viewer.vala.page:300(p) C/demo-image-viewer.py.page:241(p)
+#: C/demo-image-viewer.js.page:327(p) C/demo-image-viewer.cpp.page:229(p)
+#: C/demo-image-viewer.c.page:237(p)
+msgid ""
+"You can use <link href=\"http://library.gnome.org/devel/gio/unstable/\";>GIO</"
+"link> to handle network file tranfers and the like, and <link href=\"http://";
+"library.gnome.org/devel/gnome-scan/unstable/\">GNOME Scan</link> to handle "
+"scanning."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:9(desc)
+msgid ""
+"A little bit more than a simple \"Hello world\" application - write an image "
+"viewer in GTK."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:13(name) C/demo-image-viewer.js.page:13(name)
+msgid "Jonh Wendell"
+msgstr "Jonh Wendell"
+
+#: C/demo-image-viewer.py.page:14(email) C/demo-image-viewer.js.page:14(email)
+msgid "jwendell gnome org"
+msgstr "jwendell gnome org"
+
+#: C/demo-image-viewer.py.page:26(p) C/demo-image-viewer.js.page:26(p)
+msgid ""
+"In this tutorial, we're going to write a very simple GTK application that "
+"loads and displays an image file. You will learn how to:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:28(p)
+msgid "Write a basic GTK user interface in Python"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:29(p) C/demo-image-viewer.js.page:29(p)
+msgid "Deal with events by connecting signals to signal handlers"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:30(p) C/demo-image-viewer.js.page:30(p)
+msgid "Lay out GTK user interfaces using containers"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:31(p) C/demo-image-viewer.js.page:31(p)
+msgid "Load and display image files"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:36(p)
+msgid "Basic knowledge of the python programming language"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:50(p)
+msgid ""
+"Choose <gui>PyGTK (automake)</gui> from the <gui>Python</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:53(p)
+msgid ""
+"Be sure to disable <gui>Use GtkBuilder for user interface</gui> as we will "
+"build the user interface manually in this example. For an example of using "
+"the interface designer, check the <link xref=\"guitar-tuner.py\">Guitar-Tuner "
+"demo</link>."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:58(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/image_viewer.py</file> from the <gui>Project</gui> or <gui>File</"
+"gui> tabs. It contains very basic example code."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:64(title) C/demo-image-viewer.js.page:125(title)
+msgid "A first Gtk application"
+msgstr "Eine erste Gtk-Anwendung"
+
+#: C/demo-image-viewer.py.page:65(p)
+msgid "Let's see what a very basic Gtk application looks like in Python:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:89(p) C/demo-image-viewer.js.page:136(p)
+msgid "Let's take a look at what's happening:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:92(p) C/demo-image-viewer.js.page:139(p)
+msgid ""
+"The first line imports the Gtk namespace (that is, it includes the Gtk "
+"library). The libraries are provided by GObject Introspection (gi), which "
+"provides language bindings for many GNOME libraries."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:95(p)
+msgid ""
+"In the <code>__init__</code> method of the <code>GUI</code> class creates an "
+"(empty) <code>Gtk.Window</code>, sets its title and then connects a signal to "
+"quit the application once the window is closed. That's pretty simple overall, "
+"more on signals later."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:100(p)
+msgid ""
+"Next, <code>destroy</code> is defined which just quits the application. It is "
+"called by the <code>destroy</code> signal connected above."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:104(p)
+msgid "The rest of the file does initialisation for Gtk and displays the GUI."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:108(p)
+msgid ""
+"This code is ready to run, so try it using <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq>. It should show you an empty window."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:113(title)
+#: C/demo-image-viewer.js.page:180(title)
+msgid "Signals"
+msgstr "Signale"
+
+#: C/demo-image-viewer.py.page:114(p) C/demo-image-viewer.js.page:181(p)
+msgid ""
+"Signals are one of the key concepts in Gtk programming. Whenever something "
+"happens to an object, it emits a signal; for example, when a button is "
+"clicked it gives off the <code>clicked</code> signal. If you want your "
+"program to do something when that event occurs, you must connect a function "
+"(a \"signal handler\") to that signal. Here's an example:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:121(p) C/demo-image-viewer.js.page:188(p)
+msgid ""
+"The last two lines create a <code>Gtk.Button</code> called <code>b</code> and "
+"connect its <code>clicked</code> signal to the <code>button_clicked</code> "
+"function, which is defined above. Every time the button is clicked, the code "
+"in the <code>button_clicked</code> function will be executed. It just prints "
+"a message here."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:125(title)
+#: C/demo-image-viewer.js.page:211(title)
+msgid "Containers: Laying-out the user interface"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:126(p) C/demo-image-viewer.js.page:212(p)
+msgid ""
+"Widgets (controls, such as buttons and labels) can be arranged in the window "
+"by making use of <em>containers</em>. You can organize the layout by mixing "
+"different types of containers, like boxes and grids."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:127(p) C/demo-image-viewer.js.page:213(p)
+msgid ""
+"A <code>Gtk.Window</code> is itself a type of container, but you can only put "
+"one widget directly into it. We would like to have two widgets, an image and "
+"a button, so we must put a \"higher-capacity\" container inside the window to "
+"hold the other widgets. A number of <link href=\"http://library.gnome.org/";
+"devel/gtk/stable/GtkContainer.html\">container types</link> are available, "
+"but we will use a <code>Gtk.Box</code> here. A <code>Gtk.Box</code> can hold "
+"several widgets, organized horizontally or vertically. You can do more "
+"complicated layouts by putting several boxes inside another box and so on."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:129(p) C/demo-image-viewer.js.page:215(p)
+msgid ""
+"There is a graphical user interface designer called <app>Glade</app> "
+"integrated in <app>Anjuta</app> which makes UI design really easy. For this "
+"simple example, however, we will code everything manually."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:131(p)
+msgid ""
+"Let's add the box and widgets to the window. Insert the following code into "
+"the <code>__init__</code> method, immediately after the <code>window."
+"connect_after</code> line:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:139(p)
+msgid ""
+"The first line creates a <code>Gtk.Box</code> called <code>box</code> and the "
+"following lines set two of its properties: the <code>orientation</code> is "
+"set to vertical (so the widgets are arranged in a column), and the "
+"<code>spacing</code> between the widgets is set to 5 pixels. The next line "
+"then adds the newly-created <code>Gtk.Box</code> to the window."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:140(p) C/demo-image-viewer.js.page:222(p)
+msgid ""
+"So far the window only contains an empty <code>Gtk.Box</code>, and if you run "
+"the program now you will see no changes at all (the <code>Gtk.Box</code> is a "
+"transparent container, so you can't see that it's there)."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:144(title)
+#: C/demo-image-viewer.js.page:226(title)
+msgid "Packing: Adding widgets to the container"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:145(p)
+msgid ""
+"To add some widgets to the <code>Gtk.Box</code>, insert the following code "
+"directly below the <code>window.add (box)</code> line:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:149(p)
+msgid ""
+"The first line creates a new <code>Gtk.Image</code> called <code>image</"
+"code>, which will be used to display an image file. As we need that later on "
+"in the signal handler, we will define it as a class-wide variable. You need "
+"to add <code>image = 0</code> to the beginning of the <code>GUI</code> class. "
+"Then, the image widget is added (<em>packed</em>) into the <code>box</code> "
+"container using GtkBox's <link href=\"http://library.gnome.org/devel/gtk/";
+"stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> method."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:151(p)
+msgid ""
+"<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
+"the GtkBox (<code>child</code>); whether the <code>Gtk.Box</code> should grow "
+"larger when the new widget is added (<code>expand</code>); whether the new "
+"widget should take up all of the extra space created if the <code>Gtk.Box</"
+"code> gets bigger (<code>fill</code>); and how much space there should be, in "
+"pixels, between the widget and its neighbors inside the <code>Gtk.Box</code> "
+"(<code>padding</code>)."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:152(p) C/demo-image-viewer.js.page:233(p)
+msgid ""
+"Gtk containers (and widgets) dynamically expand to fill the available space, "
+"if you let them. You don't position widgets by giving them a precise x,y-"
+"coordinate location in the window; rather, they are positioned relative to "
+"one another. This makes handling window resizing much easier, and widgets "
+"should automatically take a sensible size in most situations."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:153(p) C/demo-image-viewer.js.page:234(p)
+msgid ""
+"Also note how the widgets are organized in a hierarchy. Once packed in the "
+"<code>Gtk.Box</code>, the <code>Gtk.Image</code> is considered a <em>child</"
+"em> of the <code>Gtk.Box</code>. This allows you to treat all of the children "
+"of a widget as a group; for example, you could hide the <code>Gtk.Box</code>, "
+"which would also hide all of its children at the same time."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:154(p) C/demo-image-viewer.js.page:235(p)
+msgid "Now insert these two lines, below the two you just added:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:159(p)
+msgid ""
+"These lines are similar to the first two, but this time they create a "
+"<code>Gtk.Button</code> and add it to <code>box</code>. Notice that we are "
+"setting the <code>expand</code> argument (the second one) to <code>False</"
+"code> here, whereas it was set to <code>True</code> for the <code>Gtk.Image</"
+"code>. This will cause the image to take up all available space and the "
+"button to take only the space it needs. When you maximize the window, the "
+"button size will remain the same, but the image size will increase, taking up "
+"all of the rest of the window."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:163(title)
+#: C/demo-image-viewer.js.page:246(title)
+msgid ""
+"Loading the image: Connecting to the button's <code>clicked</code> signal"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:164(p)
+msgid ""
+"When the user clicks on the <gui>Open Image...</gui> button, a dialog should "
+"appear so that the user can choose a picture. Once chosen, the picture should "
+"be loaded and shown in the image widget."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:165(p)
+msgid ""
+"The first step is to connect the <code>clicked</code> signal of the button to "
+"a signal handler function, which we call <code>on_open_clicked</code>. Put "
+"this code immediately after the <code>button = Gtk.Button()</code> line where "
+"the button was created:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:169(p)
+msgid ""
+"This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
+"code> method that we will define below."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:174(title)
+#: C/demo-image-viewer.js.page:256(title)
+msgid "Loading the image: Writing the signal's callback"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:175(p)
+msgid ""
+"Now we can create the <code>on_open_clicked</code> method. Insert the "
+"following into the <code>GUI</code> class code block, after the "
+"<code>__init__</code> method:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:191(p) C/demo-image-viewer.js.page:277(p)
+#: C/demo-image-viewer.cpp.page:172(p) C/demo-image-viewer.c.page:184(p)
+msgid ""
+"This is a bit more complicated than anything we've attempted so far, so let's "
+"break it down:"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:194(p)
+msgid ""
+"The line beginning with <code>dialog</code> creates an <gui>Open</gui> "
+"dialog, which the user can use to choose files. We set three properties: the "
+"title of the dialog; the action (type) of the dialog (it's an \"open\" "
+"dialog, but we could have used <code>SAVE</code> if the intention was to save "
+"a file; and <code>transient_for</code>, which sets the parent window of the "
+"dialog."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:197(p) C/demo-image-viewer.js.page:283(p)
+msgid ""
+"The next two lines add <gui>Cancel</gui> and <gui>Open</gui> buttons to the "
+"dialog. The second argument of the <code>add_button</code> method is the "
+"(integer) value that is returned when the button is pressed: 0 for "
+"<gui>Cancel</gui> and 1 for <gui>Open</gui>."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:198(p) C/demo-image-viewer.js.page:284(p)
+#: C/demo-image-viewer.cpp.page:182(p) C/demo-image-viewer.c.page:196(p)
+msgid ""
+"Notice that we are using <em>stock</em> button names from Gtk, instead of "
+"manually typing \"Cancel\" or \"Open\". The advantage of using stock names is "
+"that the button labels will already be translated into the user's language."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:201(p) C/demo-image-viewer.js.page:287(p)
+msgid ""
+"<code>set_default_response</code> determines the button that will be "
+"activated if the user double-clicks a file or presses <key>Enter</key>. In "
+"our case, we are using the <gui>Open</gui> button as default (which has the "
+"value 1)."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:204(p) C/demo-image-viewer.js.page:290(p)
+msgid ""
+"The next three lines restrict the <gui>Open</gui> dialog to only display "
+"files which can be opened by <code>Gtk.Image</code>. A filter object is "
+"created first; we then add all kinds of files supported by <code>Gdk.Pixbuf</"
+"code> (which includes most image formats like PNG and JPEG) to the filter. "
+"Finally, we set this filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:207(p)
+msgid ""
+"<code>dialog.run</code> displays the <gui>Open</gui> dialog. The dialog will "
+"wait for the user to choose an image; when they do, <code>dialog.run</code> "
+"will return the value <output>1</output> (it would return <output>0</output> "
+"if the user clicked <gui>Cancel</gui>). The <code>if</code> statement tests "
+"for this."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:209(p) C/demo-image-viewer.js.page:295(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line sets the "
+"<code>file</code> property of the <code>Gtk.Image</code> to the filename of "
+"the image selected by the user. The <code>Gtk.Image</code> will then load and "
+"display the chosen image."
+msgstr ""
+
+#: C/demo-image-viewer.py.page:220(p)
+msgid ""
+"All of the code you need should now be in place, so try running the code. "
+"That should be it; a fully-functioning image viewer (and a whistlestop tour "
+"of Python and Gtk) in not much time at all!"
+msgstr ""
+
+#: C/demo-image-viewer.py.page:225(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"image-viewer/image-viewer.py\">reference code</link>."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:9(desc)
+msgid ""
+"A little bit more than a simple \"Hello world\" application - write an image "
+"viewer in GTK. Includes an introduction to the JavaScript language."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:28(p)
+msgid "Write a basic GTK user interface in JavaScript"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:36(p)
+msgid "An installed copy of the <em>gjs</em> interpreter"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:37(p)
+msgid "Basic knowledge of any object-orientated programming language"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:51(p)
+msgid ""
+"Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:54(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"It contains very basic example code."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:61(title)
+msgid "JavaScript basics: Hello World"
+msgstr "JavaScript-Grundlagen: Hello World"
+
+#: C/demo-image-viewer.js.page:62(p)
+msgid ""
+"Before we start writing the image viewer, let's find out more about the way "
+"JavaScript is used in GNOME. Of course, your very first contact with any "
+"programming language should be the Hello World program which can already be "
+"found in <file>main.js</file>:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:63(code)
+#, no-wrap
+msgid "print (\"Hello world!\");"
+msgstr "print (\"Hello world!\");"
+
+#: C/demo-image-viewer.js.page:64(p)
+msgid ""
+"This should look quite natural if you're familiar with almost any other "
+"programming language. The function <code>print</code> is called with the "
+"argument <code>\"Hello world!\"</code>, which will be printed on the screen. "
+"Note that each line of code ends with a semicolon."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:68(title)
+msgid "Classes in JavaScript"
+msgstr "Klassen in JavaScript"
+
+#: C/demo-image-viewer.js.page:69(p)
+msgid "This is the standard way to define a class in JavaScript:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:92(p)
+msgid ""
+"This defines a class called <code>MyClass</code>. Let's go through each part "
+"of the class definition:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:95(p)
+msgid ""
+"<code>function MyClass</code> is the constructor of the class â its name must "
+"match the class's name. You can access any member of the class by using the "
+"<code>this</code> object; here, the constructor calls the class's "
+"<code>_init</code> method."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:98(p)
+msgid ""
+"The <code>MyClass.prototype</code> block is where you define the "
+"<em>structure</em> of the class. Each class is made up of methods (functions) "
+"and fields (variables); there are three methods and two fields in this "
+"example."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:101(p)
+msgid ""
+"The first method defined here is called <code>_init</code>, and we specify "
+"that it is a function with no arguments:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:102(code)
+#, no-wrap
+msgid "_init: function ()"
+msgstr "_init: function ()"
+
+#: C/demo-image-viewer.js.page:103(p)
+msgid ""
+"We write the function inside some curly braces. Two fields are defined here, "
+"<code>propertyA</code> and <code>propertyB</code>. The first is set to a "
+"string and the second is set to an integer (10). The function doesn't return "
+"any value."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:106(p)
+msgid ""
+"The next method is called <code>aMethod</code> and has two arguments, which "
+"it prints out when you call it. The final method is <code>dumpProperties</"
+"code>, and prints the fields <code>propertyA</code> and <code>propertyB</"
+"code>."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:109(p)
+msgid ""
+"Note how the class definition (prototype) is arranged; each function "
+"definition is separated by a comma."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:113(p)
+msgid "Now that MyClass has been defined, we can play with it:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:119(p)
+msgid ""
+"This code creates a new instance of the class called <code>o</code>, runs "
+"<code>aMethod</code>, changes <code>propertyA</code> to a different string, "
+"and then calls <code>dumpProperties</code> (which outputs the fields)."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:120(p)
+msgid ""
+"Save the code in the <file>main.js</file> and then run it by using "
+"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq> from the menu or using the "
+"toolbar."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:126(p)
+msgid "Let's see what a very basic Gtk application looks like in JavaScript:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:142(p)
+msgid ""
+"<code>Gtk.init</code> initializes the Gtk library; this statement is "
+"mandatory for all Gtk programs."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:145(p)
+msgid ""
+"The next line creates the main window by creating a new <code>Gtk.Window</"
+"code> object. You can pass several properties to the window's constructor by "
+"using the syntax <code>{property: value, property: value, ...}</code>. In "
+"this case we are setting the title of the window."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:146(p)
+msgid ""
+"The next line explicitly shows the window. In Gtk, every widget is hidden by "
+"default."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:147(p)
+msgid ""
+"Finally, <code>Gtk.main</code> runs the main loop â in other words, it "
+"executes the program. The main loop listens for events (signals) from the "
+"user interface and then calls a signal handler which will do something "
+"useful. We'll learn more about signals shortly."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:150(p)
+msgid ""
+"Save the code in <file>main.js</file> and run it. You will notice that the "
+"application does not quit when you close the window. This is because we "
+"haven't set up a signal handler to deal with the window's <code>destroy</"
+"code> (close) signal yet. We'll do this shortly, but for now you can just hit "
+"<keyseq><key>Ctrl</key><key>C</key></keyseq> in the terminal window to quit "
+"the program."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:155(title)
+msgid "Adding classes"
+msgstr "Klassen hinzufÃgen"
+
+#: C/demo-image-viewer.js.page:156(p)
+msgid ""
+"The proper way of doing Gtk programming is by using classes. Let's rewrite "
+"the simple code you just wrote using classes:"
+msgstr ""
+
+#. FIXME: Throws an error, "JS ERROR: !!!   Unhandled type int32 releasing GArgument" on Ubuntu 10.10
+#: C/demo-image-viewer.js.page:175(p)
+msgid ""
+"Notice that the program is the same; we just moved the window creation code "
+"to our own <code>ImageViewer</code> class. The class's constructor calls the "
+"<code>_init</code> method, which creates and shows the window. We then create "
+"an instance of the class before running the main loop (<code>Gtk.main</code>)."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:176(p)
+msgid ""
+"This code is modular and can be split into multiple files easily. This makes "
+"it cleaner and easier to read."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:189(p)
+msgid "The syntax for connecting any signal to a function is:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:192(p)
+msgid ""
+"You can find signal definitions for any object in the <link href=\"http://";
+"library.gnome.org/devel/gtk/stable/ch01.html\">GTK class reference</link>."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:195(p)
+msgid ""
+"You can simplify the code by making use of an inline function definition:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:203(title)
+msgid "Closing the window"
+msgstr "Das Fenster schlieÃen"
+
+#: C/demo-image-viewer.js.page:204(p)
+msgid ""
+"When you close a Gtk window it's not really closed, it's hidden. This allows "
+"you to keep the window around (which is useful if you want to ask the user if "
+"they really want to close the window, for example)."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:205(p)
+msgid ""
+"In our case, we really do just want to close the window. The simplest way of "
+"doing this is by connecting the <code>hide</code> signal of the GtkWindow "
+"object to a function that closes the application. Go back to the <file>image-"
+"viewer.js</file> file and add the following code to the <code>_init</code> "
+"method, on the line above <code>this.window.show</code>:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:206(code)
+#, no-wrap
+msgid "this.window.connect (\"hide\", Gtk.main_quit);"
+msgstr "this.window.connect (\"hide\", Gtk.main_quit);"
+
+#: C/demo-image-viewer.js.page:207(p)
+msgid ""
+"This connects the <code>hide</code> signal of the window to Gtk's "
+"<code>main_quit</code> function, which ends the execution of the Gtk main "
+"loop. Once the main loop finishes, the function <code>Gtk.main</code> "
+"returns. Our program would continue to run any code written after the "
+"<code>Gtk.main ();</code> line, but since we don't have any code after that "
+"point, the program just ends."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:217(p)
+msgid ""
+"Let's add the box and widgets to the window. Insert the following code into "
+"the <code>_init</code> method, immediately above the <code>this.window.show</"
+"code> line:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:221(p)
+msgid ""
+"The first line creates a <code>Gtk.Box</code> called <code>main_box</code> "
+"and sets two of its properties: the <code>orientation</code> is set to "
+"vertical (so widgets are arranged in a column), and the <code>spacing</code> "
+"between the widgets is set to 0 pixels. The next line then adds the newly-"
+"created <code>Gtk.Box</code> to the window."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:227(p)
+msgid ""
+"To add some widgets to the <code>Gtk.Box</code>, insert the following code "
+"directly below the <code>this.window.add (main_box)</code> line:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:231(p)
+msgid ""
+"The first line creates a new <code>Gtk.Image</code> called <code>image</"
+"code>, which will be used to display an image file. Then, the image widget is "
+"added (<em>packed</em>) into the <code>main_box</code> container using "
+"<code>Gtk.Box</code>'s <link href=\"http://library.gnome.org/devel/gtk/stable/";
+"GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> method."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:232(p)
+msgid ""
+"<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
+"the <code>Gtk.Box</code> (<code>child</code>); whether the <code>Gtk.Box</"
+"code> should grow larger when the new widget is added (<code>expand</code>); "
+"whether the new widget should take up all of the extra space created if the "
+"<code>Gtk.Box</code> gets bigger (<code>fill</code>); and how much space "
+"there should be, in pixels, between the widget and its neighbors inside the "
+"<code>Gtk.Box</code> (<code>padding</code>)."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:239(p)
+msgid ""
+"These lines are similar to the first two, but this time they create a "
+"<code>Gtk.Button</code> and add it to <code>main_box</code>. Notice that we "
+"are setting the <code>expand</code> argument (the second one) to <code>false</"
+"code> here, whereas it was set to <code>true</code> for the <code>Gtk.Image</"
+"code>. This will cause the image to take up all available space and the "
+"button to take only the space it needs. When you maximize the window, the "
+"button size will remain the same, but the image size will increase, taking up "
+"all of the rest of the window."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:240(p)
+msgid ""
+"Finally, we must change the <code>this.window.show ();</code> line to read:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:241(code)
+#, no-wrap
+msgid "this.window.show_all ();"
+msgstr "this.window.show_all ();"
+
+#: C/demo-image-viewer.js.page:242(p)
+msgid ""
+"This will show the child of the Gtk window, and all of its children, and its "
+"children's children, and so on. (Remember that Gtk widgets are all hidden by "
+"default.)"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:247(p)
+msgid ""
+"When the user clicks on the <gui>Open</gui> button, a dialog should appear so "
+"that the user can choose a picture. Once chosen, the picture should be loaded "
+"and shown in the image widget."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:248(p)
+msgid ""
+"The first step is to connect the <code>clicked</code> signal of the button to "
+"a signal handler function, which we call <code>_openClicked</code>. Put this "
+"code immediately after the <code>var open_button = new Gtk.Button</code> line "
+"where the button was created:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:251(p)
+msgid ""
+"We are using the <em>Lang</em> JavaScript helper here. It allows us to "
+"connect a <em>class method</em> to the signal, rather than a plain function "
+"(without a class) which we had used before for the window's <code>hide</code> "
+"signal. Don't worry about this for now, it's just a technical detail. For it "
+"to work, you also need to put the following line at the top of the file:"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:252(code)
+#, no-wrap
+msgid "const Lang = imports.lang;"
+msgstr "const Lang = imports.lang;"
+
+#: C/demo-image-viewer.js.page:257(p)
+msgid ""
+"Now we can create the <code>_openClicked()</code> method. Insert the "
+"following into the <code>ImageViewer.prototype</code> code block, after the "
+"<code>_init</code> method (and not forgetting the comma):"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:280(p)
+msgid ""
+"The line beginning with <code>var chooser</code> creates an <gui>Open</gui> "
+"dialog, which the user can use to choose files. We set four properties: the "
+"title of the dialog; the action (type) of the dialog (it's an \"open\" "
+"dialog, but we could have used <code>SAVE</code> if the intention was to save "
+"a file; <code>transient_for</code>, which sets the parent window of the "
+"dialog; and <code>modal</code> which, if set to <code>true</code>, prevents "
+"the user from clicking on another area of the application until the dialog is "
+"closed."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:293(p)
+msgid ""
+"<code>chooser.run</code> displays the <gui>Open</gui> dialog. The dialog will "
+"wait for the user to choose an image; when they do, <code>chooser.run</code> "
+"will return the value <output>1</output> (it would return <output>0</output> "
+"if the user clicked <gui>Cancel</gui>). The <code>if</code> statement tests "
+"for this."
+msgstr ""
+
+#: C/demo-image-viewer.js.page:306(p)
+msgid ""
+"All of the code you need should now be in place, so try running the code. "
+"That should be it; a fully-functioning image viewer (and a whistlestop tour "
+"of JavaScript and Gtk) in not much time at all!"
+msgstr ""
+
+#: C/demo-image-viewer.js.page:311(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"image-viewer/image-viewer.js\">reference code</link>."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:8(desc)
+msgid "A little bit more than a simple \"Hello world\" GTKmm application."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:26(p)
+msgid "Some basic concepts of C++/GObject programming"
+msgstr "Einige grundlegende Konzepte der Programmierung mit C++/GObject"
+
+#: C/demo-image-viewer.cpp.page:27(p)
+msgid "How to write a Gtk application in C++"
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:41(p)
+msgid ""
+"Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:44(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we "
+"will create the UI manually in this tutorial. Check the <link xref=\"guitar-"
+"tuner.cpp\">Guitar-Tuner</link> tutorial if you want to learn how to use the "
+"interface builder."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:49(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"You should see some code which starts with the lines:"
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:61(p)
+msgid ""
+"This is a very basic C++ code setting up GTKmm. More details are given below; "
+"skip this list if you understand the basics:"
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:64(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
+"and <code>iostream</code> (C++-STL) libraries. Functions from these libraries "
+"are used in the rest of the code."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:67(p)
+msgid ""
+"The <code>main</code> function creates a new (empty) window and sets the "
+"window title."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:70(p)
+msgid ""
+"The <code>kit::run()</code> call starts the GTKmm main loop, which runs the "
+"user interface and starts listening for events (like clicks and key presses). "
+"As we give the window as an argument to that function, the application will "
+"automatically exit when that window is closed."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:77(p) C/demo-image-viewer.c.page:78(p)
+#: C/demo-guitar-tuner.cpp.page:79(p) C/demo-guitar-tuner.c.page:83(p)
+msgid ""
+"Press <gui>Execute</gui> on the next window that appears to configure a debug "
+"build. You only need to do this once, for the first build."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:82(p)
+msgid ""
+"Now we will bring life into the empty window. GTKmm organizes the user "
+"interface with <code>Gtk::Container</code>s that can contain other widgets "
+"and even other containers. Here we will use the simplest available container, "
+"a <code>Gtk::Box</code>:"
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:119(p)
+msgid ""
+"The first lines create the widgets we want to use: a button for opening up an "
+"image, the image view widget itself and the box we will use as a container."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:122(p)
+msgid ""
+"The calls to <code>pack_start</code> add the two widgets to the box and "
+"define their behaviour. The image will expand into any available space while "
+"the button will just be as big as needed. You will notice that we don't set "
+"explicit sizes on the widgets. In GTKmm this is usually not needed as it "
+"makes it much easier to have a layout that looks good in different window "
+"sizes. Next, the box is added to the window."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:128(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTKmm uses "
+"the concept of <em>signals</em>. When the button is clicked, it fires the "
+"<em>clicked</em> signal, which we can connect to some action. This is done "
+"using the <code>signal_clicked().connect</code> method which tells GTKmm to "
+"call the <code>on_open_image</code> function when the button is clicked and "
+"to pass the image as an additional argument to that function. We will define "
+"the <em>callback</em> in the next section."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:133(p)
+msgid ""
+"The last step is to show all widgets in the window using <code>show_all()</"
+"code>. This is equivalent to using the <code>show()</code> method on all our "
+"widgets."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:142(p)
+msgid ""
+"We will now define the signal handler for the <em>clicked</em> signal or the "
+"button we mentioned before. Add this code before the <code>main</code> method."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:174(p)
+msgid ""
+"The argument to the signal is the image object that we passed while "
+"connecting the signal. Sometimes there are other arguments related to the "
+"signal, but <em>clicked</em> doesn't have any."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:176(p)
+msgid ""
+"The next interesting line is where the dialog for choosing the file is "
+"created using <code>Gtk::FileChooserDialog</code>. The function takes the "
+"title of the dialog and the type of dialog this should be. In our case, it is "
+"an <em>Open</em> dialog."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:181(p)
+msgid ""
+"The next two lines add an <em>Open</em> and a <em>Close</em> button to the "
+"dialog."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:183(p)
+msgid ""
+"The second argument to the <code>add_button()</code> method is a value to "
+"identify the clicked button. We use predefined values provided by GTKmm here, "
+"too."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:188(p)
+msgid ""
+"The next two lines restrict the <gui>Open</gui> dialog to only display files "
+"which can be opened by <code>Gtk::Image</code>. A filter object is created "
+"first; we then add all kinds of files supported by <code>Gdk::Pixbuf</code> "
+"(which includes most image formats like PNG and JPEG) to the filter. Finally, "
+"we set this filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:189(p)
+msgid ""
+"<code>Glib::RefPtr</code> is a smart pointer used here, that makes sure that "
+"the filter is destroyed when there is no reference to it anymore."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:193(p)
+msgid ""
+"<code>dialog.run</code> displays the <gui>Open</gui> dialog. The dialog will "
+"wait for the user to choose an image; when they do, <code>dialog.run</code> "
+"will return the value <code>Gtk::RESPONSE_ACCEPT</code> (it would return "
+"<code>Gtk::RESPONSE_CANCEL</code> if the user clicked <gui>Cancel</gui>). The "
+"<code>switch</code> statement tests for this."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:195(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line loads the "
+"file into the <code>Gtk::Image</code> so that it is displayed."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:199(p)
+msgid ""
+"In the final line of this method, we hide the <gui>Open</gui> dialog because "
+"we don't need it any more. The dialog would be hidden anyway, as it is only a "
+"local variable and is destroyed (and as such hidden) when the scope ends."
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:208(p) C/demo-image-viewer.c.page:216(p)
+msgid ""
+"If you haven't already done so, choose the <file>Debug/src/image-viewer</"
+"file> application in the dialog that appears. Finally, hit <gui>Run</gui> and "
+"enjoy!"
+msgstr ""
+
+#: C/demo-image-viewer.cpp.page:213(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"image-viewer/image-viewer.cc\">reference code</link>."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:26(p)
+msgid "Some basic concepts of C/GObject programming"
+msgstr "Einige grundlegende Konzepte der Programmierung mit C/GObject"
+
+#: C/demo-image-viewer.c.page:27(p)
+msgid "How to write a Gtk application in C"
+msgstr ""
+
+#: C/demo-image-viewer.c.page:41(p)
+msgid ""
+"Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:44(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we "
+"will create the UI manually in this tutorial. Check the <link xref=\"guitar-"
+"tuner.c\">Guitar-Tuner</link> tutorial if you want to learn how to use the "
+"interface builder."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:59(p)
+msgid ""
+"C is a rather verbose language, so don't be surprised that the file contains "
+"quite a lot of code. Most of it is template code. It loads an (empty) window "
+"and shows it. More details are given below; skip this list if you understand "
+"the basics:"
+msgstr ""
+
+#: C/demo-image-viewer.c.page:63(p) C/demo-guitar-tuner.c.page:68(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtk</code> (user interface) and "
+"<code>gi18n</code> (internationalization) libraries. Functions from these "
+"libraries are used in the rest of the code."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:66(p)
+msgid ""
+"The <code>create_window</code> function creates a new (empty) window and "
+"connects a signal to exit the application when that window is closed."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:70(p) C/demo-guitar-tuner.c.page:75(p)
+msgid ""
+"The <code>main</code> function is run by default when you start a C "
+"application. It calls a few functions which set up and then run the "
+"application. The <code>gtk_main</code> function starts the GTK main loop, "
+"which runs the user interface and starts listening for events (like clicks "
+"and key presses)."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:73(p) C/demo-guitar-tuner.c.page:78(p)
+msgid ""
+"The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
+"code>, which is a framework for translating applications. These functions "
+"specify how translation tools should handle your app when you run them."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:83(p)
+msgid ""
+"Now we will bring life into the empty window. GTK organizes the user "
+"interface with <code>GtkContainer</code>s that can contain other widgets and "
+"even other containers. Here we will use the simplest available container, a "
+"<code>GtkBox</code>:"
+msgstr ""
+
+#: C/demo-image-viewer.c.page:121(p)
+msgid ""
+"The first lines create the widgets we want to use: a button for opening up an "
+"image, the image view widget itself and the box we will use as a container. "
+"The macros like <code>GTK_BOX</code> are used for dynamic type checking and "
+"casting which is needed as C doesn't support object-orientation out-of-the-"
+"box."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:126(p)
+msgid ""
+"The calls to <code>gtk_box_pack_start</code> add the two widgets to the box "
+"and define their behaviour. The image will expand into any available space "
+"while the button will just be as big as needed. You will notice that we don't "
+"set explicit sizes on the widgets. In GTK this is usually not needed as it "
+"makes it much easier to have a layout that looks good in different window "
+"sizes. Next, the box is added to the window."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:132(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTK uses "
+"the concept of <em>signals</em>. When the button is clicked, it fires the "
+"<em>clicked</em> signal, which we can connect to some action. This is done "
+"using the <code>g_signal_connect</code> function which tells GTK to call the "
+"<code>on_image_open</code> function when the button is clicked and to pass "
+"the image as an additional argument to that function. We will define the "
+"<em>callback</em> in the next section."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:137(p)
+msgid ""
+"The last <code>g_signal_connect()</code> makes sure that the application "
+"exits when the window is closed."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:140(p)
+msgid ""
+"As a last step, make sure to replace the <code>gtk_widget_show</code> call in "
+"the <code>main()</code> function by <code>gtk_widget_show_all()</code> to "
+"show the window and all the widgets it contains."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:148(p)
+msgid ""
+"We will now define the signal handler for the <em>clicked</em> signal or the "
+"button we mentioned before. Add this code before the <code>create_window()</"
+"code> method."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:186(p)
+msgid ""
+"The first argument of the signal is always the widget that sent the signal. "
+"Sometimes other arguments related to the signal come after that, but "
+"<em>clicked</em> doesn't have any. Next is the <code>user_data</code> "
+"argument which is a pointer to the data we passed when connecting the signal. "
+"In this case it is our <code>GtkImage</code> object."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:192(p)
+msgid ""
+"The next interesting line is where the dialog for choosing the file is "
+"created using <code>gtk_file_chooser_dialog_new</code>. The function takes "
+"the title of the dialog, the parent window of the dialog and several options "
+"like the number of buttons and their corresponding values."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:199(p)
+msgid ""
+"The next two lines restrict the <gui>Open</gui> dialog to only display files "
+"which can be opened by GtkImage. A filter object is created first; we then "
+"add all kinds of files supported by <code>GdkPixbuf</code> (which includes "
+"most image formats like PNG and JPEG) to the filter. Finally, we set this "
+"filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:202(p)
+msgid ""
+"<code>gtk_dialog_run</code> displays the <gui>Open</gui> dialog. The dialog "
+"will wait for the user to choose an image; when they do, "
+"<code>gtk_dialog_run</code> will return the value <code>GTK_RESPONSE_ACCEPT</"
+"code> (it would return <code>GTK_RESPONSE_CANCEL</code> if the user clicked "
+"<gui>Cancel</gui>). The <code>switch</code> statement tests for this."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:204(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line sets the "
+"<code>file</code> property of the GtkImage to the filename of the image "
+"selected by the user. The GtkImage will then load and display the chosen "
+"image."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:207(p)
+msgid ""
+"In the final line of this method, we destroy the <gui>Open</gui> dialog "
+"because we don't need it any more. Destroying automatically hides the dialog."
+msgstr ""
+
+#: C/demo-image-viewer.c.page:221(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"image-viewer/image-viewer.c\">reference code</link>."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-guitar-tuner.vala.page:41(None) C/demo-guitar-tuner.py.page:37(None)
+#: C/demo-guitar-tuner.cpp.page:37(None) C/demo-guitar-tuner.c.page:37(None)
+msgid "@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+msgstr "original"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-guitar-tuner.vala.page:94(None) C/demo-guitar-tuner.py.page:88(None)
+#: C/demo-guitar-tuner.cpp.page:88(None) C/demo-guitar-tuner.c.page:92(None)
+msgid ""
+"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+msgstr "original"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/demo-guitar-tuner.vala.page:128(None)
+#: C/demo-guitar-tuner.py.page:131(None) C/demo-guitar-tuner.cpp.page:117(None)
+#: C/demo-guitar-tuner.c.page:137(None)
+msgid ""
+"@@image: 'media/guitar-tuner-pipeline.png'; "
+"md5=5adc952909d92af5dae6954781b4ad5f"
+msgstr "original"
+
+#: C/demo-guitar-tuner.vala.page:8(desc)
+msgid ""
+"Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk\";>Gtk"
+"+</link> and <link href=\"http://developer.gnome.org/platform-overview/stable/";
+"gstreamer\">GStreamer</link> to build a simple guitar tuner application for "
+"GNOME. Shows off how to use the interface designer."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:25(title)
+#: C/demo-guitar-tuner.py.page:21(title) C/demo-guitar-tuner.cpp.page:21(title)
+#: C/demo-guitar-tuner.c.page:21(title)
+msgid "Guitar Tuner"
+msgstr "GitarrenstimmgerÃt"
+
+#: C/demo-guitar-tuner.vala.page:28(p)
+msgid ""
+"In this tutorial you will create an application which plays tones that you "
+"can use to tune a guitar. You will learn how to:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:30(p)
+msgid ""
+"Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
+"link>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:31(p)
+msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:32(p)
+msgid ""
+"Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
+"gstreamer\">GStreamer</link> library to play sounds."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:44(title)
+msgid "Create a project in <app>Anjuta</app>"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:51(p)
+msgid ""
+"Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. Click "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:54(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
+"gui>. On the next page, select <link href=\"http://valadoc.org/gstreamer-0.10/";
+"index.htm\"><em>gstreamer-0.10</em></link> from the list to include the "
+"GStreamer library in your project. Click <gui>Continue</gui>"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:58(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. From the "
+"<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner.vala</"
+"file> by double-clicking on it. You should see some code which starts with "
+"the lines:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:68(p)
+msgid ""
+"The code loads an (empty) window from the user interface description file and "
+"displays it. More details are given below; you may choose to skip this list "
+"if you understand the basics:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:75(p)
+msgid ""
+"The constructor of the <code>Main</code> class creates a new window by "
+"opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few "
+"lines above), connecting its signals and then displaying it in a window. This "
+"GtkBuilder file contains a description of a user interface and all of its "
+"elements. You can use Anjuta's editor to design GtkBuilder user interfaces."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:77(p)
+msgid ""
+"Connecting signals is how you define what happens when you push a button, or "
+"when some other event happens. Here, the <code>on_destroy</code> function is "
+"called (and quits the app) when you close the window."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:81(p)
+msgid ""
+"The static <code>main</code> function is run by default when you start a Vala "
+"application. It calls a few functions which create the Main class, set up and "
+"then run the application. The <code>Gtk.main</code> function starts the GTK "
+"main loop, which runs the user interface and starts listening for events "
+"(like clicks and key presses)."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:85(p)
+msgid ""
+"This code is ready to be used, so you can compile it by clicking "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>). When you do this, a dialog. "
+"Change the <gui>Configuration</gui> to <gui>Default</gui> and then click "
+"<gui>Execute</gui> to configure the build directory. You only need to do this "
+"once, for the first build."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:89(title)
+#: C/demo-guitar-tuner.py.page:83(title) C/demo-guitar-tuner.cpp.page:83(title)
+#: C/demo-guitar-tuner.c.page:87(title)
+msgid "Create the user interface"
+msgstr "Erstellung der BenutzeroberflÃche"
+
+#: C/demo-guitar-tuner.vala.page:90(p)
+msgid ""
+"A description of the user interface (UI) is contained in the GtkBuilder file "
+"<file>src/guitar_tuner.ui</file> defined at the top of the class. To edit the "
+"user interface, open <file>src/guitar_tuner.ui</file> by double-clicking on "
+"it in the <gui>Project</gui> or <gui>Files</gui> section. This will switch to "
+"the interface designer. The design window is in the center; <gui>Widgets</"
+"gui> and the widget properties are on the right, and the <gui>Palette</gui> "
+"of available widgets is on the left."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:92(p)
+msgid ""
+"The layout of every UI in GTK+ is organized using boxes and tables. Let's use "
+"a vertical GtkButtonBox here to assign six GtkButtons, one for each of the "
+"six guitar strings."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:98(p)
+msgid ""
+"In the <gui>Palette</gui> tab, from the <gui>Containers</gui> section, select "
+"a <gui>Button Box</gui> (GtkButtonBox) by clicking on the icon. Then click on "
+"the design window in the center to place it into the window. A dialog will "
+"display where you can set the <gui>Number of items</gui> to <input>6</input>. "
+"Then click <gui>Create</gui>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:99(p)
+msgid ""
+"You can also change the <gui>Number of elements</gui> and the "
+"<gui>Orientation</gui> in the <gui>General</gui> tab on the right."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:103(p)
+msgid ""
+"Now, from the <gui>Control and Display</gui> section of the <gui>Palette</"
+"gui> choose a <gui>Button</gui> (GtkButton) by clicking on it. Place it into "
+"the first section of the GtkButtonBox by clicking in the first section."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:106(p)
+msgid ""
+"While the button is still selected, scroll down in the <gui>General</gui> tab "
+"on the right to the <gui>Label</gui> property, and change it to <gui>E</gui>. "
+"This will be the low E guitar string."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:107(p)
+msgid ""
+"The <gui>General</gui> tab is located in the <gui>Widgets</gui> section on "
+"the right."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:112(p)
+msgid ""
+"Click on the <gui>Signals</gui> tab in the <gui>Widgets</gui> section on the "
+"right, and look for the <code>clicked</code> signal of the button. You can "
+"use this to connect a signal handler that will be called when the button is "
+"clicked by the user. To do this, click on the signal and type "
+"<code>main_on_button_clicked</code> in the <gui>Handler</gui> column and "
+"press the <key>Enter</key>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:115(p) C/demo-guitar-tuner.py.page:105(p)
+#: C/demo-guitar-tuner.c.page:109(p)
+msgid ""
+"Repeat the above steps for the other buttons, adding the next 5 strings with "
+"the names <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:118(p) C/demo-guitar-tuner.py.page:108(p)
+#: C/demo-guitar-tuner.c.page:112(p)
+msgid ""
+"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+"guiseq>) and keep it open."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:124(title)
+#: C/demo-guitar-tuner.py.page:127(title)
+#: C/demo-guitar-tuner.cpp.page:112(title)
+#: C/demo-guitar-tuner.c.page:133(title)
+msgid "GStreamer pipelines"
+msgstr "GStreamer-Pipelines"
+
+#: C/demo-guitar-tuner.vala.page:125(p)
+msgid ""
+"This section will show you how to create the code to produce sounds. <link "
+"href=\"http://developer.gnome.org/platform-overview/stable/gstreamer";
+"\">GStreamer</link> is GNOME's multimedia framework â you can use it for "
+"playing, recording, and processing video, audio, webcam streams and the like. "
+"Here, we'll be using it to produce single-frequency tones."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:126(p)
+msgid ""
+"Conceptually, GStreamer works as follows: You create a <link href=\"http://";
+"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
+"basics-bins.html\"><em>pipeline</em></link> containing several processing "
+"elements going from the <em>source</em> to the <em>sink</em> (output). The "
+"source can be an image file, a video, or a music file, for example, and the "
+"output could be a widget or the soundcard."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:127(p) C/demo-guitar-tuner.py.page:130(p)
+#: C/demo-guitar-tuner.cpp.page:116(p) C/demo-guitar-tuner.c.page:136(p)
+msgid ""
+"Between source and sink, you can apply various filters and converters to "
+"handle effects, format conversions and so on. Each element of the pipeline "
+"has properties which can be used to change its behaviour."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:129(p) C/demo-guitar-tuner.py.page:132(p)
+#: C/demo-guitar-tuner.cpp.page:118(p) C/demo-guitar-tuner.c.page:138(p)
+msgid "An example GStreamer pipeline."
+msgstr "Eine Beispiel-Pipeline mit GStreamer."
+
+#: C/demo-guitar-tuner.vala.page:134(title)
+#: C/demo-guitar-tuner.py.page:137(title) C/demo-guitar-tuner.c.page:143(title)
+msgid "Set up the pipeline"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:135(p)
+msgid ""
+"In this example we will use a tone generator source called "
+"<code>audiotestsrc</code> and send the output to the default system sound "
+"device, <code>autoaudiosink</code>. We only need to configure the frequency "
+"of the tone generator; this is accessible through the <code>freq</code> "
+"property of <code>audiotestsrc</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:137(p)
+msgid ""
+"We need to add a line to initialize GStreamer; put the following code on the "
+"line above the <code>Gtk.init</code> call in the <code>main</code> function:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:139(p)
+msgid ""
+"Then, copy the following function into <file>guitar_tuner.vala</file> inside "
+"our <code>Main</code> class:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:174(p)
+msgid ""
+"The first three lines create source and sink GStreamer elements (<link href="
+"\"http://valadoc.org/gstreamer-0.10/Gst.Element.html\";><code>Gst.Element</"
+"code></link>), and a <link href=\"http://valadoc.org/gstreamer-0.10/Gst.";
+"Pipeline.html\">pipeline element</link> (which will be used as a container "
+"for the other two elements). Those are class variables so they are defined "
+"outside the method. The pipeline is given the name \"note\"; the source is "
+"named \"source\" and is set to the <code>audiotestsrc</code> source; and the "
+"sink is named \"output\" and set to the <code>autoaudiosink</code> sink "
+"(default sound card output)."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:177(p)
+msgid ""
+"The call to <link href=\"http://valadoc.org/gobject-2.0/GLib.Object.set.html";
+"\"><code>source.set</code></link> sets the <code>freq</code> property of the "
+"source element to <code>frequency</code>, which is passed in as an argument "
+"to the <code>play_sound</code> function. This is just the frequency of the "
+"note in Hertz; some useful frequencies will be defined later on."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:180(p)
+msgid ""
+"<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Bin.add.html";
+"\"><code>pipeline.add</code></link> puts the source and sink into the "
+"pipeline. The pipeline is a <link href=\"http://valadoc.org/gstreamer-0.10/";
+"Gst.Bin.html\"><code>Gst.Bin</code></link>, which is just an element that can "
+"contain multiple other GStreamer elements. In general, you can add as many "
+"elements as you like to the pipeline by adding more calls to <code>pipeline."
+"add</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:183(p)
+msgid ""
+"Next, <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.link.html";
+"\"><code>sink.link</code></link> is used to connect the elements together, so "
+"the output of source (a tone) goes into the input of sink (which is then "
+"output to the sound card). <link href=\"http://www.valadoc.org/gstreamer-0.10/";
+"Gst.Element.set_state.html\"><code>pipeline.set_state</code></link> is then "
+"used to start playback, by setting the <link href=\"http://www.valadoc.org/";
+"gstreamer-0.10/Gst.State.html\">state of the pipeline</link> to playing "
+"(<code>Gst.State.PLAYING</code>)."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:186(p)
+msgid ""
+"We don't want to play an annoying tone forever, so the last thing "
+"<code>play_sound</code> does is to add a <link href=\"http://www.valadoc.org/";
+"glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</code></link>. This "
+"sets a timeout for stopping the sound; it waits for 200 milliseconds before "
+"calling a signal handler defined inline that stops and destroys the pipeline. "
+"It returns <code>false</code> to remove itself from the timeout, otherwise it "
+"would continue to be called every 200 ms."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:196(title)
+#: C/demo-guitar-tuner.c.page:118(title)
+msgid "Creating the signal handler"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:197(p)
+msgid ""
+"In the UI designer, you made it so that all of the buttons will call the same "
+"function, <gui>on_button_clicked</gui>, when they are clicked. Actually we "
+"type <gui>main_on_button_clicked</gui> which tells the UI designer that this "
+"method is part of our <code>Main</code>. We need to add that function in the "
+"source file."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:198(p)
+msgid ""
+"To do this, in the user interface file (guitar_tuner.ui) select one of the "
+"buttons by clicking on it, then open <file>guitar_tuner.vala</file> (by "
+"clicking on the tab in the center). Switch to the <gui>Signals</gui> tab on "
+"the right, which you used to set the signal name. Now take the row where you "
+"set the <gui>clicked</gui> signal and drag and drop it into to the source "
+"file at the beginning of the class. The following code will be added to your "
+"source file:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:206(p)
+msgid ""
+"You can also just type the code at the beginning of the class instead of "
+"using the drag and drop."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:207(p)
+msgid ""
+"This signal handler has only one argument: the <link href=\"http://valadoc.";
+"org/gtk+-3.0/Gtk.Widget.html\"><code>Gtk.Widget</code></link> that called the "
+"function (in our case, always a <link href=\"http://valadoc.org/gtk+-3.0/Gtk.";
+"Button.html\"><code>Gtk.Button</code></link>). The additonal <code>[CCode "
+"(instance_pos=-1)]</code> tells the compiler that this is a signal handler "
+"that needs special treating while linking in order to be found at runtime."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:213(title)
+msgid "Define the signal handler"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:214(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. For this, we "
+"flesh out the signal handler which we defined above, <code>on_button_clicked</"
+"code>. We could have connected every button to a different signal handler, "
+"but that would lead to a lot of code duplication. Instead, we can use the "
+"label of the button to figure out which button was clicked:"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:242(p)
+msgid ""
+"The <code>Gtk.Button</code> that was clicked is passed as an argument "
+"(<code>sender</code>) to <code>on_button_clicked</code>. We can get the label "
+"of that button by using <code>get_child</code>, and then get the text from "
+"that label using <code>get_label</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:243(p)
+msgid ""
+"The switch statement compares the label text to the notes that we can play, "
+"and <code>play_sound</code> is called with the frequency appropriate for that "
+"note. This plays the tone; we have a working guitar tuner!"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:249(p) C/demo-guitar-tuner.cpp.page:251(p)
+#: C/demo-guitar-tuner.c.page:251(p)
+msgid ""
+"If you haven't already done so, choose the <file>Debug/src/guitar-tuner</"
+"file> application in the dialog that appears. Finally, hit <gui>Run</gui> and "
+"enjoy!"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:254(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"guitar-tuner/guitar-tuner.vala\">reference code</link>."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:259(p)
+msgid ""
+"To find out more about the Vala programming language you might want to check "
+"out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
+"link> and the <link href=\"http://valadoc.org/\";>Vala API Documentation</link>"
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:268(p) C/demo-guitar-tuner.py.page:235(p)
+#: C/demo-guitar-tuner.cpp.page:272(p) C/demo-guitar-tuner.c.page:264(p)
+msgid "Have the program automatically cycle through the notes."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:271(p) C/demo-guitar-tuner.py.page:238(p)
+#: C/demo-guitar-tuner.cpp.page:275(p) C/demo-guitar-tuner.c.page:267(p)
+msgid "Make the program play recordings of real guitar strings being plucked."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:272(p) C/demo-guitar-tuner.py.page:239(p)
+#: C/demo-guitar-tuner.cpp.page:276(p) C/demo-guitar-tuner.c.page:268(p)
+msgid ""
+"To do this, you would need to set up a more complicated GStreamer pipeline "
+"which allows you to load and play back music files. You'll have to choose "
+"<link href=\"http://gstreamer.freedesktop.org/documentation/plugins.html";
+"\">decoder and demuxer</link> GStreamer elements based on the file format of "
+"your recorded sounds â MP3s use different elements to Ogg Vorbis files, for "
+"example."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:273(p) C/demo-guitar-tuner.py.page:240(p)
+#: C/demo-guitar-tuner.cpp.page:277(p) C/demo-guitar-tuner.c.page:269(p)
+msgid ""
+"You might need to connect the elements in more complicated ways too. This "
+"could involve using <link href=\"http://gstreamer.freedesktop.org/data/doc/";
+"gstreamer/head/manual/html/chapter-intro-basics.html\">GStreamer concepts</"
+"link> that we didn't cover in this tutorial, such as <link href=\"http://";
+"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
+"basics-pads.html\">pads</link>. You may also find the <cmd>gst-inspect</cmd> "
+"command useful."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:276(p) C/demo-guitar-tuner.py.page:243(p)
+#: C/demo-guitar-tuner.cpp.page:280(p) C/demo-guitar-tuner.c.page:272(p)
+msgid "Automatically analyze notes that the user plays."
+msgstr ""
+
+#: C/demo-guitar-tuner.vala.page:277(p) C/demo-guitar-tuner.py.page:244(p)
+#: C/demo-guitar-tuner.cpp.page:281(p) C/demo-guitar-tuner.c.page:273(p)
+msgid ""
+"You could connect a microphone and record sounds from it using an <link href="
+"\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-";
+"plugins/html/gst-plugins-good-plugins-autoaudiosrc.html\">input source</"
+"link>. Perhaps some form of <link href=\"http://gstreamer.freedesktop.org/";
+"data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-"
+"plugins-plugin-spectrum.html\">spectrum analysis</link> would allow you to "
+"figure out what notes are being played?"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:8(desc) C/demo-guitar-tuner.c.page:8(desc)
+msgid ""
+"Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME. "
+"Shows off how to use the interface designer."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:24(p) C/demo-guitar-tuner.cpp.page:24(p)
+#: C/demo-guitar-tuner.c.page:24(p)
+msgid ""
+"In this tutorial, we're going to make a program which plays tones that you "
+"can use to tune a guitar. You will learn how to:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:26(p) C/demo-guitar-tuner.cpp.page:26(p)
+#: C/demo-guitar-tuner.c.page:26(p)
+msgid "Set up a basic project in Anjuta"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:27(p) C/demo-guitar-tuner.cpp.page:27(p)
+#: C/demo-guitar-tuner.c.page:27(p)
+msgid "Create a simple GUI with Anjuta's UI designer"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:28(p) C/demo-guitar-tuner.cpp.page:28(p)
+#: C/demo-guitar-tuner.c.page:28(p)
+msgid "Use GStreamer to play sounds"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:33(p)
+msgid "Basic knowledge of the Python programming language"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:47(p)
+msgid ""
+"Choose <gui>PyGTK (automake)</gui> from the <gui>Python</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:50(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/guitar_tuner.py</file> from the <gui>Project</gui> or <gui>File</"
+"gui> tabs. You should see some code which starts with the lines:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:59(title)
+msgid "Run the code for the first time"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:60(p)
+msgid ""
+"Most of the code in the file is template code. It loads an (empty) window "
+"from the user interface description file and shows it. More details are given "
+"below; skip this list if you understand the basics:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:64(p)
+msgid ""
+"The <code>import</code> lines at the top include the tell Python to load the "
+"user interface and system libraries needed."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:68(p)
+msgid ""
+"A class is declared that will be the main class for our application. In the "
+"<code>__init__</code> method the main window is loaded from the GtkBuilder "
+"file (<file>src/guitar-tuner.ui</file>) and the signals are connected."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:71(p)
+msgid ""
+"Connecting signals is how you define what happens when you push a button, or "
+"when some other event happens. Here, the <code>destroy</code> method is "
+"called (and quits the app) when you close the window."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:74(p)
+msgid ""
+"The <code>main</code> function is run by default when you start a Python "
+"application. It just creates an instance of the main class and starts the "
+"main loop to bring up the window."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:79(p)
+msgid ""
+"This code is ready to be used, so you can run it by clicking "
+"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:84(p) C/demo-guitar-tuner.cpp.page:84(p)
+#: C/demo-guitar-tuner.c.page:88(p)
+msgid ""
+"A description of the user interface (UI) is contained in the GtkBuilder file. "
+"To edit the user interface, open <file>src/guitar_tuner.ui</file>. This will "
+"switch to the interface designer. The design window is in the center; widgets "
+"and widgets' properties are on the left, and the palette of available widgets "
+"is on the right."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:86(p) C/demo-guitar-tuner.cpp.page:86(p)
+#: C/demo-guitar-tuner.c.page:90(p)
+msgid ""
+"The layout of every UI in GTK+ is organized using boxes and tables. Let's use "
+"a vertical <gui>GtkButtonBox</gui> here to assign six <gui>GtkButtons</gui>, "
+"one for each of the six guitar strings."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:92(p) C/demo-guitar-tuner.cpp.page:92(p)
+#: C/demo-guitar-tuner.c.page:96(p)
+msgid ""
+"Select a <gui>GtkButtonBox</gui> from the <gui>Container</gui> section of the "
+"<gui>Palette</gui> on the right and put it into the window. In the "
+"<gui>Properties</gui> pane, set the number of elements to 6 (for the six "
+"strings) and the orientation to vertical."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:96(p) C/demo-guitar-tuner.cpp.page:96(p)
+#: C/demo-guitar-tuner.c.page:100(p)
+msgid ""
+"Now, choose a <gui>GtkButton</gui> from the palette and put it into the first "
+"part of the box."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:99(p) C/demo-guitar-tuner.c.page:103(p)
+msgid ""
+"While the button is still selected, change the <gui>Label</gui> property in "
+"the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:102(p) C/demo-guitar-tuner.c.page:106(p)
+msgid ""
+"Switch to the <gui>Signals</gui> tab (inside the <gui>Widgets</gui> tab) and "
+"look for the <code>clicked</code> signal of the button. You can use this to "
+"connect a signal handler that will be called when the button is clicked by "
+"the user. To do this, click on the signal and type <code>on_button_clicked</"
+"code> in the <gui>Handler</gui> column and press <key>Return</key>."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:114(title)
+msgid "Write the signal handler"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:115(p) C/demo-guitar-tuner.c.page:119(p)
+msgid ""
+"In the UI designer, you made it so that all of the buttons will call the same "
+"function, <gui>on_button_clicked</gui>, when they are clicked. We need to add "
+"that function in the source file."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:116(p)
+msgid ""
+"To do this, open <file>guitar_tuner.py</file> while the user interface file "
+"is still open. Switch to the <gui>Signals</gui> tab, which you already used "
+"to set the signal name. Now take the row where you set the <gui>clicked</gui> "
+"signal and drag it into to the source file inside the main class. The "
+"following code will be added to your source file:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:122(p)
+msgid ""
+"This signal handler has two arguments: the usual Python class pointer, and "
+"the <code>Gtk.Button</code> that called the function."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:123(p) C/demo-guitar-tuner.c.page:129(p)
+msgid ""
+"For now, we'll leave the signal handler empty while we work on writing the "
+"code to produce sounds."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:128(p) C/demo-guitar-tuner.c.page:134(p)
+msgid ""
+"GStreamer is GNOME's multimedia framework â you can use it for playing, "
+"recording, and processing video, audio, webcam streams and the like. Here, "
+"we'll be using it to produce single-frequency tones."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:129(p) C/demo-guitar-tuner.cpp.page:115(p)
+#: C/demo-guitar-tuner.c.page:135(p)
+msgid ""
+"Conceptually, GStreamer works as follows: You create a <em>pipeline</em> "
+"containing several processing elements going from the <em>source</em> to the "
+"<em>sink</em> (output). The source can be an image file, a video, or a music "
+"file, for example, and the output could be a widget or the soundcard."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:138(p) C/demo-guitar-tuner.cpp.page:129(p)
+#: C/demo-guitar-tuner.c.page:144(p)
+msgid ""
+"In this simple example we will use a tone generator source called "
+"<code>audiotestsrc</code> and send the output to the default system sound "
+"device, <code>autoaudiosink</code>. We only need to configure the frequency "
+"of the tone generator; this is accessible through the <code>freq</code> "
+"property of <code>audiotestsrc</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:140(p)
+msgid ""
+"Change the import line in <file>guitar_tuner.py</file>, just at the beginning "
+"to :"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:142(p)
+msgid ""
+"The <code>Gst</code> includes the GStreamer library. You also need to "
+"initialise GStreamer properly which is done in the <code>main()</code> method "
+"with this call added above the <code>app = GUI()</code> line:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:146(p)
+msgid ""
+"Then, copy the following function into the main class in <file>guitar_tuner."
+"py</file> somewhere:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:161(p)
+msgid ""
+"The first three lines create source and sink GStreamer elements and a "
+"pipeline element (which will be used as a container for the other two "
+"elements). The pipeline is given the name \"note\"; the source is named "
+"\"source\" and is set to the <code>audiotestsrc</code> source; and the sink "
+"is named \"output\" and set to the <code>autoaudiosink</code> sink (default "
+"sound card output)."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:164(p)
+msgid ""
+"The call to <code>source.set_property</code> sets the <code>freq</code> "
+"property of the source element to <code>frequency</code>, which was passed as "
+"an argument to the <code>play_sound</code> function. This is just the "
+"frequency of the note in Hertz; some useful frequencies will be defined later "
+"on."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:167(p)
+msgid ""
+"The next two lines call <code>pipeline.add</code>, putting the source and "
+"sink into the pipeline. The pipeline can contain multiple other GStreamer "
+"elements. In general, you can add as many elements as you like to the "
+"pipeline by calling its <code>add</code> method repeatedly."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:170(p)
+msgid ""
+"Next <code>pipeline.set_state</code> is used to start playback, by setting "
+"the state of the pipeline to playing (<code>Gst.State.PLAYING</code>)."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:177(title) C/demo-guitar-tuner.c.page:193(title)
+msgid "Stopping playback"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:178(p)
+msgid ""
+"We don't want to play an annoying tone forever, so the last thing "
+"<code>play_sound</code> does is to call <code>GObject.timeout_add</code>. "
+"This sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
+"milliseconds before calling the function <code>pipeline_stop</code>, and will "
+"keep calling it until <code>pipeline_stop</code> returns <code>False</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:179(p)
+msgid ""
+"Now, we'll write the <code>pipeline_stop</code> function which is called by "
+"<code>GObject.timeout_add</code>. Insert the following code <em>above</em> "
+"the <code>play_sound</code> function:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:185(p)
+msgid ""
+"You need to define the <code>LENGTH</code> constant inside the class, so add "
+"this code at the beginning of the main class:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:190(p)
+msgid ""
+"The call to <code>pipeline.set_state</code> pauses the playback of the "
+"pipeline."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:194(title) C/demo-guitar-tuner.c.page:211(title)
+msgid "Define the tones"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:195(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. First of "
+"all, we need to know the frequencies for the six guitar strings, which are "
+"defined (at the beginning of the main class) inside a dictionary so we can "
+"easily map them to the names of the strings:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:208(p) C/demo-guitar-tuner.c.page:221(p)
+msgid ""
+"Now to flesh out the signal handler that we defined earlier, "
+"<code>on_button_clicked</code>. We could have connected every button to a "
+"different signal handler, but that would lead to a lot of code duplication. "
+"Instead, we can use the label of the button to figure out which button was "
+"clicked:"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:216(p)
+msgid ""
+"The button that was clicked is passed as an argument (<code>button</code>) to "
+"<code>on_button_clicked</code>. We can get the label of that button by using "
+"<code>button.get_child</code>, and then get the text from that label using "
+"<code>label.get_label</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:217(p)
+msgid ""
+"The label text is then used as a key for the dictionary and <code>play_sound</"
+"code> is called with the frequency appropriate for that note. This plays the "
+"tone; we have a working guitar tuner!"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:222(p)
+msgid ""
+"All of the code should now be ready to go. Click <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> to start the application. Enjoy!"
+msgstr ""
+
+#: C/demo-guitar-tuner.py.page:227(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"guitar-tuner/guitar-tuner.py\">reference code</link>."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:8(desc)
+msgid ""
+"Use Gtkmm and GStreamermm to build a simple guitar tuner application for "
+"GNOME. Shows off how to use the interface designer."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:33(p)
+msgid "Basic knowledge of the C++ programming language"
+msgstr "Grundlagen der Programmiersprache C++"
+
+#: C/demo-guitar-tuner.cpp.page:47(p)
+msgid ""
+"Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:50(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is selected. On the "
+"next page, select <em>gstreamermm-0.10</em> from the list to include the "
+"GStreamermm library in your project."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:54(p)
+msgid ""
+"Click <gui>Finished</gui> and the project will be created for you. Open "
+"<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"You should see some code which starts with the lines:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:64(p)
+msgid ""
+"This is a very basic C++ code setting up Gtkmm. More details are given below; "
+"skip this list if you understand the basics:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:68(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
+"and <code>iostream</code> (STL). Functions from these libraries are used in "
+"the rest of the code."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:71(p)
+msgid ""
+"The <code>main</code> function creates a new window by opening a GtkBuilder "
+"file (<file>src/guitar-tuner.ui</file>, defined a few lines above) and then "
+"displaying it in a window. The GtkBuilder file contains a description of a "
+"user interface and all of its elements. You can use Anjuta's editor to design "
+"GtkBuilder user interfaces."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:74(p)
+msgid ""
+"Afterwards it calls a few functions which set up and then run the "
+"application. The <code>kit.run</code> function starts the GTKmm main loop, "
+"which runs the user interface and starts listening for events (like clicks "
+"and key presses)."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:99(p)
+msgid ""
+"While the button is still selected, change the <gui>Label</gui> property in "
+"the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string. "
+"Also change the <gui>Name</gui> property to <gui>button_E</gui>. This is the "
+"name we will refer to the widget later in code."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:103(p)
+msgid ""
+"Repeat the above steps for the other buttons, adding the next 5 strings with "
+"the labels <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em> and "
+"the names <em>button_A</em>, etc."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:106(p)
+msgid ""
+"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+"guiseq>) and close the file."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:113(p)
+msgid ""
+"GStreamer is GNOME's multimedia framework â you can use it for playing, "
+"recording, and processing video, audio, webcam streams and the like. Here, "
+"we'll be using it to produce single-frequency tones. GStreamermm is the C++ "
+"binding to GStreamer which we will use here."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:123(title)
+msgid "Using GStreamermm"
+msgstr "GStreamermm verwenden"
+
+#: C/demo-guitar-tuner.cpp.page:124(p)
+msgid ""
+"To use GStreamermm, it has to be initialised. We do that by adding the "
+"following line of code next to the <code>Gtk::Main kit(argc, argv);</code> "
+"line in <file>main.cc</file>:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:126(code)
+#, no-wrap
+msgid "\tGst::init (argc, argv);"
+msgstr "\tGst::init (argc, argv);"
+
+#: C/demo-guitar-tuner.cpp.page:127(p)
+msgid ""
+"While we are on it, also make sure that the <file>gstreamermm.h</file> is "
+"included in <file>main.cc</file> properly."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:131(p)
+msgid ""
+"To simplify the handling of the pipeline we will define a helper class "
+"<code>Sound</code>. We do that in <file>main.cc</file> in order to keep this "
+"example simple, whereas you might usually want to use a separate file:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:178(p)
+msgid "The code has the following purpose:"
+msgstr "Der Code hat den folgenden Zweck:"
+
+#: C/demo-guitar-tuner.cpp.page:181(p)
+msgid ""
+"In the constructor, source and sink GStreamer elements (<code>Gst::Element</"
+"code>) are created, and a pipeline element (which will be used as a container "
+"for the other two elements). The pipeline is given the name \"note\"; the "
+"source is named \"source\" and is set to the <code>audiotestsrc</code> "
+"source; and the sink is named \"output\" and set to the <code>autoaudiosink</"
+"code> sink (default sound card output). After the elements have been added to "
+"the pipeline and linked together, the pipeline is ready to run."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:184(p)
+msgid ""
+"<code>start_playing</code> sets the source element to play a particular "
+"frequency and then starts the pipeline so the sound actually starts playing. "
+"As we don't want to have the annoying sound for ages, a timeout is set up to "
+"stop the pipeline after 200 ms by calling <code>stop_playing</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:189(p)
+msgid ""
+"In <code>stop_playing</code> which is called when the timeout has elapsed, "
+"the pipeline is stopped and as such there isn't any sound output anymore. As "
+"GStreamermm uses reference counting through the <code>Glib::RefPtr</code> "
+"object, the memory is automatically freed once the <code>Sound</code> class "
+"is destroyed."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:197(title)
+msgid "Connecting the signals"
+msgstr "Die Signale verbinden"
+
+#: C/demo-guitar-tuner.cpp.page:198(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. That means "
+"that we have to connect to the signal that is fired when the user clicks the "
+"button. We also want to provide information to the called function which tone "
+"to play. GTKmm makes that quite easy as we can easily bind information with "
+"the <em>sigc</em> library."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:203(p)
+msgid ""
+"The function that is called when the user clicks a button can be pretty "
+"simple, as all the interesting stuff is done in the helper class now:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:212(p)
+msgid ""
+"It only calls the helper class we defined before to play the correct "
+"frequencies. With some more clever code we would also have been able to "
+"directly connect to the class without using the function but we will leave "
+"that to use as an exercise."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:216(p)
+msgid ""
+"The code to set up the signals should be added to the <code>main()</code> "
+"function just after the <code>builder-&gt;get_widget(\"main_window\", "
+"main_win);</code> line:"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:228(p)
+msgid ""
+"At first we create an instance of our helper class that we want to use now "
+"and declare a variable for the button we want to connect to."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:232(p)
+msgid ""
+"Next, we receive the button object from the user interface that was created "
+"out of the user interface file. Remember that <em>button_E</em> is the name "
+"we gave to the first button."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:236(p)
+msgid ""
+"Finally we connect the <em>clicked</em> signal. This isn't fully "
+"straightforward because this is done in a fully type-safe way and we actually "
+"want to pass the frequency and our helper class to the signal handler. "
+"<code>sigc::ptr_fun(&amp;on_button_clicked)</code> creates a <em>slot</em> "
+"for the <code>on_button_clicked</code> method we defined above. With "
+"<code>sigc::bind</code> we are able to pass additional arguments to the slot "
+"and in this case we pass the frequency (as double) and our helper class."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:243(p)
+msgid ""
+"Now that we have set up the <em>E</em> button we also need to connect the "
+"other buttons according to their frequencies: 440 for A, 587.33 for D, 783.99 "
+"for G, 987.77 for B and 1318.5 for the high E. This is done in the same way, "
+"just passing a different frequency to the handler."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:250(p)
+msgid ""
+"All of the code should now be ready to go. Click <guiseq><gui>Build</"
+"gui><gui>Build Project</gui></guiseq> to build everything again, and then "
+"<guiseq><gui>Run</gui><gui>Run</gui></guiseq> to start the application."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:256(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"guitar-tuner/guitar-tuner.cc\">reference code</link>."
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:260(title)
+msgid "Further Reading"
+msgstr ""
+
+#: C/demo-guitar-tuner.cpp.page:261(p)
+msgid ""
+"Many of the things shown above are explained in detail in the <link href="
+"\"http://library.gnome.org/devel/gtkmm-tutorial/stable/\";>GTKmm book</link> "
+"which also covers a lot more key concept for using the full power of GTKmm. "
+"You might also be interested in the <link href=\"http://library.gnome.org/";
+"devel/gstreamermm/\">GStreamermm reference documentation</link>."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:33(p)
+msgid "Basic knowledge of the C programming language"
+msgstr "Grundlagen der Programmiersprache C"
+
+#: C/demo-guitar-tuner.c.page:47(p)
+msgid ""
+"Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:50(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
+"gui>. On the next page, select <em>gstreamer-0.10</em> from the list to "
+"include the GStreamer library in your project."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:64(p)
+msgid ""
+"C is a rather verbose language, so don't be surprised that the file contains "
+"quite a lot of code. Most of it is template code. It loads an (empty) window "
+"from the user interface description file and shows it. More details are given "
+"below; skip this list if you understand the basics:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:71(p)
+msgid ""
+"The <code>create_window</code> function creates a new window by opening a "
+"GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few lines "
+"above), connecting its signals and then displaying it in a window. The "
+"GtkBuilder file contains a description of a user interface and all of its "
+"elements. You can use Anjuta's editor to design GtkBuilder user interfaces."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:120(p)
+msgid ""
+"To do this, open <file>main.c</file> while the user interface file is still "
+"open. Switch to the <gui>Signals</gui> tab, which you already used to set the "
+"signal name. Now take the row where you set the <gui>clicked</gui> signal and "
+"drag it into to the source file at a position that is outside any function. "
+"The following code will be added to your source file:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:128(p)
+msgid ""
+"This signal handler has two arguments: a pointer to the <code>GtkWidget</"
+"code> that called the function (in our case, always a <code>GtkButton</"
+"code>), and a pointer to some \"user data\" that you can define, but which we "
+"won't be using here. (You can set the user data by calling "
+"<code>gtk_builder_connect_signals</code>; it is normally used to pass a "
+"pointer to a data structure that you might need to access inside the signal "
+"handler.)"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:146(p)
+msgid ""
+"Insert the following line into <file>main.c</file>, just below the <code><!"
+"[CDATA[#include <gtk/gtk.h>]]></code> line:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:148(p)
+msgid ""
+"This includes the GStreamer library. You also need to add a line to "
+"initialize GStreamer; put the following code on the line above the "
+"<code>gtk_init</code> call in the <code>main</code> function:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:150(p)
+msgid ""
+"Then, copy the following function into <file>main.c</file> above the empty "
+"<code>on_button_clicked</code> function:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:177(p)
+msgid ""
+"The first five lines create source and sink GStreamer elements "
+"(<code>GstElement</code>), and a pipeline element (which will be used as a "
+"container for the other two elements). The pipeline is given the name \"note"
+"\"; the source is named \"source\" and is set to the <code>audiotestsrc</"
+"code> source; and the sink is named \"output\" and set to the "
+"<code>autoaudiosink</code> sink (default sound card output)."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:180(p)
+msgid ""
+"The call to <code>g_object_set</code> sets the <code>freq</code> property of "
+"the source element to <code>frequency</code>, which is passed as an argument "
+"to the <code>play_sound</code> function. This is just the frequency of the "
+"note in Hertz; some useful frequencies will be defined later on."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:183(p)
+msgid ""
+"<code>gst_bin_add_many</code> puts the source and sink into the pipeline. The "
+"pipeline is a <code>GstBin</code>, which is just an element that can contain "
+"multiple other GStreamer elements. In general, you can add as many elements "
+"as you like to the pipeline by adding more arguments to "
+"<code>gst_bin_add_many</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:186(p)
+msgid ""
+"Next, <code>gst_element_link</code> is used to connect the elements together, "
+"so the output of <code>source</code> (a tone) goes into the input of "
+"<code>sink</code> (which is then output to the sound card). "
+"<code>gst_element_set_state</code> is then used to start playback, by setting "
+"the state of the pipeline to playing (<code>GST_STATE_PLAYING</code>)."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:194(p)
+msgid ""
+"We don't want to play an annoying tone forever, so the last thing "
+"<code>play_sound</code> does is to call <code>g_timeout_add</code>. This sets "
+"a timeout for stopping the sound; it waits for <code>LENGTH</code> "
+"milliseconds before calling the function <code>pipeline_stop</code>, and will "
+"keep calling it until <code>pipeline_stop</code> returns <code>FALSE</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:195(p)
+msgid ""
+"Now, we'll write the <code>pipeline_stop</code> function which is called by "
+"<code>g_timeout_add</code>. Insert the following code <em>above</em> the "
+"<code>play_sound</code> function:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:207(p)
+msgid ""
+"The call to <code>gst_element_set_state</code> pauses the playback of the "
+"pipeline and <code>g_object_unref</code> unreferences the pipeline, "
+"destroying it and freeing its memory."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:212(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. First of "
+"all, we need to know the frequencies for the six guitar strings, which are "
+"defined (at the top of <file>main.c</file>) as follows:"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:244(p)
+msgid ""
+"A pointer to the <code>GtkButton</code> that was clicked is passed as an "
+"argument (<code>button</code>) to <code>on_button_clicked</code>. We can get "
+"the label of that button by using <code>gtk_bin_get_child</code>, and then "
+"get the text from that label using <code>gtk_label_get_label</code>."
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:245(p)
+msgid ""
+"The label text is then compared to the notes that we have using "
+"<code>g_str_equal</code>, and <code>play_sound</code> is called with the "
+"frequency appropriate for that note. This plays the tone; we have a working "
+"guitar tuner!"
+msgstr ""
+
+#: C/demo-guitar-tuner.c.page:256(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this <link "
+"href=\"guitar-tuner/guitar-tuner.c\">reference code</link>."
+msgstr ""
+
+#: C/demo-audio-player.vala.page:8(desc)
+msgid "XXXX"
+msgstr "XXXX"
+
+#: C/demo-audio-player.vala.page:17(title)
+msgid "Audio Player"
+msgstr "Audio-Player"
+
+#: C/concepts-signals.page:15(desc)
+msgid ""
+"UI elements emit signals when the user interacts with them. Connect your code "
+"to these to perform actions."
+msgstr ""
+
+#: C/concepts-signals.page:18(title)
+msgid "Event handling and signals"
+msgstr ""
+
+#: C/concepts-gobject.page:15(desc)
+msgid ""
+"GNOME uses the GObject object model. This supports introspection, which "
+"allows language bindings to be generated automatically."
+msgstr ""
+
+#: C/concepts-gobject.page:18(title)
+msgid "GObject and introspection"
+msgstr "GObject und Introspection"
+
+#: C/concepts-gobject.page:20(p)
+msgid ""
+"GObject is our OOP system. Language bindings are generated automatically, "
+"using GObject introspection."
+msgstr ""
+
+#: C/concepts-gobject.page:22(p)
+msgid "Properties, signals, blah blah blah"
+msgstr ""
+
+#: C/concepts-deployment.page:15(desc)
+msgid ""
+"A variety of deployment methods are supported, depending on who your target "
+"audience is."
+msgstr ""
+
+#: C/concepts-deployment.page:18(title)
+msgid "Deployment"
+msgstr ""
+
+#: C/concepts-deployment.page:20(p)
+msgid ""
+"Applications based on GNOME technologies can be packaged and deployed in "
+"multiple formats. The GNOME platform is well supported by most Linux "
+"distributions, and all of the major vendors provide up-to-date versions of "
+"the stack with each release."
+msgstr ""
+
+#: C/concepts-deployment.page:22(p)
+msgid "RPM and DEB. OpenSuSE build service."
+msgstr "RPM und DEB. OpenSuSE-Buildservice."
+
+#: C/concepts-deployment.page:24(p)
+msgid ""
+"GTK and Glib are cross-platform, and it is possible to build them on Windows "
+"and Mac OS X."
+msgstr ""
+
+#: C/concepts-boxmodel.page:15(desc)
+msgid ""
+"UI elements are organized into containers, which position themselves "
+"dynamically, like HTML entities."
+msgstr ""
+
+#: C/concepts-boxmodel.page:18(title)
+msgid "Window layout and the box model"
+msgstr ""
+
+#: C/concepts-boxmodel.page:20(p)
+msgid ""
+"GTK uses a box model to layout UI elements in windows. This makes it easy for "
+"apps to adapt when windows are resized or maximized."
+msgstr ""
+
+#: C/concepts-boxmodel.page:22(p)
+msgid ""
+"To build a UI, you put widgets into containers and specify their spacing, "
+"padding an alignment, just as you would with an HTML document. This makes it "
+"easier to create good-looking layouts that adapt to changes in window size "
+"and screen format (for example, mobile displays)."
+msgstr ""
+
+#: C/concepts-boxmodel.page:24(p)
+msgid "There are a number of different"
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/index.page:0(None)
+msgid "translator-credits"
+msgstr ""
+"Mario BlÃttermann <mario blaettermann gmail com>, 2009-2012\n"
+"Christian Kirbach <Christian Kirbach googlemail com>, 2011."



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