[gnome-devel-docs] Updated German translation
- From: Mario Blättermann <mariobl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-devel-docs] Updated German translation
- Date: Mon, 22 Feb 2010 00:48:28 +0000 (UTC)
commit d05037044786b731436238d9f0f5d9f0337c1f1c
Author: Mario Blättermann <mariobl gnome org>
Date: Mon Feb 22 01:48:20 2010 +0100
Updated German translation
accessibility-devel-guide/de/de.po | 4581 +++++++++++++++++++++++++++++++-----
1 files changed, 3929 insertions(+), 652 deletions(-)
---
diff --git a/accessibility-devel-guide/de/de.po b/accessibility-devel-guide/de/de.po
index c9effb9..b0786da 100644
--- a/accessibility-devel-guide/de/de.po
+++ b/accessibility-devel-guide/de/de.po
@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2009-12-14 19:50+0000\n"
-"PO-Revision-Date: 2010-02-21 22:35+0100\n"
+"POT-Creation-Date: 2010-02-22 00:21+0000\n"
+"PO-Revision-Date: 2010-02-22 01:46+0100\n"
"Last-Translator: Mario Blättermann <mariobl gnome org>\n"
"Language-Team: German <gnome-de gnome org>\n"
"MIME-Version: 1.0\n"
@@ -17,966 +17,4243 @@ msgstr ""
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
-#: C/optimization-intro.xml:3(title)
-msgid "The Quick Guide to Optimizing GNOME Programs"
-msgstr "Schnelleinführung in die Optimierung von GNOME-Programmen"
-
-#: C/optimization-intro.xml:5(para)
+#. 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/accessibility-devel-guide.xml:72(None)
msgid ""
-"This is a brief introduction to optimization, both the hows and the whys. "
-"Details of individual tools and techniques are left for later articles, but a "
-"collection of hints and tricks is provided."
+"@@image: 'figures/GNOME_desktop_Accessibility.png'; "
+"md5=76a706b0a4d4e184d7951fce04ccec59"
+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/accessibility-devel-guide.xml:136(None)
+msgid "@@image: 'figures/gaa.png'; md5=THIS FILE DOESN'T EXIST"
+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/accessibility-devel-guide.xml:1009(None)
+msgid "@@image: 'figures/nodrop.png'; md5=16b315fbe17b719998a057ba560c22e2"
+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/accessibility-devel-guide.xml:1112(None)
+msgid "@@image: 'figures/label_above.png'; md5=5b7a6f236b676802e62807b8d63bbf10"
msgstr ""
-"Dies ist eine kurze Einführung in die Optimierung und behandelt sowohl das "
-"Wie als auch das Warum. Details zu individuellen Werkzeugen verschieben wir "
-"auf spätere Artikel, eine Sammlung aus Hinweisen und Tricks ist jedoch "
-"enthalten."
-#: C/optimization-intro.xml:10(title)
-msgid "What are we Optimizing?"
-msgstr "Was optimieren wir?"
+#. 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/accessibility-devel-guide.xml:1123(None)
+msgid "@@image: 'figures/label_below.png'; md5=1ab1facdd4ace09c84b415eb0e581891"
+msgstr ""
-#: C/optimization-intro.xml:11(para)
+#. 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/accessibility-devel-guide.xml:1134(None)
+msgid "@@image: 'figures/label_right.png'; md5=c0d4328a48ec9a6889b4b1ec8e5548d6"
+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/accessibility-devel-guide.xml:1145(None)
+msgid "@@image: 'figures/label_left.png'; md5=186cae86a97426a6c9034d0c2091b5d9"
+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/accessibility-devel-guide.xml:1203(None)
+msgid "@@image: 'figures/color_only.png'; md5=THIS FILE DOESN'T EXIST"
+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/accessibility-devel-guide.xml:1218(None)
+msgid "@@image: 'figures/color_and_arrows.png'; md5=THIS FILE DOESN'T EXIST"
+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/accessibility-devel-guide.xml:1349(None)
+msgid "@@image: 'figures/badfocus1.png'; md5=48c81ba9110bcbbec7e2664658a8a4ef"
+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/accessibility-devel-guide.xml:1364(None)
+msgid "@@image: 'figures/badfocus2.png'; md5=5ced4392a665b97154f0b7b220d36351"
+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/accessibility-devel-guide.xml:1379(None)
+msgid "@@image: 'figures/goodfocus.png'; md5=5f8c020c3d8382bfd3e70448591ec0f4"
+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/accessibility-devel-guide.xml:1403(None)
+msgid "@@image: 'figures/badfocus3.png'; md5=bb0f9a1309bb05c0d9e9cd719625c8a0"
+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/accessibility-devel-guide.xml:1418(None)
+msgid "@@image: 'figures/goodfocus3.png'; md5=f95f59dcfb337d2f811ac04025141ae2"
+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/accessibility-devel-guide.xml:1433(None)
+msgid "@@image: 'figures/goodfocus2.png'; md5=86b2a96f4142edb59a3ef22f433a4504"
+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/accessibility-devel-guide.xml:780(None)
+msgid "@@image: 'figures/at-arch.png'; md5=e429cadb2e11d42d7437e999de175c3f"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:12(title)
+msgid "GNOME Accessibility Developers Guide"
+msgstr "GNOME Barrierefreiheitshandbuch für Entwickler"
+
+#: C/accessibility-devel-guide.xml:15(para)
msgid ""
-"When we optimize for GNOME the first thing to remember is this: we are not "
-"trying to make the program better, we are trying to make the person using the "
-"computer happier."
+"The GNOME Accessibility Guide is for developers who want to ensure their "
+"programming efforts are accessible to the widest audience of users. This "
+"guide also covers many of the Section 508 requirements."
msgstr ""
-"Sie sollten bei der Optimierung für GNOME zunächst eines bedenken: Wir "
-"versuchen nicht, das Programm zu verbessern, sondern wir versuchen, die "
-"Benutzer glücklicher zu machen."
+"Das GNOME Barrierefreiheitshandbuch ist für Entwickler bestimmt, die "
+"sicherstellen wollen, dass ihre Bemühungen dem grö�tmöglichen Anwenderkreis "
+"zu Gute kommen. Dieses Handbuch deckt auch die Erfordernisse des US-"
+"Rehabilitationsgesetzes 508 ab."
-#: C/optimization-intro.xml:14(para)
+#: C/accessibility-devel-guide.xml:20(year)
+msgid "2008"
+msgstr "2008"
+
+#: C/accessibility-devel-guide.xml:21(holder)
+msgid "Vincent Alexander"
+msgstr "Vincent Alexander"
+
+#: C/accessibility-devel-guide.xml:24(year)
+#| msgid "2004-2005"
+msgid "2001, 2002"
+msgstr "2001, 2002"
+
+#: C/accessibility-devel-guide.xml:25(holder)
msgid ""
-"Better programs make people happier, but there are some improvements that "
-"will make them a lot happier than others: Responsiveness, start-up time, easy "
-"to access commands and not having the computer go into swap the moment more "
-"than two programs are open."
+"Calum Benson, Brian Cameron, Bill Haneman, Padraig O'Briain, Sharon Snider"
msgstr ""
-"Bessere Programme machen die Benutzer glücklicher, aber es gibt "
-"Verbesserungsmöglichkeiten, die sie viel glücklicher machen werden als "
-"Andere: Ansprechzeit, Startzeit, leichter Zugriff auf Befehle. Der Rechner "
-"sollte auch nicht sofort den Auslagerungsspeicher benutzen müssen, wenn mehr "
-"als eine Anwendung geöffnet ist."
+"Calum Benson, Brian Cameron, Bill Haneman, Padraig O'Briain, Sharon Snider"
-#: C/optimization-intro.xml:17(para)
+#: C/accessibility-devel-guide.xml:28(publishername)
+#: C/accessibility-devel-guide.xml:38(orgname)
+#: C/accessibility-devel-guide.xml:45(orgname)
+#: C/accessibility-devel-guide.xml:52(orgname)
+#: C/accessibility-devel-guide.xml:59(orgname)
+#: C/accessibility-devel-guide.xml:66(orgname)
+#: C/accessibility-devel-guide.xml:73(orgname)
+#: C/accessibility-devel-guide.xml:85(para)
+#: C/accessibility-devel-guide.xml:88(para)
+#: C/accessibility-devel-guide.xml:99(para)
+#: C/accessibility-devel-guide.xml:102(para)
+msgid "GNOME Documentation Project"
+msgstr "GNOME-Dokumentationsprojekt"
+
+#: C/accessibility-devel-guide.xml:2(para)
+#| msgid ""
+#| "Permission is granted to copy, distribute and/or modify this document "
+#| "under the terms of the <citetitle>GNU Free Documentation License</"
+#| "citetitle>, Version 1.1 or any later version published by the Free "
+#| "Software Foundation with no Invariant Sections, no Front-Cover Texts, and "
+#| "no Back-Cover Texts. You may obtain a copy of the <citetitle>GNU Free "
+#| "Documentation License</citetitle> from the Free Software Foundation by "
+#| "visiting <ulink type=\"http\" url=\"http://www.fsf.org\">their Web site</"
+#| "ulink> or by writing to: Free Software Foundation, Inc., 59 Temple Place - "
+#| "Suite 330, Boston, MA 02111-1307, USA."
msgid ""
-"Traditional optimization tackles concepts like CPU use, code size, the number "
-"of mouse clicks and the memory use of the program. This second list has been "
-"chosen to correlate with the first list, however there is an important "
-"difference: The person using GNOME doesn't care about the second list, but "
-"they care a lot about the first list. When optimizing GNOME programs we will "
-"reduce CPU use, memory use and all those things, but these are the means to "
-"the end, not the final goal. We are optimizing for people."
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL <ulink type=\"help\" url=\"ghelp:fdl\"> here</ulink> or in the "
+"file COPYING-DOCS distributed with this manual."
msgstr ""
-"Die traditionelle Optimierung umfasst Konzepte wie Prozessorlast, Umfang des "
-"Codes, die Anzahl der Mausklicks sowie die Speichernutzung des Programms. Die "
-"folgende Auflistung sollte die erste Liste ergänzen, wobei ein grundlegender "
-"Unterschied besteht: Ein GNOME-Benutzer schenkt der zweiten Liste keine "
-"Beachtung, während der ersten Liste sehr wohl Aufmerksamkeit gewidmet wird. "
-"Beim Optimieren von GNOME-Programmen sollen die Prozessorlast, der "
-"Speicherverbrauch und all diese Dinge optimiert werden, aber das sind die "
-"Bedeutungen, nicht das Endziel. Wir optimieren für Benutzer."
+"Das vorliegende Dokument kann gemä� den Bedingungen der GNU Free "
+"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free "
+"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte "
+"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt "
+"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem "
+"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> oder in der mit diesem "
+"Handbuch gelieferten Datei COPYING-DOCS."
-#: C/optimization-intro.xml:23(title)
-msgid "Doing the Optimization"
-msgstr "Ausführung der Optimierung"
+#: C/accessibility-devel-guide.xml:6(para)
+msgid ""
+"This manual is part of a collection of GNOME manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"Section 6 of the license."
+msgstr ""
+"Das vorliegende Handbuch ist Teil einer Reihe von GNOME-Handbüchern, die "
+"unter der GFDL verteilt werden. Wenn Sie dieses Handbuch separat verteilen "
+"möchten, können Sie dies tun, indem Sie dem Handbuch eine Kopie der Lizenz, "
+"wie in Abschnitt 6 der Lizenz beschrieben, hinzufügen."
-#: C/optimization-intro.xml:24(para)
+#: C/accessibility-devel-guide.xml:10(para)
+#| msgid ""
+#| "Many of the names used by companies to distinguish their products and "
+#| "services are claimed as trademarks. Where those names appear in any GNOME "
+#| "documentation, and those trademarks are made aware to the members of the "
+#| "GNOME Documentation Project, the names have been printed in caps or "
+#| "initial caps."
msgid ""
-"The previous section omitted one important qualifier: To optimize something "
-"it has to be measurable. You can't measure happiness. However, you can "
-"measure start-up time so you can tell if you have improved it. Happiness will "
-"then, hopefully, follow."
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and the members of the GNOME Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
msgstr ""
-"Aus dem vorigen Abschnitt wurde deutlich: Um etwas optimieren zu können, muss "
-"es messbar sein. Sie können Zufriedenheit nicht messen, aber Sie können sehr "
-"wohl Startzeiten messen, um sagen zu können, dass Sie sie verbessert haben. "
-"Die Zufriedenheit wird dann - hoffentlich - folgen."
+"Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und "
+"Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, "
+"an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die "
+"Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert "
+"wurden, sind die Namen in GroÃ?buchstaben oder mit groÃ?en Anfangsbuchstaben "
+"geschrieben."
-#: C/optimization-intro.xml:27(para)
+#: C/accessibility-devel-guide.xml:17(para)
msgid ""
-"Optimization is the process of measurement, refinement and re-measurement. So "
-"the first thing you must do is find a way to measure what you are optimizing. "
-"Ideally this measurement is a single number, for example: the time taken to "
-"perform a task. This is your benchmark, it is the only way to tell if you are "
-"winning or losing. There is a big difference between a program that "
-"<emphasis>should</emphasis> be fast and a program that <emphasis>is</"
-"emphasis> fast."
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK "
+"AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED "
+"VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION "
+"PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY "
+"CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR "
+"CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS "
+"LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS "
+"AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
msgstr ""
+"DAS DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE JEGLICHE GEW�HRLEISTUNG, "
+"WEDER AUSDRÃ?CKLICH NOCH STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT "
+"BESCHRÃ?NKT AUF, GEWÃ?HRLEISTUNGEN, DASS DAS DOKUMENT ODER EINE MODIFIZIERTE "
+"VERSION DES DOKUMENTS FREI VON HANDELSÃ?BLICHEN FEHLERN UND FÃ?R EINEN "
+"BESTIMMTEN ZWECK GEEIGNET IST UND KEINE RECHTE DRITTER VERLETZT. JEGLICHES "
+"RISIKO IN BEZUG AUF DIE QUALITÃ?T, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS ODER "
+"EINER MODIFIZIERTEN VERSION DES DOKUMENTS TRAGEN SIE. SOLLTE SICH EIN "
+"DOKUMENT ODER EINE MODIFIZIERTE VERSION DAVON IN IRGENDEINER WEISE ALS "
+"FEHLERHAFT ERWEISEN, TRAGEN SIE (NICHT DER URSPRÃ?NGLICHE VERFASSER, AUTOR "
+"ODER EIN MITWIRKENDER) DIE KOSTEN FÃ?R JEGLICHE ERFORDERLICHE SERVICE-, "
+"REPARATUR- UND KORREKTURMASSNAHMEN: DIESE BESCHRÃ?NKUNG DER GEWÃ?HRLEISTUNG IST "
+"WESENTLICHER BESTANDTEIL DIESER LIZENZ. JEDE VERWENDUNG EINES DOKUMENTS ODER "
+"EINER MODIFIZIERTEN VERSION DES DOKUMENTS UNTERLIEGT DIESER BESCHRÃ?NKUNG; UND"
-#: C/optimization-intro.xml:30(para)
+#: C/accessibility-devel-guide.xml:23(para)
msgid ""
-"Once you have a basic benchmark you need to find out why your code is not "
-"doing as well as it should. It is tempting to do this by inspection: just "
-"looking at the code and trying to spot something that looks like it needs "
-"improvement. You will invariably be wrong. Using a profiler to get a detailed "
-"break-down of what your program really does is the only way to be sure."
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR "
+"ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY "
+"CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK "
+"STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR "
+"LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
msgstr ""
+"UNTER KEINEN UMSTÃ?NDEN UND GEMÃ?SS KEINER RECHTSLEHRE, WEDER AUFGRUND VON "
+"UNERLAUBTEN HANDLUNGEN (EINSCHLIESSLICH FAHRLÃ?SSIGKEIT), VERTRÃ?GEN ODER "
+"SONSTIGEM, KANN DER AUTOR, DER URSPRÃ?NGLICHE VERFASSER, EIN MITWIRKENDER ODER "
+"EIN VERTEILER DES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS "
+"ODER EIN LIEFERANT EINER DIESER PARTEIEN VON EINER PERSON FÃ?R DIREKTE, "
+"INDIREKTE, BESONDERE, ZUFÃ?LLIGE ODER ALS FOLGE AUFGETRETENE SCHÃ?DEN "
+"IRGENDEINER ART, EINSCHLIESSLICH, ABER NICHT BESCHRÃ?NKT AUF, SCHÃ?DEN DURCH "
+"GESCHÃ?FTSWERTVERLUSTE, ARBEITSAUSFÃ?LLE, COMPUTERAUSFÃ?LLE ODER "
+"FUNKTIONSSTÃ?RUNGEN ODER JEGLICHE ANDERE SCHÃ?DEN ODER VERLUSTE, DIE DURCH ODER "
+"IM ZUSAMMENHANG MIT DER VERWENDUNG DES DOKUMENTS ODER EINER MODIFIZIERTEN "
+"VERSION DES DOKUMENTS ENTSTANDEN SIND, SELBST WENN DIESE PARTEI Ã?BER MÃ?GLICHE "
+"SCHÃ?DEN INFORMIERT WORDEN SEIN SOLLTE, HAFTBAR GEMACHT WERDEN."
-#: C/optimization-intro.xml:33(para)
+#: C/accessibility-devel-guide.xml:13(para)
msgid ""
-"Usually the problem is isolated to small sections of code. Pick the worst "
-"place and concentrate on that first. Once that is done, rerun the profiler "
-"and repeat. As you proceed the gains made at each step will get less and "
-"less, at some point you will have to decide that the results are good enough. "
-"If your efforts are only extracting 10% improvements then you are well past "
-"the point where you should have stopped."
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
msgstr ""
+"DAS DOKUMENT UND MODIFIZIERTE VERSIONEN DES DOKUMENTS WERDEN GEMÃ?SS DEN "
+"BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE MIT DER FOLGENDEN VEREINBARUNG "
+"BEREITGESTELLT: <placeholder-1/>"
-#: C/optimization-intro.xml:36(para)
-#, fuzzy
+#: C/accessibility-devel-guide.xml:35(firstname)
+msgid "Vincent"
+msgstr "Vincent"
+
+#: C/accessibility-devel-guide.xml:36(surname)
+msgid "Alexander"
+msgstr "Alexander"
+
+#: C/accessibility-devel-guide.xml:42(firstname)
+#| msgid "Callum"
+msgid "Calum"
+msgstr "Calum"
+
+#: C/accessibility-devel-guide.xml:43(surname)
+msgid "Benson"
+msgstr "Benson"
+
+#: C/accessibility-devel-guide.xml:49(firstname)
+msgid "Brian"
+msgstr "Brian"
+
+#: C/accessibility-devel-guide.xml:50(surname)
+msgid "Cameron"
+msgstr "Cameron"
+
+#: C/accessibility-devel-guide.xml:56(firstname)
+msgid "Bill"
+msgstr "Bill"
+
+#: C/accessibility-devel-guide.xml:57(surname)
+msgid "Haneman"
+msgstr "Haneman"
+
+#: C/accessibility-devel-guide.xml:63(firstname)
+msgid "Padraig"
+msgstr "Padraig"
+
+#: C/accessibility-devel-guide.xml:64(surname)
+msgid "O'Briain"
+msgstr "O'Briain"
+
+#: C/accessibility-devel-guide.xml:70(firstname)
+msgid "Sharon"
+msgstr "Sharon"
+
+#: C/accessibility-devel-guide.xml:71(surname)
+msgid "Snider"
+msgstr "Snider"
+
+#: C/accessibility-devel-guide.xml:79(revnumber)
+#: C/accessibility-devel-guide.xml:94(revnumber)
+msgid "GNOME 2.24 Accessibility Developers Guide V2.24.0"
+msgstr "GNOME 2.24 Barrierefreiheitshandbuch für Entwickler V2.24.0"
+
+#: C/accessibility-devel-guide.xml:83(date)
+#: C/accessibility-devel-guide.xml:97(date)
+#| msgid "November 2007"
+msgid "September 2008"
+msgstr "September 2008"
+
+#: C/accessibility-devel-guide.xml:108(releaseinfo)
+msgid "This manual describes version 2.24 of the GNOME Desktop."
+msgstr "Dieses Handbuch beschreibt Version 2.24 der GNOME-Arbeitsumgebung."
+
+#: C/accessibility-devel-guide.xml:112(title)
+msgid "Feedback"
+msgstr "Rückmeldungen"
+
+#: C/accessibility-devel-guide.xml:113(para)
msgid ""
-"Don't forget the big picture. For example, rather than just trying to speed "
-"up a piece of code, ask yourself if it needs to be run at all. Could it be "
-"combined with another piece of code? Can the results of previous calculations "
-"be saved and reused? It won't even need to be optimized if it is in a place "
-"where the user is never going to notice it. Worse still, the code may already "
-"be optimized and is doing the heavy calculations now to avoid doing them "
-"later. Code does not run in isolation and neither does the optimization "
-"process."
-msgstr "Vergessen Sie nicht das Gesamtbild."
+"To report a bug or make a suggestion regarding the GNOME Desktop or this "
+"manual, follow the directions in the <ulink type=\"help\" url=\"ghelp:user-"
+"guide?feedback\">GNOME Feedback Page</ulink>."
+msgstr ""
+"Wenn Sie Fehler finden oder Vorschläge zur GNOME-Arbeitsumgebung oder diesem "
+"Handbuch haben, folgen Sie den Anweisungen auf der <ulink url=\"ghelp:user-"
+"guide?feedback\" type=\"help\">GNOME-Seite für Rückmeldungen</ulink>."
-#: C/optimization-intro.xml:41(title)
-msgid "Hints"
-msgstr "Hinweise"
+#: C/accessibility-devel-guide.xml:2(title)
+msgid "What is Accessibility?"
+msgstr "Was ist Barrierefreiheit?"
-#: C/optimization-intro.xml:43(title)
-msgid "The Fundamentals"
-msgstr "Die Grundlagen"
+#: C/accessibility-devel-guide.xml:3(para)
+msgid ""
+"Accessibility means helping people with disabilities to participate in "
+"substantial life activities. That includes work, and the use of services, "
+"products, and information. GNOME includes libraries and a support framework "
+"that allow people with disabilities to utilize all of the functionality of "
+"the GNOME user environment."
+msgstr ""
+"Barrierefreiheit bedeutet, Menschen mit Behinderungen zu helfen, an "
+"grundlegenden Lebensaktivitäten teilzunehmen. Das beinhaltet einer Arbeit "
+"nachzugehen und Dienste, Produkte und Informationen zu nutzen."
-#: C/optimization-intro.xml:45(para)
+#: C/accessibility-devel-guide.xml:6(para)
msgid ""
-"Re-run your benchmark after every change you make to the code and keep a log "
-"of everything you change and how it affects the benchmark. This lets you undo "
-"mistakes and also helps you not to repeat mistakes."
+"In conjunction with assistive technologies if necessary - voice interfaces, "
+"screen readers, alternate input devices, and so on - people with permanent or "
+"temporary disabilities can therefore use the GNOME desktop and applications. "
+"Assistive technologies are also useful for people using computers outside "
+"their home or office. For example, if you're stuck in traffic, you might use "
+"voice input and output to check your email."
msgstr ""
+"Im Zusammenspiel mit möglicherweise notwendigen Hilfstechnologien wie "
+"Sprachausgaben, Bildschirmlesern oder alternativen Eingabegeräten wird "
+"Menschen mit vorübergehenden oder dauernden Behinderungen die Nutzung der "
+"GNOME-Arbeitsumgebung und deren Anwendungen ermöglicht. Hilfstechnologien "
+"können auch sinnvoll sein, wenn Rechner au�erhalb von Zuhause oder Büro "
+"genutzt werden. Wenn Sie beispielsweise im Stau stehen, werden Sie vielleicht "
+"die Spracheingabe und -ausgabe für E-Mail-Nachrichten bevorzugen."
-#: C/optimization-intro.xml:50(para)
+#: C/accessibility-devel-guide.xml:9(para)
msgid ""
-"Make sure your code is correct and bug-free before optimizing it. Check that "
-"it remains correct and bug-free after optimization."
+"Assistive technologies receive information from applications via the "
+"Accessibility Toolkit (ATK) API, which you can find in the atk module in the "
+"GNOME repositories. Because support for the accessibility API is built into "
+"the GNOME widgets, your GNOME program should function reasonably well with "
+"assistive technologies with no extra work on your part. For example, "
+"assistive technologies can automatically read the widget labels that you "
+"would normally set in your program anyway (e.g. with GTK function calls such "
+"as <function>gtk_label_set_text()</function> or "
+"<function>gtk_button_new_with_label()</function>). They can also find out if "
+"there is any tooltip text associated with a widget, and use that to describe "
+"the widget to the user."
msgstr ""
-"Stellen Sie sicher, dass Ihr Code korrekt und fehlerfrei ist, bevor Sie mit "
-"der Optimierung beginnen. �berprüfen Sie nach der Optimierung, ob dies dann "
-"auch noch zutrifft."
+"Hilfstechnologien empfangen Informationen von Anwendungen über die "
+"Schnittstelle des »Accessibility Toolkit (ATK)«, welches Sie im Modul »atk« des "
+"GNOME-Softwarebestandes finden. Da die Unterstützung für die "
+"Barrierefreiheits-Schnittstelle bereits in die GNOME-Widgets eingebaut ist, "
+"sollte Ihr GNOME-Programm Hilfstechnologien bereits grundlegend unterstützen, "
+"ohne dass Mehraufwand Ihrerseits notwendig wäre. Beispielsweise können "
+"Hilfstechnologien automatisch die Beschriftungen lesen, die Sie irgendwo in "
+"der Benutzeroberfläche platzieren, mit Hilfe von GTK-Funktionsaufrufen wie "
+"<function>gtk_label_set_text()</function> oder "
+"<function>gtk_button_new_with_label()</function>. Sie finden auch heraus, ob "
+"eine Beschriftung mit einer Minihilfe gekoppelt ist, und verwenden diese für "
+"die Beschreibung des Widgets für den Benutzer."
-#: C/optimization-intro.xml:55(para)
-msgid "Optimize at the high level before optimizing the details."
+#: C/accessibility-devel-guide.xml:12(para)
+msgid ""
+"With a little extra effort, however, you can make your program function even "
+"more smoothly with assistive technologies. Besides helping individual users, "
+"this will also make your product more attractive to government and education "
+"markets, many of which now require their applications to be accessible by law."
msgstr ""
+"Mit geringem Mehraufwand können Sie Ihr Programm besser auf die "
+"Zusammenarbeit mit Hilfstechnologien trimmen. Sie helfen in erster Linie "
+"bestimmten Benutzergruppen, machen Ihr Programm aber auch attraktiver für "
+"Endanwender im Verwaltungs- und Bildungssektor, wo barrierefreie Anwendungen "
+"oft gesetzlich vorgeschrieben sind."
+
+#: C/accessibility-devel-guide.xml:17(title)
+msgid "Types of Disability"
+msgstr "Arten von Behinderungen"
-#: C/optimization-intro.xml:60(para)
+#: C/accessibility-devel-guide.xml:18(para)
msgid ""
-"Use the right algorithm. The classic text-book example is using quick-sort "
-"instead of bubble-sort. There are many others, some save memory, some save "
-"CPU. Also, see what shortcuts you can make: you can do quicker than quick-"
-"sort if you are prepared to make some compromises."
+"In the US alone, there are an estimated 30,000,000 people whose ability to "
+"use computers may be compromised by inaccessible design. Globally, around 8% "
+"of the people who use the worldwide web have some sort of disability. "
+"Disabilities fall into one of these categories:"
msgstr ""
+"Allein in den USA leben schätzungsweise 30 Millionen Menschen, deren "
+"Fähigkeit zur Benutzung von Rechnern durch nicht barrierefreies Design "
+"eingeschränkt ist. Weltweit haben etwa 8% der Nutzer des World Wide Web "
+"irgendeine Art von Behinderung. Solche Behinderungen fallen in eine dieser "
+"Kategorien:"
-#: C/optimization-intro.xml:65(para)
+#: C/accessibility-devel-guide.xml:23(para)
msgid ""
-"Optimization is a trade-off. Caching results speeds up calculations, but "
-"increases memory use. Saving data to disk saves memory, but costs time when "
-"it is loaded back from disk."
+"<emphasis>Visual Impairments</emphasis> - these can range from low-vision "
+"(including dim or hazy vision, extreme far- or near-sightedness, color-"
+"blindness, and tunnel vision, amongst others) to complete blindness. Poor "
+"choice of text size and color, and tasks that involve good hand-eye "
+"coordination (such as moving the mouse) can cause problems for these users."
msgstr ""
-#: C/optimization-intro.xml:70(para)
+#: C/accessibility-devel-guide.xml:30(para)
msgid ""
-"Make sure you choose a wide variety of inputs to optimize against. If you "
-"don't it is easy to end up with a piece of code carefully optimized for one "
-"file and no others."
+"<emphasis>Movement Impairments</emphasis> - users with poor muscle control or "
+"weaknesses can find it hard to use a standard keyboard or mouse. For example, "
+"they may be unable to hold down two keys simultaneously, or they may be more "
+"likely to strike keys accidentally."
msgstr ""
-#: C/optimization-intro.xml:75(para)
+#: C/accessibility-devel-guide.xml:35(para)
msgid ""
-"Avoid expensive operations: Multiple small disk reads. Using up lots of "
-"memory so disk swapping becomes necessary. Avoid anything that writes or "
-"reads from the hard disk unnecessarily. The network is slow too. Also avoid "
-"graphics operations that need a response from the X server."
+"<emphasis>Hearing Impairments</emphasis> - these can range from being able to "
+"hear some sounds but not distinguish spoken words, to profound deafness. "
+"Applications that convey important information by sound alone will cause "
+"problems for these users."
msgstr ""
-#: C/optimization-intro.xml:81(title)
-msgid "Traps for the Unwary"
-msgstr "Fallen für die Unvorsichtigen"
+#: C/accessibility-devel-guide.xml:40(para)
+msgid ""
+"<emphasis>Cognitive and Language Impairments</emphasis> - these can range "
+"from dyslexia to difficulties remembering things, solving problems or "
+"comprehending and using spoken or written language. Complex or inconsistent "
+"displays, or poor choice of words can make using computers difficult for "
+"these users."
+msgstr ""
-#: C/optimization-intro.xml:83(para)
-#, fuzzy
+#: C/accessibility-devel-guide.xml:45(para)
msgid ""
-"Beware of side effects. There can often be strange interactions between "
-"different sections of code, a speed-up in one part can slow another part down."
-msgstr "Verhindern Sie Nebeneffekte. "
+"<emphasis>Seizure disorders</emphasis> - certain light or sound patterns can "
+"cause epileptic seizures in some susceptible users."
+msgstr ""
-#: C/optimization-intro.xml:88(para)
+#: C/accessibility-devel-guide.xml:53(title)
+msgid "How Accessibility Works in GNOME"
+msgstr "Wie funktioniert Barrierefreiheit in GNOME?"
+
+#: C/accessibility-devel-guide.xml:54(para)
msgid ""
-"When timing code, even on a quiet system, events outside the program add "
-"noise to the timing results. Average over multiple runs. If the code is very "
-"short, timer resolution is also a problem. In this case measure the time the "
-"computer takes to run the code 100 or 1000 times. If the times you are "
-"recording are longer than a few seconds, you should be OK."
+"The Accessibility Toolkit (ATK) describes a set of interfaces that need to be "
+"implemented by GUI components to make them accessible. The interfaces are "
+"toolkit-independent - implementations could be written for any widget set, "
+"such as GTK, Motif or Qt."
msgstr ""
-#: C/optimization-intro.xml:93(para)
+#: C/accessibility-devel-guide.xml:57(para)
msgid ""
-"It is very easy to be misled by the profiler. There are stories of people "
-"optimizing the operating system idle-loop because that is where it spent all "
-"its time! Don't optimize code that does nothing the user cares about."
+"The implementation for the GTK widgets is in a module called GAIL (GNOME "
+"Accessbility Implementation Library), which is dynamically loadable at "
+"runtime by a GTK application. Once loaded, those parts of your application "
+"that use standard GTK widgets will have a basic level of accessibility, "
+"without you having to modify your application at all. If GAIL is not loaded, "
+"GTK widgets will have a default accessibility implementation that essentially "
+"returns no information, though it nominally conforms to the ATK API. "
+"Applications which use Bonobo controls, particularly out-of-process ones, "
+"also load accessibility support code from module libgail-gnome. Whether or "
+"not applications on the GNOME desktop automatically load these accessibility "
+"support libraries depends on the value of a <application>gconf</application> "
+"key, \"/desktop/gnome/interface/accessibility\"; a boolean value of \"true\" "
+"enables support for assistive technologies and applications which call "
+"gnome_program_init will automatically load the appropriate accessibility "
+"libraries at runtime. \"Pure GTK+ applications\", e.g. those that use gtk+ "
+"but do not link to libgnome, rely on the value of the GTK_MODULES environment "
+"variable, which must be set to \"gail:atk-bridge\" in order to enable "
+"assistive technology support."
msgstr ""
-#: C/optimization-intro.xml:98(para)
+#: C/accessibility-devel-guide.xml:63(para)
msgid ""
-"Remember the resources on the X server. Your program's memory usage doesn't "
-"include the pixmaps that are stored in the X server's process, but they are "
-"still using up memory. Use xrestop to see what resources your program is "
-"using."
+"Most assistive technologies running on other desktops have historically found "
+"it necessary to maintain a complex off-screen model of the desktop "
+"applications, based on snooping of OS events, use of unsupported OS and "
+"application features and API, and other highly non-portable techniques. This "
+"has made assistive technology support somewhat \"brittle\" and highly OS- and "
+"application-specific, even application-version specific. In contrast, on the "
+"GNOME Desktop, all the information required by the ATs is provided by the "
+"running applications, via the GNOME Accessibility Framework, to a toolkit-"
+"independent Service Provider Interface (SPI). The SPI provides a means for "
+"UNIX-based ATs, such as screen readers and screen magnifiers, to obtain "
+"accessibility information from running applications via a consistent, stable "
+"API, and can eliminate the need for an off-screen model in many cases. "
+"Accessibility support for applications is \"built in\" to application "
+"toolkits via toolkit-appropriate APIs (for instance, ATK for most native C "
+"applications and the Java Accessibility API for Java apps), and exported to "
+"the common \"AT-SPI\" interface via the relevant \"bridge\" (see diagram "
+"below)."
msgstr ""
-"Vergessen Sie nicht den Ressourcenverbrauch des X-Servers. Der "
-"Speicherverbrauch Ihres Programms enthält nicht die Pixmaps, die vom X-Server "
-"verarbeitet werden, aber sie verbrauchen dennoch Speicher. Verwenden Sie "
-"<command>xrestop</command>, um zu sehen, welche Ressourcen Ihr Programm "
-"beansprucht."
-#: C/optimization-intro.xml:104(title)
-msgid "Low Level Hints"
+#: C/accessibility-devel-guide.xml:69(title)
+#: C/accessibility-devel-guide.xml:139(phrase)
+msgid "GNOME Accessibility Architecture"
+msgstr "Die GNOME Barrierefreiheits-Architektur"
+
+#: C/accessibility-devel-guide.xml:75(phrase)
+msgid "Diagram of GNOME's accessibility architecture"
+msgstr "Diagramm der GNOME Barrierefreiheits-Architektur"
+
+#: C/accessibility-devel-guide.xml:79(para)
+msgid ""
+"GNOME's built-in accessibility support means that applications created using "
+"stock GNOME widgets get support for assistive technologies \"for free\", "
+"provided the widgets are not used in unusual ways which conflict with this "
+"built-in support."
msgstr ""
-#: C/optimization-intro.xml:106(para)
+#: C/accessibility-devel-guide.xml:82(para)
msgid ""
-"When optimizing memory use, be wary of the difference between peak usage and "
-"average memory usage. Some memory is almost always allocated, this is usually "
-"bad. Some is only briefly allocated, this may be quite acceptable. Tools like "
-"massif use the concept of space-time, the product of memory used and the "
-"duration it was allocated for, instead."
+"A gtk+/GNOME widget is accessible if its use follows the general "
+"accessibility guidelines elsewhere in this document, and it implements the "
+"ATK interfaces appropriate to its role in the user interface. ATK "
+"implementations are provided for the \"stock\" GNOME toolkit widgets (i.e. "
+"non-deprecated gtk+ and GNOME widgets), and in many cases new widgets which "
+"derive trivially from existing GTK+ or GNOME widgets will also inherit "
+"suitable accessibility support."
msgstr ""
-#: C/optimization-intro.xml:111(para)
+#: C/accessibility-devel-guide.xml:86(para)
msgid ""
-"Time simplified bits of code that do only the things you know are essential, "
-"this gives an absolute lower limit on the time your code will take. For "
-"example, when optimizing a loop time the empty loop. If that is still too "
-"long no amount of micro-optimization will help and you will have to change "
-"your design. Make sure the compiler doesn't optimize away your empty loop."
+"Though GNOME's built-in accessibility support provides significant "
+"functionality without any accessibility-specific code changes on the part of "
+"the application, applications can often improve on the default descriptions "
+"provided for some of the widgets, and tailor them to that widget's specific "
+"purpose in your application, via straightforward calls to ATK methods in the "
+"application. For instance, in most cases applications should add or change "
+"the textual descriptions for these widgets with the appropriate ATK function "
+"call, so that an assisitive technology can describe their purpose or state to "
+"the user. See <link linkend=\"gad-coding-guidelines\">Coding Guidelines for "
+"Supporting Accessibility</link> for more information."
msgstr ""
-#: C/optimization-intro.xml:116(para)
+#: C/accessibility-devel-guide.xml:89(para)
msgid ""
-"Move code out from inside loops. A slightly more complicated piece of code "
-"that is executed once is far quicker than a simple piece of code executed a "
-"thousand times. Avoid calling slow code often."
+"If your application uses custom widgets, you may have to do some work to "
+"expose those widgets' properties to assistive technologies. See <link linkend="
+"\"gad-custom\">Making Custom Components Accessible</link> and <link linkend="
+"\"gad-api-examples\">Examples that Use the Accessibility API</link> for more "
+"information."
msgstr ""
-"Gliedern Sie Code aus Schleifen aus. Ein etwas umfangreicheres Stück Code, "
-"das nur einmal ausgeführt wird, ist um Einiges schneller als ein simples "
-"Stück Code, was dafür tausend Schleifen durchläuft. Vermeiden Sie es, "
-"langsamen Code allzu oft aufzurufen."
-#: C/optimization-intro.xml:121(para)
+#: C/accessibility-devel-guide.xml:92(para)
+#: C/accessibility-devel-guide.xml:157(para)
msgid ""
-"Give the compiler as many hints as possible. Use the const keyword. Use "
-"<envar>G_INLINE_FUNC</envar> for short, frequently called, functions. Look up "
-"<envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> and the other glib "
-"miscellaneous macros. Use the macros instead of gcc-specific keywords to "
-"ensure portability."
+"For additional, in-depth information regarding GTK/GTK+, see the <ulink url="
+"\"http://library.gnome.org/devel/gtk\">GTK+ Reference Manual</ulink>, <ulink "
+"url=\"http://live.gnome.org/GAP/AtkGuide/Gtk\">the GTK section of the ATK "
+"Guide</ulink>, the GNOME-hosted <ulink url=\"http://library.gnome.org/devel/"
+"gtk-tutorial/stable/\">GTK+ 2.0 Tutorial</ulink> and the official <ulink url="
+"\"http://library.gnome.org/devel/gtk-faq/stable/\">GTK+ FAQ</ulink>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:98(title)
+msgid "Developer Quick Start"
+msgstr "Schnelleinstieg für Entwickler"
+
+#: C/accessibility-devel-guide.xml:99(para)
+msgid "Here are some common starting points:"
msgstr ""
-"Geben Sie dem Compiler so viele Hinweise wie möglich. Verwenden Sie das const-"
-"Schlüsselwort. Verwenden Sie <envar>G_INLINE_FUNC</envar> für kurze, häufig "
-"aufgerufene Funktionen. Schauen Sie nach <envar>G_GNUC_PURE</envar>, "
-"<envar>G_LIKELY</envar> und weiteren diversen glib-Makros. Verwenden Sie "
-"diese Makros anstelle der gcc-spezifischen Schlüsselwörter, um die "
-"Portierbarkeit zu erhalten."
-#: C/optimization-intro.xml:126(para)
+#: C/accessibility-devel-guide.xml:104(title)
+msgid "How do I check to see if my application is accessible or not?"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:105(para)
msgid ""
-"Don't use assembly language. It is not portable and, while it may be fast on "
-"one processor, it is not even guaranteed to be fast on every processor that "
-"supports that architecture (e.g. Athlon vs. Pentium 4)."
+"To start right in, see <link linkend=\"gad-overview\">Making a GNOME "
+"Application Accessible - Overview</link>. For a pre-codng perspective, see "
+"<link linkend=\"gad-ui-guidelines\">User Interface Guidelines for Supporting "
+"Accessibility</link> or <link linkend=\"gad-coding-guidelines\">Coding "
+"Guidelines for Supporting Accessibility</link>. For a checklist of post-"
+"design test items, see <link linkend=\"gad-checklist\">User Interface "
+"Checklist</link>."
msgstr ""
-"Verwenden Sie keine Assemblersprachen. Sie sind nicht portierbar. Während sie "
-"auf dem einen Prozessor unglaublich schnell sind, ist nicht unbedingt "
-"garantiert, dass dies auf jedem von der Architektur unterstützten Prozessor "
-"genauso ist (beispielsweise Athlon vs Pentium 4)."
-#: C/optimization-intro.xml:131(para)
+#: C/accessibility-devel-guide.xml:111(title)
+msgid "What are the common pitfalls?"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:112(para)
msgid ""
-"Don't rewrite an existing library routine unless you are sure it is "
-"unnecessarily slow. Many CPU-intensive library routines have already been "
-"optimized. Conversely, some library routines are slow, especially ones that "
-"make system calls to the operating system."
+"The <link linkend=\"gad-checklist\">User Interface Checklist</link> covers "
+"all the areas that sometimes get overlooked in the design stage."
msgstr ""
-"Schreiben Sie eine vorhandene Bibliotheksroutine nicht neu, es sei denn, Sie "
-"sind sich sicher, dass sie unakzeptabel langsam ist. Viele prozessorintensive "
-"Bibliotheksroutinen wurden bereits optimiert. Andererseits sind einige "
-"Routinen tatsächlich langsam, insbesondere diejenigen, die Systemaufrufe an "
-"das Betriebssystem absetzen."
-#: C/optimization-intro.xml:136(para)
+#: C/accessibility-devel-guide.xml:118(title)
+msgid "How do I do common ATK things?"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:119(para)
msgid ""
-"Minimize the number of libraries you link to. The fewer libraries to link in, "
-"the faster the program starts. This is a difficult thing to do with GNOME."
+"An abbreviated listing of common ATK calls can be found <link linkend=\"gad-"
+"api\">here</link>."
msgstr ""
-"Halten Sie die Zahl der verlinkten Bibliotheken gering. Je weniger "
-"Bibliotheken gelinkt werden müssen, umso schneller startet das Programm. Dies "
-"ist in GNOME allerdings schwierig."
+"Eine gekürzte Liste häufiger ATK-Aufrufe finden Sie <link linkend=\"gad-api"
+"\">hier</link>."
-#: C/optimization-intro.xml:142(title)
-msgid "High Level Tricks"
+#: C/accessibility-devel-guide.xml:125(title)
+msgid "How do I do more complex ATK things?"
msgstr ""
-#: C/optimization-intro.xml:144(para)
+#: C/accessibility-devel-guide.xml:126(para)
msgid ""
-"Take advantage of concurrency. This doesn't just mean using multiple "
-"processors, it also means taking advantage of the time the user spends "
-"thinking about what they are going to do next to perform some calculations in "
-"anticipation. Do calculations while waiting for data to be loaded off disk. "
-"Take advantage of multiple resources, use them all at once."
+"See <link linkend=\"gad-custom\">Making Custom Components Accessible</link> "
+"and <link linkend=\"gad-api-examples\">Examples that Use the Accessibility "
+"API</link> for more information."
msgstr ""
-#: C/optimization-intro.xml:149(para)
+#: C/accessibility-devel-guide.xml:132(title)
+msgid "Introducing ATK, AT-SPI, GAIL and GTK+"
+msgstr "Einführung in ATK, AT-SPI, GAIL und GTK+"
+
+#: C/accessibility-devel-guide.xml:145(para)
msgid ""
-"Cheat. The user only has to think that the computer is fast, it doesn't "
-"matter whether it actually is or not. It is the time between the command and "
-"the answer that is important, it doesn't matter if the response is pre-"
-"calculated, cached, or will in fact be worked out later at a more convenient "
-"time, as long as the user gets what they expect."
+"ATK is the toolkit that GNOME uses to enable accessibility for users needing "
+"extra support to make the most of their computers. ATK is used by tools such "
+"as screen readers, magnifiers, and input devices to permit a rich interaction "
+"with the desktop through alternative means. See <ulink url=\"http://java-"
+"gnome.sourceforge.net/4.0/doc/api/org/gnome/atk/package-summary.html\">the "
+"ATK SourceForge Project</ulink> and <ulink url=\"http://library.gnome.org/"
+"devel/atk/stable/atk.html\">the ATK Library</ulink> for more information."
msgstr ""
-#: C/optimization-intro.xml:154(para)
+#: C/accessibility-devel-guide.xml:148(para)
msgid ""
-"Do things in the idle loop. It is easier to program than using full multi-"
-"threading but still gets things done out of the users eye. Be careful though, "
-"if you spend too long in the idle loop your program will become sluggish. So "
-"regularly give control back to the main loop."
+"AT-SPI is the primary service interface by which assistive technologies query "
+"and receive notifications from running applications. The full API can be "
+"explored <ulink url=\"http://library.gnome.org/devel/at-spi-cspi/stable/"
+"\">here</ulink>. Additional material is available from <ulink url=\"http://"
+"accessibility.kde.org/developer/atk.php#coreclasses\">the KDE Accessibility "
+"Development Community</ulink>."
msgstr ""
-#: C/optimization-intro.xml:159(para)
+#: C/accessibility-devel-guide.xml:151(para)
msgid ""
-"If all else fails, tell the user that the code is going to be slow and put up "
-"a progress bar. They won't be as happy as if you had just presented the "
-"results, but they will at least know the program hasn't crashed and they can "
-"go get a cup of coffee."
+"GAIL (GNOME Accessibility Implementation Library) is an implementation of the "
+"accessibility interfaces defined by ATK. GTK is a toolkit which is already "
+"mapped to ATK by the GAIL module. License, download and other information can "
+"be found <ulink url=\"http://www.t2-project.org/packages/gail.html\">here</"
+"ulink>. The <ulink url=\"ftp://ftp.gnome.org/pub/GNOME/sources/gail/\">GAIL "
+"source code</ulink> also serves as an excellent tutorial for advanced ATK "
+"usage. In addition, you may be interested in the <ulink url=\"http://library."
+"gnome.org/devel/gail-libgail-util/stable/\">GAIL Reference Manual</ulink>."
msgstr ""
-"Falls alles Andere scheitern sollte, informieren Sie den Benutzer mit einem "
-"Fortschrittsbalken drüber, dass es derzeit nur langsam voran geht. Das dürfte "
-"ihm lieber sein, als wenn Sie nur die Ergebnisse präsentieren würden. Er "
-"möchte zumindest wissen, dass das Programm nicht abgestürzt ist und er dann "
-"erst einmal eine Tasse Kaffee trinken gehen kann."
-#. 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/optimization-massif.xml:52(None)
+#: C/accessibility-devel-guide.xml:154(para)
msgid ""
-"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+"GTK+ is a library for creating graphical user interfaces. It works on many "
+"UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released "
+"under the GNU Library General Public License (GNU LGPL), which allows for "
+"flexible licensing of client applications. GTK+ has a C-based object-oriented "
+"architecture that allows for maximum flexibility. Bindings for other "
+"languages have been written, including C++, Objective-C, Guile/Scheme, Perl, "
+"Python, TOM, Ada95, Free Pascal, and Eiffel."
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/optimization-massif.xml:114(None)
+#: C/accessibility-devel-guide.xml:164(title)
+msgid "Making a GNOME Application Accessible - Overview"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:165(para)
msgid ""
-"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+"If your application only uses standard GTK widgets, you will probably have to "
+"do little or nothing to make your application (reasonably) accessible. But do "
+"watch out for objects in your GUI that don't have a textual description "
+"associated with them, such as graphical buttons or status indicators that "
+"don't have labels or tooltips."
msgstr ""
-#: C/optimization-massif.xml:3(title)
+#: C/accessibility-devel-guide.xml:168(para)
msgid ""
-"Using <application>Massif</application> for Profiling Memory Use in GNOME "
-"Software"
+"You can probably also improve on the default descriptions provided for some "
+"of the widgets, and tailor them to that widget's specific purpose in your "
+"application. You should add or change the textual descriptions for these "
+"widgets with the appropriate ATK function call, so that an assisitive "
+"technology can describe their purpose or state to the user. See <link linkend="
+"\"gad-coding-guidelines\">Coding Guidelines for Supporting Accessibility</"
+"link> for more information."
msgstr ""
-"Verwendung von <application>Massif</application> zur Profilierung des "
-"Speicherverbrauchs in GNOME-Software"
-#: C/optimization-massif.xml:5(para)
+#: C/accessibility-devel-guide.xml:171(para)
msgid ""
-"This article describes how to use the <application>Massif</application> heap "
-"profiler with GNOME applications. We describe how to invoke, interpret, and "
-"act on the output of <application>Massif</application>. The <application>Same "
-"GNOME</application> game is used as an example."
+"If your application uses custom widgets, you may have to do some work to "
+"expose those widgets' properties to assistive technologies. See <link linkend="
+"\"gad-custom\">Making Custom Components Accessible</link> and <link linkend="
+"\"gad-api-examples\">Examples that Use the Accessibility API</link> for more "
+"information. Additional detailed information can be found in Marc Mulcahy's "
+"2002 GUADEC presentation, <ulink url=\"http://developer.gnome.org/projects/"
+"gap/presentations/GUAD3C/making-apps-accessible/start.html\">\"Making GNOME "
+"Applications Accessible\".</ulink>"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:177(title)
+msgid "Coding Guidelines for Supporting Accessibility"
msgstr ""
-#: C/optimization-massif.xml:10(title)
-msgid "Introduction"
-msgstr "Einführung"
+#: C/accessibility-devel-guide.xml:178(para)
+msgid ""
+"Here are some things you can do in your code to make your program work as "
+"well as possible with assistive technologies. (You can find a list of things "
+"to consider when designing your GUI in the <link linkend=\"gad-ui-guidelines"
+"\">User Interface Guidelines for Supporting Accessibility</link> section "
+"later in this document):"
+msgstr ""
-#: C/optimization-massif.xml:11(para)
+#: C/accessibility-devel-guide.xml:183(para)
msgid ""
-"<application>Massif</application> is a member of the <ulink type=\"http\" url="
-"\"http://valgrind.org/\">valgrind</ulink> suite of memory-profiling tools. "
-"Its purpose is to give a detailed view of dynamic memory usage during the "
-"lifetime of the program. Specifically it records the memory use of the heap "
-"and the stack."
+"For components that don't display a short string (such as a graphical "
+"button), specify a name for it with <function>atk_object_set_name()</"
+"function>. You might want to do this for image-only buttons, panels that "
+"provide logical groupings, text areas, and so on."
msgstr ""
-#: C/optimization-massif.xml:14(para)
+#: C/accessibility-devel-guide.xml:188(para)
msgid ""
-"The heap is the region of memory which is allocated with functions like "
-"malloc. It grows on demand and is usually the largest region of memory in a "
-"program. The stack is where all the local data for functions is stored. This "
-"includes the \"automatic\" variables in C and the return address for "
-"subroutines. The stack is typically a lot smaller and a lot more active than "
-"the heap. We won't consider the stack explicitly since <application>Massif</"
-"application> treats it as though it were just another part of the heap. "
-"<application>Massif</application> also gives information about how much "
-"memory is used to manage the heap."
+"If you can't provide a tooltip for a component, use "
+"<function>atk_object_set_description()</function> instead to provide a "
+"description that assistive technologies can give the user. For example, to "
+"provide an accessible description for a <guibutton>Close</guibutton> button:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:192(title)
+msgid "Providing an accessible description for a GtkButton"
msgstr ""
-#: C/optimization-massif.xml:17(para)
+#: C/accessibility-devel-guide.xml:193(programlisting)
+#, no-wrap
msgid ""
-"<application>Massif</application> produces two output files: a graphical "
-"overview in a postscript file and a detailed breakdown in a text file."
+"\n"
+"{\n"
+" AtkObject *obj;\n"
+" obj = gtk_widget_get_accessible(button);\n"
+" atk_object_set_description(obj,_(\"Closes the window\"));\n"
+"}\n"
msgstr ""
+"\n"
+"{\n"
+" AtkObject *obj;\n"
+" obj = gtk_widget_get_accessible(button);\n"
+" atk_object_set_description(obj,_(\"Closes the window\"));\n"
+"}\n"
-#: C/optimization-massif.xml:22(title)
-msgid "Using <application>Massif</application> with GNOME"
+#: C/accessibility-devel-guide.xml:203(para)
+msgid ""
+"Use <function>atk_image_set_description()</function> to provide a text "
+"description for all images and icons in your program."
msgstr ""
-#: C/optimization-massif.xml:23(para)
+#: C/accessibility-devel-guide.xml:208(para)
msgid ""
-"<application>Massif</application> has very few options and for many programs "
-"does not need them. However for GNOME applications, where memory allocation "
-"might be buried deep in either glib or GTK, the number of levels down the "
-"call-stack Massif descends needs to be increased. This is achieved using the "
-"--depth parameter. By default this is 3; increasing it to 5 will guarantee "
-"the call-stack reaches down to your code. One or two more levels may also be "
-"desirable to provide your code with some context. Since the level of detail "
-"becomes quickly overwhelming it is best to start with the smaller depth "
-"parameter and only increase it when it becomes apparent that it isn't "
-"sufficient."
+"If several components form a logical group, try to put them in one container."
msgstr ""
-#: C/optimization-massif.xml:26(para)
+#: C/accessibility-devel-guide.xml:213(para)
msgid ""
-"It is also useful to tell <application>Massif</application> which functions "
-"allocate memory in glib. It removes an unnecessary layer of function calls "
-"from the reports and gives you a clearer idea of what code is allocating "
-"memory. The allocating functions in glib are g_malloc, g_malloc0, g_realloc, "
-"g_try_malloc, and g_mem_chunk_alloc. You use the --alloc-fn option to tell "
-"Masiff about them."
+"Whenever you have a label that describes another component, use "
+"<function>atk_relation_set_add_relation()</function> so that assistive "
+"technologies can find the component with which the label is associated. (If "
+"you associate the label with the component using "
+"<function>gtk_label_set_mnemonic_widget()</function>, the "
+"<constant>ATK_RELATION_LABEL_FOR</constant> relation is generated "
+"automatically, so the following code would not be necessary):"
msgstr ""
-#: C/optimization-massif.xml:29(para)
-msgid "Your command-line should therefore look something like:"
-msgstr "Ihre Befehlszeile sollte daher so aussehen:"
+#: C/accessibility-devel-guide.xml:217(title)
+msgid "Relating a GtkLabel to a GtkWidget"
+msgstr ""
-#: C/optimization-massif.xml:32(programlisting)
+#: C/accessibility-devel-guide.xml:218(programlisting)
#, no-wrap
msgid ""
"\n"
-"valgrind --tool=massif --depth=5 --alloc-fn=g_malloc --alloc-fn=g_realloc --alloc-fn=g_try_malloc \\\n"
-" --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc same-gnome\n"
-" "
+"{\n"
+" GtkWidget *widget;\n"
+" GtkLabel *label;\n"
+"\n"
+" AtkObject *atk_widget, *atk_label;\n"
+" AtkRelationSet *relation_set;\n"
+" AtkRelation *relation;\n"
+" AtkObject *targets[1];\n"
+"\n"
+" atk_widget = gtk_widget_get_accessible(widget);\n"
+" atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));\n"
+"\n"
+" relation_set = atk_object_ref_relation_set (atk_label);\n"
+" targets[0] = atk_widget;\n"
+"\n"
+" relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);\n"
+" atk_relation_set_add(relation_set,relation);\n"
+" g_object_unref(G_OBJECT(relation));\n"
+"}\n"
msgstr ""
"\n"
-"valgrind --tool=massif --depth=5 --alloc-fn=g_malloc --alloc-fn=g_realloc --alloc-fn=g_try_malloc \\\n"
-" --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc same-gnome\n"
-" "
+"{\n"
+" GtkWidget *widget;\n"
+" GtkLabel *label;\n"
+"\n"
+" AtkObject *atk_widget, *atk_label;\n"
+" AtkRelationSet *relation_set;\n"
+" AtkRelation *relation;\n"
+" AtkObject *targets[1];\n"
+"\n"
+" atk_widget = gtk_widget_get_accessible(widget);\n"
+" atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));\n"
+"\n"
+" relation_set = atk_object_ref_relation_set (atk_label);\n"
+" targets[0] = atk_widget;\n"
+"\n"
+" relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);\n"
+" atk_relation_set_add(relation_set,relation);\n"
+" g_object_unref(G_OBJECT(relation));\n"
+"}\n"
+
+#: C/accessibility-devel-guide.xml:242(para)
+msgid ""
+"If you create a custom widget, make sure it supports accessibility. Custom "
+"components that are descendants of other GTK widgets should override "
+"inherited accessibility information as necessary. For more information, see "
+"<link linkend=\"gad-custom\">Making Custom Components Accessible</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:247(para)
+msgid ""
+"Don't break what you get for free! If your GUI has an inaccessible container, "
+"any components inside that container may become inaccessible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:255(title)
+msgid "The Accessibility API"
+msgstr "Die Barrierefreiheits-API"
+
+#: C/accessibility-devel-guide.xml:256(para)
+msgid ""
+"Here are a few of the basic API calls you may need to use in your application "
+"to ensure it works well with assistive technologies. The full accessibility "
+"API is extensive, to allow you to write your own accessible custom widgets, "
+"for example."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:260(title)
+msgid "Commonly used ATK API calls"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:264(entry)
+msgid "API"
+msgstr "API"
+
+#: C/accessibility-devel-guide.xml:265(entry)
+msgid "Description"
+msgstr "Beschreibung"
-#: C/optimization-massif.xml:36(para)
+#: C/accessibility-devel-guide.xml:272(function)
+msgid "AtkObject* gtk_widget_get_accessible (GtkWidget*)"
+msgstr "AtkObject* gtk_widget_get_accessible (GtkWidget*)"
+
+#: C/accessibility-devel-guide.xml:276(para)
msgid ""
-"<application>Same GNOME</application> is the program we will be using as an "
-"example. Be warned that, since valgrind emulates the CPU, it will run "
-"<emphasis>very</emphasis> slowly. You will also need a lot of memory."
+"Returns the accessible object that describes the specified GTK widget to an "
+"assistive technology."
msgstr ""
-"Das Programm <application>Same GNOME</application> werden wir als Beispiel "
-"verwenden. Seien Sie gewarnt: <application>Valgrind</application> emuliert "
-"den Prozessor, wodurch es <emphasis>äu�erst</emphasis> langsam läuft. "
-"Au�erdem wird sehr viel Speicher benötigt."
-#: C/optimization-massif.xml:41(title)
-msgid "Interpreting the Results"
-msgstr "Interpretieren der Ergebnisse"
+#: C/accessibility-devel-guide.xml:284(function)
+msgid "void atk_object_set_name (AtkObject*, const gchar*)"
+msgstr "void atk_object_set_name (AtkObject*, const gchar*)"
-#: C/optimization-massif.xml:42(para)
+#: C/accessibility-devel-guide.xml:288(para)
msgid ""
-"The graphical output of <application>Massif</application> is largely self "
-"explanatory. Each band represents the memory allocated by one function over "
-"time. Once you identify which bands are using the most memory, usually the "
-"big thick ones at the top you will have to consult the text file for the "
-"details."
+"Sets the name of the accessible object. For example, if the object is a "
+"graphical button that quits the application when pressed, the name might be "
+"\"Quit\"."
msgstr ""
-"Die grafische Ausgabe von <application>Massif</application> ist weitgehend "
-"selbsterklärend. Jedes Band stellt den einer Funktion zugewiesenen Speicher "
-"nach Zeit dar. Sobald Sie herausgefunden haben, welche Bänder den meisten "
-"Speicher verbrauchen, üblicherweise die dickeren, oberen, dann schauen Sie "
-"sich die Textausgabe für weitere Details an."
-#: C/optimization-massif.xml:45(para)
+#: C/accessibility-devel-guide.xml:296(function)
+msgid "void atk_object_set_description (AtkObject*, const gchar*)"
+msgstr "void atk_object_set_description (AtkObject*, const gchar*)"
+
+#: C/accessibility-devel-guide.xml:300(para)
msgid ""
-"The text file is arranged as a hierarchy of sections, at the top is a list of "
-"the worst memory users arranged in order of decreasing spacetime. Below this "
-"are further sections, each breaking the results down into finer detail as you "
-"proceed down the call-stack. To illustrate this we will use the output of the "
-"command above."
+"Sets the textual description of the accessible object. For example, if the "
+"object is a graphical \"Close\" button, the description might be \"Closes the "
+"window\"."
msgstr ""
-"Die Textdatei ist hierarchisch in Abschnitte gegliedert. Am oberen Ende "
-"finden sich die grö�ten Speicherverbraucher, in absteigender Ordnung nach "
-"Speicherzeit. Darunter finden sich weitere Abschnitte, die je nach dem Platz "
-"im Aufruf-Stack feiner detaillierter sind. Um dies zu verdeutlichen, "
-"verwenden wir die Ausgabe des oben stehenden Befehls."
-#: C/optimization-massif.xml:49(title)
+#: C/accessibility-devel-guide.xml:308(function)
+msgid "AtkRelation* atk_relation_new (AtkObject**, gint, AtkRelationType)"
+msgstr "AtkRelation* atk_relation_new (AtkObject**, gint, AtkRelationType)"
+
+#: C/accessibility-devel-guide.xml:312(para)
msgid ""
-"<application>Massif</application> output for the unoptimized version of the "
-"<application>Same GNOME</application> program."
+"Creates a new relation between the specified key and the specified list of "
+"target objects. A relationship normally indicates to the assistive technology "
+"that one widget is somehow related to another. For example, that a particular "
+"GtkLabel widget is the caption for a GtkTreeView in the same window."
msgstr ""
-"<application>Massif</application>-Ausgabe für die nicht optimierte Version "
-"des Programms <application>Same GNOME</application>."
-#: C/optimization-massif.xml:56(para)
+#: C/accessibility-devel-guide.xml:320(function)
+msgid "void atk_image_set_description (AtkImage*, const gchar*)"
+msgstr "void atk_image_set_description (AtkImage*, const gchar*)"
+
+#: C/accessibility-devel-guide.xml:324(para)
msgid ""
-"<xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> shows a "
-"typical postscript output from <application>Massif</application>. This is the "
-"result you would get from playing a single game of <application>Same GNOME</"
-"application> (version 2.8.0) and then quitting. The postscript file will have "
-"a name like <filename>massif.12345.ps</filename> and the text file will be "
-"called <filename>massif.12345.txt</filename>. The number in the middle is the "
-"process ID of the program that was examined. If you actually try this example "
-"you will find two versions of each file, with slightly different numbers, "
-"this is because <application>Same GNOME</application> starts a second process "
-"and <application>Massif</application> follows that too. We will ignore this "
-"second process, it consumes very little memory."
+"Sets the textual description of the accessible image object. For example, if "
+"the object is a thumbnail of a virtual desktop in a panel applet, the "
+"description might be \"Image showing window arrangement on desktop 1\"."
msgstr ""
-#: C/optimization-massif.xml:59(para)
+#: C/accessibility-devel-guide.xml:335(title)
+msgid "Examples that Use the Accessibility API"
+msgstr "Beispiele für die Nutzung der Barrierefreiheits-API"
+
+#: C/accessibility-devel-guide.xml:336(para)
msgid ""
-"At the top of the graph we see a large yellow band labelled gdk_pixbuf_new. "
-"This seems like an ideal candidate for optimization, but we will need to use "
-"the text file to find out what is calling gdk_pixbuf_new. The top of the text "
-"file will look something like this:"
+"As noted earlier, you should have little or no work to do to make your "
+"application accessible if you use the GTK widget set, or any other widget "
+"library that implements the ATK interfaces. The two most common things you "
+"may have to do in this case are:"
msgstr ""
-#: C/optimization-massif.xml:62(programlisting)
+#: C/accessibility-devel-guide.xml:341(para)
+msgid ""
+"provide descriptions of some controls and images using "
+"<function>atk_object_set_description()</function> or "
+"<function>atk_image_set_description():</function>"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:345(title)
+msgid "Setting the accessible description for a button"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:346(programlisting)
#, no-wrap
msgid ""
"\n"
-"Command: ./same-gnome \n"
+"{\n"
+" AtkObject *obj;\n"
+" obj = gtk_widget_get_accessible(button);\n"
+" atk_object_set_description(obj,_(\"Opens Preferences dialog\"));\n"
+"}\n"
+msgstr ""
"\n"
-"== 0 ===========================\n"
-"Heap allocation functions accounted for 90.4% of measured spacetime\n"
+"{\n"
+" AtkObject *obj;\n"
+" obj = gtk_widget_get_accessible(button);\n"
+" atk_object_set_description(obj,_(\"Opens Preferences dialog\"));\n"
+"}\n"
+
+#: C/accessibility-devel-guide.xml:358(para)
+msgid ""
+"Specify relationships between any unusual groupings of widgets using "
+"<function>atk_relation_new()</function> and <function>atk_relation_set_add()</"
+"function>:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:362(title)
+msgid "Specifying accessible relationship between two controls"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:363(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"{\n"
+" GtkWidget *widget;\n"
+" GtkLabel *label;\n"
"\n"
-"Called from:\n"
-" 28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+" AtkObject *atk_widget, *atk_label;\n"
+" AtkRelationSet *relation_set;\n"
+" AtkRelation *relation;\n"
+" AtkObject *targets[1];\n"
"\n"
-" 6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+" atk_widget = gtk_widget_get_accessible (widget);\n"
+" atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));\n"
"\n"
-" 5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+" relation_set = atk_object_ref_relation_set (atk_label);\n"
+" targets[0] = atk_widget;\n"
"\n"
-" 3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
-" "
+" relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);\n"
+" atk_relation_set_add(relation_set,relation);\n"
+" g_object_unref(G_OBJECT(relation));\n"
+"}\n"
msgstr ""
"\n"
-"Command: ./same-gnome \n"
+"{\n"
+" GtkWidget *widget;\n"
+" GtkLabel *label;\n"
"\n"
-"== 0 ===========================\n"
-"Heap allocation functions accounted for 90.4% of measured spacetime\n"
+" AtkObject *atk_widget, *atk_label;\n"
+" AtkRelationSet *relation_set;\n"
+" AtkRelation *relation;\n"
+" AtkObject *targets[1];\n"
"\n"
-"Called from:\n"
-" 28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+" atk_widget = gtk_widget_get_accessible (widget);\n"
+" atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));\n"
"\n"
-" 6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+" relation_set = atk_object_ref_relation_set (atk_label);\n"
+" targets[0] = atk_widget;\n"
"\n"
-" 5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+" relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);\n"
+" atk_relation_set_add(relation_set,relation);\n"
+" g_object_unref(G_OBJECT(relation));\n"
+"}\n"
+
+#: C/accessibility-devel-guide.xml:387(para)
+msgid ""
+"The examples in the rest of this section are mostly to give you a flavor of "
+"the scope of the ATK. They cover techniques that you may never need to use as "
+"an application developer, although they may be of interest if you are writing "
+"your own custom widgets (see <link linkend=\"gad-custom\">Making Custom "
+"Components Accessible</link>) or if you want to write an assistive technology "
+"application. Whatever the purpose, the <ulink url=\"ftp://ftp.gnome.org/pub/"
+"GNOME/sources/gail/\">GAIL source code</ulink> serves as an excellent "
+"tutorial for advanced ATK usage."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:392(title)
+msgid "Gtk Modules"
+msgstr "GTK-Module"
+
+#: C/accessibility-devel-guide.xml:393(para)
+msgid ""
+"Programs that make use of GAIL (the accessibility implementation library for "
+"GTK widgets) are written as GTK modules. GTK modules are loaded into the "
+"program space if the <varname>GTK_MODULES</varname> environment variable "
+"specifies the module library name(s). If there are multiple module libraries, "
+"separate them with colons. For example:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:397(userinput)
+#, no-wrap
+msgid "setenv GTK_MODULES \"libgail:libtestprops\""
+msgstr "setenv GTK_MODULES \"libgail:libtestprops\""
+
+#: C/accessibility-devel-guide.xml:399(para)
+msgid "All GTK modules have a <function>gtk_module_init()</function> function."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:405(title)
+msgid "Gathering accessibility information from an application"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:406(para)
+msgid ""
+"A program that wishes to make use of ATK calls would likely need to do one "
+"(or more) of the following things:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:411(para)
+msgid ""
+"Create an event watcher, for example with the <function>atk_add_focus_tracker"
+"()</function> function:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:414(programlisting)
+#, no-wrap
+msgid "atk_add_focus_tracker (_my_focus_tracker);"
+msgstr "atk_add_focus_tracker (_my_focus_tracker);"
+
+#: C/accessibility-devel-guide.xml:415(para)
+msgid ""
+"where <function>_my_focus_tracker()</function> is a function with this "
+"prototype:"
+msgstr ""
+"wobei <function>_my_focus_tracker()</function> eine Funktion folgenden "
+"Prototyps ist:"
+
+#: C/accessibility-devel-guide.xml:418(programlisting)
+#, no-wrap
+msgid "void _my_focus_tracker (AtkObject *aobject);"
+msgstr "void _my_focus_tracker (AtkObject *aobject);"
+
+#: C/accessibility-devel-guide.xml:421(para)
+msgid "Set up a global event listener, with atk_add_global_event_listener():"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:424(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"mouse_watcher_focus_id = atk_add_global_event_listener(_my_global_listener,\"Gtk:GtkWidget:enter_notify_event\");\n"
+msgstr ""
"\n"
-" 3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
-" "
+"mouse_watcher_focus_id = atk_add_global_event_listener(_my_global_listener,\"Gtk:GtkWidget:enter_notify_event\");\n"
-#: C/optimization-massif.xml:77(para)
+#: C/accessibility-devel-guide.xml:427(para)
msgid ""
-"The line with the '=' signs indicates how far down the stack trace we are, in "
-"this case we are at the top. After this it lists the heaviest users of memory "
-"in order of decreasing spacetime. Spacetime is the product of the amount of "
-"memory used and how long it was used for. It corresponds to the area of the "
-"bands in the graph. This part of the file tells us what we already know: most "
-"of the spacetime is dedicated to gdk_pixbuf_new. To find out what called "
-"gdk_pixbuf_new we need to search further down the text file:"
+"where <function>_my_global_listener</function> has the prototype of a Glib "
+"<type>GSignalEmissionHook</type>. This example would cause the "
+"<function>_my_global_listener()</function> to be called whenever an "
+"enter_notify_even signal occurs on a <type>GtkWidget</type> object."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:432(para)
+msgid "Access the ATK top-level object with the following function call."
msgstr ""
-#: C/optimization-massif.xml:80(programlisting)
+#: C/accessibility-devel-guide.xml:435(programlisting)
+#, no-wrap
+msgid "AtkObject *root_obj = atk_get_root();"
+msgstr "AtkObject *root_obj = atk_get_root();"
+
+#: C/accessibility-devel-guide.xml:436(para)
+msgid ""
+"This returns an <type>AtkObject</type> which contains all toplevel windows in "
+"the currently running program. The user could then navigate through the "
+"object heirarchy by accessing the root object's children, which corresponds "
+"to the toplevel windows."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:444(title)
+msgid "Querying an <type>AtkObject</type>'s Interfaces"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:445(para)
+msgid ""
+"Having located the <type>AtkObject</type> associated with an object in the "
+"application (e.g. by using <function>gtk_widget_get_accessible()</function>), "
+"you can find out what interfaces it implements in various ways:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:450(para)
+msgid "Use the supplied <function>ATK_IS_...</function> macros, for example:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:456(function)
+msgid "ATK_IS_ACTION(atkobj)"
+msgstr "ATK_IS_ACTION(atkobj)"
+
+#: C/accessibility-devel-guide.xml:461(function)
+msgid "ATK_IS_COMPONENT(atkobj)"
+msgstr "ATK_IS_COMPONENT(atkobj)"
+
+#: C/accessibility-devel-guide.xml:465(para)
+msgid "etc. (there is one for each interface)"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:470(para)
+msgid ""
+"If the macro returns <function>TRUE</function>, the interface calls can "
+"safely be made on that ATK object."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:475(para)
+msgid ""
+"Test the role of the <type>AtkObject</type> by calling "
+"<function>atk_object_get_role()</function>. Any given role implements a "
+"specific number of ATK APIs."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:483(title)
+msgid "Setting up an ATK Signal Handler"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:484(para)
+msgid "Using the <constant>column_inserted</constant> signal as an example:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:487(programlisting)
#, no-wrap
msgid ""
"\n"
-"== 4 ===========================\n"
-"Context accounted for 28.8% of measured spacetime\n"
-" 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
-" 0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so)\n"
-" 0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
-" 0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"table_column_inserted_id = g_signal_connect_closure_by_id(my_atk_obj, \n"
+"g_signal_lookup(\"column_inserted\", G_OBJECT_TYPE(my_atk_obj)),0,g_cclosure_new(G_CALLBACK (_my_table_column_inserted_func),NULL,NULL), FALSE);\n"
+msgstr ""
"\n"
-"Called from:\n"
-" 27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+"table_column_inserted_id = g_signal_connect_closure_by_id(my_atk_obj, \n"
+"g_signal_lookup(\"column_inserted\", G_OBJECT_TYPE(my_atk_obj)),0,g_cclosure_new(G_CALLBACK (_my_table_column_inserted_func),NULL,NULL), FALSE);\n"
+
+#: C/accessibility-devel-guide.xml:491(para)
+msgid ""
+"This will cause <function>_my_table_column_inserted_func()</function> to be "
+"called whenever a column_inserted signal is emitted on the <type>AtkObject</"
+"type><varname>my_atk_object</varname>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:493(para)
+msgid ""
+"Connecting to a signal is slightly different if the signal supports detail. "
+"The <constant>children_changed</constant> signal supports the <parameter>add</"
+"parameter> detail. To connect to a signal when the <parameter>add</parameter> "
+"detail is also specified, this technique is used:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:496(programlisting)
+#, no-wrap
+msgid ""
"\n"
-" 0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+"child_added_id = g_signal_connect_closure (my_atk_obj,\"children_changed::add\", g_cclosure_new (G_CALLBACK(_my_children_changed_func),NULL,NULL),FALSE); \n"
+msgstr ""
"\n"
-" and 1 other insignificant place\n"
-" "
+"child_added_id = g_signal_connect_closure (my_atk_obj,\"children_changed::add\", g_cclosure_new (G_CALLBACK(_my_children_changed_func),NULL,NULL),FALSE); \n"
+
+#: C/accessibility-devel-guide.xml:499(para)
+msgid ""
+"This will cause <function>_my_children_changed_func()</function> to be called "
+"whenever a <constant>children_changed</constant> signal with the "
+"<parameter>add</parameter> detail is emitted on the <type>AtkObject</"
+"type><varname>my_atk_obj</varname>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:505(title)
+msgid "Implementing an ATK Object"
+msgstr "Implementieren eines ATK-Objekts"
+
+#: C/accessibility-devel-guide.xml:506(para)
+msgid ""
+"You will need to implement your own ATK objects for any widgets that do not "
+"already have an accessible implementation in GAIL (or the equivalent library "
+"for other widget sets). This should be implemented as a GTK module, which, as "
+"before, should be included in the <envar>GTK_MODULES</envar> environment "
+"variable so it is loaded at runtime."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:511(title)
+msgid "Registry"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:512(para)
+msgid ""
+"For this example we will assume there is an object called GTK_TYPE_MYTYPE. "
+"The ATK implementation will be called <type>MYATKIMP_TYPE_MYTYPE</type>. A "
+"factory will be needed which will be called "
+"<type>MYATKIMP_TYPE_MYTYPE_FACTORY</type>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:515(para)
+msgid ""
+"To register an ATK implementation of a GTK object, these steps must be "
+"followed in the module's <function>gtk_module_init()</function> function:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:520(para)
+msgid "Access the default registry:"
msgstr ""
+
+#: C/accessibility-devel-guide.xml:523(programlisting)
+#, no-wrap
+msgid ""
"\n"
-"== 4 ===========================\n"
-"Context accounted for 28.8% of measured spacetime\n"
-" 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
-" 0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so)\n"
-" 0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
-" 0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"default_registry = atk_get_default_registry();\n"
+msgstr ""
"\n"
-"Called from:\n"
-" 27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+"default_registry = atk_get_default_registry();\n"
+
+#: C/accessibility-devel-guide.xml:527(para)
+msgid ""
+"Register the ATK object in the <function>gtk_module_init()</function> "
+"function of this module by making this function call:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:529(programlisting)
+#, no-wrap
+msgid ""
"\n"
-" 0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+"atk_registry_set_factory_type (default_registry, GTK_TYPE_MYTYPE, MYATKIMP_TYPE_MYTYPE_FACTORY); \n"
+msgstr ""
"\n"
-" and 1 other insignificant place\n"
-" "
+"atk_registry_set_factory_type (default_registry, GTK_TYPE_MYTYPE, MYATKIMP_TYPE_MYTYPE_FACTORY); \n"
-#: C/optimization-massif.xml:95(para)
+#: C/accessibility-devel-guide.xml:534(para)
msgid ""
-"The first line tells us we are now four levels deep into the stack. Below it "
-"is a listing of the function calls that leads from here to gdk_pixbuf_new. "
-"Finally there is a list of functions that are at the next level down and call "
-"these functions. There are, of course, also entries for levels 1, 2, and 3, "
-"but this is the first level to reach right down through the GDK code to the "
-"<application>Same GNOME</application> code. From this listing, we can see "
-"instantly that the problem code is load_scenario."
+"This will register the AtkObject implementation of <type>GTK_TYPE_MYTYPE</"
+"type> to <type>MYATKIMP_TYPE_MYTYPE_FACTORY</type>. This factory will be "
+"implemented so that it knows how to build objects of type "
+"<type>MYATKIMP_TYPE_MYTYPE</type>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:540(title)
+msgid "Factory"
msgstr ""
-#: C/optimization-massif.xml:98(para)
+#: C/accessibility-devel-guide.xml:541(para)
msgid ""
-"Now that we know what part of our code is using all the spacetime we can look "
-"at it and find out why. It turns out that the load_scenario is loading a "
-"pixbuf from file and then never freeing that memory. Having identified the "
-"problem code, we can start to fix it."
+"The factory must be implemented as a child of class type "
+"<type>ATK_TYPE_OBJECT_FACTORY</type> and must implement the function "
+"<function>create_accessible()</function>. This function must create an "
+"appropriate <type>AtkObject</type>. A factory can be used to create more than "
+"one type of object, in which case its <function>create_accessible()</"
+"function> function will need to be smart enough to build and return the "
+"correct <type>AtkObject</type>."
msgstr ""
-#: C/optimization-massif.xml:103(title)
-msgid "Acting on the Results"
-msgstr "Interpretieren der Ergebnisse"
+#: C/accessibility-devel-guide.xml:547(title)
+msgid "ATK Implemetation for a Specific Object"
+msgstr ""
-#: C/optimization-massif.xml:104(para)
+#: C/accessibility-devel-guide.xml:548(para)
msgid ""
-"Reducing spacetime consumption is good, but there are two ways of reducing it "
-"and they are not equal. You can either reduce the amount of memory allocated, "
-"or reduce the amount of time it is allocated for. Consider for a moment a "
-"model system with only two processes running. Both processes use up almost "
-"all the physical RAM and if they overlap at all then the system will swap and "
-"everything will slow down. Obviously if we reduce the memory usage of each "
-"process by a factor of two then they can peacefully coexist without the need "
-"for swapping. If instead we reduce the time the memory is allocated by a "
-"factor of two then the two programs can coexist, but only as long as their "
-"periods of high memory use don't overlap. So it is better to reduce the "
-"amount of memory allocated."
+"All <type>GObject</type>s implement a <function>get_type()</function> "
+"function. Using the above example the naming convention for this function "
+"name would be <function>myatkimp_mytype_get_type()</function>."
msgstr ""
-#: C/optimization-massif.xml:107(para)
+#: C/accessibility-devel-guide.xml:551(para)
msgid ""
-"Unfortunately, the choice of optimization is also constrained by the needs of "
-"the program. The size of the pixbuf data in <application>Same GNOME</"
-"application> is determined by the size of the game's graphics and cannot be "
-"easily reduced. However, the amount of time it spends loaded into memory can "
-"be drastically reduced. <xref linkend=\"optimization-massif-FIG-output-"
-"optimized\"/> shows the <application>Massif</application> analysis of "
-"<application>Same GNOME</application> after being altered to dispose of the "
-"pixbufs once the images have been loaded into the X server."
+"In this function, you specify which interfaces your object implements. If the "
+"following logic were included in this <function>get_type()</function> "
+"function, this object would implement the <type>ATK_TEXT</type> interface:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:555(title)
+msgid "Sample <function>get_type()</function> function"
msgstr ""
-#: C/optimization-massif.xml:111(title)
+#: C/accessibility-devel-guide.xml:556(programlisting)
+#, no-wrap
msgid ""
-"<application>Massif</application> output for the optimized <application>Same "
-"GNOME</application> program."
+"\n"
+"static const GInterfaceInfo atk_text_info = \n"
+"{ \n"
+" (GInterfaceInitFunc) atk_text_interface_init, \n"
+" (GInterfaceFinalizeFunc) NULL, \n"
+" NULL \n"
+"}; \n"
+"\n"
+"g_type_add_interface_static (type, ATK_TYPE_TEXT, \n"
+" &atk_text_info); \n"
msgstr ""
+"\n"
+"static const GInterfaceInfo atk_text_info = \n"
+"{ \n"
+" (GInterfaceInitFunc) atk_text_interface_init, \n"
+" (GInterfaceFinalizeFunc) NULL, \n"
+" NULL \n"
+"}; \n"
+"\n"
+"g_type_add_interface_static (type, ATK_TYPE_TEXT, \n"
+" &atk_text_info); \n"
-#: C/optimization-massif.xml:118(para)
+#: C/accessibility-devel-guide.xml:568(para)
msgid ""
-"The spacetime use of gdk_pixbuf_new is now a thin band that only spikes "
-"briefly (it is now the sixteenth band down and shaded magenta). As a bonus, "
-"the peak memory use has dropped by 200 kB since the spike occurs before other "
-"memory is allocated. If two processes like this where run together the "
-"chances of the peak memory usage coinciding, and hence the risk of swapping, "
-"would be quite low."
+"The function <function>atk_text_interface_init()</function>, which has the "
+"following prototype, would need to be implemented:"
msgstr ""
-#: C/optimization-massif.xml:121(para)
+#: C/accessibility-devel-guide.xml:571(programlisting)
+#, no-wrap
msgid ""
-"Can we do better ? A quick examination of <application>Massif</application>'s "
-"text output reveals: g_strdup to be the new major offender."
+"\n"
+"void atk_text_interface_init (AtkTextIface *iface); \n"
msgstr ""
+"\n"
+"void atk_text_interface_init (AtkTextIface *iface); \n"
-#: C/optimization-massif.xml:124(programlisting)
+#: C/accessibility-devel-guide.xml:574(para)
+msgid ""
+"This function would connect the interface function calls to the specific "
+"implementation as follows:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:578(title)
+msgid "Connecting custom interface calls to an AtkObject implementation"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:579(programlisting)
#, no-wrap
msgid ""
"\n"
-"Command: ./same-gnome \n"
+"void \n"
+"atk_text_interface_init (AtkTextIface *iface) \n"
+"{ \n"
+" g_return_if_fail (iface != NULL); \n"
+" iface->get_text = myatkimp_mytype_get_text; \n"
+" iface->get_character_at_offset = myatkimp_mytype_get_character_at_offset; \n"
+" ... \n"
+"}\n"
+msgstr ""
"\n"
-"== 0 ===========================\n"
-"Heap allocation functions accounted for 87.6% of measured spacetime\n"
+"void \n"
+"atk_text_interface_init (AtkTextIface *iface) \n"
+"{ \n"
+" g_return_if_fail (iface != NULL); \n"
+" iface->get_text = myatkimp_mytype_get_text; \n"
+" iface->get_character_at_offset = myatkimp_mytype_get_character_at_offset; \n"
+" ... \n"
+"}\n"
+
+#: C/accessibility-devel-guide.xml:590(para)
+msgid ""
+"Then the functions <function>myatkimp_mytype_get_text()</function>, "
+"<function>myatkimp_mytype_get_character_at_offset()</function>, and the rest "
+"of the <type>ATK_TEXT</type> interface functions would need to be implemented."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:596(title)
+msgid "<type>AtkObject</type> Implementation"
+msgstr "<type>AtkObject</type>-Implementation"
+
+#: C/accessibility-devel-guide.xml:597(para)
+msgid ""
+"<type>AtkObject</type>s are <type>GObjects</type>, and all <type>GObject</"
+"type>s need to specify the <function>get_type()</function> function. Here is "
+"an example that sets up a class and instance initializer. This "
+"<function>get_type()</function> function also specifies that the object "
+"implements <type>ATK_TEXT</type> and specifies the parent object to be "
+"<type>MYATKIMP_MYPARENTTYPE</type>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:601(title)
+msgid "Sample <function>get_type()</function> implementation"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:602(programlisting)
+#, no-wrap
+msgid ""
"\n"
-"Called from:\n"
-" 7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"GType \n"
+"myatkimp_mytype_get_type (void) \n"
+"{ \n"
+" static GType type = 0; \n"
"\n"
-" 7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+" if (!type) \n"
+" { \n"
+" static const GTypeInfo tinfo = \n"
+" { \n"
+" sizeof (GailLabelClass), \n"
+" (GBaseInitFunc) NULL, /* base init */ \n"
+" (GBaseFinalizeFunc) NULL, /* base finalize */\n"
+" (GClassInitFunc) myatkimp_mytype_class_init, /* class init */ \n"
+" (GClassFinalizeFunc) NULL, /* class finalize */ \n"
+" NULL, /* class data */ \n"
+" sizeof (GailLabel), /* instance size */ \n"
+" 0, /* nb preallocs */ \n"
+" (GInstanceInitFunc) myatkimp_mytype_instance_init, /* instance init */ \n"
+" NULL /* value table */ \n"
+" }; \n"
"\n"
-" 6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+" /* Set up atk_text_info structure used below */ \n"
+" static const GInterfaceInfo atk_text_info = \n"
+" { \n"
+" (GInterfaceInitFunc) atk_text_interface_init, \n"
+" (GInterfaceFinalizeFunc) NULL, \n"
+" NULL \n"
+" }; \n"
"\n"
-" 5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
-" "
+" /* Set up typename and specify parent type */ \n"
+" type = g_type_register_static (MYATKIMP_MYPARENTTYPE, \n"
+" \"MyatkimpMytype\", &tinfo, 0); \n"
+"\n"
+" /* This class implements interface ATK_TYPE_TEXT */ \n"
+" g_type_add_interface_static (type, ATK_TYPE_TEXT, \n"
+" &atk_text_info); \n"
+" } \n"
+" return type; \n"
+"} \n"
msgstr ""
"\n"
-"Command: ./same-gnome \n"
+"GType \n"
+"myatkimp_mytype_get_type (void) \n"
+"{ \n"
+" static GType type = 0; \n"
"\n"
-"== 0 ===========================\n"
-"Heap allocation functions accounted for 87.6% of measured spacetime\n"
+" if (!type) \n"
+" { \n"
+" static const GTypeInfo tinfo = \n"
+" { \n"
+" sizeof (GailLabelClass), \n"
+" (GBaseInitFunc) NULL, /* base init */ \n"
+" (GBaseFinalizeFunc) NULL, /* base finalize */\n"
+" (GClassInitFunc) myatkimp_mytype_class_init, /* class init */ \n"
+" (GClassFinalizeFunc) NULL, /* class finalize */ \n"
+" NULL, /* class data */ \n"
+" sizeof (GailLabel), /* instance size */ \n"
+" 0, /* nb preallocs */ \n"
+" (GInstanceInitFunc) myatkimp_mytype_instance_init, /* instance init */ \n"
+" NULL /* value table */ \n"
+" }; \n"
"\n"
-"Called from:\n"
-" 7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+" /* Set up atk_text_info structure used below */ \n"
+" static const GInterfaceInfo atk_text_info = \n"
+" { \n"
+" (GInterfaceInitFunc) atk_text_interface_init, \n"
+" (GInterfaceFinalizeFunc) NULL, \n"
+" NULL \n"
+" }; \n"
"\n"
-" 7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+" /* Set up typename and specify parent type */ \n"
+" type = g_type_register_static (MYATKIMP_MYPARENTTYPE, \n"
+" \"MyatkimpMytype\", &tinfo, 0); \n"
"\n"
-" 6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+" /* This class implements interface ATK_TYPE_TEXT */ \n"
+" g_type_add_interface_static (type, ATK_TYPE_TEXT, \n"
+" &atk_text_info); \n"
+" } \n"
+" return type; \n"
+"} \n"
+
+#: C/accessibility-devel-guide.xml:647(title)
+msgid "Class/Instance Initializers"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:648(para)
+msgid ""
+"You will have to set up a class initializer for the <type>GObject</type> if "
+"your <type>AtkObject</type> implementation either:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:653(para)
+msgid ""
+"Redefines any function calls defined by the object's parent. This is "
+"typically necessary when an object needs to implement a function like "
+"<function>atk_object_get_n_accessible_children()</function>. This is "
+"necessary if the object has children, but they are not represented with "
+"widgets."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:656(para)
+msgid ""
+"For example, if your ATK implementation needs to over-ride the "
+"<type>AtkObject</type> function <function>get_name()</function>, then the "
+"class initializer would look like:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:660(title)
+msgid ""
+"Class initializer that overrides parent's <function>get_name()</function> "
+"function"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:661(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"myatkimp_mytype_class_init (GailLabelClass *klass) \n"
+"{ \n"
+" AtkObjectClass *class = ATK_OBJECT_CLASS (klass); \n"
+" class->get_name = myatkimp_mytype_get_name; \n"
+"} \n"
+msgstr ""
"\n"
-" 5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
-" "
+"myatkimp_mytype_class_init (GailLabelClass *klass) \n"
+"{ \n"
+" AtkObjectClass *class = ATK_OBJECT_CLASS (klass); \n"
+" class->get_name = myatkimp_mytype_get_name; \n"
+"} \n"
-#: C/optimization-massif.xml:139(para)
+#: C/accessibility-devel-guide.xml:670(para)
msgid ""
-"If we look closer though we see that it is called from many, many, places."
+"Requires a <function>parent->init</function>, <function>parent->"
+"notify_gtk</function>, or <function>parent->finalize</function> function. "
+"This example defines all three:"
msgstr ""
-#: C/optimization-massif.xml:142(programlisting)
+#: C/accessibility-devel-guide.xml:673(title)
+msgid ""
+"Class initializer that defines its own <function>init()</function>, "
+"<function>notify_gtk()</function> and <function>finalize()</function> "
+"functions"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:674(programlisting)
#, no-wrap
msgid ""
"\n"
-"== 1 ===========================\n"
-"Context accounted for 7.7% of measured spacetime\n"
-" 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"static ParentObjectType *parent_class = NULL; \n"
"\n"
-"Called from:\n"
-" 1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"myatkimp_mytype_class_init (GailLabelClass *klass) \n"
+"{ \n"
+" ParentObjectType *parent_class = (ParentObjectType*)klass; \n"
"\n"
-" 1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.400.6)\n"
+" /* \n"
+" * Caching the parent_class is necessary if the init, \n"
+" * notify_gtk, or finalize functions are set up. \n"
+" */ \n"
+" parent_class = g_type_class_ref (MYATKIMP_TYPE_PARENT); \n"
+"\n"
+" parent_class->init = myatkimp_mytype_widget_init; \n"
+" parent_class->notify_gtk = myatkimp_mytype_real_notify_gtk; \n"
+" parent_class->finalize = myatkimp_mytype_finalize; \n"
+"}\n"
+msgstr ""
"\n"
-" 0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"static ParentObjectType *parent_class = NULL; \n"
"\n"
-" 0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"myatkimp_mytype_class_init (GailLabelClass *klass) \n"
+"{ \n"
+" ParentObjectType *parent_class = (ParentObjectType*)klass; \n"
"\n"
-" and 155 other insignificant places\n"
-" "
+" /* \n"
+" * Caching the parent_class is necessary if the init, \n"
+" * notify_gtk, or finalize functions are set up. \n"
+" */ \n"
+" parent_class = g_type_class_ref (MYATKIMP_TYPE_PARENT); \n"
+"\n"
+" parent_class->init = myatkimp_mytype_widget_init; \n"
+" parent_class->notify_gtk = myatkimp_mytype_real_notify_gtk; \n"
+" parent_class->finalize = myatkimp_mytype_finalize; \n"
+"}\n"
+
+#: C/accessibility-devel-guide.xml:695(para)
+msgid "parent->init"
+msgstr "parent->init"
+
+#: C/accessibility-devel-guide.xml:698(para)
+msgid ""
+"A <function>parent->init()</function> function may be necessary if the ATK "
+"implementation needs to do either of the following:"
msgstr ""
+
+#: C/accessibility-devel-guide.xml:703(para)
+msgid "Cache any data obtained from a backing GTK widget."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:708(para)
+msgid "Listen to any signals from the backing GTK widget."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:713(para)
+msgid "Here is an example of both:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:717(title)
+msgid "A custom <function>init()</function> function"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:718(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void \n"
+"gail_tree_view_widget_init (MyatkimpMytype *mytype, \n"
+" GtkWidget *gtk_widget) \n"
+"{ \n"
+" /* Make sure to call the parent's init function */ \n"
+" parent_class->init (widget, gtk_widget); \n"
+" \n"
+" /* Cache a value in the ATK implementation */ \n"
+" mytype->cached_value = gtk_widget_function_call(); \n"
"\n"
-"== 1 ===========================\n"
-"Context accounted for 7.7% of measured spacetime\n"
-" 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+" /* Listen to a signal */ \n"
+" gtk_signal_connect (GTK_OBJECT (gtk_widget), \n"
+" \"signal-type\", \n"
+" GTK_SIGNAL_FUNC (_myatkimp_mytype_signal_type), \n"
+" NULL); \n"
+"} \n"
+msgstr ""
"\n"
-"Called from:\n"
-" 1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"void \n"
+"gail_tree_view_widget_init (MyatkimpMytype *mytype, \n"
+" GtkWidget *gtk_widget) \n"
+"{ \n"
+" /* Make sure to call the parent's init function */ \n"
+" parent_class->init (widget, gtk_widget); \n"
+" \n"
+" /* Cache a value in the ATK implementation */ \n"
+" mytype->cached_value = gtk_widget_function_call(); \n"
+"\n"
+" /* Listen to a signal */ \n"
+" gtk_signal_connect (GTK_OBJECT (gtk_widget), \n"
+" \"signal-type\", \n"
+" GTK_SIGNAL_FUNC (_myatkimp_mytype_signal_type), \n"
+" NULL); \n"
+"} \n"
+
+#: C/accessibility-devel-guide.xml:737(para)
+msgid ""
+"In this example, if the specified <type>signal-type</type> signal were "
+"generated on the backing <varname>gtk_widget</varname>, then the "
+"<function>_myatkimp_mytype_signal_type()</function> function would be called."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:742(para)
+msgid "parent->notify_gtk"
+msgstr "parent->notify_gtk"
+
+#: C/accessibility-devel-guide.xml:745(para)
+msgid ""
+"If the ATK implementation needs to listen to any property notifications on "
+"the backing GTK object, a <function>parent->notify_gtk()</function> "
+"function may be necessary. For example:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:749(title)
+msgid "A custom <function>notify_gtk()</function> function"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:750(programlisting)
+#, no-wrap
+msgid ""
"\n"
-" 1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.400.6)\n"
+"void \n"
+"myatkimp_mytype_real_notify_gtk (GObject *obj, \n"
+" GParamSpec *pspec) \n"
+"{ \n"
+" GtkWidget *widget = GTK_WIDGET (obj); \n"
+" AtkObject* atk_obj = gtk_widget_get_accessible (widget); \n"
"\n"
-" 0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+" if (strcmp (pspec->name, \"property-of-interest\") == 0) \n"
+" { \n"
+" /* Handle the property change. */ \n"
+" } \n"
+" else \n"
+" { \n"
+" parent_class->notify_gtk (obj, pspec); \n"
+" } \n"
+"} \n"
+msgstr ""
"\n"
-" 0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"void \n"
+"myatkimp_mytype_real_notify_gtk (GObject *obj, \n"
+" GParamSpec *pspec) \n"
+"{ \n"
+" GtkWidget *widget = GTK_WIDGET (obj); \n"
+" AtkObject* atk_obj = gtk_widget_get_accessible (widget); \n"
"\n"
-" and 155 other insignificant places\n"
-" "
+" if (strcmp (pspec->name, \"property-of-interest\") == 0) \n"
+" { \n"
+" /* Handle the property change. */ \n"
+" } \n"
+" else \n"
+" { \n"
+" parent_class->notify_gtk (obj, pspec); \n"
+" } \n"
+"} \n"
-#: C/optimization-massif.xml:158(para)
+#: C/accessibility-devel-guide.xml:771(para)
+msgid "parent->finalize"
+msgstr "parent->finalize"
+
+#: C/accessibility-devel-guide.xml:774(para)
msgid ""
-"We now face diminishing returns for our optimization efforts. The graph hints "
-"at another possible approach: Both the \"other\" and \"heap admin\" bands are "
-"quite large. This tells us that there are a lot of small allocations are "
-"being made from a variety of places. Eliminating these will be difficult, but "
-"if they can be grouped then the individual allocations can be larger and the "
-"\"heap admin\" overhead can be reduced."
+"If it is necessary to free any data when a <type>GObject</type> instance is "
+"destroyed, then a <function>finalize()</function> function is needed to free "
+"the memory. For example:"
msgstr ""
-#: C/optimization-massif.xml:163(title)
-msgid "Caveats"
+#: C/accessibility-devel-guide.xml:778(title)
+msgid "A custom <function>finalize()</function> function"
msgstr ""
-#: C/optimization-massif.xml:164(para)
+#: C/accessibility-devel-guide.xml:779(programlisting)
+#, no-wrap
msgid ""
-"There are a couple of things to watch out for: Firstly, spacetime is only "
-"reported as a percentage, you have to compare it to the overall size of the "
-"program to decide if the amount of memory is worth pursuing. The graph, with "
-"its kilobyte vertical axis, is good for this."
+"\n"
+"void \n"
+"myatkimp_mytype_finalize (GObject *object) \n"
+"{ \n"
+" MyAtkimpMyType *my_type = MYATKIMP_MYTYPE (object); \n"
+"\n"
+" g_object_unref (my_type->cached_value); \n"
+" G_OBJECT_CLASS (parent_class)->finalize (object); \n"
+"} \n"
msgstr ""
+"\n"
+"void \n"
+"myatkimp_mytype_finalize (GObject *object) \n"
+"{ \n"
+" MyAtkimpMyType *my_type = MYATKIMP_MYTYPE (object); \n"
+"\n"
+" g_object_unref (my_type->cached_value); \n"
+" G_OBJECT_CLASS (parent_class)->finalize (object); \n"
+"} \n"
-#: C/optimization-massif.xml:167(para)
+#: C/accessibility-devel-guide.xml:799(title)
+msgid "Making Custom Components Accessible"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:800(para)
msgid ""
-"Secondly, <application>Massif</application> only takes into account the "
-"memory used by your own program. Resources like pixmaps are stored in the X "
-"server and aren't considered by <application>Massif</application>. In the "
-"<application>Same GNOME</application> example we have actually only moved the "
-"memory consumption from client-side pixbufs to server-side pixmaps. Even "
-"though we cheated there are performance gains. Keeping the image data in the "
-"X server makes the graphics routines quicker and removes a lot of inter-"
-"process communication. Also, the pixmaps will be stored in a native graphics "
-"format which is often more compact than the 32-bit RGBA format used by "
-"gdk_pixbuf. To measure the effect of pixmaps, and other X resources use the "
-"<ulink type=\"http\" url=\"http://www.freedesktop.org/Software/xrestop"
-"\">xrestop</ulink> program."
+"Adding ATK support to your custom widget will assure its cooperation with the "
+"accessibility infrastructure. These are the general steps that are required:"
msgstr ""
-#: C/optimization-harmful.xml:3(title)
-msgid "Disk Seeks Considered Harmful"
+#: C/accessibility-devel-guide.xml:805(para)
+msgid ""
+"assess a custom widget according to the applicable <link linkend=\"gad-ui-"
+"guidelines\">User Interface Guidelines</link>;"
msgstr ""
-#: C/optimization-harmful.xml:5(para)
+#: C/accessibility-devel-guide.xml:810(para)
msgid ""
-"Disk seeks are one of the most expensive operations you can possibly perform. "
-"You might not know this from looking at how many of them we perform, but "
-"trust me, they are. Consequently, please refrain from the following "
-"suboptimal behavior:"
+"determine which <ulink url=\"http://library.gnome.org/devel/atk/stable/atk."
+"html\">ATK interfaces</ulink> a custom widget should implement, according to "
+"the widget's feature set and function;"
msgstr ""
-#: C/optimization-harmful.xml:10(para)
-msgid "Placing lots of small files all over the disk."
+#: C/accessibility-devel-guide.xml:815(para)
+msgid ""
+"assess which <ulink url=\"http://library.gnome.org/devel/atk/stable/atk.html"
+"\">ATK interfaces</ulink> can be inherited from the parent widget class;"
msgstr ""
-#: C/optimization-harmful.xml:15(para)
-msgid "Opening, stating, and reading lots of files all over the disk"
+#: C/accessibility-devel-guide.xml:820(para)
+msgid ""
+"implement the appropriate ATK interfaces for the widget class in one of two "
+"ways:"
msgstr ""
-#: C/optimization-harmful.xml:20(para)
+#: C/accessibility-devel-guide.xml:825(para)
+msgid "directly by the custom widget, or"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:830(para)
msgid ""
-"Doing the above on files that are laid out at different times, so as to "
-"ensure that they are fragmented and cause even more seeking."
+"in an <ulink url=\"http://library.gnome.org/devel/atk/stable/AtkObject.html"
+"\"><type>AtkObject</type></ulink> subtype created by a new <ulink url="
+"\"http://library.gnome.org/devel/atk/stable/AtkObjectFactory.html"
+"\"><type>AtkObjectFactory</type></ulink> subclass"
msgstr ""
-#: C/optimization-harmful.xml:25(para)
+#: C/accessibility-devel-guide.xml:835(para)
msgid ""
-"Doing the above on files that are in different directories, so as to ensure "
-"that they are in different cylinder groups and and cause even more seeking."
+"If the second method is used, the appropriate factory type must be registered "
+"with the <type>AtkObjectFactoryRegistry</type> at runtime."
msgstr ""
-#: C/optimization-harmful.xml:30(para)
-msgid "Repeatedly doing the above when it only needs to be done once."
+#: C/accessibility-devel-guide.xml:840(para)
+msgid ""
+"The <ulink url=\"ftp://ftp.gnome.org/pub/GNOME/sources/gail/\">GAIL source "
+"code</ulink> serves as an excellent tutorial for advanced ATK usage."
msgstr ""
-#: C/optimization-harmful.xml:35(para)
-msgid "Ways in which you can optimize your code to be seek-friendly:"
+#: C/accessibility-devel-guide.xml:846(title)
+msgid "User Interface Guidelines for Supporting Accessibility"
msgstr ""
+"Richtlinien für Benutzeroberflächen zur Unterstützung der Barrierefreiheit"
-#: C/optimization-harmful.xml:40(para)
-msgid "Consolidate data into a single file."
+#: C/accessibility-devel-guide.xml:847(para)
+msgid ""
+"When designing your application's GUI, there are a number of simple "
+"guidelines you should follow to ensure that it can be used by as wide an "
+"audience as possible, whether in conjunction with assistive technologies or "
+"not. Don't be fooled into thinking that this is just a case of \"making your "
+"GUI usable by people with disabilities\", though, and that you shouldn't "
+"bother if you know a disabled person is never going to use your application. "
+"Following these guidelines will improve the overall usability of your "
+"application for everyone who uses it - including you!"
msgstr ""
-#: C/optimization-harmful.xml:45(para)
-msgid "Keep data together in the same directory."
+#: C/accessibility-devel-guide.xml:852(title)
+msgid "General"
+msgstr "Allgemein"
+
+#: C/accessibility-devel-guide.xml:853(para)
+msgid ""
+"We all get frustrated if we can't find a feature in an application, or make a "
+"mistake from which it takes a couple of minutes to recover, if it's possible "
+"to recover at all. If you have some sort of disability, the chances are the "
+"effort and time penalties involved will be several times worse. Following a "
+"few basic guidelines can help prevent these sorts of situations for all users."
msgstr ""
-#: C/optimization-harmful.xml:50(para)
-msgid "Cache data so as to not need to reread constantly."
+#: C/accessibility-devel-guide.xml:858(para)
+msgid ""
+"Provide Undo for every action that changes the user's data or the "
+"application's settings. If possible, provide more than one level of undo and "
+"redo, and a history list to allow preview of what actions will be undone."
msgstr ""
-#: C/optimization-harmful.xml:55(para)
+#: C/accessibility-devel-guide.xml:863(para)
msgid ""
-"Share data so as not to have to reread it from disk when each application "
-"loads."
+"Provide commands to restore default settings. If a particular setting could "
+"make the application completely unusable for an individual, e.g. by making "
+"the fonts very small, it would be useful to provide an option to restore the "
+"default settings outside the application itself. This could be done using a "
+"command line switch, for example."
msgstr ""
-#: C/optimization-harmful.xml:60(para)
+#: C/accessibility-devel-guide.xml:868(para)
msgid ""
-"Consider caching all of the data in a single binary file that is properly "
-"aligned and can be mmaped."
+"Help prevent users from doing the wrong thing. This is particularly important "
+"for actions that could be done by accident (e.g. mouse actions) or that "
+"cannot easily be undone (e.g. overwriting a file). Consider using "
+"confirmation dialogs or forcing the user to go into a particular mode to "
+"perform potentially destructive actions."
msgstr ""
-#: C/optimization-harmful.xml:65(para)
+#: C/accessibility-devel-guide.xml:873(para)
msgid ""
-"The trouble with disk seeks are compounded for reads, which is unfortunately "
-"what we are doing. Remember, reads are generally synchronous while writes are "
-"asynchronous. This only compounds the problem, serializing each read, and "
-"contributing to program latency."
+"Minimize users' memory load. For example, let the user view multiple "
+"documents at the same time, and ensure online help or other instructions can "
+"remain visible while they carry out the procedure being described. Allow them "
+"to copy any information that is displayed, and paste it anywhere that data "
+"can be entered."
msgstr ""
-#: C/optimization-guide.xml:5(title)
-msgid "Optimizing GNOME Software"
-msgstr "Optimieren von GNOME-Software"
+#: C/accessibility-devel-guide.xml:878(para)
+msgid ""
+"Don't make users insert disks. Depending on a user's particular disability, "
+"they may find it difficult to physically insert or change a disk, or they may "
+"find it hard to identify the correct disk in the first place. If your "
+"application is installed from CD-ROM, provide an option to copy all the files "
+"that will be required onto the user's hard drive."
+msgstr ""
-#: C/optimization-guide.xml:8(publishername) C/optimization-guide.xml:56(para)
-msgid "GNOME Documentation Project"
-msgstr "GNOME-Dokumentationsprojekt"
+#: C/accessibility-devel-guide.xml:883(para)
+msgid ""
+"Don't place frequently used functions deep in a menu structure. Whether "
+"you're using a mouse, keyboard or some other input device, deeply-nested menu "
+"items are best avoided. As well as the burden of remembering where to find "
+"them, they are always more difficult and time-consuming to access."
+msgstr ""
-#: C/optimization-guide.xml:11(year) C/optimization-guide.xml:15(year)
-msgid "2004-2005"
-msgstr "2004-2005"
+#: C/accessibility-devel-guide.xml:888(para)
+msgid ""
+"Don't lead users through unnecessary steps. For example, wizards are useful "
+"for users who have trouble handling large numbers of options at one time, but "
+"other users may need to minimize the amount of time or keystrokes they use. "
+"Such users benefit from being able to skip unnecessary steps or go directly "
+"to the one they need. Consider providing a <guibutton>Finish</guibutton> "
+"button in wizards that skips right to the end and assumes default responses "
+"for the intermediate steps. If the process has many steps, consider asking "
+"the user at the start if they want to run through all the steps, or just the "
+"most commonly-used ones."
+msgstr ""
-#: C/optimization-guide.xml:12(holder)
-msgid "Callum McKenzie"
-msgstr "Callum McKenzie"
+#: C/accessibility-devel-guide.xml:896(title)
+#: C/accessibility-devel-guide.xml:11(title)
+#: C/accessibility-devel-guide.xml:293(entry)
+msgid "Keyboard Navigation"
+msgstr "Tastatursteuerung"
-#: C/optimization-guide.xml:16(holder)
-msgid "Robert Love"
-msgstr "Robert Love"
+#: C/accessibility-devel-guide.xml:897(para)
+msgid ""
+"A well-designed keyboard user interface plays a key role when you are "
+"designing accessible software. Blind users can navigate software more "
+"effectively using the keyboard, because using the mouse depends on visual "
+"feedback of the mouse pointer location. Also, mobility impairments can "
+"prevent a user from successfully navigating using the mouse, because of the "
+"fine motor control skills required."
+msgstr ""
-#: C/optimization-guide.xml:20(firstname)
-msgid "Callum"
-msgstr "Callum"
+#: C/accessibility-devel-guide.xml:900(para)
+msgid ""
+"It is therefore important to make all mouse actions available from the "
+"keyboard, and include keyboard access to all toolbars, menus, links and "
+"buttons. Every function your application provides should be available using "
+"the keyboard alone. Hide your mouse while you're testing your application if "
+"you have to!"
+msgstr ""
-#: C/optimization-guide.xml:21(surname)
-msgid "McKenzie"
-msgstr "McKenzie"
+#: C/accessibility-devel-guide.xml:903(para)
+msgid ""
+"Most functionality should be easy to make accessible by using keyboard "
+"mnemonics and accelerators, and the toolkit's built-in navigation features. "
+"However, operations that rely on drag-and-drop, for example, may require more "
+"thought."
+msgstr ""
-#: C/optimization-guide.xml:24(firstname)
-msgid "Robert"
-msgstr "Robert"
+#: C/accessibility-devel-guide.xml:908(para)
+msgid ""
+"Provide efficient keyboard access to all application features. Some users may "
+"be unable to use a mouse, and many \"power-users\" prefer to use the keyboard "
+"anyway. Also, some specialized assistive technology input devices may "
+"simulate keyboard events rather than mouse events. Since typing is difficult "
+"or even painful for some users, it is important to provide a keyboard "
+"interface that minimizes the number of keystrokes required for any given task."
+msgstr ""
-#: C/optimization-guide.xml:25(surname)
-msgid "Love"
-msgstr "Love"
+#: C/accessibility-devel-guide.xml:913(para)
+msgid ""
+"Use a logical keyboard navigation order. When navigating around a window with "
+"the <keycap>Tab</keycap> key, keyboard focus should move between controls in "
+"a predictable order. In Western locales, this is normally left to right and "
+"top to bottom."
+msgstr ""
-#: C/optimization-guide.xml:29(para)
+#: C/accessibility-devel-guide.xml:918(para)
msgid ""
-"Permission is granted to copy, distribute and/or modify this document under "
-"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
-"Version 1.1 or any later version published by the Free Software Foundation "
-"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. "
-"You may obtain a copy of the <citetitle>GNU Free Documentation License</"
-"citetitle> from the Free Software Foundation by visiting <ulink type=\"http\" "
-"url=\"http://www.fsf.org\">their Web site</ulink> or by writing to: Free "
-"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-"
-"1307, USA."
+"Ensure correct tab order for controls whose enabled state is dependent on "
+"checkbox, radio button or toggle button state. When such a button is "
+"selected, all its dependent controls should be enabled, and all the dependent "
+"controls of any other button in the group should be disabled. When the user "
+"selects a checkbox, radio button or toggle button that has dependent "
+"controls, do not automatically give focus to the first dependent control, but "
+"instead leave the focus on the button."
msgstr ""
-"Das vorliegende Dokument kann gemä� den Bedingungen der GNU Free "
-"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free "
-"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte "
-"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt "
-"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem "
-"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> oder in der mit diesem "
-"Handbuch gelieferten Datei COPYING-DOCS."
-#: C/optimization-guide.xml:41(para)
+#: C/accessibility-devel-guide.xml:923(para)
msgid ""
-"Many of the names used by companies to distinguish their products and "
-"services are claimed as trademarks. Where those names appear in any GNOME "
-"documentation, and those trademarks are made aware to the members of the "
-"GNOME Documentation Project, the names have been printed in caps or initial "
-"caps."
+"Don't override existing system-level accessibility features. For example, "
+"<ulink url=\"http://www.rehab.uiuc.edu/accessx/overview.html\">AccessX</"
+"ulink> is an Xserver extension that has been supported since X11R6. The "
+"MouseKeys feature of this extension allows mouse movement and button clicks "
+"to be simulated using the keypad. Therefore you should not add features to "
+"your application that can only be accessed by pressing keys on the keypad, as "
+"users relying on the MouseKeys feature will not be able to use them."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:928(para)
+msgid ""
+"Provide more than one method to perform keyboard tasks where possible. Some "
+"users may find some keys and key combinations easier to use than others."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:933(para)
+msgid ""
+"Provide both keyboard and mouse access to functions where possible. Some "
+"users may only be able to use either the mouse or the keyboard, but not both."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:938(para)
+msgid ""
+"Don't assign awkward reaches to frequently performed keyboard operations. "
+"Some people may only be able to use one hand on the keyboard, so shortcuts "
+"that can be easily used with one hand are preferable for common operations. "
+"In any case, having to frequently perform long or difficult reaches on the "
+"keyboard can increase muscle strain for all users, increasing the risk of "
+"pain or injury."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:943(para)
+msgid ""
+"Don't require repetitive use of simultaneous keypresses. Some users are only "
+"able to press and hold one key at a time. Assistive technologies such as "
+"AccessX may allow users to press the keys sequentially rather than "
+"simultaneously, but this of course means the operation will take longer for "
+"them."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:948(para)
+msgid ""
+"Ensure that any text that can be selected with the mouse can also be selected "
+"with the keyboard. This is a convenience for all users, but especially for "
+"those for whom fine control of the mouse is difficult."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:953(para)
+msgid ""
+"Ensure that objects that can be resized or moved by drag and drop can also be "
+"resized or moved with the keyboard. For example, icons and windows on the "
+"desktop. Where precision sizing and placement is potentially important, e.g. "
+"shapes in a diagram, also consider providing a dialog into which you can type "
+"co-ordinates, or a means of snapping objects to a user-definable grid."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:958(para)
+msgid ""
+"Don't use general navigation functions to trigger operations. For example, do "
+"not use basic <keycap>Tab</keycap> keyboard navigation in a dialog to "
+"activate any actions associated with a control."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:963(para)
+msgid ""
+"Show keyboard-invoked menus, windows and tooltips near the object they relate "
+"to. In GNOME 2.0, users can call up popup menus with <keycombo><keycap>Shift</"
+"keycap><keycap>F10</keycap></keycombo>, and tooltips with "
+"<keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo>. Do not "
+"completely hide or obscure the object to which the menu or tooltip refers, "
+"however."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:971(title)
+#: C/accessibility-devel-guide.xml:372(entry)
+#| msgid "Introduction"
+msgid "Mouse Interaction"
+msgstr "Maus-Interaktion"
+
+#: C/accessibility-devel-guide.xml:972(para)
+msgid ""
+"Remember that not everybody can use a mouse with equal dexterity, and that "
+"some users may have difficulty seeing or following the mouse pointer."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:977(para)
+msgid ""
+"Don't depend on input from mouse button 2 or button 3. As well as being "
+"physically more difficult to click, some pointing devices and many assistive "
+"technology devices only support button 1. Some assistive technologies may not "
+"emulate the mouse at all, but generate keyboard events instead."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:982(para)
+msgid ""
+"Allow all mouse operations to be cancelled. Pressing the <keycap>Esc</keycap> "
+"key should cancel any mouse operation in progress, such as dragging and "
+"dropping a file in a file manager, or drawing a shape in a drawing program."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:987(para)
+msgid ""
+"Provide visual feedback throughout a drag and drop operation. As the mouse "
+"passes over valid targets, highlight them and change the mouse pointer. Use "
+"the \"no drop\" mouse pointer when passing over invalid drop targets. See "
+"<link linkend=\"gad-mouse-examples\">Mouse Interaction Examples</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:992(para)
+msgid ""
+"Don't warp the mouse pointer, or restrict mouse movement to part of the "
+"screen. This can interfere with assistive technologies, and is usually "
+"confusing even for users who don't rely on ATs."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:997(para)
+msgid ""
+"Don't make mouse targets too small. In general, mouse targets should be at "
+"least the size of the \"hot area\" around the resizable window border in the "
+"current window manager/theme - bearing in mind that a user with impaired "
+"dexterity or vision may be using a window manager with larger areas than the "
+"default."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1004(title)
+msgid "Mouse Interaction Examples"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1006(title)
+msgid "Example of \"no-drop\" pointer from CDE/Motif"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1012(phrase)
+msgid "Example of an \"invalid drop target\" pointer shape"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1020(title)
+#: C/accessibility-devel-guide.xml:55(title)
+#: C/accessibility-devel-guide.xml:404(entry)
+msgid "Graphical Elements"
+msgstr "Grafische Elemente"
+
+#: C/accessibility-devel-guide.xml:1021(para)
+msgid ""
+"Provide options to customize the presentation of all the important graphical "
+"elements in your application. This will make it easier for people with visual "
+"or cognitive impairments to use."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1026(para)
+msgid ""
+"Don't hard-code graphic attributes such as line, border or shadow thickness. "
+"These elements should ideally be read from the GTK or window manager theme. "
+"If this is not possible, provide options within your application to change "
+"them."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1031(para)
+msgid ""
+"Provide descriptive names for all interface components. The GAIL library "
+"provides default accessible descriptions for many GTK widgets, but you will "
+"still need to add your own in some cases, such as for widgets that use "
+"graphics instead of text (e.g. a well in a color palette, or an icon without "
+"a label). Consider overriding the defaults with more helpful or application-"
+"specific descriptions where possible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1036(para)
+msgid ""
+"Allow multi-color graphical elements (e.g. toolbar icons) to be shown in "
+"monochrome only, if possible. These monochrome images should be shown in the "
+"system foreground and background colors, which the user will have chosen for "
+"themselves (by their choice of GTK theme) for maximum legibility."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1041(para)
+msgid ""
+"Make interactive GUI elements easily identifiable. For example, do not make "
+"the user hover the mouse over an object to determine whether it is clickable "
+"or not. Leave sufficient space between objects and clearly delineate object "
+"boundaries. Don't show GUI elements that look pretty but don't actually do "
+"anything, unless you also provide an option to switch them off."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1046(para)
+msgid ""
+"Provide an option to hide graphics that don't convey essential information. "
+"Graphical images can be distracting to users with some cognitive disorders. "
+"The icons on the GNOME foot menu, for example, can be switched off whilst "
+"still leaving the menus fully functional."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1054(title)
+#: C/accessibility-devel-guide.xml:100(title)
+#: C/accessibility-devel-guide.xml:438(entry)
+msgid "Fonts and Text"
+msgstr "Schriften und Text"
+
+#: C/accessibility-devel-guide.xml:1055(para)
+msgid ""
+"Even to a user with normal vision, textual output provides the majority of "
+"the information and feedback in most applications. It is therefore critical "
+"to choose and position text carefully on the screen, and leave the choice of "
+"font and size to the user, to ensure that people with vision impaiments can "
+"also use your application effectively."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1060(para)
+msgid ""
+"Don't hard-code font styles and sizes. The user should be able to adjust all "
+"sizes and typefaces. If for some reason you cannot make this functionality "
+"available, never hardcode any font sizes smaller than 10 points."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1065(para)
+msgid ""
+"Provide options to turn off any graphical backdrops or \"watermarks\" behind "
+"text. Such images interfere with the contrast between the text and its "
+"background, which can cause difficulty for users with visual impairments."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1070(para)
+msgid ""
+"Label objects with names that make sense when taken out of context. Users "
+"relying on screen readers or similar assistive technologies will not "
+"necessarily be able to immediately understand the relationship between a "
+"control and those surrounding it."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1075(para)
+msgid ""
+"Don't use the same label more than once in the same window. If you use the "
+"same label in different windows, it will help if it means the same thing in "
+"both windows. Also, don't use labels that are spelled differently but sound "
+"the same, e.g. \"Read\" and \"Red\", as this could be confusing for users "
+"relying on screen-readers."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1080(para)
+msgid ""
+"Position labels consistently throughout your application. This normally means "
+"immediately below large icons, immediately to the right of small icons, and "
+"immediately above or to the left of other controls. See <link linkend=\"gad-"
+"font-examples\">Fonts and Text Examples</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1085(para)
+msgid ""
+"When you use static text to label a control, end the label with a colon. For "
+"example, <guilabel>Username:</guilabel> to label a text field into which the "
+"user should type their username. This helps identify it as a control's label "
+"rather than an independent item of text."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1090(para)
+msgid ""
+"When you use static text to label a control, ensure that the label "
+"immediately precedes that control in the Tab order. This will ensure that the "
+"mnemonic (underlined character) you assign to the label will move focus to or "
+"activate the correct control when pressed."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1095(para)
+msgid ""
+"Provide alternatives to WYSIWYG. Some users may need to print text in a small "
+"font but edit in a larger screen font, for example. Possible alternatives "
+"include displaying all text in the same font and size (both of which are "
+"chosen by the user); a \"wrap-to-window\" option that allows you to read all "
+"the text in a window without scrolling horizontally; a single column view "
+"that shows the window's contents in a single column even if they will be "
+"printed in multiple columns; and a text-only view, where graphics are shown "
+"as placeholders or text descriptions. If the application has panels with "
+"child controls, consider allowing the panels to resize along with the parent "
+"window."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1102(title)
+msgid "Fonts and Text Examples"
+msgstr "Beispiele für Schriften und Text"
+
+#: C/accessibility-devel-guide.xml:1104(title)
+msgid "Correct label placement for various GUI elements"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1115(phrase)
+msgid "List control with label above"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1109(entry)
+msgid "<placeholder-1/> List control with label above"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1126(phrase)
+msgid "Large file manager icon with label underneath"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1120(entry)
+msgid "<placeholder-1/> Large file manager icon with label underneath"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1137(phrase)
+msgid "Small toolbar icon with label to its right"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1131(entry)
+msgid "<placeholder-1/> Small toolbar icon with label to its right"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1148(phrase)
+msgid "Spinbox control with label to its left"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1142(entry)
+msgid "<placeholder-1/> Spinbox control with label to its left"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1162(title)
+#: C/accessibility-devel-guide.xml:121(title)
+#: C/accessibility-devel-guide.xml:490(entry)
+msgid "Color and Contrast"
+msgstr "Farbe und Kontrast"
+
+#: C/accessibility-devel-guide.xml:1163(para)
+msgid ""
+"Poor choice of colors on the screen can cause problems for users with color "
+"blindness (for whom hue is important) or low-vision (for whom brightness/"
+"contrast is important). Generally, you should allow the user to customize the "
+"colors in any part of your application that conveys important information."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1166(para)
+msgid ""
+"Users with visual impairments may require a high level of contrast between "
+"the background and text colors. Often a black background and white text is "
+"used to prevent the background from \"bleeding\" over. These settings are "
+"critical for users with visual impairments."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1171(para)
+msgid ""
+"Don't hard-code application colors. Some users need to use particular "
+"combinations of colors and levels of contrast to be able to read the screen "
+"comfortably. Therefore all the main colors you use in your GNOME application "
+"should be taken from the GTK theme, so the user can set the colors for all "
+"their applications to something legible just by changing the theme. If for "
+"some reason you do need to use colors that are not available in the theme, "
+"ensure they are customizable within the application itself."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1176(para)
+msgid ""
+"Don't use color as the only means to distinguish items of information. All "
+"such information should be provided by at least one other method, such as "
+"shape, position or textual description. See <link linkend=\"gad-color-examples"
+"\">Color and Contrast Examples</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1181(para)
+msgid ""
+"Support all the high contrast GNOME themes. Ensure that when one of these "
+"themes is selected, all the text in your application appears in the high "
+"contrast foreground and background colors specified by the theme."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1186(para)
+msgid ""
+"Ensure your application is not dependent on a particular high-contrast theme. "
+"Test it with different high-contrast themes to ensure your application "
+"respects the settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1193(title)
+msgid "Color and Contrast Examples"
+msgstr "Beispiele für Farbe und Kontrast"
+
+#: C/accessibility-devel-guide.xml:1195(title)
+msgid "Example illustrating redundant use of color"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1206(phrase)
+msgid "Example showing changes in stock price using color only"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1210(entry)
+msgid ""
+"This display could cause problems for a red-green color-blind user (color-"
+"blindness affects as many as 1 in 7 males in some parts of the world). The "
+"lack of contrast between the red text and black background would also make it "
+"hard to read for a user with low vision, even with a screen magnifier."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1221(phrase)
+msgid "Example showing changes in stock price using both color and arrows"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1226(guilabel)
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#: C/accessibility-devel-guide.xml:1225(entry)
+msgid ""
+"This display reinforces the color-coding with arrows to show the stock price "
+"movement, and uses darker shades of green and red on a lighter background to "
+"provide higher contrast. This needn't be the default color scheme if testing "
+"were to show it to be too distracting for the majority of users, but it "
+"should be possible to customize it in this way either by theming or via the "
+"application's <placeholder-1/> dialog."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1237(title)
+#: C/accessibility-devel-guide.xml:525(entry)
+msgid "Magnification"
+msgstr "Vergrö�erung"
+
+#: C/accessibility-devel-guide.xml:1238(para)
+msgid ""
+"Many users, even those not visually impaired, benefit from magnification of "
+"text and graphics. However, without magnification, a visually impaired user "
+"may not be able to access and use the program at all."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1243(para)
+msgid "Provide the ability for the user to magnify the work area."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1248(para)
+msgid ""
+"Provide options in the application to scale the work area. Users need to have "
+"an option to magnify the work area 150% to 400% or more. Test the application "
+"to confirm the object you are viewing is not affected by changing the "
+"magnification settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1256(title)
+#: C/accessibility-devel-guide.xml:152(title)
+#: C/accessibility-devel-guide.xml:554(entry)
+msgid "Audio"
+msgstr "Klänge"
+
+#: C/accessibility-devel-guide.xml:1257(para)
+msgid ""
+"People who have difficulty hearing, as well as those who work with the sound "
+"on their computers turned off, will be disadvantaged if your application "
+"relies on sound to convey information. In general, make sure that the user is "
+"able to have any audible information conveyed in other ways."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1262(para)
+msgid ""
+"Don't assume that a user will hear audio information. This applies as much to "
+"users with broken soundcards as it does to those with hearing impairments!"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1267(para)
+msgid ""
+"Don't use audio as the only means of conveying information. Give the user the "
+"option to have all audio information provided in a visual way as well. This "
+"includes providing closed captioning or transcripts for any important spoken "
+"sound clips."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1272(para)
+msgid ""
+"Allow users to configure frequency and volume of all warning beeps and other "
+"sounds. This includes being able to turn off sound altogether."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1280(title)
+#: C/accessibility-devel-guide.xml:179(title)
+#: C/accessibility-devel-guide.xml:578(entry)
+msgid "Animation"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1281(para)
+msgid ""
+"Used sparingly, animation can be useful for drawing attention to important "
+"information in your application - and it can look cool, too. However, it can "
+"be problematic for some users, so make sure they can turn it off."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1286(para)
+msgid ""
+"Don't use flashing or blinking elements having a frequency greater than 2 Hz "
+"and lower than 55 Hz. This includes text as well as any graphical objects. "
+"Anything in this frequency range may cause particular problems for users "
+"susceptible to visually-induced seizures. Note that there is no \"safe\" "
+"frequency, though. If flashing is essential, you should use the system's "
+"cursor blink frequency (which should itself be customizable), or allow users "
+"to configure the frequency themselves."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1291(para)
+msgid ""
+"Don't flash or blink large areas of the screen. Small areas are less likely "
+"to trigger seizures in those susceptible to them."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1296(para)
+msgid ""
+"Make all animations optional. The animated information should be available in "
+"at least one non-animated format, at the user's request."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1304(title)
+#: C/accessibility-devel-guide.xml:189(title)
+#: C/accessibility-devel-guide.xml:607(entry)
+msgid "Keyboard Focus"
+msgstr "Tastaturfokus"
+
+#: C/accessibility-devel-guide.xml:1305(para)
+msgid ""
+"Showing the keyboard focus position clearly at all times is important, both "
+"for users with vision impairments as well as \"power-users\" who prefer to "
+"use the keyboard rather than the mouse. There should never be any confusion "
+"as to which control on the desktop has focus at any given time. You ought to "
+"be able to leave your computer with the focus on any widget in your "
+"application, then go off and phone your girlfriend or walk the dog until "
+"you've forgotten which widget you left it on. When you return, you should be "
+"able to tell straight away exactly which widget it was."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1308(para)
+msgid ""
+"A visual focus indicator is an audio representation of the cursor position "
+"relative to the other objects on the desktop. This allows the user to move "
+"among objects interactively as the focus changes. The visual focus must be "
+"programatically exposed to assistive technologies. Note that in most cases, "
+"this is handled automatically by the ATK, without requiring you to do any "
+"additional work. However, you will need to be aware of this requirement when "
+"writing your own custom widgets, for example."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1313(para)
+msgid ""
+"Start focus at the most commonly used control. If no control in a window is "
+"deemed to be the \"most\" useful, start the focus at the first control in the "
+"window when that window is opened. Focus should not be started on the "
+"<guilabel>OK</guilabel> or <guilabel>Cancel</guilabel> buttons of a dialog "
+"even if they are the most commonly used controls, as they can always be "
+"activated immediately by pressing <keycap>Enter</keycap> or <keycap>Escape</"
+"keycap>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1318(para)
+msgid ""
+"Show current input focus clearly at all times. Remember that in controls that "
+"include a scrolling element, it is not always sufficient to highlight just "
+"the selected element inside that scrolling area, as it may not be visible. "
+"See <link linkend=\"gad-focus-examples\">Keyboard Focus Examples</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1323(para)
+msgid ""
+"Show input focus only in the active window. Hide all primary visual focus "
+"indicators in all windows that do not have the focus and activation. If a "
+"single window has separate panes, only one pane should have the focus "
+"indicator, and focus indicators should be hidden in all other panes. If it's "
+"important to continue showing which item in an unfocused list is selected, "
+"for example, use a secondary focus indicator. See <link linkend=\"gad-focus-"
+"examples\">Keyboard Focus Examples</link>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1328(para)
+msgid ""
+"Provide appropriate feedback when the user attempts to navigate past the end "
+"of a group of related objects. When navigating a list, for example, stopping "
+"with audio feedback is usually preferable to moving the focus back to the "
+"first object in the list. Otherwise, users who are blind or have low vision "
+"may not realize they have returned to the beginning. In the case of a text "
+"search in a document, a dialog may pop up to indicate that the end of the "
+"document has been reached, and ask if you want to resume the search at the "
+"start of the document."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1333(para)
+msgid ""
+"Play the system default audio or visual warning signal when the user presses "
+"an inappropriate key, or when a navigation key fails to move the focus. For "
+"example, when the focus is on the first character in a text field and the "
+"user presses left arrow key, or the user tries to perform multiple selection "
+"in a single selection dialog. (Note that users with hearing difficulties "
+"should be able to configure a system-wide visual equivalent to the default "
+"warning sound.)"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1340(title)
+msgid "Keyboard Focus Examples"
+msgstr "Beispiele für den Tastaturfokus"
+
+#: C/accessibility-devel-guide.xml:1341(title)
+msgid "Example illustrating need to show focus clearly"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1352(phrase)
+msgid ""
+"The focused item in this window cannot be seen because it has been scrolled "
+"off-screen"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1356(entry)
+msgid ""
+"One of the controls in this window has focus, but it's impossible to tell "
+"which..."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1367(phrase)
+msgid ""
+"The focused item in the list has been brought into view by scrolling the list"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1371(entry)
+msgid ""
+"...until you scroll the list, which reveals that one of its items is "
+"currently selected."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1382(phrase)
+msgid ""
+"The list control in this example has a solid border indicating focus, whether "
+"its selected item is currently visible or not"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1386(entry)
+msgid ""
+"If the list control itself is given a \"focused\" border, it's easy to tell "
+"it has focus even when the currently-selected item isn't visible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1395(title)
+msgid "Example illustrating use of secondary focus"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1406(phrase)
+msgid "Split-paned window in which both panes seem to have focus"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1410(entry)
+msgid ""
+"In this example, it's impossible to tell just by looking which of the two "
+"panes actually has keyboard focus."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1421(phrase)
+#: C/accessibility-devel-guide.xml:1436(phrase)
+msgid ""
+"Split-pane window in which secondary highlighting is used to show which pane "
+"has focus"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1425(entry)
+msgid ""
+"By using a secondary selection highlight color in the inactive pane, it's "
+"immediately obvious that the tree control has focus here..."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1440(entry)
+msgid "...and that the list control has focus here."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1452(title)
+#: C/accessibility-devel-guide.xml:656(entry)
+msgid "Timing"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1453(para)
+msgid ""
+"Interfaces in which things appear, disappear or happen according to some hard-"
+"coded time limit are often a hindrance to accessibility. Some users may read, "
+"type or react very slowly in comparison to others. If information they "
+"require is hidden before they are finished with it, or obscured by other "
+"information popping up which they didn't explicitly request, then your "
+"application will become very frustrating or even impossible to use."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1458(para)
+msgid ""
+"Don't hard-code timeouts or other time-based features. Examples include "
+"automatic scrolling when dragging an object towards the edge of a window, "
+"holding down a scrollbar button, or automatically expanding a tree node when "
+"an object is dragged over it and held for a short time. These should either "
+"be customizable in the application, the GNOME control center, or at worst, "
+"manually editable from the command line via a configuration file or GConf "
+"entry."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1463(para)
+msgid ""
+"Don't briefly show or hide information based on the movement of the mouse "
+"pointer. (Exception: system-provided features such as tooltips, which the "
+"user can configure on a system-wide level). If you must provide such "
+"features, make them optional so users can turn them off when a screen-review "
+"utility is installed."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1471(title)
+#: C/accessibility-devel-guide.xml:205(title)
+#: C/accessibility-devel-guide.xml:680(entry)
+#| msgid "GNOME Documentation Project"
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: C/accessibility-devel-guide.xml:1472(para)
+msgid ""
+"People with disabilities cannot use the application effectively if they do "
+"not have access to the required manuals and help files. Of particular "
+"importance is keyboard navigation, since this is the only way many users can "
+"navigate the application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1477(para)
+msgid ""
+"Provide all documentation in an accessible format. ASCII text and HTML are "
+"both excellent formats for assistive technologies."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1482(para)
+msgid ""
+"Provide alternative text descriptions for all graphics in the documentation."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:1487(para)
+msgid ""
+"Document all your application's accessibility features. Keyboard navigation "
+"and shortcuts are particularly important to document. Include an "
+"accessibility section in your documentation, where information on all the "
+"accessibility features can be found."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:2(title)
+msgid "Testing"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:3(para)
+msgid ""
+"There are several points of review to conduct before declaring an application "
+"accessible. Over the course of development you may want to consider automated "
+"testing techniques. <ulink url=\"http://people.redhat.com/zcerza/dogtail"
+"\">Dogtail</ulink>, for example, may complement your automated testing plan."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:6(para)
+msgid ""
+"This section describes a number of tests you can perform manually on an "
+"application to test its accessibility. Passing all the tests does not "
+"necessarily imply that the application is fully accessible, but if the "
+"application fails any of these tests, then further work may need to be done "
+"to improve that aspect of its accessibility."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:12(para)
+msgid ""
+"The following keyboard operations should be tested. Do not use the mouse in "
+"any part of this test."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:17(para)
+msgid ""
+"Using only keyboard commands, move the focus through all menu bars in the "
+"application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:22(para)
+msgid "Confirm that:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:25(para)
+msgid "Context sensitive menus display correctly."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:30(para)
+msgid "Any functions listed on the toolbar can be performed using the keyboard."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:35(para)
+msgid ""
+"You can operate every control in the client area of the application and "
+"dialog boxes."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:40(para)
+msgid "Text and objects within the client area can be selected."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:45(para)
+msgid "Any keyboard enhancements or shortcuts are working as designed."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:56(para)
+msgid "Test the application using a screen reader and confirm that:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:61(para)
+msgid "Labels and text are being read correctly, including menus and toolbars."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:66(para)
+msgid "Object information is read correctly."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:74(title)
+msgid "Visual Focus Indicator"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:77(para)
+msgid ""
+"Verify that when moving among objects that the visual focus indicator is easy "
+"to identify."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:82(para)
+msgid ""
+"Keyboard navigation through the software and menus should be clearly visible "
+"when the focus moves."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:87(para)
+msgid ""
+"Confirm that the screen reader is tracking the visual focus indicator as you "
+"navigate using a keyboard."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:92(para)
+msgid ""
+"Run a screen magnification program (if available) and verify that the "
+"magnifier can track the visual focus indicator as you navigate using the "
+"keyboard and mouse."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:103(para)
+msgid ""
+"Change the font in the application and confirm that the settings are "
+"maintained."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:108(para)
+msgid ""
+"Test the application by changing colors and confirm that all settings are "
+"maintained."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:113(para)
+msgid ""
+"If magnification is available, test the font, color, and size using the "
+"magnification option."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:124(para)
+msgid ""
+"Print screenshots to a black and white printer and confirm that all "
+"information is visible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:129(para)
+msgid ""
+"Test applications using only black and white, high-contrast settings and "
+"confirm that all information is conveyed correctly."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:134(para)
+msgid ""
+"Test that the application provides at least three combinations of color "
+"schemes and that high-contrast schemes are available (e.g. white on black or "
+"yellow on blue)."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:139(para)
+msgid ""
+"Turn on high-contrast settings in the GBONE Control Center and confirm that "
+"the application respects these settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:144(para)
+msgid ""
+"Test various themes to ensure that the software is working for all the "
+"available settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:153(para)
+msgid ""
+"There should be an option in the application to show audio alerts visually."
msgstr ""
-"Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und "
-"Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, "
-"an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die "
-"Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert "
-"wurden, sind die Namen in GroÃ?buchstaben oder mit groÃ?en Anfangsbuchstaben "
-"geschrieben."
-#: C/optimization-guide.xml:52(revnumber)
-msgid "0.1"
-msgstr "0.1"
+#: C/accessibility-devel-guide.xml:156(para)
+msgid ""
+"Test that the audio is working correctly by enabling sound in the GNOME "
+"Control Center and then perform the following actions:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:161(para)
+msgid ""
+"Perform an action that should generate an audio alert and confirm that the "
+"application is working as designed."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:166(para)
+msgid ""
+"Verify that the application works correctly when increasing or decreasing the "
+"volume."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:171(para)
+msgid ""
+"Confirm that warning messages and alerts can be heard correctly in a noisy "
+"work environment."
+msgstr ""
-#: C/optimization-guide.xml:53(date)
-msgid "November 2007"
-msgstr "November 2007"
+#: C/accessibility-devel-guide.xml:180(para)
+msgid ""
+"Verify that an option is available to stop animation and that it is working "
+"as designed."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:183(para)
+msgid ""
+"Turn the animation off. Confirm that all information is still conveyed "
+"correctly."
+msgstr ""
-#: C/optimization-guide.xml:55(para)
-msgid "William Johnston"
-msgstr "William Johnston"
+#: C/accessibility-devel-guide.xml:192(para)
+msgid ""
+"Test all messages to confirm that the user is notified before a message times "
+"out and is given the option to indicate that more time is needed."
+msgstr ""
-#: C/optimization-guide.xml:57(para)
-msgid "Intial conversion to docbook format."
-msgstr "Erstmalige Umwandlung in das DocBook-Format."
+#: C/accessibility-devel-guide.xml:197(para)
+msgid ""
+"Make sure an option has been included to adjust the response time and confirm "
+"that it is working as designed."
+msgstr ""
-#: C/optimization-guide.xml:63(para)
+#: C/accessibility-devel-guide.xml:206(para)
msgid ""
-"Software can be optimized in many ways: for speed, program size, or memory "
-"use. This section contains guides and tutorials for optimizing your software."
+"Test ASCII text documentation with a screen reader to confirm that it is "
+"clear and precise and can be read by assistive technologies."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:209(para)
+msgid ""
+"Test HTML applications using a web browser and screen reader to confirm that "
+"the documentation is accessible to assistive technologies."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:212(para)
+msgid ""
+"Note: There are web accessibility guidelines available at <ulink url=\"http://"
+"www.w3.org/TR/WAI-WEBCONTENT/\">http://www.w3.org/TR/WAI-WEBCONTENT/</ulink>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:215(para)
+msgid "Confirm the following information is included in the documentation:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:220(para)
+msgid ""
+"State if the application does not support the standard keyboard access used "
+"by the OS."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:225(para)
+msgid "Identify if there are unique keyboard commands."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:230(para)
+msgid "Identify any unique accessibility features."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:235(para)
+msgid ""
+"If an action is documented for the mouse, make sure there is an alternative "
+"for using the keyboard."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:243(title)
+msgid "User Interface Checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:244(para)
+msgid ""
+"This section summarizes the guidelines given in <link linkend=\"gad-ui-"
+"guidelines\">User Interface Guidelines for Supporting Accessibility</link>. "
+"You should refer to that section of the guide for more detailed information "
+"on any of the checklist items given here."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:247(para)
+msgid ""
+"When testing an application for accessibility, you should go through each of "
+"the items in the list. Note whether the application passes or fails each "
+"test, or does not apply to that application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:251(title)
+msgid "General Principles checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:255(entry)
+msgid "GP"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:256(entry)
+msgid "General Principles"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:257(entry)
+#: C/accessibility-devel-guide.xml:294(entry)
+#: C/accessibility-devel-guide.xml:373(entry)
+#: C/accessibility-devel-guide.xml:405(entry)
+#: C/accessibility-devel-guide.xml:439(entry)
+#: C/accessibility-devel-guide.xml:491(entry)
+#: C/accessibility-devel-guide.xml:526(entry)
+#: C/accessibility-devel-guide.xml:555(entry)
+#: C/accessibility-devel-guide.xml:579(entry)
+#: C/accessibility-devel-guide.xml:608(entry)
+#: C/accessibility-devel-guide.xml:657(entry)
+#: C/accessibility-devel-guide.xml:681(entry)
+msgid "Pass/Fail/NA"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:262(entry)
+msgid "GP.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:263(entry)
+msgid ""
+"Every action that alters the user's data or application's settings can be "
+"undone."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:268(entry)
+msgid "GP.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:269(entry)
+msgid ""
+"All application settings can be restored to their defaults without the user "
+"having to remember what those defaults were."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:274(entry)
+msgid "GP.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:275(entry)
+msgid ""
+"After installation, the application can be used without the user having to "
+"insert a disk or CD at any time."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:279(entry)
+msgid "GP.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:280(entry)
+msgid ""
+"The most frequently used functions are found at the top level of the menu "
+"structure."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:288(title)
+msgid "Keyboard navigation checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:292(entry)
+msgid "KN"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:299(entry)
+msgid "KN.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:300(entry)
+msgid "Efficient keyboard access is provided to all application features."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:304(entry)
+msgid "KN.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:305(entry)
+msgid "All windows have a logical keyboard navigation order."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:308(entry)
+msgid "KN.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:309(entry)
+msgid ""
+"The correct tab order is used for controls whose enabled state is dependent "
+"on checkboxes, radio buttons or toggle buttons."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:313(entry)
+msgid "KN.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:314(entry)
+msgid ""
+"Keyboard access to application-specific functions does not override existing "
+"system accessibility features."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:318(entry)
+msgid "KN.5"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:319(entry)
+msgid ""
+"The application provides more than one method to perform keyboard tasks "
+"whenever possible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:323(entry)
+msgid "KN.6"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:324(entry)
+msgid "There are alternative key combinations wherever possible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:328(entry)
+msgid "KN.7"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:329(entry)
+msgid ""
+"There are no awkward reaches for frequently performed keyboard operations."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:333(entry)
+msgid "KN.8"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:334(entry)
+msgid "The application does not use repetitive, simultaneous keypresses."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:338(entry)
+msgid "KN.9"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:339(entry)
+msgid "The application provides keyboard equivalents for all mouse functions."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:343(entry)
+msgid "KN.10"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:344(entry)
+msgid ""
+"Any text or object that can be selected with the mouse can also be selected "
+"with the keyboard alone."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:348(entry)
+msgid "KN.11"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:349(entry)
+msgid ""
+"Any object that can be resized or moved with the mouse can also be resized or "
+"moved with the keyboard alone."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:353(entry)
+msgid "KN.12"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:354(entry)
+msgid ""
+"The application does not use any general navigation functions to trigger "
+"operations."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:358(entry)
+msgid "KN.13"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:359(entry)
+msgid ""
+"All keyboard-invoked menus, windows and tooltips appear near the object they "
+"relate to."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:367(title)
+msgid "Mouse Interaction checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:371(entry)
+msgid "MI"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:377(entry)
+msgid "MI.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:378(mousebutton)
+msgid "right"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:378(mousebutton)
+msgid "middle"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:378(entry)
+msgid ""
+"No operations depend on input from the <placeholder-1/> or <placeholder-2/> "
+"mouse buttons."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:381(entry)
+msgid "MI.2"
msgstr ""
-"Die Optimierung von Software kann verschiedene Ziele verfolgen: "
-"Geschwindigkeit, Programmgrö�e oder Speicherverbrauch. Dieser Abschnitt "
-"enthält Leitfäden und Anleitungen zum Optimieren Ihrer Software."
+
+#: C/accessibility-devel-guide.xml:382(entry)
+msgid "All mouse operations can be cancelled before they are complete."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:385(entry)
+msgid "MI.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:386(entry)
+msgid "Visual feedback is provided throughout drag and drop operations"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:390(entry)
+msgid "MI.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:391(entry)
+msgid ""
+"The mouse pointer is never warped under application control, or its movement "
+"restricted to part of the screen by the application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:399(title)
+msgid "Graphical Elements checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:403(entry)
+msgid "GE"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:409(entry)
+msgid "GE.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:410(entry)
+msgid ""
+"There are no hard-coded graphical attributes such as line, border or shadow "
+"thickness."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:414(entry)
+msgid "GE.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:415(entry)
+msgid ""
+"All multi-color graphical elements can be shown in monochrome only, where "
+"possible."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:419(entry)
+msgid "GE.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:420(entry)
+msgid ""
+"All interactive GUI elements are easily distinguishable from static GUI "
+"elements."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:424(entry)
+msgid "GE.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:425(entry)
+msgid "An option to hide non-essential graphics is provided."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:433(title)
+msgid "Fonts and Text checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:437(entry)
+msgid "FT"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:443(entry)
+msgid "FT.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:444(entry)
+msgid "No font styles or sizes are hard-coded."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:446(entry)
+msgid "FT.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:447(entry)
+msgid "An option to turn off graphical backdrops behind text is provided."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:451(entry)
+msgid "FT.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:452(entry)
+msgid "All labels have names that make sense when taken out of context."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:456(entry)
+msgid "FT.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:457(entry)
+msgid "No label names are used more than once in the same window."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:461(entry)
+msgid "FT.5"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:462(entry)
+msgid "Label positioning is consistent throughout the application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:466(entry)
+msgid "FT.6"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:467(entry)
+msgid "All static text labels that identify other controls end in a colon (:)."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:471(entry)
+msgid "FT.7"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:472(entry)
+msgid ""
+"Static text labels that identify other controls immediately precede those "
+"controls in the tab order."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:476(entry)
+msgid "FT.8"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:477(entry)
+msgid ""
+"An alternative to WYSIWYG is provided. For example, the ability to specify "
+"different screen and printer fonts in a text editor."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:485(title)
+msgid "Color and Contrast checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:489(entry)
+msgid "CC"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:495(entry)
+msgid "CC.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:496(entry)
+msgid ""
+"Application colors are not hard-coded, but are drawn either from the current "
+"desktop theme or an application setting."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:500(entry)
+msgid "CC.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:501(entry)
+msgid ""
+"Color is only used as an enhancement, and not as the only means to convey "
+"information or actions."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:506(entry)
+msgid "CC.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:507(entry)
+msgid ""
+"The application supports all available high- contrast themes and settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:511(entry)
+msgid "CC.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:512(entry)
+msgid ""
+"The software is not dependent on any particular high-contrast themes or "
+"settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:520(title)
+msgid "Magnification checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:524(entry)
+msgid "MG"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:530(entry)
+msgid "MG.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:531(entry)
+msgid "The application provides the ability to magnify the work area."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:535(entry)
+msgid "MG.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:536(entry)
+msgid "The application provides the option to scale the work area."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:540(entry)
+msgid "MG.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:541(entry)
+msgid ""
+"The application's functionality is not affected by changing the magnification "
+"or scale settings."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:549(title)
+msgid "Audio checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:553(entry)
+msgid "AU"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:559(entry)
+msgid "AU.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:560(entry)
+msgid ""
+"Sound is not used as the only means of conveying any items of information."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:564(entry)
+msgid "AU.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:565(entry)
+msgid ""
+"The user can configure the frequency and volume of all sounds and warning "
+"beeps."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:573(title)
+msgid "Animation checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:577(entry)
+msgid "AN"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:583(entry)
+msgid "AN.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:584(entry)
+msgid ""
+"There are no flashing or blinking elements with a frequency greater than 2Hz "
+"or lower than 55Hz."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:588(entry)
+msgid "AN.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:589(entry)
+msgid "Any flashing or blinking is confined to small areas of the screen."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:593(entry)
+msgid "AN.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:594(entry)
+msgid ""
+"If animation is used, an option is available to turn it off before it is "
+"first shown."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:602(title)
+msgid "Keyboard Focus checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:606(entry)
+msgid "KF"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:612(entry)
+msgid "KF.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:613(entry)
+msgid "When a window is opened, focus starts at the most commonly-used control."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:617(entry)
+msgid "KF.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:618(entry)
+msgid "Current input focus position is clearly displayed at all times."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:622(entry)
+msgid "KF.3"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:623(entry)
+msgid "Input focus is shown in exactly one window at all times."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:627(entry)
+msgid "KF.4"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:628(entry)
+msgid ""
+"Appropriate audio or visual feedback is provided when the user attempts to "
+"navigate past either end of a group of related objects."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:632(entry)
+msgid "KF.5"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:633(entry)
+msgid ""
+"The default audio or visual warning signal is played when the user presses an "
+"inappropriate key."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:637(entry)
+msgid "KF.6"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:638(entry)
+msgid ""
+"There is sufficient audio information for the visual focus that the user can "
+"figure out what to do next."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:642(entry)
+msgid "KF.7"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:643(entry)
+msgid ""
+"When using assistive technologies, such as a screen reader or braille device, "
+"the current program indicates the position and content of the visual focus "
+"indicator."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:651(title)
+msgid "Timing checklist"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:655(entry)
+msgid "TM"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:661(entry)
+msgid "TM.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:662(entry)
+msgid ""
+"There are no hard-coded time-outs or time-based features in the application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:666(entry)
+msgid "TM.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:667(entry)
+msgid ""
+"The display or hiding of important information is not triggered solely by "
+"movement of the mouse pointer."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:675(title)
+#| msgid "GNOME Documentation Project"
+msgid "Documentation checklist"
+msgstr "Dokumentations-Checkliste"
+
+#: C/accessibility-devel-guide.xml:679(entry)
+msgid "DC"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:685(entry)
+msgid "DC.1"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:686(entry)
+msgid ""
+"All documentation is in an accessible format, with textual alternate "
+"descriptions provided for all figures and diagrams."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:690(entry)
+msgid "DC.2"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:691(entry)
+msgid ""
+"The documentation includes a section that covers all the application's "
+"accessibility features."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:701(title)
+msgid "GOK (GNOME Onscreen Keyboard)"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:702(para)
+msgid ""
+"Your application should be usable via <application>gok</application>; key "
+"input should be generated entirely by <application>gok</application>, not the "
+"keyboard. The aim here would be to work with your application and the desktop "
+"in general, ensuring any type of character input can be performed with the on-"
+"screen keyboard."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:705(para)
+msgid ""
+"The <application>gok</application> application ships with the GNOME Desktop "
+"so should already be present. For full documentation, refer to <ulink url="
+"\"http://www.gok.ca\">the official gok site</ulink>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:708(para)
+msgid ""
+"Follow these steps to verify the correct operation of <application>gok</"
+"application> with your application:"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:713(para)
+msgid "Login into the GNOME desktop"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:718(para)
+msgid "Run <application>gok</application>"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:723(para)
+msgid "Start your application"
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:728(para)
+msgid ""
+"Provide input to your application with a pointing device (e.g., mouse or head-"
+"tracker) and <application>gok</application>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:733(para)
+msgid ""
+"Work using the auto-completion and word prediction features of "
+"<application>gok</application>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:738(para)
+msgid ""
+"Verify that <application>gok</application> enables and disables the "
+"<guibutton>Menus</guibutton> and <guibutton>Toolbars</guibutton> buttons "
+"based on the kind of application invoked; for example, the <guibutton>Menus</"
+"guibutton> and <guibutton>Toolbars</guibutton> buttons are disabled for the "
+"'Font properties' capplet, but the same buttons are enabled for the "
+"<application>Gedit</application> application."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:743(para)
+msgid ""
+"Verify that the <application>gok</application> on-screen keyboard provided by "
+"the <guibutton>Compose</guibutton> button can be used to type in any text for "
+"the selected application; run <application>Gedit</application>, click on the "
+"text area, and then click on the <guibutton>Compose</guibutton> button in "
+"<application>gok</application>. Select the required keys from the on-screen "
+"keyboard. The characters should appear in the <application>Gedit</"
+"application> text area."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:748(para)
+msgid ""
+"Verify that the <guibutton>Launcher</guibutton> button allows the user to "
+"launch any of the <application>Terminal</application>, <application>Web "
+"Browser</application> or <application>Text Editor</application> applications."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:753(para)
+msgid ""
+"Verify that the <guibutton>Activate</guibutton> button allows the user to "
+"activate any of the currently running application windows on the user's "
+"desktop, including GNOME panels and the GNOME desktop."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:758(para)
+msgid ""
+"Verify that the <guibutton>Menus</guibutton> button lists all the available "
+"menus in the current application. Verify that clicking on a menu button "
+"displays the sub-menu and menu items contained within the sub-menu. Finally, "
+"verify that clicking on a menu item activates the menu item. For example, "
+"click on the <application>Help Browser</application> application and click on "
+"the <guibutton>Menus</guibutton> button. The <application>GOK</application> "
+"window now displays the <guibutton>File</guibutton>, <guibutton>Go</"
+"guibutton> and <guibutton>Help</guibutton> buttons (the <application>Help "
+"Browser</application> menus). Click on the <guibutton>File</guibutton> button "
+"and it displays the <guibutton>New Window</guibutton> and <guibutton>Close "
+"Window</guibutton> buttons (menu items)."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:763(para)
+msgid ""
+"Verify that the <guibutton>Toolbars</guibutton> button lists all the "
+"available buttons in the application toolbar. For example, click on the "
+"<application>Help Browser</application> application and then click on the "
+"<guibutton>Toolbars</guibutton> button. The <application>GOK</application> "
+"window now displays the <guibutton>Back</guibutton>, <guibutton>Forward</"
+"guibutton> and <guibutton>Home</guibutton> buttons."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:768(para)
+msgid ""
+"Verify that the <guibutton>UI Grab</guibutton> button displays all the button "
+"objects for the selected application window. For example, open the 'Font "
+"Properties' capplet and click on the <guibutton>UI Grab</guibutton> button in "
+"the <application>GOK</application> window. The <application>GOK</application> "
+"window should now display the names of the buttons in the capplet - "
+"<guibutton>Sans</guibutton>, <guibutton>Sans-serif</guibutton>, "
+"<guibutton>Close</guibutton> and <guibutton>Help</guibutton>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:776(title)
+msgid "Accerciser"
+msgstr "Accerciser"
+
+#: C/accessibility-devel-guide.xml:783(phrase)
+msgid "Accerciser and the GNOME Accessibility Architecture"
+msgstr "Accerciser und die GNOME-Barrierefreiheits-Architektur"
+
+#: C/accessibility-devel-guide.xml:790(para)
+msgid ""
+"<application>Accerciser</application> is an interactive Python accessibility "
+"explorer for the GNOME Desktop. It uses AT-SPI to inspect and control "
+"widgets, allowing you to check if an application is providing correct "
+"information to assistive technologies and automated test frameworks. "
+"<application>Accerciser</application> has a simple plugin framework which you "
+"can use to create custom views of accessibility information. Full "
+"documentation can be found <ulink url=\"http://library.gnome.org/devel/"
+"accerciser/stable\">in the Official Accerciser Manual</ulink>. For a "
+"demonstration of <application>Accerciser</application> and "
+"<application>PyATSPI</application> (Python-wrappered access and usage of AT-"
+"SPI), see <ulink url=\"http://live.gnome.org/Accessibility/"
+"PythonPoweredAccessibility\">this article</ulink>. For an excellent "
+"walkthrough from the author, see the article titled <ulink url=\"http://www."
+"linuxjournal.com/article/9991\">Make Your Application Accessible with "
+"Accerciser</ulink>."
+msgstr ""
+
+#: C/accessibility-devel-guide.xml:794(para)
+#| msgid ""
+#| "<application>Massif</application> output for the unoptimized version of "
+#| "the <application>Same GNOME</application> program."
+msgid ""
+"<application>Accerciser</application> has effectively replaced the older "
+"<application>at-poke</application> tool."
+msgstr ""
+"<application>Accerciser</application> ist ein effektiver Ersatz für das "
+"ältere <application>at-poke</application>-Werkzeug."
#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
-#: C/optimization-guide.xml:0(None)
+#: C/accessibility-devel-guide.xml:0(None)
msgid "translator-credits"
msgstr "Mario Blättermann <mariobl gnome org>, 2009"
+
+#~ msgid "The Quick Guide to Optimizing GNOME Programs"
+#~ msgstr "Schnelleinführung in die Optimierung von GNOME-Programmen"
+
+#~ msgid ""
+#~ "This is a brief introduction to optimization, both the hows and the whys. "
+#~ "Details of individual tools and techniques are left for later articles, "
+#~ "but a collection of hints and tricks is provided."
+#~ msgstr ""
+#~ "Dies ist eine kurze Einführung in die Optimierung und behandelt sowohl das "
+#~ "Wie als auch das Warum. Details zu individuellen Werkzeugen verschieben "
+#~ "wir auf spätere Artikel, eine Sammlung aus Hinweisen und Tricks ist jedoch "
+#~ "enthalten."
+
+#~ msgid "What are we Optimizing?"
+#~ msgstr "Was optimieren wir?"
+
+#~ msgid ""
+#~ "When we optimize for GNOME the first thing to remember is this: we are not "
+#~ "trying to make the program better, we are trying to make the person using "
+#~ "the computer happier."
+#~ msgstr ""
+#~ "Sie sollten bei der Optimierung für GNOME zunächst eines bedenken: Wir "
+#~ "versuchen nicht, das Programm zu verbessern, sondern wir versuchen, die "
+#~ "Benutzer glücklicher zu machen."
+
+#~ msgid ""
+#~ "Better programs make people happier, but there are some improvements that "
+#~ "will make them a lot happier than others: Responsiveness, start-up time, "
+#~ "easy to access commands and not having the computer go into swap the "
+#~ "moment more than two programs are open."
+#~ msgstr ""
+#~ "Bessere Programme machen die Benutzer glücklicher, aber es gibt "
+#~ "Verbesserungsmöglichkeiten, die sie viel glücklicher machen werden als "
+#~ "Andere: Ansprechzeit, Startzeit, leichter Zugriff auf Befehle. Der Rechner "
+#~ "sollte auch nicht sofort den Auslagerungsspeicher benutzen müssen, wenn "
+#~ "mehr als eine Anwendung geöffnet ist."
+
+#~ msgid ""
+#~ "Traditional optimization tackles concepts like CPU use, code size, the "
+#~ "number of mouse clicks and the memory use of the program. This second list "
+#~ "has been chosen to correlate with the first list, however there is an "
+#~ "important difference: The person using GNOME doesn't care about the second "
+#~ "list, but they care a lot about the first list. When optimizing GNOME "
+#~ "programs we will reduce CPU use, memory use and all those things, but "
+#~ "these are the means to the end, not the final goal. We are optimizing for "
+#~ "people."
+#~ msgstr ""
+#~ "Die traditionelle Optimierung umfasst Konzepte wie Prozessorlast, Umfang "
+#~ "des Codes, die Anzahl der Mausklicks sowie die Speichernutzung des "
+#~ "Programms. Die folgende Auflistung sollte die erste Liste ergänzen, wobei "
+#~ "ein grundlegender Unterschied besteht: Ein GNOME-Benutzer schenkt der "
+#~ "zweiten Liste keine Beachtung, während der ersten Liste sehr wohl "
+#~ "Aufmerksamkeit gewidmet wird. Beim Optimieren von GNOME-Programmen sollen "
+#~ "die Prozessorlast, der Speicherverbrauch und all diese Dinge optimiert "
+#~ "werden, aber das sind die Bedeutungen, nicht das Endziel. Wir optimieren "
+#~ "für Benutzer."
+
+#~ msgid "Doing the Optimization"
+#~ msgstr "Ausführung der Optimierung"
+
+#~ msgid ""
+#~ "The previous section omitted one important qualifier: To optimize "
+#~ "something it has to be measurable. You can't measure happiness. However, "
+#~ "you can measure start-up time so you can tell if you have improved it. "
+#~ "Happiness will then, hopefully, follow."
+#~ msgstr ""
+#~ "Aus dem vorigen Abschnitt wurde deutlich: Um etwas optimieren zu können, "
+#~ "muss es messbar sein. Sie können Zufriedenheit nicht messen, aber Sie "
+#~ "können sehr wohl Startzeiten messen, um sagen zu können, dass Sie sie "
+#~ "verbessert haben. Die Zufriedenheit wird dann - hoffentlich - folgen."
+
+#, fuzzy
+#~ msgid ""
+#~ "Don't forget the big picture. For example, rather than just trying to "
+#~ "speed up a piece of code, ask yourself if it needs to be run at all. Could "
+#~ "it be combined with another piece of code? Can the results of previous "
+#~ "calculations be saved and reused? It won't even need to be optimized if it "
+#~ "is in a place where the user is never going to notice it. Worse still, the "
+#~ "code may already be optimized and is doing the heavy calculations now to "
+#~ "avoid doing them later. Code does not run in isolation and neither does "
+#~ "the optimization process."
+#~ msgstr "Vergessen Sie nicht das Gesamtbild."
+
+#~ msgid "Hints"
+#~ msgstr "Hinweise"
+
+#~ msgid "The Fundamentals"
+#~ msgstr "Die Grundlagen"
+
+#~ msgid ""
+#~ "Make sure your code is correct and bug-free before optimizing it. Check "
+#~ "that it remains correct and bug-free after optimization."
+#~ msgstr ""
+#~ "Stellen Sie sicher, dass Ihr Code korrekt und fehlerfrei ist, bevor Sie "
+#~ "mit der Optimierung beginnen. �berprüfen Sie nach der Optimierung, ob dies "
+#~ "dann auch noch zutrifft."
+
+#~ msgid "Traps for the Unwary"
+#~ msgstr "Fallen für die Unvorsichtigen"
+
+#, fuzzy
+#~ msgid ""
+#~ "Beware of side effects. There can often be strange interactions between "
+#~ "different sections of code, a speed-up in one part can slow another part "
+#~ "down."
+#~ msgstr "Verhindern Sie Nebeneffekte. "
+
+#~ msgid ""
+#~ "Remember the resources on the X server. Your program's memory usage "
+#~ "doesn't include the pixmaps that are stored in the X server's process, but "
+#~ "they are still using up memory. Use xrestop to see what resources your "
+#~ "program is using."
+#~ msgstr ""
+#~ "Vergessen Sie nicht den Ressourcenverbrauch des X-Servers. Der "
+#~ "Speicherverbrauch Ihres Programms enthält nicht die Pixmaps, die vom X-"
+#~ "Server verarbeitet werden, aber sie verbrauchen dennoch Speicher. "
+#~ "Verwenden Sie <command>xrestop</command>, um zu sehen, welche Ressourcen "
+#~ "Ihr Programm beansprucht."
+
+#~ msgid ""
+#~ "Move code out from inside loops. A slightly more complicated piece of code "
+#~ "that is executed once is far quicker than a simple piece of code executed "
+#~ "a thousand times. Avoid calling slow code often."
+#~ msgstr ""
+#~ "Gliedern Sie Code aus Schleifen aus. Ein etwas umfangreicheres Stück Code, "
+#~ "das nur einmal ausgeführt wird, ist um Einiges schneller als ein simples "
+#~ "Stück Code, was dafür tausend Schleifen durchläuft. Vermeiden Sie es, "
+#~ "langsamen Code allzu oft aufzurufen."
+
+#~ msgid ""
+#~ "Give the compiler as many hints as possible. Use the const keyword. Use "
+#~ "<envar>G_INLINE_FUNC</envar> for short, frequently called, functions. Look "
+#~ "up <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> and the other glib "
+#~ "miscellaneous macros. Use the macros instead of gcc-specific keywords to "
+#~ "ensure portability."
+#~ msgstr ""
+#~ "Geben Sie dem Compiler so viele Hinweise wie möglich. Verwenden Sie das "
+#~ "const-Schlüsselwort. Verwenden Sie <envar>G_INLINE_FUNC</envar> für kurze, "
+#~ "häufig aufgerufene Funktionen. Schauen Sie nach <envar>G_GNUC_PURE</"
+#~ "envar>, <envar>G_LIKELY</envar> und weiteren diversen glib-Makros. "
+#~ "Verwenden Sie diese Makros anstelle der gcc-spezifischen Schlüsselwörter, "
+#~ "um die Portierbarkeit zu erhalten."
+
+#~ msgid ""
+#~ "Don't use assembly language. It is not portable and, while it may be fast "
+#~ "on one processor, it is not even guaranteed to be fast on every processor "
+#~ "that supports that architecture (e.g. Athlon vs. Pentium 4)."
+#~ msgstr ""
+#~ "Verwenden Sie keine Assemblersprachen. Sie sind nicht portierbar. Während "
+#~ "sie auf dem einen Prozessor unglaublich schnell sind, ist nicht unbedingt "
+#~ "garantiert, dass dies auf jedem von der Architektur unterstützten "
+#~ "Prozessor genauso ist (beispielsweise Athlon vs Pentium 4)."
+
+#~ msgid ""
+#~ "Don't rewrite an existing library routine unless you are sure it is "
+#~ "unnecessarily slow. Many CPU-intensive library routines have already been "
+#~ "optimized. Conversely, some library routines are slow, especially ones "
+#~ "that make system calls to the operating system."
+#~ msgstr ""
+#~ "Schreiben Sie eine vorhandene Bibliotheksroutine nicht neu, es sei denn, "
+#~ "Sie sind sich sicher, dass sie unakzeptabel langsam ist. Viele "
+#~ "prozessorintensive Bibliotheksroutinen wurden bereits optimiert. "
+#~ "Andererseits sind einige Routinen tatsächlich langsam, insbesondere "
+#~ "diejenigen, die Systemaufrufe an das Betriebssystem absetzen."
+
+#~ msgid ""
+#~ "Minimize the number of libraries you link to. The fewer libraries to link "
+#~ "in, the faster the program starts. This is a difficult thing to do with "
+#~ "GNOME."
+#~ msgstr ""
+#~ "Halten Sie die Zahl der verlinkten Bibliotheken gering. Je weniger "
+#~ "Bibliotheken gelinkt werden müssen, umso schneller startet das Programm. "
+#~ "Dies ist in GNOME allerdings schwierig."
+
+#~ msgid ""
+#~ "If all else fails, tell the user that the code is going to be slow and put "
+#~ "up a progress bar. They won't be as happy as if you had just presented the "
+#~ "results, but they will at least know the program hasn't crashed and they "
+#~ "can go get a cup of coffee."
+#~ msgstr ""
+#~ "Falls alles Andere scheitern sollte, informieren Sie den Benutzer mit "
+#~ "einem Fortschrittsbalken drüber, dass es derzeit nur langsam voran geht. "
+#~ "Das dürfte ihm lieber sein, als wenn Sie nur die Ergebnisse präsentieren "
+#~ "würden. Er möchte zumindest wissen, dass das Programm nicht abgestürzt ist "
+#~ "und er dann erst einmal eine Tasse Kaffee trinken gehen kann."
+
+#~ msgid ""
+#~ "Using <application>Massif</application> for Profiling Memory Use in GNOME "
+#~ "Software"
+#~ msgstr ""
+#~ "Verwendung von <application>Massif</application> zur Profilierung des "
+#~ "Speicherverbrauchs in GNOME-Software"
+
+#~ msgid "Your command-line should therefore look something like:"
+#~ msgstr "Ihre Befehlszeile sollte daher so aussehen:"
+
+#~ msgid ""
+#~ "\n"
+#~ "valgrind --tool=massif --depth=5 --alloc-fn=g_malloc --alloc-fn=g_realloc "
+#~ "--alloc-fn=g_try_malloc \\\n"
+#~ " --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc same-gnome\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "valgrind --tool=massif --depth=5 --alloc-fn=g_malloc --alloc-fn=g_realloc "
+#~ "--alloc-fn=g_try_malloc \\\n"
+#~ " --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc same-gnome\n"
+#~ " "
+
+#~ msgid ""
+#~ "<application>Same GNOME</application> is the program we will be using as "
+#~ "an example. Be warned that, since valgrind emulates the CPU, it will run "
+#~ "<emphasis>very</emphasis> slowly. You will also need a lot of memory."
+#~ msgstr ""
+#~ "Das Programm <application>Same GNOME</application> werden wir als Beispiel "
+#~ "verwenden. Seien Sie gewarnt: <application>Valgrind</application> emuliert "
+#~ "den Prozessor, wodurch es <emphasis>äu�erst</emphasis> langsam läuft. "
+#~ "Au�erdem wird sehr viel Speicher benötigt."
+
+#~ msgid "Interpreting the Results"
+#~ msgstr "Interpretieren der Ergebnisse"
+
+#~ msgid ""
+#~ "The graphical output of <application>Massif</application> is largely self "
+#~ "explanatory. Each band represents the memory allocated by one function "
+#~ "over time. Once you identify which bands are using the most memory, "
+#~ "usually the big thick ones at the top you will have to consult the text "
+#~ "file for the details."
+#~ msgstr ""
+#~ "Die grafische Ausgabe von <application>Massif</application> ist weitgehend "
+#~ "selbsterklärend. Jedes Band stellt den einer Funktion zugewiesenen "
+#~ "Speicher nach Zeit dar. Sobald Sie herausgefunden haben, welche Bänder den "
+#~ "meisten Speicher verbrauchen, üblicherweise die dickeren, oberen, dann "
+#~ "schauen Sie sich die Textausgabe für weitere Details an."
+
+#~ msgid ""
+#~ "The text file is arranged as a hierarchy of sections, at the top is a list "
+#~ "of the worst memory users arranged in order of decreasing spacetime. Below "
+#~ "this are further sections, each breaking the results down into finer "
+#~ "detail as you proceed down the call-stack. To illustrate this we will use "
+#~ "the output of the command above."
+#~ msgstr ""
+#~ "Die Textdatei ist hierarchisch in Abschnitte gegliedert. Am oberen Ende "
+#~ "finden sich die grö�ten Speicherverbraucher, in absteigender Ordnung nach "
+#~ "Speicherzeit. Darunter finden sich weitere Abschnitte, die je nach dem "
+#~ "Platz im Aufruf-Stack feiner detaillierter sind. Um dies zu verdeutlichen, "
+#~ "verwenden wir die Ausgabe des oben stehenden Befehls."
+
+#~ msgid ""
+#~ "\n"
+#~ "Command: ./same-gnome \n"
+#~ "\n"
+#~ "== 0 ===========================\n"
+#~ "Heap allocation functions accounted for 90.4% of measured spacetime\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ " 6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ " 5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+#~ "\n"
+#~ " 3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "Command: ./same-gnome \n"
+#~ "\n"
+#~ "== 0 ===========================\n"
+#~ "Heap allocation functions accounted for 90.4% of measured spacetime\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ " 6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ " 5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+#~ "\n"
+#~ " 3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+#~ " "
+
+#~ msgid ""
+#~ "\n"
+#~ "== 4 ===========================\n"
+#~ "Context accounted for 28.8% of measured spacetime\n"
+#~ " 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+#~ " 0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png."
+#~ "so)\n"
+#~ " 0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+#~ " 0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+#~ "\n"
+#~ " 0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+#~ "\n"
+#~ " and 1 other insignificant place\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "== 4 ===========================\n"
+#~ "Context accounted for 28.8% of measured spacetime\n"
+#~ " 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+#~ " 0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png."
+#~ "so)\n"
+#~ " 0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+#~ " 0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+#~ "\n"
+#~ " 0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+#~ "\n"
+#~ " and 1 other insignificant place\n"
+#~ " "
+
+#~ msgid "Acting on the Results"
+#~ msgstr "Interpretieren der Ergebnisse"
+
+#~ msgid ""
+#~ "\n"
+#~ "Command: ./same-gnome \n"
+#~ "\n"
+#~ "== 0 ===========================\n"
+#~ "Heap allocation functions accounted for 87.6% of measured spacetime\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ " 7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+#~ "\n"
+#~ " 6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+#~ "\n"
+#~ " 5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "Command: ./same-gnome \n"
+#~ "\n"
+#~ "== 0 ===========================\n"
+#~ "Heap allocation functions accounted for 87.6% of measured spacetime\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ " 7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+#~ "\n"
+#~ " 6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+#~ "\n"
+#~ " 5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+#~ " "
+
+#~ msgid ""
+#~ "\n"
+#~ "== 1 ===========================\n"
+#~ "Context accounted for 7.7% of measured spacetime\n"
+#~ " 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ " 1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0."
+#~ "so.0.400.6)\n"
+#~ "\n"
+#~ " 0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+#~ "\n"
+#~ " 0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0."
+#~ "so.0.400.6)\n"
+#~ "\n"
+#~ " and 155 other insignificant places\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "== 1 ===========================\n"
+#~ "Context accounted for 7.7% of measured spacetime\n"
+#~ " 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+#~ "\n"
+#~ "Called from:\n"
+#~ " 1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0."
+#~ "so.0.400.9)\n"
+#~ "\n"
+#~ " 1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0."
+#~ "so.0.400.6)\n"
+#~ "\n"
+#~ " 0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+#~ "\n"
+#~ " 0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0."
+#~ "so.0.400.6)\n"
+#~ "\n"
+#~ " and 155 other insignificant places\n"
+#~ " "
+
+#~ msgid "Optimizing GNOME Software"
+#~ msgstr "Optimieren von GNOME-Software"
+
+#~ msgid "Callum McKenzie"
+#~ msgstr "Callum McKenzie"
+
+#~ msgid "Robert Love"
+#~ msgstr "Robert Love"
+
+#~ msgid "McKenzie"
+#~ msgstr "McKenzie"
+
+#~ msgid "Robert"
+#~ msgstr "Robert"
+
+#~ msgid "Love"
+#~ msgstr "Love"
+
+#~ msgid "0.1"
+#~ msgstr "0.1"
+
+#~ msgid "William Johnston"
+#~ msgstr "William Johnston"
+
+#~ msgid "Intial conversion to docbook format."
+#~ msgstr "Erstmalige Umwandlung in das DocBook-Format."
+
+#~ msgid ""
+#~ "Software can be optimized in many ways: for speed, program size, or memory "
+#~ "use. This section contains guides and tutorials for optimizing your "
+#~ "software."
+#~ msgstr ""
+#~ "Die Optimierung von Software kann verschiedene Ziele verfolgen: "
+#~ "Geschwindigkeit, Programmgrö�e oder Speicherverbrauch. Dieser Abschnitt "
+#~ "enthält Leitfäden und Anleitungen zum Optimieren Ihrer Software."
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]