[gtk-doc-cn] r295 committed - add gobject pot files

7 views
Skip to first unread message

gtk-d...@googlecode.com

unread,
Apr 18, 2011, 11:30:08 AM4/18/11
to gtk-d...@googlegroups.com
Revision: 295
Author: yetist
Date: Mon Apr 18 08:28:33 2011
Log: add gobject pot files
http://code.google.com/p/gtk-doc-cn/source/detail?r=295

Added:
/trunk/pot/gobject
/trunk/pot/gobject/docs
/trunk/pot/gobject/docs/glib-genmarshal.pot
/trunk/pot/gobject/docs/glib-mkenums.pot
/trunk/pot/gobject/docs/gobject-docs.pot
/trunk/pot/gobject/docs/gobject-query.pot
/trunk/pot/gobject/docs/tut_gobject.pot
/trunk/pot/gobject/docs/tut_gsignal.pot
/trunk/pot/gobject/docs/tut_gtype.pot
/trunk/pot/gobject/docs/tut_howto.pot
/trunk/pot/gobject/docs/tut_intro.pot
/trunk/pot/gobject/docs/tut_tools.pot
/trunk/pot/gobject/gbinding.pot
/trunk/pot/gobject/gboxed.pot
/trunk/pot/gobject/gclosure.pot
/trunk/pot/gobject/genums.pot
/trunk/pot/gobject/gobject.pot
/trunk/pot/gobject/gparam.pot
/trunk/pot/gobject/gparamspecs.pot
/trunk/pot/gobject/gsignal.pot
/trunk/pot/gobject/gsourceclosure.pot
/trunk/pot/gobject/gtype.pot
/trunk/pot/gobject/gtypemodule.pot
/trunk/pot/gobject/gtypeplugin.pot
/trunk/pot/gobject/gvalue.pot
/trunk/pot/gobject/gvaluearray.pot
/trunk/pot/gobject/gvaluecollector.pot
/trunk/pot/gobject/gvaluetypes.pot

=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/glib-genmarshal.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,463 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: glib-genmarshal.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: glib-genmarshal.xml:10(refname) glib-genmarshal.xml:16(command)
+#: glib-genmarshal.xml:4(refentrytitle)
+msgid "glib-genmarshal"
+msgstr ""
+
+#: glib-genmarshal.xml:103(title)
+msgid "Marshaller list format"
+msgstr ""
+
+#: glib-genmarshal.xml:104(para)
+msgid ""
+"The marshaller lists are processed line by line, a line can contain a "
+"comment in the form of <placeholder-1/> or a marshaller specification of
the "
+"form <placeholder-2/> (up to 16 <replaceable>PTYPE</replaceable>s may be "
+"present)."
+msgstr ""
+
+#: glib-genmarshal.xml:107(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"# this is a comment\n"
+msgstr ""
+
+#: glib-genmarshal.xml:11(refpurpose)
+msgid "C code marshaller generation utility for GLib closures"
+msgstr ""
+
+#: glib-genmarshal.xml:111(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>\n"
+"<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>\n"
+"<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>\n"
+msgstr ""
+
+#: glib-genmarshal.xml:118(para)
+msgid ""
+"The <replaceable>RTYPE</replaceable> part specifies the callback's
return "
+"type and the <replaceable>PTYPE</replaceable>s right to the colon
specify "
+"the callback's parameter list, except for the first and the last
arguments "
+"which are always pointers."
+msgstr ""
+
+#: glib-genmarshal.xml:125(title)
+msgid "Parameter types"
+msgstr ""
+
+#: glib-genmarshal.xml:126(para)
+msgid "Currently, the following types are supported: <placeholder-1/>"
+msgstr ""
+
+#: glib-genmarshal.xml:130(replaceable)
+msgid "VOID"
+msgstr ""
+
+#: glib-genmarshal.xml:131(para)
+msgid ""
+"indicates no return type, or no extra parameters. If <replaceable>VOID</"
+"replaceable> is used as the parameter list, no additional parameters may
be "
+"present."
+msgstr ""
+
+#: glib-genmarshal.xml:139(replaceable)
+msgid "BOOLEAN"
+msgstr ""
+
+#: glib-genmarshal.xml:140(para)
+msgid "for boolean types (gboolean)"
+msgstr ""
+
+#: glib-genmarshal.xml:146(replaceable)
+msgid "CHAR"
+msgstr ""
+
+#: glib-genmarshal.xml:147(para)
+msgid "for signed char types (gchar)"
+msgstr ""
+
+#: glib-genmarshal.xml:153(replaceable)
+msgid "UCHAR"
+msgstr ""
+
+#: glib-genmarshal.xml:154(para)
+msgid "for unsigned char types (guchar)"
+msgstr ""
+
+#: glib-genmarshal.xml:160(replaceable)
+msgid "INT"
+msgstr ""
+
+#: glib-genmarshal.xml:161(para)
+msgid "for signed integer types (gint)"
+msgstr ""
+
+#: glib-genmarshal.xml:167(replaceable)
+msgid "UINT"
+msgstr ""
+
+#: glib-genmarshal.xml:168(para)
+msgid "for unsigned integer types (guint)"
+msgstr ""
+
+#: glib-genmarshal.xml:17(arg)
+msgid "options"
+msgstr ""
+
+#: glib-genmarshal.xml:174(replaceable)
+msgid "LONG"
+msgstr ""
+
+#: glib-genmarshal.xml:175(para)
+msgid "for signed long integer types (glong)"
+msgstr ""
+
+#: glib-genmarshal.xml:18(arg)
+msgid "files"
+msgstr ""
+
+#: glib-genmarshal.xml:181(replaceable)
+msgid "ULONG"
+msgstr ""
+
+#: glib-genmarshal.xml:182(para)
+msgid "for unsigned long integer types (gulong)"
+msgstr ""
+
+#: glib-genmarshal.xml:188(replaceable)
+msgid "INT64"
+msgstr ""
+
+#: glib-genmarshal.xml:189(para)
+msgid "for signed 64bit integer types (gint64)"
+msgstr ""
+
+#: glib-genmarshal.xml:195(replaceable)
+msgid "UINT64"
+msgstr ""
+
+#: glib-genmarshal.xml:196(para)
+msgid "for unsigned 64bit integer types (guint64)"
+msgstr ""
+
+#: glib-genmarshal.xml:202(replaceable)
+msgid "ENUM"
+msgstr ""
+
+#: glib-genmarshal.xml:203(para)
+msgid "for enumeration types (gint)"
+msgstr ""
+
+#: glib-genmarshal.xml:209(replaceable)
+msgid "FLAGS"
+msgstr ""
+
+#: glib-genmarshal.xml:210(para)
+msgid "for flag enumeration types (guint)"
+msgstr ""
+
+#: glib-genmarshal.xml:216(replaceable)
+msgid "FLOAT"
+msgstr ""
+
+#: glib-genmarshal.xml:217(para)
+msgid "for single-precision float types (gfloat)"
+msgstr ""
+
+#: glib-genmarshal.xml:22(title)
+msgid "Description"
+msgstr ""
+
+#: glib-genmarshal.xml:223(replaceable)
+msgid "DOUBLE"
+msgstr ""
+
+#: glib-genmarshal.xml:224(para)
+msgid "for double-precision float types (gdouble)"
+msgstr ""
+
+#: glib-genmarshal.xml:23(para)
+msgid ""
+"<command>glib-genmarshal</command> is a small utility that generates C
code "
+"marshallers for callback functions of the GClosure mechanism in the
GObject "
+"sublibrary of GLib. The marshaller functions have a standard signature,
they "
+"get passed in the invoking closure, an array of value structures holding
the "
+"callback function parameters and a value structure for the return value
of "
+"the callback. The marshaller is then responsible to call the respective
C "
+"code function of the closure with all the parameters on the stack and to "
+"collect its return value."
+msgstr ""
+
+#: glib-genmarshal.xml:230(replaceable)
+msgid "STRING"
+msgstr ""
+
+#: glib-genmarshal.xml:231(para)
+msgid "for string types (gchar*)"
+msgstr ""
+
+#: glib-genmarshal.xml:237(replaceable)
+msgid "BOXED"
+msgstr ""
+
+#: glib-genmarshal.xml:238(para)
+msgid "for boxed (anonymous but reference counted) types (GBoxed*)"
+msgstr ""
+
+#: glib-genmarshal.xml:244(replaceable)
+msgid "PARAM"
+msgstr ""
+
+#: glib-genmarshal.xml:245(para)
+msgid "for GParamSpec or derived types (GParamSpec*)"
+msgstr ""
+
+#: glib-genmarshal.xml:251(replaceable)
+msgid "POINTER"
+msgstr ""
+
+#: glib-genmarshal.xml:252(para)
+msgid "for anonymous pointer types (gpointer)"
+msgstr ""
+
+#: glib-genmarshal.xml:258(replaceable)
+msgid "OBJECT"
+msgstr ""
+
+#: glib-genmarshal.xml:259(para)
+msgid "for GObject or derived types (GObject*)"
+msgstr ""
+
+#: glib-genmarshal.xml:265(replaceable)
+msgid "VARIANT"
+msgstr ""
+
+#: glib-genmarshal.xml:266(para)
+msgid "for GVariant types (GVariant*)"
+msgstr ""
+
+#: glib-genmarshal.xml:272(replaceable)
+msgid "NONE"
+msgstr ""
+
+#: glib-genmarshal.xml:273(para)
+msgid "deprecated alias for <replaceable>VOID</replaceable>"
+msgstr ""
+
+#: glib-genmarshal.xml:279(replaceable)
+msgid "BOOL"
+msgstr ""
+
+#: glib-genmarshal.xml:280(para)
+msgid "deprecated alias for <replaceable>BOOLEAN</replaceable>"
+msgstr ""
+
+#: glib-genmarshal.xml:288(title)
+msgid "Example"
+msgstr ""
+
+#: glib-genmarshal.xml:289(para)
+msgid "To generate marshallers for the following callback functions:"
+msgstr ""
+
+#: glib-genmarshal.xml:292(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void foo (gpointer data1,\n"
+" gpointer data2);\n"
+"void bar (gpointer data1,\n"
+" gint param1,\n"
+" gpointer data2);\n"
+"gfloat baz (gpointer data1,\n"
+" gboolean param1,\n"
+" guchar param2,\n"
+" gpointer data2);\n"
+msgstr ""
+
+#: glib-genmarshal.xml:303(para)
+msgid "The marshaller list has to look like this:"
+msgstr ""
+
+#: glib-genmarshal.xml:306(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"VOID:VOID\n"
+"VOID:INT\n"
+"FLOAT:BOOLEAN,UCHAR\n"
+msgstr ""
+
+#: glib-genmarshal.xml:311(para)
+msgid ""
+"The generated marshallers have the arguments encoded in their function
name. "
+"For this particular list, they are"
+msgstr ""
+
+#: glib-genmarshal.xml:315(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"g_cclosure_marshal_VOID__VOID(),\n"
+"g_cclosure_marshal_VOID__INT(), \n"
+"g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR().\n"
+msgstr ""
+
+#: glib-genmarshal.xml:320(para)
+msgid ""
+"They can be used directly for GClosures or be passed in as the "
+"GSignalCMarshaller c_marshaller; argument upon creation of signals:"
+msgstr ""
+
+#: glib-genmarshal.xml:324(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"GClosure *cc_foo, *cc_bar, *cc_baz;\n"
+"\n"
+"cc_foo = g_cclosure_new (NULL, foo, NULL);\n"
+"g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);\n"
+"cc_bar = g_cclosure_new (NULL, bar, NULL);\n"
+"g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);\n"
+"cc_baz = g_cclosure_new (NULL, baz, NULL);\n"
+"g_closure_set_marshal (cc_baz,
g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);\n"
+msgstr ""
+
+#: glib-genmarshal.xml:335(title)
+msgid "See also"
+msgstr ""
+
+#: glib-genmarshal.xml:336(para)
+msgid "<command>glib-mkenums</command>(1)"
+msgstr ""
+
+#: glib-genmarshal.xml:34(title)
+msgid "Invocation"
+msgstr ""
+
+#: glib-genmarshal.xml:340(title)
+msgid "Bugs"
+msgstr ""
+
+#: glib-genmarshal.xml:341(para)
+msgid "None known yet."
+msgstr ""
+
+#: glib-genmarshal.xml:345(title)
+msgid "Author"
+msgstr ""
+
+#: glib-genmarshal.xml:346(para)
+msgid ""
+"<command>glib-genmarshal</command> has been written by Tim Janik "
+"<email>ti...@gtk.org</email>."
+msgstr ""
+
+#: glib-genmarshal.xml:349(para)
+msgid "This manual page was provided by Tim Janik
<email>ti...@gtk.org</email>."
+msgstr ""
+
+#: glib-genmarshal.xml:35(para)
+msgid ""
+"<command>glib-genmarshal</command> takes a list of marshallers to
generate "
+"as input. The marshaller list is either read from standard input or from "
+"files passed as additional arguments on the command line."
+msgstr ""
+
+#: glib-genmarshal.xml:40(title)
+msgid "Options"
+msgstr ""
+
+#: glib-genmarshal.xml:44(option)
+msgid "--header"
+msgstr ""
+
+#: glib-genmarshal.xml:45(para)
+msgid "Generate header file contents of the marshallers."
+msgstr ""
+
+#: glib-genmarshal.xml:5(manvolnum)
+msgid "1"
+msgstr ""
+
+#: glib-genmarshal.xml:51(option)
+msgid "--body"
+msgstr ""
+
+#: glib-genmarshal.xml:52(para)
+msgid "Generate C code file contents of the marshallers."
+msgstr ""
+
+#: glib-genmarshal.xml:58(term)
+msgid "<option>--prefix=string</option>, <option>--prefix string</option>"
+msgstr ""
+
+#: glib-genmarshal.xml:59(para)
+msgid ""
+"Specify marshaller prefix. The default prefix is "
+"<literal>`g_cclosure_marshal'</literal>."
+msgstr ""
+
+#: glib-genmarshal.xml:6(refmiscinfo)
+msgid "User Commands"
+msgstr ""
+
+#: glib-genmarshal.xml:65(option)
+msgid "--skip-source"
+msgstr ""
+
+#: glib-genmarshal.xml:66(para)
+msgid "Skip source location remarks in generated comments."
+msgstr ""
+
+#: glib-genmarshal.xml:72(option)
+msgid "--nostdinc"
+msgstr ""
+
+#: glib-genmarshal.xml:73(para)
+msgid ""
+"Do not use the standard marshallers of the GObject library, and skip "
+"<filename>gmarshal.h</filename> include directive in generated header
files."
+msgstr ""
+
+#: glib-genmarshal.xml:80(option)
+msgid "--g-fatal-warnings"
+msgstr ""
+
+#: glib-genmarshal.xml:81(para)
+msgid "Make warnings fatal, that is, exit immediately once a warning
occurs."
+msgstr ""
+
+#: glib-genmarshal.xml:87(term)
+msgid "<option>-h</option>, <option>--help</option>"
+msgstr ""
+
+#: glib-genmarshal.xml:88(para)
+msgid "Print brief help and exit."
+msgstr ""
+
+#: glib-genmarshal.xml:94(term)
+msgid "<option>-v</option>, <option>--version</option>"
+msgstr ""
+
+#: glib-genmarshal.xml:95(para)
+msgid "Print version and exit."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/glib-mkenums.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,391 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: glib-mkenums.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: glib-mkenums.xml:10(refname) glib-mkenums.xml:16(command)
+#: glib-mkenums.xml:4(refentrytitle)
+msgid "glib-mkenums"
+msgstr ""
+
+#: glib-mkenums.xml:104(option)
+msgid "--template"
+msgstr ""
+
+#: glib-mkenums.xml:104(replaceable)
+msgid "file"
+msgstr ""
+
+#: glib-mkenums.xml:105(para)
+msgid ""
+"Read templates from the given file. The templates are enclosed in
specially-"
+"formatted C comments <placeholder-1/> where section may be <literal>file-"
+"header</literal>, <literal>file-production</literal>,
<literal>file-tail</"
+"literal>, <literal>enumeration-production</literal>,
<literal>value-header</"
+"literal>, <literal>value-production</literal>,
<literal>value-tail</literal> "
+"or <literal>comment</literal>."
+msgstr ""
+
+#: glib-mkenums.xml:108(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/*** BEGIN section ***/\n"
+"/*** END section ***/\n"
+msgstr ""
+
+#: glib-mkenums.xml:11(refpurpose)
+msgid "C language enum description generation utility"
+msgstr ""
+
+#: glib-mkenums.xml:121(option)
+msgid "--help"
+msgstr ""
+
+#: glib-mkenums.xml:122(para)
+msgid "Print brief help and exit."
+msgstr ""
+
+#: glib-mkenums.xml:128(option)
+msgid "--version"
+msgstr ""
+
+#: glib-mkenums.xml:129(para)
+msgid "Print version and exit."
+msgstr ""
+
+#: glib-mkenums.xml:137(title)
+msgid "Production text substitutions"
+msgstr ""
+
+#: glib-mkenums.xml:138(para)
+msgid ""
+"Certain keywords enclosed in @ characters will be substituted in the
emitted "
+"text. For the substitution examples of the keywords below, the following "
+"example enum definition is assumed: <placeholder-1/><placeholder-2/>"
+msgstr ""
+
+#: glib-mkenums.xml:142(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef enum\n"
+"{\n"
+" PREFIX_THE_XVALUE = 1 &lt;&lt; 3,\n"
+" PREFIX_ANOTHER_VALUE = 1 &lt;&lt; 4\n"
+"} PrefixTheXEnum;\n"
+msgstr ""
+
+#: glib-mkenums.xml:151(term)
+msgid "@EnumName@"
+msgstr ""
+
+#: glib-mkenums.xml:152(para)
+msgid ""
+"The name of the enum currently being processed, enum names are assumed to
be "
+"properly namespaced and to use mixed capitalization to separate words
(e.g. "
+"PrefixTheXEnum)."
+msgstr ""
+
+#: glib-mkenums.xml:160(term)
+msgid "@enum_name@"
+msgstr ""
+
+#: glib-mkenums.xml:161(para)
+msgid ""
+"The enum name with words lowercase and word-separated by underscores
(e.g. "
+"prefix_the_xenum)."
+msgstr ""
+
+#: glib-mkenums.xml:168(term)
+msgid "@ENUMNAME@"
+msgstr ""
+
+#: glib-mkenums.xml:169(para)
+msgid ""
+"The enum name with words uppercase and word-separated by underscores
(e.g. "
+"PREFIX_THE_XENUM)."
+msgstr ""
+
+#: glib-mkenums.xml:17(arg)
+msgid "options"
+msgstr ""
+
+#: glib-mkenums.xml:176(term)
+msgid "@ENUMSHORT@"
+msgstr ""
+
+#: glib-mkenums.xml:177(para)
+msgid ""
+"The enum name with words uppercase and word-separated by underscores,
prefix "
+"stripped (e.g. THE_XENUM)."
+msgstr ""
+
+#: glib-mkenums.xml:18(arg)
+msgid "files"
+msgstr ""
+
+#: glib-mkenums.xml:184(term)
+msgid "@VALUENAME@"
+msgstr ""
+
+#: glib-mkenums.xml:185(para)
+msgid ""
+"The enum value name currently being processed with words uppercase and
word-"
+"separated by underscores, this is the assumed literal notation of enum "
+"values in the C sources (e.g. PREFIX_THE_XVALUE)."
+msgstr ""
+
+#: glib-mkenums.xml:194(term)
+msgid "@valuenick@"
+msgstr ""
+
+#: glib-mkenums.xml:195(para)
+msgid ""
+"A nick name for the enum value currently being processed, this is
usually "
+"generated by stripping common prefix words of all the enum values of the "
+"current enum, the words are lowercase and underscores are substituted by
a "
+"minus (e.g. the-xvalue)."
+msgstr ""
+
+#: glib-mkenums.xml:204(term)
+msgid "@valuenum@"
+msgstr ""
+
+#: glib-mkenums.xml:205(para)
+msgid ""
+"The integer value for the enum value currently being processed. This is "
+"calculated by using <command>perl</command> to attempt to evaluate the "
+"expression as it appears in the C source code. If evaluation fails then "
+"<command>glib-mkenums</command> will exit with an error status, but this "
+"only happens if <literal>@valuenum@</literal> appears in your value "
+"production template. (Since: 2.26)"
+msgstr ""
+
+#: glib-mkenums.xml:216(term)
+msgid "@type@"
+msgstr ""
+
+#: glib-mkenums.xml:217(para)
+msgid ""
+"This is substituted either by \"enum\" or \"flags\", depending on
whether "
+"the enum value definitions contained bit-shift operators or not (e.g.
flags)."
+msgstr ""
+
+#: glib-mkenums.xml:22(title)
+msgid "Description"
+msgstr ""
+
+#: glib-mkenums.xml:224(term)
+msgid "@Type@"
+msgstr ""
+
+#: glib-mkenums.xml:225(para)
+msgid ""
+"The same as <literal>@type@</literal> with the first letter capitalized
(e."
+"g. Flags)."
+msgstr ""
+
+#: glib-mkenums.xml:23(para)
+msgid ""
+"<command>glib-mkenums</command> is a small perl-script utility that
parses C "
+"code to extract enum definitions and produces enum descriptions based on "
+"text templates specified by the user. Most frequently this script is used
to "
+"produce C code that contains enum values as strings so programs can
provide "
+"value name strings for introspection."
+msgstr ""
+
+#: glib-mkenums.xml:231(term)
+msgid "@TYPE@"
+msgstr ""
+
+#: glib-mkenums.xml:232(para)
+msgid ""
+"The same as <literal>@type@</literal> with all letters uppercased (e.g. "
+"FLAGS)."
+msgstr ""
+
+#: glib-mkenums.xml:238(term)
+msgid "@filename@"
+msgstr ""
+
+#: glib-mkenums.xml:239(para)
+msgid "The name of the input file currently being processed (e.g. foo.h)."
+msgstr ""
+
+#: glib-mkenums.xml:245(term)
+msgid "@basename@"
+msgstr ""
+
+#: glib-mkenums.xml:246(para)
+msgid ""
+"The base name of the input file currently being processed (e.g. foo.h). "
+"(Since: 2.22)"
+msgstr ""
+
+#: glib-mkenums.xml:253(title)
+msgid "Trigraph extensions"
+msgstr ""
+
+#: glib-mkenums.xml:254(para)
+msgid ""
+"Some C comments are treated specially in the parsed enum definitions,
such "
+"comments start out with the trigraph sequence <literal>/*&lt;</literal>
and "
+"end with the trigraph sequence <literal>&gt;*/</literal>. Per enum "
+"definition, the options \"skip\" and \"flags\" can be specified, to
indicate "
+"this enum definition to be skipped, or for it to be treated as a flags "
+"definition, or to specify the common prefix to be stripped from all
values "
+"to generate value nicknames, respectively. The \"lowercase_name\" option
can "
+"be used to specify the word separation used in the *_get_type()
function. "
+"For instance, /*&lt; lowercase_name=gnome_vfs_uri_hide_options &gt;*/."
+msgstr ""
+
+#: glib-mkenums.xml:265(para)
+msgid ""
+"Per value definition, the options \"skip\" and \"nick\" are supported.
The "
+"former causes the value to be skipped, and the latter can be used to
specify "
+"the otherwise auto-generated nickname. Examples: <placeholder-1/>"
+msgstr ""
+
+#: glib-mkenums.xml:270(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef enum /*&lt; skip &gt;*/\n"
+"{\n"
+" PREFIX_FOO\n"
+"} PrefixThisEnumWillBeSkipped;\n"
+"typedef enum /*&lt; flags,prefix=PREFIX &gt;*/\n"
+"{\n"
+" PREFIX_THE_ZEROTH_VALUE,\t/*&lt; skip &gt;*/\n"
+" PREFIX_THE_FIRST_VALUE,\n"
+" PREFIX_THE_SECOND_VALUE,\n"
+" PREFIX_THE_THIRD_VALUE,\t/*&lt; nick=the-last-value &gt;*/\n"
+"} PrefixTheFlagsEnum;\n"
+msgstr ""
+
+#: glib-mkenums.xml:286(title)
+msgid "See also"
+msgstr ""
+
+#: glib-mkenums.xml:289(refentrytitle)
+msgid "glib-genmarshal"
+msgstr ""
+
+#: glib-mkenums.xml:290(manvolnum) glib-mkenums.xml:5(manvolnum)
+msgid "1"
+msgstr ""
+
+#: glib-mkenums.xml:31(title)
+msgid "Invocation"
+msgstr ""
+
+#: glib-mkenums.xml:32(para)
+msgid ""
+"<command>glib-mkenums</command> takes a list of valid C code files as
input. "
+"The options specified control the text that is output, certain
substitutions "
+"are performed on the text templates for keywords enclosed in @
characters."
+msgstr ""
+
+#: glib-mkenums.xml:38(title)
+msgid "Options"
+msgstr ""
+
+#: glib-mkenums.xml:42(option)
+msgid "--fhead"
+msgstr ""
+
+#: glib-mkenums.xml:42(replaceable) glib-mkenums.xml:49(replaceable)
+#: glib-mkenums.xml:57(replaceable) glib-mkenums.xml:65(replaceable)
+#: glib-mkenums.xml:73(replaceable) glib-mkenums.xml:81(replaceable)
+#: glib-mkenums.xml:88(replaceable) glib-mkenums.xml:96(replaceable)
+msgid "text"
+msgstr ""
+
+#: glib-mkenums.xml:43(para)
+msgid ""
+"Put out <replaceable>text</replaceable> prior to processing input files."
+msgstr ""
+
+#: glib-mkenums.xml:49(option)
+msgid "--fprod"
+msgstr ""
+
+#: glib-mkenums.xml:50(para)
+msgid ""
+"Put out <replaceable>text</replaceable> everytime a new input file is
being "
+"processed."
+msgstr ""
+
+#: glib-mkenums.xml:57(option)
+msgid "--ftail"
+msgstr ""
+
+#: glib-mkenums.xml:58(para)
+msgid ""
+"Put out <replaceable>text</replaceable> after all input files have been "
+"processed."
+msgstr ""
+
+#: glib-mkenums.xml:6(refmiscinfo)
+msgid "User Commands"
+msgstr ""
+
+#: glib-mkenums.xml:65(option)
+msgid "--eprod"
+msgstr ""
+
+#: glib-mkenums.xml:66(para)
+msgid ""
+"Put out <replaceable>text</replaceable> everytime an enum is encountered
in "
+"the input files."
+msgstr ""
+
+#: glib-mkenums.xml:73(option)
+msgid "--vhead"
+msgstr ""
+
+#: glib-mkenums.xml:74(para)
+msgid ""
+"Put out <replaceable>text</replaceable> before iterating over the set of "
+"values of an enum."
+msgstr ""
+
+#: glib-mkenums.xml:81(option)
+msgid "--vprod"
+msgstr ""
+
+#: glib-mkenums.xml:82(para)
+msgid "Put out <replaceable>text</replaceable> for every value of an enum."
+msgstr ""
+
+#: glib-mkenums.xml:88(option)
+msgid "--vtail"
+msgstr ""
+
+#: glib-mkenums.xml:89(para)
+msgid ""
+"Put out <replaceable>text</replaceable> after iterating over all values
of "
+"an enum."
+msgstr ""
+
+#: glib-mkenums.xml:96(option)
+msgid "--comments"
+msgstr ""
+
+#: glib-mkenums.xml:97(para)
+msgid ""
+"Template for auto-generated comments, the default (for C code
generations) "
+"is <literal>\"/* @comment@ */\"</literal>."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/gobject-docs.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,145 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: gobject-docs.sgml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: gobject-docs.sgml:10(title)
+msgid "GObject Reference Manual"
+msgstr ""
+
+#: gobject-docs.sgml:100(title)
+msgid "Index"
+msgstr ""
+
+#: gobject-docs.sgml:104(title)
+msgid "Index of deprecated symbols"
+msgstr ""
+
+#: gobject-docs.sgml:108(title)
+msgid "Index of new symbols in 2.2"
+msgstr ""
+
+#: gobject-docs.sgml:11(releaseinfo)
+msgid ""
+"for GObject 2.28.5 The latest version of this documentation can be found
on-"
+"line at <ulink role=\"online-location\"
url=\"http://library.gnome.org/devel/"
+"gobject/unstable/\">http://library.gnome.org/devel/gobject/unstable/</ulink>."
+msgstr ""
+
+#: gobject-docs.sgml:112(title)
+msgid "Index of new symbols in 2.4"
+msgstr ""
+
+#: gobject-docs.sgml:116(title)
+msgid "Index of new symbols in 2.6"
+msgstr ""
+
+#: gobject-docs.sgml:120(title)
+msgid "Index of new symbols in 2.8"
+msgstr ""
+
+#: gobject-docs.sgml:124(title)
+msgid "Index of new symbols in 2.10"
+msgstr ""
+
+#: gobject-docs.sgml:128(title)
+msgid "Index of new symbols in 2.12"
+msgstr ""
+
+#: gobject-docs.sgml:132(title)
+msgid "Index of new symbols in 2.14"
+msgstr ""
+
+#: gobject-docs.sgml:136(title)
+msgid "Index of new symbols in 2.18"
+msgstr ""
+
+#: gobject-docs.sgml:140(title)
+msgid "Index of new symbols in 2.22"
+msgstr ""
+
+#: gobject-docs.sgml:144(title)
+msgid "Index of new symbols in 2.24"
+msgstr ""
+
+#: gobject-docs.sgml:148(title)
+msgid "Index of new symbols in 2.26"
+msgstr ""
+
+#: gobject-docs.sgml:152(title)
+msgid "Index of new symbols in 2.28"
+msgstr ""
+
+#: gobject-docs.sgml:19(title)
+msgid "Introduction"
+msgstr ""
+
+#: gobject-docs.sgml:20(para)
+msgid ""
+"Most modern programming languages come with their own native object
systems "
+"and additional fundamental algorithmic language constructs. Just as GLib "
+"serves as an implementation of such fundamental types and algorithms
(linked "
+"lists, hash tables and so forth), the GLib Object System provides the "
+"required implementations of a flexible extensible and intentionally easy
to "
+"map (into other languages) object-oriented framework for C. The
substantial "
+"elements that are provided can be summarized as: <placeholder-1/>"
+msgstr ""
+
+#: gobject-docs.sgml:30(para)
+msgid ""
+"A generic type system to register arbitrary single-inherited flat and
deep "
+"derived types as well as interfaces for structured types. It takes care
of "
+"creation, initialization and memory management of the assorted object
and "
+"class structures, maintains parent/child relationships and deals with "
+"dynamic implementations of such types. That is, their type specific "
+"implementations are relocatable/unloadable during runtime."
+msgstr ""
+
+#: gobject-docs.sgml:40(para)
+msgid ""
+"A collection of fundamental type implementations, such as integers,
doubles, "
+"enums and structured types, to name a few."
+msgstr ""
+
+#: gobject-docs.sgml:44(para)
+msgid ""
+"A sample fundamental type implementation to base object hierarchies upon
- "
+"the GObject fundamental type."
+msgstr ""
+
+#: gobject-docs.sgml:48(para)
+msgid ""
+"A signal system that allows very flexible user customization of virtual/"
+"overridable object methods and can serve as a powerful notification "
+"mechanism."
+msgstr ""
+
+#: gobject-docs.sgml:53(para)
+msgid ""
+"An extensible parameter/value system, supporting all the provided "
+"fundamental types that can be used to generically handle object
properties "
+"or otherwise parameterized types."
+msgstr ""
+
+#: gobject-docs.sgml:63(title)
+msgid "Concepts"
+msgstr ""
+
+#: gobject-docs.sgml:71(title)
+msgid "API Reference"
+msgstr ""
+
+#: gobject-docs.sgml:89(title)
+msgid "Tools Reference"
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/gobject-query.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,144 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: gobject-query.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: gobject-query.xml:10(refname) gobject-query.xml:16(command)
+#: gobject-query.xml:21(command) gobject-query.xml:4(refentrytitle)
+msgid "gobject-query"
+msgstr ""
+
+#: gobject-query.xml:101(term)
+msgid "<option>-v</option>, <option>--version</option>"
+msgstr ""
+
+#: gobject-query.xml:102(para)
+msgid "Print version and exit."
+msgstr ""
+
+#: gobject-query.xml:11(refpurpose)
+msgid "display a tree of types"
+msgstr ""
+
+#: gobject-query.xml:17(arg) gobject-query.xml:44(option)
+msgid "froots"
+msgstr ""
+
+#: gobject-query.xml:18(arg) gobject-query.xml:23(arg)
+msgid "options"
+msgstr ""
+
+#: gobject-query.xml:22(arg) gobject-query.xml:51(option)
+msgid "tree"
+msgstr ""
+
+#: gobject-query.xml:27(title)
+msgid "Description"
+msgstr ""
+
+#: gobject-query.xml:28(para)
+msgid ""
+"<command>gobject-query</command> is a small utility that draws a tree of "
+"types."
+msgstr ""
+
+#: gobject-query.xml:34(title)
+msgid "Invocation"
+msgstr ""
+
+#: gobject-query.xml:35(para)
+msgid ""
+"<command>gobject-query</command> takes a mandatory argument that
specifies "
+"whether it should iterate over the fundamental types or print a type
tree."
+msgstr ""
+
+#: gobject-query.xml:40(title)
+msgid "Options"
+msgstr ""
+
+#: gobject-query.xml:45(para)
+msgid "iterate over fundamental roots"
+msgstr ""
+
+#: gobject-query.xml:5(manvolnum)
+msgid "1"
+msgstr ""
+
+#: gobject-query.xml:52(para)
+msgid "print type tree"
+msgstr ""
+
+#: gobject-query.xml:58(option)
+msgid "-r"
+msgstr ""
+
+#: gobject-query.xml:58(replaceable)
+msgid "type"
+msgstr ""
+
+#: gobject-query.xml:59(para)
+msgid "specify the root type"
+msgstr ""
+
+#: gobject-query.xml:6(refmiscinfo)
+msgid "User Commands"
+msgstr ""
+
+#: gobject-query.xml:65(option)
+msgid "-n"
+msgstr ""
+
+#: gobject-query.xml:66(para)
+msgid "don't descend type tree"
+msgstr ""
+
+#: gobject-query.xml:72(option)
+msgid "-b"
+msgstr ""
+
+#: gobject-query.xml:72(replaceable) gobject-query.xml:79(replaceable)
+msgid "string"
+msgstr ""
+
+#: gobject-query.xml:73(para)
+msgid "specify indent string"
+msgstr ""
+
+#: gobject-query.xml:79(option)
+msgid "-i"
+msgstr ""
+
+#: gobject-query.xml:80(para)
+msgid "specify incremental indent string"
+msgstr ""
+
+#: gobject-query.xml:87(option)
+msgid "-s"
+msgstr ""
+
+#: gobject-query.xml:87(replaceable)
+msgid "number"
+msgstr ""
+
+#: gobject-query.xml:88(para)
+msgid "specify line spacing"
+msgstr ""
+
+#: gobject-query.xml:94(term)
+msgid "<option>-h</option>, <option>--help</option>"
+msgstr ""
+
+#: gobject-query.xml:95(para)
+msgid "Print brief help and exit."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_gobject.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,853 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_gobject.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_gobject.xml:124(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"MamanBar *bar = g_object_new (MAMAN_TYPE_BAR, NULL);\n"
+msgstr ""
+
+#: tut_gobject.xml:138(para)
+msgid ""
+"Once <function><link
linkend=\"g-object-new\">g_object_new</link></function> "
+"has obtained a reference to an initialized class structure, it invokes
its "
+"constructor method to create an instance of the new object. Since it has "
+"just been overridden by <function>maman_bar_class_init</function> to "
+"<function>maman_bar_constructor</function>, the latter is called and, "
+"because it was implemented correctly, it chains up to its parent's "
+"constructor. In order to find the parent class and chain up to the
parent "
+"class constructor, we can use the
<literal>maman_bar_parent_class</literal> "
+"pointer that has been set up for us by the
<literal>G_DEFINE_TYPE</literal> "
+"macro."
+msgstr ""
+
+#: tut_gobject.xml:14(para)
+msgid ""
+"<link linkend=\"GObject\"><type>GObject</type></link> is a fundamental "
+"classed instantiable type. It implements: <placeholder-1/> All the GNOME "
+"libraries which use the GLib type system (like GTK+ and GStreamer)
inherit "
+"from <link linkend=\"GObject\"><type>GObject</type></link> which is why
it "
+"is important to understand the details of how it works."
+msgstr ""
+
+#: tut_gobject.xml:150(para)
+msgid ""
+"Finally, at one point or another,
<function>g_object_constructor</function> "
+"is invoked by the last constructor in the chain. This function allocates
the "
+"object's instance' buffer through <function><link
linkend=\"g-type-create-"
+"instance\">g_type_create_instance</link></function> which means that the "
+"instance_init function is invoked at this point if one was registered.
After "
+"instance_init returns, the object is fully initialized and should be
ready "
+"to answer any user-request. When <function><link linkend=\"g-type-create-"
+"instance\">g_type_create_instance</link></function> returns, "
+"<function>g_object_constructor</function> sets the construction
properties "
+"(i.e. the properties which were given to <function><link
linkend=\"g-object-"
+"new\">g_object_new</link></function>) and returns to the user's
constructor "
+"which is then allowed to do useful instance initialization..."
+msgstr ""
+
+#: tut_gobject.xml:162(para)
+msgid ""
+"The process described above might seem a bit complicated, but it can be "
+"summarized easily by the table below which lists the functions invoked
by "
+"<function><link linkend=\"g-object-new\">g_object_new</link></function>
and "
+"their order of invocation:"
+msgstr ""
+
+#: tut_gobject.xml:17(para)
+msgid "Memory management with reference counting"
+msgstr ""
+
+#: tut_gobject.xml:171(link) tut_gobject.xml:187(link)
+#: tut_gobject.xml:219(link)
+msgid "g_object_new"
+msgstr ""
+
+#: tut_gobject.xml:179(entry)
+msgid "Invocation time"
+msgstr ""
+
+#: tut_gobject.xml:18(para)
+msgid "Construction/Destruction of instances"
+msgstr ""
+
+#: tut_gobject.xml:180(entry)
+msgid "Function Invoked"
+msgstr ""
+
+#: tut_gobject.xml:181(entry)
+msgid "Function's parameters"
+msgstr ""
+
+#: tut_gobject.xml:182(entry)
+msgid "Remark"
+msgstr ""
+
+#: tut_gobject.xml:187(entry)
+msgid "First call to <function><placeholder-1/></function> for target type"
+msgstr ""
+
+#: tut_gobject.xml:188(entry)
+msgid "target type's base_init function"
+msgstr ""
+
+#: tut_gobject.xml:189(entry)
+msgid ""
+"On the inheritance tree of classes from fundamental type to target type. "
+"base_init is invoked once for each class structure."
+msgstr ""
+
+#: tut_gobject.xml:19(para)
+msgid "Generic per-object properties with set/get function pairs"
+msgstr ""
+
+#: tut_gobject.xml:191(entry)
+msgid ""
+"I have no real idea on how this can be used. If you have a good
real-life "
+"example of how a class' base_init can be used, please, let me know."
+msgstr ""
+
+#. entry>First call to <function><link
linkend="g-object-new">g_object_new</link></function> for target type</entry
+#: tut_gobject.xml:198(entry)
+msgid "target type's class_init function"
+msgstr ""
+
+#: tut_gobject.xml:199(entry)
+msgid "On target type's class structure"
+msgstr ""
+
+#: tut_gobject.xml:20(para)
+msgid "Easy use of signals"
+msgstr ""
+
+#: tut_gobject.xml:200(entry)
+msgid ""
+"Here, you should make sure to initialize or override class methods (that
is, "
+"assign to each class' method its function pointer) and create the
signals "
+"and the properties associated to your object."
+msgstr ""
+
+#. entry>First call to <function><link
linkend="g-object-new">g_object_new</link></function> for target type</entry
+#: tut_gobject.xml:208(entry)
+msgid "interface' base_init function"
+msgstr ""
+
+#: tut_gobject.xml:209(entry) tut_gobject.xml:215(entry)
+msgid "On interface' vtable"
+msgstr ""
+
+#. entry>First call to <function><link
linkend="g-object-new">g_object_new</link></function> for target type</entry
+#: tut_gobject.xml:214(entry)
+msgid "interface' interface_init function"
+msgstr ""
+
+#: tut_gobject.xml:219(entry)
+msgid "Each call to <function><placeholder-1/></function> for target type"
+msgstr ""
+
+#: tut_gobject.xml:220(entry)
+msgid "target type's class constructor method:
GObjectClass-&gt;constructor"
+msgstr ""
+
+#: tut_gobject.xml:221(entry)
+msgid "On object's instance"
+msgstr ""
+
+#: tut_gobject.xml:222(entry)
+msgid ""
+"If you need to complete the object initialization after all the
construction "
+"properties are set, override the constructor method and make sure to
chain "
+"up to the object's parent class before doing your own initialization. In "
+"doubt, do not override the constructor method."
+msgstr ""
+
+#. entry>Each call to <function><link
linkend="g-object-new">g_object_new</link></function> for target type</entry
+#: tut_gobject.xml:231(entry)
+msgid "type's instance_init function"
+msgstr ""
+
+#: tut_gobject.xml:232(entry)
+msgid ""
+"On the inheritance tree of classes from fundamental type to target type.
the "
+"instance_init provided for each type is invoked once for each instance "
+"structure."
+msgstr ""
+
+#: tut_gobject.xml:235(entry)
+msgid ""
+"Provide an instance_init function to initialize your object before its "
+"construction properties are set. This is the preferred way to initialize
a "
+"GObject instance. This function is equivalent to C++ constructors."
+msgstr ""
+
+#: tut_gobject.xml:246(para)
+msgid ""
+"Readers should feel concerned about one little twist in the order in
which "
+"functions are invoked: while, technically, the class' constructor method
is "
+"called <emphasis>before</emphasis> the GType's instance_init function
(since "
+"<function><link
linkend=\"g-type-create-instance\">g_type_create_instance</"
+"link></function> which calls instance_init is called by "
+"<function>g_object_constructor</function> which is the top-level class "
+"constructor method and to which users are expected to chain to), the
user's "
+"code which runs in a user-provided constructor will always run "
+"<emphasis>after</emphasis> GType's instance_init function since the user-"
+"provided constructor <emphasis>must</emphasis> (you've been warned) chain
up "
+"<emphasis>before</emphasis> doing anything useful."
+msgstr ""
+
+#: tut_gobject.xml:261(title)
+msgid "Object memory management"
+msgstr ""
+
+#: tut_gobject.xml:263(para)
+msgid ""
+"The memory-management API for GObjects is a bit complicated but the idea "
+"behind it is pretty simple: the goal is to provide a flexible model based
on "
+"reference counting which can be integrated in applications which use or "
+"require different memory management models (such as garbage collection, "
+"aso...). The methods which are used to manipulate this reference count
are "
+"described below. <placeholder-1/>"
+msgstr ""
+
+#: tut_gobject.xml:269(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/*\n"
+" Refcounting\n"
+"*/\n"
+"gpointer g_object_ref (gpointer object);\n"
+"void g_object_unref (gpointer object);\n"
+"\n"
+"/*\n"
+" * Weak References\n"
+" */\n"
+"typedef void (*GWeakNotify) (gpointer data,\n"
+" GObject *where_the_object_was);\n"
+"\n"
+"void g_object_weak_ref (GObject *object,\n"
+" GWeakNotify notify,\n"
+" gpointer data);\n"
+"void g_object_weak_unref (GObject *object,\n"
+" GWeakNotify notify,\n"
+" gpointer data);\n"
+"void g_object_add_weak_pointer (GObject *object, \n"
+" gpointer *weak_pointer_location);\n"
+"void g_object_remove_weak_pointer (GObject *object, \n"
+" gpointer *weak_pointer_location);\n"
+"/*\n"
+" * Cycle handling\n"
+" */\n"
+"void g_object_run_dispose (GObject *object);\n"
+msgstr ""
+
+#: tut_gobject.xml:28(title)
+msgid "Object instantiation"
+msgstr ""
+
+#: tut_gobject.xml:30(para)
+msgid ""
+"The <function><link
linkend=\"g-object-new\">g_object_new</link></function> "
+"family of functions can be used to instantiate any GType which inherits
from "
+"the GObject base type. All these functions make sure the class and
instance "
+"structures have been correctly initialized by GLib's type system and
then "
+"invoke at one point or another the constructor class method which is
used "
+"to: <placeholder-1/> Although one can expect all class and instance
members "
+"(except the fields pointing to the parents) to be set to zero, some
consider "
+"it good practice to explicitly set them."
+msgstr ""
+
+#: tut_gobject.xml:300(title)
+msgid "Reference count"
+msgstr ""
+
+#: tut_gobject.xml:302(para)
+msgid ""
+"The functions <function><link
linkend=\"g-object-ref\">g_object_ref</link></"
+"function>/<function><link
linkend=\"g-object-unref\">g_object_unref</link></"
+"function> respectively increase and decrease the reference count.These "
+"functions are thread-safe as of GLib 2.8. The reference count is, "
+"unsurprisingly, initialized to one by <function><link
linkend=\"g-object-new"
+"\">g_object_new</link></function> which means that the caller is
currently "
+"the sole owner of the newly-created reference. When the reference count "
+"reaches zero, that is, when <function><link linkend=\"g-object-unref"
+"\">g_object_unref</link></function> is called by the last client holding
a "
+"reference to the object, the <emphasis>dispose</emphasis> and the "
+"<emphasis>finalize</emphasis> class methods are invoked."
+msgstr ""
+
+#: tut_gobject.xml:313(para)
+msgid ""
+"Finally, after <emphasis>finalize</emphasis> is invoked, <function><link "
+"linkend=\"g-type-free-instance\">g_type_free_instance</link></function>
is "
+"called to free the object instance. Depending on the memory allocation "
+"policy decided when the type was registered (through one of the "
+"<function>g_type_register_*</function> functions), the object's instance "
+"memory will be freed or returned to the object pool for this type. Once
the "
+"object has been freed, if it was the last instance of the type, the
type's "
+"class will be destroyed as described in <xref
linkend=\"gtype-instantiable-"
+"classed\"/> and <xref linkend=\"gtype-non-instantiable-classed\"/>."
+msgstr ""
+
+#: tut_gobject.xml:324(para)
+msgid ""
+"The table below summarizes the destruction process of a GObject: <table
id="
+"\"gobject-destruction-table\"><placeholder-1/><tgroup
cols=\"3\"><colspec "
+"colwidth=\"*\" colnum=\"1\" align=\"left\"/><colspec colwidth=\"*\"
colnum="
+"\"2\" align=\"left\"/><colspec colwidth=\"8*\" colnum=\"3\"
align=\"left\"/"
+"><thead><row><entry>Invocation time</entry><entry>Function Invoked</"
+"entry><entry>Function's parameters</entry><entry>Remark</entry></row></"
+"thead><tbody><row><entry morerows=\"1\">Last call to <function><link
linkend="
+"\"g-object-unref\">g_object_unref</link></function> for an instance of "
+"target type </entry><entry>target type's dispose class function</"
+"entry><entry>GObject instance</entry><entry> When dispose ends, the
object "
+"should not hold any reference to any other member object. The object is
also "
+"expected to be able to answer client method invocations (with possibly
an "
+"error code but no memory violation) until finalize is executed. dispose
can "
+"be executed more than once. dispose should chain up to its parent "
+"implementation just before returning to the caller. </entry></"
+"row><row><entry>target type's finalize class
function</entry><entry>GObject "
+"instance</entry><entry> Finalize is expected to complete the destruction "
+"process initiated by dispose. It should complete the object's
destruction. "
+"finalize will be executed only once. finalize should chain up to its
parent "
+"implementation just before returning to the caller. The reason why the "
+"destruction process is split is two different phases is explained in
<xref "
+"linkend=\"gobject-memory-cycles\"/>. </entry></row><row><entry morerows="
+"\"3\">Last call to <function><link linkend=\"g-object-unref"
+"\">g_object_unref</link></function> for the last instance of target type
</"
+"entry><entry>interface' interface_finalize function</entry><entry>On "
+"interface' vtable</entry><entry>Never used in practice. Unlikely you
will "
+"need it.</entry></row><row><entry>interface' base_finalize function</"
+"entry><entry>On interface' vtable</entry><entry>Never used in practice. "
+"Unlikely you will need it.</entry></row><row><entry>target type's "
+"class_finalize function</entry><entry>On target type's class structure</"
+"entry><entry>Never used in practice. Unlikely you will need it.</entry></"
+"row><row><entry>type's base_finalize function</entry><entry>On the "
+"inheritance tree of classes from fundamental type to target type.
base_init "
+"is invoked once for each class structure.</entry><entry>Never used in "
+"practice. Unlikely you will need
it.</entry></row></tbody></tgroup></table>"
+msgstr ""
+
+#: tut_gobject.xml:327(link)
+msgid "g_object_unref"
+msgstr ""
+
+#: tut_gobject.xml:38(para)
+msgid ""
+"Allocate and clear memory through <function><link
linkend=\"g-type-create-"
+"instance\">g_type_create_instance</link></function>,"
+msgstr ""
+
+#: tut_gobject.xml:41(para)
+msgid "Initialize the object's instance with the construction properties."
+msgstr ""
+
+#: tut_gobject.xml:414(title)
+msgid "Weak References"
+msgstr ""
+
+#: tut_gobject.xml:416(para)
+msgid ""
+"Weak References are used to monitor object finalization: <function><link "
+"linkend=\"g-object-weak-ref\">g_object_weak_ref</link></function> adds a "
+"monitoring callback which does not hold a reference to the object but
which "
+"is invoked when the object runs its dispose method. As such, each weak
ref "
+"can be invoked more than once upon object finalization (since dispose
can "
+"run more than once during object finalization)."
+msgstr ""
+
+#: tut_gobject.xml:425(para)
+msgid ""
+"<function><link
linkend=\"g-object-weak-unref\">g_object_weak_unref</link></"
+"function> can be used to remove a monitoring callback from the object."
+msgstr ""
+
+#: tut_gobject.xml:430(para)
+msgid ""
+"Weak References are also used to implement <function><link linkend=\"g-"
+"object-add-weak-pointer\">g_object_add_weak_pointer</link></function>
and "
+"<function><link linkend=\"g-object-remove-weak-pointer"
+"\">g_object_remove_weak_pointer</link></function>. These functions add a "
+"weak reference to the object they are applied to which makes sure to
nullify "
+"the pointer given by the user when object is finalized."
+msgstr ""
+
+#: tut_gobject.xml:440(title)
+msgid "Reference counts and cycles"
+msgstr ""
+
+#: tut_gobject.xml:442(para)
+msgid ""
+"Note: the following section was inspired by James Henstridge. I guess
this "
+"means that all praise and all curses will be directly forwarded to him."
+msgstr ""
+
+#: tut_gobject.xml:447(para)
+msgid ""
+"GObject's memory management model was designed to be easily integrated
in "
+"existing code using garbage collection. This is why the destruction
process "
+"is split in two phases: the first phase, executed in the dispose handler
is "
+"supposed to release all references to other member objects. The second "
+"phase, executed by the finalize handler is supposed to complete the
object's "
+"destruction process. Object methods should be able to run without
program "
+"error (that is, without segfault :) in-between the two phases."
+msgstr ""
+
+#: tut_gobject.xml:456(para)
+msgid ""
+"This two-step destruction process is very useful to break reference
counting "
+"cycles. While the detection of the cycles is up to the external code,
once "
+"the cycles have been detected, the external code can invoke
<function><link "
+"linkend=\"g-object-run-dispose\">g_object_run_dispose</link></function> "
+"which will indeed break any existing cycles since it will run the
dispose "
+"handler associated to the object and thus release all references to
other "
+"objects."
+msgstr ""
+
+#: tut_gobject.xml:464(para)
+msgid ""
+"Attentive readers might now have understood one of the rules about the "
+"dispose handler we stated a bit sooner: the dispose handler can be
invoked "
+"multiple times. Let's say we have a reference count cycle: object A "
+"references B which itself references object A. Let's say we have
detected "
+"the cycle and we want to destroy the two objects. One way to do this
would "
+"be to invoke <function><link linkend=\"g-object-run-dispose"
+"\">g_object_run_dispose</link></function> on one of the objects."
+msgstr ""
+
+#: tut_gobject.xml:473(para)
+msgid ""
+"If object A releases all its references to all objects, this means it "
+"releases its reference to object B. If object B was not owned by anyone "
+"else, this is its last reference count which means this last unref runs
B's "
+"dispose handler which, in turn, releases B's reference on object A. If
this "
+"is A's last reference count, this last unref runs A's dispose handler
which "
+"is running for the second time before A's finalize handler is invoked !"
+msgstr ""
+
+#: tut_gobject.xml:482(para)
+msgid ""
+"The above example, which might seem a bit contrived can really happen if "
+"your GObject's are being handled by language bindings. I would thus
suggest "
+"the rules stated above for object destruction are closely followed. "
+"Otherwise, <emphasis>Bad Bad Things</emphasis> will happen."
+msgstr ""
+
+#: tut_gobject.xml:492(title)
+msgid "Object properties"
+msgstr ""
+
+#: tut_gobject.xml:494(para)
+msgid ""
+"One of GObject's nice features is its generic get/set mechanism for
object "
+"properties. When an object is instantiated, the object's class_init
handler "
+"should be used to register the object's properties with <function><link "
+"linkend=\"g-object-class-install-property\">g_object_class_install_property</"
+"link></function> (implemented in <filename>gobject.c</filename>)."
+msgstr ""
+
+#: tut_gobject.xml:50(para)
+msgid ""
+"Objects which inherit from GObject are allowed to override this
constructor "
+"class method: they should however chain to their parent constructor
method "
+"before doing so: <placeholder-1/>"
+msgstr ""
+
+#: tut_gobject.xml:502(para)
+msgid ""
+"The best way to understand how object properties work is by looking at a "
+"real example on how it is used: <placeholder-1/> The client code just
above "
+"looks simple but a lot of things happen under the hood:"
+msgstr ""
+
+#: tut_gobject.xml:505(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/************************************************/\n"
+"/* Implementation */\n"
+"/************************************************/\n"
+"\n"
+"enum\n"
+"{\n"
+" PROP_0,\n"
+"\n"
+" PROP_MAMAN_NAME,\n"
+" PROP_PAPA_NUMBER\n"
+"};\n"
+"\n"
+"static void\n"
+"maman_bar_set_property (GObject *object,\n"
+" guint property_id,\n"
+" const GValue *value,\n"
+" GParamSpec *pspec)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (object);\n"
+"\n"
+" switch (property_id)\n"
+" {\n"
+" case PROP_MAMAN_NAME:\n"
+" g_free (self-&gt;priv-&gt;name);\n"
+" self-&gt;priv-&gt;name = g_value_dup_string (value);\n"
+" g_print (\"maman: %s\\n\", self-&gt;priv-&gt;name);\n"
+" break;\n"
+"\n"
+" case PROP_PAPA_NUMBER:\n"
+" self-&gt;priv-&gt;papa_number = g_value_get_uchar (value);\n"
+" g_print (\"papa: &percnt;u\\n\", self-&gt;priv-&gt;papa_number);\n"
+" break;\n"
+"\n"
+" default:\n"
+" /* We don't have any other property... */\n"
+" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);\n"
+" break;\n"
+" }\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_get_property (GObject *object,\n"
+" guint property_id,\n"
+" GValue *value,\n"
+" GParamSpec *pspec)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (object);\n"
+"\n"
+" switch (property_id)\n"
+" {\n"
+" case PROP_MAMAN_NAME:\n"
+" g_value_set_string (value, self-&gt;priv-&gt;name);\n"
+" break;\n"
+"\n"
+" case PROP_PAPA_NUMBER:\n"
+" g_value_set_uchar (value, self-&gt;priv-&gt;papa_number);\n"
+" break;\n"
+"\n"
+" default:\n"
+" /* We don't have any other property... */\n"
+" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);\n"
+" break;\n"
+" }\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+" GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n"
+" GParamSpec *pspec;\n"
+"\n"
+" gobject_class-&gt;set_property = maman_bar_set_property;\n"
+" gobject_class-&gt;get_property = maman_bar_get_property;\n"
+"\n"
+" pspec = g_param_spec_string (\"maman-name\",\n"
+" \"Maman construct prop\",\n"
+" \"Set maman's name\",\n"
+" \"no-name-set\" /* default value */,\n"
+" G_PARAM_CONSTRUCT_ONLY |
G_PARAM_READWRITE);\n"
+" g_object_class_install_property (gobject_class,\n"
+" PROP_MAMAN_NAME,\n"
+" pspec);\n"
+"\n"
+" pspec = g_param_spec_uchar (\"papa-number\",\n"
+" \"Number of current Papa\",\n"
+" \"Set/Get papa's number\",\n"
+" 0 /* minimum value */,\n"
+" 10 /* maximum value */,\n"
+" 2 /* default value */,\n"
+" G_PARAM_READWRITE);\n"
+" g_object_class_install_property (gobject_class,\n"
+" PROP_PAPA_NUMBER,\n"
+" pspec);\n"
+"}\n"
+"\n"
+"/************************************************/\n"
+"/* Use */\n"
+"/************************************************/\n"
+"\n"
+"GObject *bar;\n"
+"GValue val = { 0, };\n"
+"\n"
+"bar = g_object_new (MAMAN_TYPE_SUBBAR, NULL);\n"
+"\n"
+"g_value_init (&amp;val, G_TYPE_CHAR);\n"
+"g_value_set_char (&amp;val, 11);\n"
+"\n"
+"g_object_set_property (G_OBJECT (bar), \"papa-number\", &amp;val);\n"
+"\n"
+"g_value_unset (&amp;val);\n"
+msgstr ""
+
+#: tut_gobject.xml:54(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+" GObject *(* constructor) (GType gtype,\n"
+" guint n_properties,\n"
+" GObjectConstructParam *properties);\n"
+msgstr ""
+
+#: tut_gobject.xml:6(title)
+msgid "The GObject base class"
+msgstr ""
+
+#: tut_gobject.xml:61(para)
+msgid ""
+"The example below shows how <type>MamanBar</type> overrides the parent's "
+"constructor: <placeholder-1/> If the user instantiates an object "
+"<type>MamanBar</type> with: <placeholder-2/> If this is the first "
+"instantiation of such an object, the <function>maman_bar_class_init</"
+"function> function will be invoked after any "
+"<function>maman_bar_base_class_init</function> function. This will make
sure "
+"the class structure of this new object is correctly initialized. Here, "
+"<function>maman_bar_class_init</function> is expected to override the "
+"object's class methods and setup the class' own methods. In the example "
+"above, the constructor method is the only overridden method: it is set
to "
+"<function>maman_bar_constructor</function>."
+msgstr ""
+
+#: tut_gobject.xml:620(para)
+msgid ""
+"<function><link linkend=\"g-object-set-property\">g_object_set_property</"
+"link></function> first ensures a property with this name was registered
in "
+"bar's class_init handler. If so, it calls <function><link
linkend=\"object-"
+"set-property\">object_set_property</link></function> which first walks
the "
+"class hierarchy, from bottom, most derived type, to top, fundamental type
to "
+"find the class which registered that property. It then tries to convert
the "
+"user-provided GValue into a GValue whose type is that of the associated "
+"property."
+msgstr ""
+
+#: tut_gobject.xml:629(para)
+msgid ""
+"If the user provides a signed char GValue, as is shown here, and if the "
+"object's property was registered as an unsigned int, <function><link
linkend="
+"\"g-value-transform\">g_value_transform</link></function> will try to "
+"transform the input signed char into an unsigned int. Of course, the
success "
+"of the transformation depends on the availability of the required
transform "
+"function. In practice, there will almost always be a transformation "
+"<placeholder-1/> which matches and conversion will be carried out if
needed."
+msgstr ""
+
+#: tut_gobject.xml:63(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"#define MAMAN_TYPE_BAR (maman_bar_get_type ())\n"
+"#define MAMAN_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST
((obj), MAMAN_TYPE_BAR, MamanBar))\n"
+"#define MAMAN_IS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE
((obj), MAMAN_TYPE_BAR))\n"
+"#define MAMAN_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST
((klass), MAMAN_TYPE_BAR, MamanBarClass))\n"
+"#define MAMAN_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE
((klass), MAMAN_TYPE_BAR))\n"
+"#define MAMAN_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS
((obj), MAMAN_TYPE_BAR, MamanBarClass))\n"
+"\n"
+"typedef struct _MamanBar MamanBar;\n"
+"typedef struct _MamanBarClass MamanBarClass;\n"
+"\n"
+"struct _MamanBar\n"
+"{\n"
+" GObject parent_instance;\n"
+"\n"
+" /* instance members */\n"
+"};\n"
+"\n"
+"struct _MamanBarClass\n"
+"{\n"
+" GObjectClass parent_class;\n"
+"\n"
+" /* class members */\n"
+"};\n"
+"\n"
+"/* will create maman_bar_get_type and set maman_bar_parent_class */\n"
+"G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT);\n"
+"\n"
+"static GObject *\n"
+"maman_bar_constructor (GType gtype,\n"
+" guint n_properties,\n"
+" GObjectConstructParam *properties)\n"
+"{\n"
+" GObject *obj;\n"
+"\n"
+" {\n"
+" /* Always chain up to the parent constructor */\n"
+" obj = G_OBJECT_CLASS (maman_bar_parent_class)-&gt;constructor (gtype,
n_properties, properties);\n"
+" }\n"
+" \n"
+" /* update the object state depending on constructor properties */\n"
+"\n"
+" return obj;\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+" GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n"
+"\n"
+" gobject_class-&gt;constructor = maman_bar_constructor;\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_init (MamanBar *self)\n"
+"{\n"
+" /* initialize the object */\n"
+"}\n"
+"\n"
+msgstr ""
+
+#: tut_gobject.xml:636(para)
+msgid ""
+"Its behaviour might not be what you expect but it is up to you to
actually "
+"avoid relying on these transformations."
+msgstr ""
+
+#: tut_gobject.xml:643(para)
+msgid ""
+"After transformation, the <link linkend=\"GValue\"><type>GValue</type></"
+"link> is validated by <function><link linkend=\"g-param-value-validate"
+"\">g_param_value_validate</link></function> which makes sure the user's
data "
+"stored in the <link linkend=\"GValue\"><type>GValue</type></link>
matches "
+"the characteristics specified by the property's <link
linkend=\"GParamSpec"
+"\"><type>GParamSpec</type></link>. Here, the <link linkend=\"GParamSpec"
+"\"><type>GParamSpec</type></link> we provided in class_init has a
validation "
+"function which makes sure that the GValue contains a value which
respects "
+"the minimum and maximum bounds of the <link linkend=\"GParamSpec"
+"\"><type>GParamSpec</type></link>. In the example above, the client's
GValue "
+"does not respect these constraints (it is set to 11, while the maximum
is "
+"10). As such, the <function><link linkend=\"g-object-set-property"
+"\">g_object_set_property</link></function> function will return with an "
+"error."
+msgstr ""
+
+#: tut_gobject.xml:656(para)
+msgid ""
+"If the user's GValue had been set to a valid value, <function><link
linkend="
+"\"g-object-set-property\">g_object_set_property</link></function> would
have "
+"proceeded with calling the object's set_property class method. Here,
since "
+"our implementation of Foo did override this method, the code path would
jump "
+"to <function>foo_set_property</function> after having retrieved from the "
+"<link linkend=\"GParamSpec\"><type>GParamSpec</type></link> the "
+"<emphasis>param_id</emphasis><placeholder-1/> which had been stored by "
+"<function><link linkend=\"g-object-class-install-property"
+"\">g_object_class_install_property</link></function>."
+msgstr ""
+
+#: tut_gobject.xml:663(para)
+msgid ""
+"It should be noted that the param_id used here need only to uniquely "
+"identify each <link
linkend=\"GParamSpec\"><type>GParamSpec</type></link> "
+"within the <link linkend=\"FooClass\"><type>FooClass</type></link> such
that "
+"the switch used in the set and get methods actually works. Of course,
this "
+"locally-unique integer is purely an optimization: it would have been "
+"possible to use a set of <emphasis>if (strcmp (a, b) == 0) {} else if "
+"(strcmp (a, b) == 0) {}</emphasis> statements."
+msgstr ""
+
+#: tut_gobject.xml:675(para)
+msgid ""
+"Once the property has been set by the object's set_property class
method, "
+"the code path returns to <function><link linkend=\"g-object-set-property"
+"\">g_object_set_property</link></function> which calls <function><link "
+"linkend=\"g-object-notify-queue-thaw\">g_object_notify_queue_thaw</link></"
+"function>. This function makes sure that the \"notify\" signal is emitted
on "
+"the object's instance with the changed property as parameter unless "
+"notifications were frozen by <function><link
linkend=\"g-object-freeze-notify"
+"\">g_object_freeze_notify</link></function>."
+msgstr ""
+
+#: tut_gobject.xml:683(para)
+msgid ""
+"<function><link linkend=\"g-object-thaw-notify\">g_object_thaw_notify</"
+"link></function> can be used to re-enable notification of property "
+"modifications through the \"notify\" signal. It is important to remember "
+"that even if properties are changed while property change notification
is "
+"frozen, the \"notify\" signal will be emitted once for each of these
changed "
+"properties as soon as the property change notification is thawed: no "
+"property change is lost for the \"notify\" signal. Signal can only be "
+"delayed by the notification freezing mechanism."
+msgstr ""
+
+#: tut_gobject.xml:692(para)
+msgid ""
+"It sounds like a tedious task to set up GValues every time when one wants
to "
+"modify a property. In practice one will rarely do this. The functions "
+"<function><link linkend=\"g-object-set-property\">g_object_set_property</"
+"link></function> and <function><link linkend=\"g-object-get-property"
+"\">g_object_get_property</link></function> are meant to be used by
language "
+"bindings. For application there is an easier way and that is described
next."
+msgstr ""
+
+#: tut_gobject.xml:701(title)
+msgid "Accessing multiple properties at once"
+msgstr ""
+
+#: tut_gobject.xml:703(para)
+msgid ""
+"It is interesting to note that the <function><link linkend=\"g-object-set"
+"\">g_object_set</link></function> and <function><link
linkend=\"g-object-set-"
+"valist\">g_object_set_valist</link></function> (vararg version)
functions "
+"can be used to set multiple properties at once. The client code shown
above "
+"can then be re-written as: <placeholder-1/> This saves us from managing
the "
+"GValues that we were needing to handle when using <function><link
linkend="
+"\"g-object-set-property\">g_object_set_property</link></function>. The
code "
+"above will trigger one notify signal emission for each property modified."
+msgstr ""
+
+#: tut_gobject.xml:707(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"MamanBar *foo;\n"
+"foo = /* */;\n"
+"g_object_set (G_OBJECT (foo),\n"
+" \"papa-number\", 2, \n"
+" \"maman-name\", \"test\", \n"
+" NULL);\n"
+msgstr ""
+
+#: tut_gobject.xml:720(para)
+msgid ""
+"Of course, the _get versions are also available: <function><link
linkend=\"g-"
+"object-get\">g_object_get</link></function> and <function><link
linkend=\"g-"
+"object-get-valist\">g_object_get_valist</link></function> (vararg
version) "
+"can be used to get numerous properties at once."
+msgstr ""
+
+#: tut_gobject.xml:726(para)
+msgid ""
+"These high level functions have one drawback - they don't provide a
return "
+"result. One should pay attention to the argument types and ranges when
using "
+"them. A known source of errors is to e.g. pass a gfloat instead of a
gdouble "
+"and thus shifting all subsequent parameters by four bytes. Also
forgetting "
+"the terminating NULL will lead to unexpected behaviour."
+msgstr ""
+
+#: tut_gobject.xml:734(para)
+msgid ""
+"Really attentive readers now understand how <function><link linkend=\"g-"
+"object-new\">g_object_new</link></function>, <function><link linkend=\"g-"
+"object-newv\">g_object_newv</link></function> and <function><link
linkend="
+"\"g-object-new-valist\">g_object_new_valist</link></function> work: they "
+"parse the user-provided variable number of parameters and invoke "
+"<function><link linkend=\"g-object-set\">g_object_set</link></function>
on "
+"the parameters only after the object has been successfully constructed.
Of "
+"course, the \"notify\" signal will be emitted for each property set."
+msgstr ""
+
+#: tut_gobject.xml:8(para)
+msgid ""
+"The two previous chapters discussed the details of GLib's Dynamic Type "
+"System and its signal control system. The GObject library also contains
an "
+"implementation for a base fundamental type named <link linkend=\"GObject"
+"\"><type>GObject</type></link>."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_gsignal.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,686 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_gsignal.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_gsignal.xml:102(para)
+msgid ""
+"<function><link
linkend=\"g-cclosure-new-swap\">g_cclosure_new_swap</link></"
+"function> will create a new closure which can invoke the user-provided "
+"callback_func with the user-provided user_data as first parameter
(instead "
+"of being the last parameter as with <function><link
linkend=\"g-cclosure-new"
+"\">g_cclosure_new</link></function>). When the closure is finalized
(second "
+"stage of the destruction process), it will invoke the destroy_data
function "
+"if the user has supplied one."
+msgstr ""
+
+#: tut_gsignal.xml:11(para)
+msgid ""
+"Closures are central to the concept of asynchronous signal delivery which
is "
+"widely used throughout GTK+ and GNOME applications. A closure is an "
+"abstraction, a generic representation of a callback. It is a small
structure "
+"which contains three objects: <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:112(title)
+msgid "Non-C closures (for the fearless)"
+msgstr ""
+
+#: tut_gsignal.xml:114(para)
+msgid ""
+"As was explained above, closures hide the details of callback invocation.
In "
+"C, callback invocation is just like function invocation: it is a matter
of "
+"creating the correct stack frame for the called function and executing a "
+"<emphasis>call</emphasis> assembly instruction."
+msgstr ""
+
+#: tut_gsignal.xml:121(para)
+msgid ""
+"C closure marshallers transform the array of GValues which represent the "
+"parameters to the target function into a C-style function parameter
list, "
+"invoke the user-supplied C function with this new parameter list, get
the "
+"return value of the function, transform it into a GValue and return this "
+"GValue to the marshaller caller."
+msgstr ""
+
+#: tut_gsignal.xml:128(para)
+msgid ""
+"The following code implements a simple marshaller in C for a C function "
+"which takes an integer as first parameter and returns void.
<placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:131(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"g_cclosure_marshal_VOID__INT (GClosure *closure,\n"
+" GValue *return_value,\n"
+" guint n_param_values,\n"
+" const GValue *param_values,\n"
+" gpointer invocation_hint,\n"
+" gpointer marshal_data)\n"
+"{\n"
+" typedef void (*GMarshalFunc_VOID__INT) (gpointer data1,\n"
+" gint arg_1,\n"
+" gpointer data2);\n"
+" register GMarshalFunc_VOID__INT callback;\n"
+" register GCClosure *cc = (GCClosure*) closure;\n"
+" register gpointer data1, data2;\n"
+"\n"
+" g_return_if_fail (n_param_values == 2);\n"
+"\n"
+" data1 = g_value_peek_pointer (param_values + 0);\n"
+" data2 = closure-&gt;data;\n"
+"\n"
+" callback = (GMarshalFunc_VOID__INT) (marshal_data ? marshal_data :
cc-&gt;callback);\n"
+"\n"
+" callback (data1,\n"
+" g_marshal_value_peek_int (param_values + 1),\n"
+" data2);\n"
+"}\n"
+msgstr ""
+
+#: tut_gsignal.xml:160(para)
+msgid ""
+"Of course, there exist other kinds of marshallers. For example, James "
+"Henstridge wrote a generic Python marshaller which is used by all Python "
+"closures (a Python closure is used to have Python-based callback be
invoked "
+"by the closure invocation process). This Python marshaller transforms
the "
+"input GValue list representing the function parameters into a Python
tuple "
+"which is the equivalent structure in Python (you can look in "
+"<function>pyg_closure_marshal</function> in
<filename>pygtype.c</filename> "
+"in the <emphasis>pygobject</emphasis> module in the GNOME source code "
+"repository)."
+msgstr ""
+
+#: tut_gsignal.xml:17(para)
+msgid ""
+"a function pointer (the callback itself) whose prototype looks like: "
+"<placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:174(title)
+msgid "Signals"
+msgstr ""
+
+#: tut_gsignal.xml:176(para)
+msgid ""
+"GObject's signals have nothing to do with standard UNIX signals: they "
+"connect arbitrary application-specific events with any number of
listeners. "
+"For example, in GTK+, every user event (keystroke or mouse move) is
received "
+"from the X server and generates a GTK+ event under the form of a signal "
+"emission on a given object instance."
+msgstr ""
+
+#: tut_gsignal.xml:18(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"return_type function_callback (... , gpointer user_data);\n"
+msgstr ""
+
+#: tut_gsignal.xml:184(para)
+msgid ""
+"Each signal is registered in the type system together with the type on
which "
+"it can be emitted: users of the type are said to <emphasis>connect</"
+"emphasis> to the signal on a given type instance when they register a "
+"closure to be invoked upon the signal emission. Users can also emit the "
+"signal by themselves or stop the emission of the signal from within one
of "
+"the closures connected to the signal."
+msgstr ""
+
+#: tut_gsignal.xml:193(para)
+msgid ""
+"When a signal is emitted on a given type instance, all the closures "
+"connected to this signal on this type instance will be invoked. All the "
+"closures connected to such a signal represent callbacks whose signature "
+"looks like: <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:197(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"return_type function_callback (gpointer instance, ... , gpointer
user_data);\n"
+msgstr ""
+
+#: tut_gsignal.xml:203(title)
+msgid "Signal registration"
+msgstr ""
+
+#: tut_gsignal.xml:205(para)
+msgid ""
+"To register a new signal on an existing type, we can use any of "
+"<function><link
linkend=\"g-signal-newv\">g_signal_newv</link></function>, "
+"<function><link
linkend=\"g-signal-new-valist\">g_signal_new_valist</link></"
+"function> or <function><link
linkend=\"g-signal-new\">g_signal_new</link></"
+"function> functions: <placeholder-1/> The number of parameters to these "
+"functions is a bit intimidating but they are relatively simple: "
+"<placeholder-2/>"
+msgstr ""
+
+#: tut_gsignal.xml:208(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"guint g_signal_newv (const gchar *signal_name,\n"
+" GType itype,\n"
+" GSignalFlags signal_flags,\n"
+" GClosure *class_closure,\n"
+" GSignalAccumulator accumulator,\n"
+" gpointer accu_data,\n"
+" GSignalCMarshaller c_marshaller,\n"
+" GType return_type,\n"
+" guint n_params,\n"
+" GType *param_types);\n"
+msgstr ""
+
+#: tut_gsignal.xml:22(para)
+msgid ""
+"the user_data pointer which is passed to the callback upon invocation of
the "
+"closure"
+msgstr ""
+
+#: tut_gsignal.xml:223(para)
+msgid ""
+"signal_name: is a string which can be used to uniquely identify a given "
+"signal."
+msgstr ""
+
+#: tut_gsignal.xml:226(para)
+msgid "itype: is the instance type on which this signal can be emitted."
+msgstr ""
+
+#: tut_gsignal.xml:229(para)
+msgid ""
+"signal_flags: partly defines the order in which closures which were "
+"connected to the signal are invoked."
+msgstr ""
+
+#: tut_gsignal.xml:233(para)
+msgid ""
+"class_closure: this is the default closure for the signal: if it is not
NULL "
+"upon the signal emission, it will be invoked upon this emission of the "
+"signal. The moment where this closure is invoked compared to other
closures "
+"connected to that signal depends partly on the signal_flags."
+msgstr ""
+
+#: tut_gsignal.xml:239(para)
+msgid ""
+"accumulator: this is a function pointer which is invoked after each
closure "
+"has been invoked. If it returns FALSE, signal emission is stopped. If it "
+"returns TRUE, signal emission proceeds normally. It is also used to
compute "
+"the return value of the signal based on the return value of all the
invoked "
+"closures."
+msgstr ""
+
+#: tut_gsignal.xml:245(para)
+msgid ""
+"accumulator_data: this pointer will be passed down to each invocation of
the "
+"accumulator during emission."
+msgstr ""
+
+#: tut_gsignal.xml:249(para)
+msgid ""
+"c_marshaller: this is the default C marshaller for any closure which is "
+"connected to this signal."
+msgstr ""
+
+#: tut_gsignal.xml:25(para)
+msgid ""
+"a function pointer which represents the destructor of the closure:
whenever "
+"the closure's refcount reaches zero, this function will be called before
the "
+"closure structure is freed."
+msgstr ""
+
+#: tut_gsignal.xml:253(para)
+msgid "return_type: this is the type of the return value of the signal."
+msgstr ""
+
+#: tut_gsignal.xml:256(para)
+msgid "n_params: this is the number of parameters this signal takes."
+msgstr ""
+
+#: tut_gsignal.xml:259(para)
+msgid ""
+"param_types: this is an array of GTypes which indicate the type of each "
+"parameter of the signal. The length of this array is indicated by
n_params."
+msgstr ""
+
+#: tut_gsignal.xml:266(para)
+msgid ""
+"As you can see from the above definition, a signal is basically a "
+"description of the closures which can be connected to this signal and a "
+"description of the order in which the closures connected to this signal
will "
+"be invoked."
+msgstr ""
+
+#: tut_gsignal.xml:275(title)
+msgid "Signal connection"
+msgstr ""
+
+#: tut_gsignal.xml:277(para)
+msgid ""
+"If you want to connect to a signal with a closure, you have three "
+"possibilities: <placeholder-1/> It is also possible to connect a
different "
+"kind of callback on a given signal: emission hooks are invoked whenever
a "
+"given signal is emitted whatever the instance on which it is emitted. "
+"Emission hooks are used for example to get all mouse_clicked emissions in
an "
+"application to be able to emit the small mouse click sound. Emission
hooks "
+"are connected with <function><link linkend=\"g-signal-add-emission-hook"
+"\">g_signal_add_emission_hook</link></function> and removed with "
+"<function><link linkend=\"g-signal-remove-emission-hook"
+"\">g_signal_remove_emission_hook</link></function>."
+msgstr ""
+
+#: tut_gsignal.xml:280(para)
+msgid ""
+"You can register a class closure at signal registration: this is a
system-"
+"wide operation. i.e.: the class_closure will be invoked during each
emission "
+"of a given signal on all the instances of the type which supports that "
+"signal."
+msgstr ""
+
+#: tut_gsignal.xml:285(para)
+msgid ""
+"You can use <function><link linkend=\"g-signal-override-class-closure"
+"\">g_signal_override_class_closure</link></function> which overrides the "
+"class_closure of a given type. It is possible to call this function only
on "
+"a derived type of the type on which the signal was registered. This
function "
+"is of use only to language bindings."
+msgstr ""
+
+#: tut_gsignal.xml:291(para)
+msgid ""
+"You can register a closure with the <function><link linkend=\"g-signal-"
+"connect\">g_signal_connect</link></function> family of functions. This is
an "
+"instance-specific operation: the closure will be invoked only during "
+"emission of a given signal on a given instance."
+msgstr ""
+
+#: tut_gsignal.xml:308(title)
+msgid "Signal emission"
+msgstr ""
+
+#: tut_gsignal.xml:310(para)
+msgid ""
+"Signal emission is done through the use of the <function><link
linkend=\"g-"
+"signal-emit\">g_signal_emit</link></function> family of functions. "
+"<placeholder-1/><placeholder-2/>"
+msgstr ""
+
+#: tut_gsignal.xml:313(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void g_signal_emitv (const GValue *instance_and_params,\n"
+" guint signal_id,\n"
+" GQuark detail,\n"
+" GValue *return_value);\n"
+msgstr ""
+
+#: tut_gsignal.xml:320(para)
+msgid ""
+"The instance_and_params array of GValues contains the list of input "
+"parameters to the signal. The first element of the array is the instance "
+"pointer on which to invoke the signal. The following elements of the
array "
+"contain the list of parameters to the signal."
+msgstr ""
+
+#: tut_gsignal.xml:326(para)
+msgid "signal_id identifies the signal to invoke."
+msgstr ""
+
+#: tut_gsignal.xml:329(para)
+msgid ""
+"detail identifies the specific detail of the signal to invoke. A detail
is a "
+"kind of magic token/argument which is passed around during signal
emission "
+"and which is used by closures connected to the signal to filter out
unwanted "
+"signal emissions. In most cases, you can safely set this value to zero.
See "
+"<xref linkend=\"signal-detail\"/> for more details about this parameter."
+msgstr ""
+
+#: tut_gsignal.xml:33(para)
+msgid ""
+"The <link linkend=\"GClosure\"><type>GClosure</type></link> structure "
+"represents the common functionality of all closure implementations:
there "
+"exists a different Closure implementation for each separate runtime
which "
+"wants to use the GObject type system. <placeholder-1/> The GObject
library "
+"provides a simple <link
linkend=\"GCClosure\"><type>GCClosure</type></link> "
+"type which is a specific implementation of closures to be used with
C/C++ "
+"callbacks."
+msgstr ""
+
+#: tut_gsignal.xml:336(para)
+msgid ""
+"return_value holds the return value of the last closure invoked during "
+"emission if no accumulator was specified. If an accumulator was
specified "
+"during signal creation, this accumulator is used to calculate the "
+"return_value as a function of the return values of all the closures
invoked "
+"during emission. <placeholder-1/> If no closure is invoked during
emission, "
+"the return_value is nonetheless initialized to zero/null."
+msgstr ""
+
+#: tut_gsignal.xml:341(para)
+msgid ""
+"James (again!!) gives a few non-trivial examples of accumulators:
<quote> "
+"For instance, you may have an accumulator that ignores NULL returns from "
+"closures, and only accumulates the non-NULL ones. Another accumulator
may "
+"try to return the list of values returned by the closures. </quote>"
+msgstr ""
+
+#: tut_gsignal.xml:355(para)
+msgid ""
+"Internally, the GValue array is passed to the emission function proper, "
+"<function>signal_emit_unlocked_R</function> (implemented in "
+"<filename>gsignal.c</filename>). Signal emission can be decomposed in 5 "
+"steps: <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:360(para)
+msgid ""
+"<emphasis>RUN_FIRST</emphasis>: if the G_SIGNAL_RUN_FIRST flag was used "
+"during signal registration and if there exist a class_closure for this "
+"signal, the class_closure is invoked. Jump to <emphasis>EMISSION_HOOK</"
+"emphasis> state."
+msgstr ""
+
+#: tut_gsignal.xml:365(para)
+msgid ""
+"<emphasis>EMISSION_HOOK</emphasis>: if any emission hook was added to
the "
+"signal, they are invoked from first to last added. Accumulate return
values "
+"and jump to <emphasis>HANDLER_RUN_FIRST</emphasis> state."
+msgstr ""
+
+#: tut_gsignal.xml:37(para)
+msgid ""
+"In practice, closures sit at the boundary of language runtimes: if you
are "
+"writing Python code and one of your Python callbacks receives a signal
from "
+"a GTK+ widget, the C code in GTK+ needs to execute your Python code. The "
+"closure invoked by the GTK+ object invokes the Python callback: it
behaves "
+"as a normal C object for GTK+ and as a normal Python object for Python
code."
+msgstr ""
+
+#: tut_gsignal.xml:370(para)
+msgid ""
+"<emphasis>HANDLER_RUN_FIRST</emphasis>: if any closure were connected
with "
+"the <function><link
linkend=\"g-signal-connect\">g_signal_connect</link></"
+"function> family of functions, and if they are not blocked (with the "
+"<function><link
linkend=\"g-signal-handler-block\">g_signal_handler_block</"
+"link></function> family of functions) they are run here, from first to
last "
+"connected. Jump to <emphasis>RUN_LAST</emphasis> state."
+msgstr ""
+
+#: tut_gsignal.xml:377(para)
+msgid ""
+"<emphasis>RUN_LAST</emphasis>: if the G_SIGNAL_RUN_LAST flag was set
during "
+"registration and if a class_closure was set, it is invoked here. Jump to "
+"<emphasis>HANDLER_RUN_LAST</emphasis> state."
+msgstr ""
+
+#: tut_gsignal.xml:383(para)
+msgid ""
+"<emphasis>HANDLER_RUN_LAST</emphasis>: if any closure were connected
with "
+"the <function>g_signal_connect_after</function> family of functions, if
they "
+"were not invoked during HANDLER_RUN_FIRST and if they are not blocked,
they "
+"are run here, from first to last connected. Jump to
<emphasis>RUN_CLEANUP</"
+"emphasis> state."
+msgstr ""
+
+#: tut_gsignal.xml:390(para)
+msgid ""
+"<emphasis>RUN_CLEANUP</emphasis>: if the G_SIGNAL_RUN_CLEANUP flag was
set "
+"during registration and if a class_closure was set, it is invoked here. "
+"Signal emission is completed here."
+msgstr ""
+
+#: tut_gsignal.xml:398(para)
+msgid ""
+"If, at any point during emission (except in RUN_CLEANUP state), one of
the "
+"closures or emission hook stops the signal emission with <function><link "
+"linkend=\"g-signal-stop\">g_signal_stop</link></function>, emission jumps
to "
+"CLEANUP state."
+msgstr ""
+
+#: tut_gsignal.xml:404(para)
+msgid ""
+"If, at any point during emission, one of the closures or emission hook
emits "
+"the same signal on the same instance, emission is restarted from the "
+"RUN_FIRST state."
+msgstr ""
+
+#: tut_gsignal.xml:410(para)
+msgid ""
+"The accumulator function is invoked in all states, after invocation of
each "
+"closure (except in EMISSION_HOOK and CLEANUP). It accumulates the
closure "
+"return value into the signal return value and returns TRUE or FALSE. If,
at "
+"any point, it does not return TRUE, emission jumps to CLEANUP state."
+msgstr ""
+
+#: tut_gsignal.xml:417(para)
+msgid ""
+"If no accumulator function was provided, the value returned by the last "
+"handler run will be returned by <function><link linkend=\"g-signal-emit"
+"\">g_signal_emit</link></function>."
+msgstr ""
+
+#: tut_gsignal.xml:426(title)
+msgid "The <emphasis>detail</emphasis> argument"
+msgstr ""
+
+#: tut_gsignal.xml:428(para)
+msgid ""
+"All the functions related to signal emission or signal connection have a "
+"parameter named the <emphasis>detail</emphasis>. Sometimes, this
parameter "
+"is hidden by the API but it is always there, under one form or another."
+msgstr ""
+
+#: tut_gsignal.xml:433(para)
+msgid ""
+"Of the three main connection functions, only one has an explicit detail "
+"parameter as a <link linkend=\"GQuark\"><type>GQuark</type></"
+"link><placeholder-1/>: <placeholder-2/> The two other functions hide the "
+"detail parameter in the signal name identification: <placeholder-3/>
Their "
+"detailed_signal parameter is a string which identifies the name of the "
+"signal to connect to. However, the format of this string is structured
to "
+"look like <emphasis>signal_name::detail_name</emphasis>. Connecting to
the "
+"signal named <emphasis>notify::cursor_position</emphasis> will actually "
+"connect to the signal named <emphasis>notify</emphasis> with the "
+"<emphasis>cursor_position</emphasis> name. Internally, the detail string
is "
+"transformed to a GQuark if it is present."
+msgstr ""
+
+#: tut_gsignal.xml:437(para)
+msgid ""
+"A GQuark is an integer which uniquely represents a string. It is possible
to "
+"transform back and forth between the integer and string representations
with "
+"the functions <function><link linkend=\"g-quark-from-string"
+"\">g_quark_from_string</link></function> and <function><link linkend=\"g-"
+"quark-to-string\">g_quark_to_string</link></function>."
+msgstr ""
+
+#: tut_gsignal.xml:442(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"gulong g_signal_connect_closure_by_id (gpointer
instance,\n"
+" guint signal_id,\n"
+" GQuark detail,\n"
+" GClosure *closure,\n"
+" gboolean after);\n"
+msgstr ""
+
+#: tut_gsignal.xml:450(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"gulong g_signal_connect_closure (gpointer
instance,\n"
+" const gchar *detailed_signal,\n"
+" GClosure *closure,\n"
+" gboolean after);\n"
+"gulong g_signal_connect_data (gpointer
instance,\n"
+" const gchar *detailed_signal,\n"
+" GCallback c_handler,\n"
+" gpointer data,\n"
+" GClosureNotify destroy_data,\n"
+" GConnectFlags connect_flags);\n"
+msgstr ""
+
+#: tut_gsignal.xml:470(para)
+msgid ""
+"Of the four main signal emission functions, three have an explicit
detail "
+"parameter as a <link linkend=\"GQuark\"><type>GQuark</type></link>
again: "
+"<placeholder-1/> The fourth function hides it in its signal name
parameter: "
+"<placeholder-2/> The format of the detailed_signal parameter is exactly
the "
+"same as the format used by the <function><link linkend=\"g-signal-connect"
+"\">g_signal_connect</link></function> functions: <emphasis>signal_name::"
+"detail_name</emphasis>."
+msgstr ""
+
+#: tut_gsignal.xml:473(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void g_signal_emitv (const GValue
*instance_and_params,\n"
+" guint signal_id,\n"
+" GQuark detail,\n"
+" GValue *return_value);\n"
+"void g_signal_emit_valist (gpointer
instance,\n"
+" guint signal_id,\n"
+" GQuark detail,\n"
+" va_list var_args);\n"
+"void g_signal_emit (gpointer
instance,\n"
+" guint signal_id,\n"
+" GQuark detail,\n"
+" ...);\n"
+msgstr ""
+
+#: tut_gsignal.xml:48(para)
+msgid ""
+"A <link linkend=\"GClosure\"><type>GClosure</type></link> provides
simple "
+"services: <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:488(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void g_signal_emit_by_name (gpointer
instance,\n"
+" const gchar *detailed_signal,\n"
+" ...);\n"
+msgstr ""
+
+#: tut_gsignal.xml:497(para)
+msgid ""
+"If a detail is provided by the user to the emission function, it is used "
+"during emission to match against the closures which also provide a
detail. "
+"If the closures' detail does not match the detail provided by the user,
they "
+"will not be invoked (even though they are connected to a signal which is "
+"being emitted)."
+msgstr ""
+
+#: tut_gsignal.xml:504(para)
+msgid ""
+"This completely optional filtering mechanism is mainly used as an "
+"optimization for signals which are often emitted for many different
reasons: "
+"the clients can filter out which events they are interested in before
the "
+"closure's marshalling code runs. For example, this is used extensively
by "
+"the <emphasis>notify</emphasis> signal of GObject: whenever a property
is "
+"modified on a GObject, instead of just emitting the <emphasis>notify</"
+"emphasis> signal, GObject associates as a detail to this signal emission
the "
+"name of the property modified. This allows clients who wish to be
notified "
+"of changes to only one property to filter most events before receiving
them."
+msgstr ""
+
+#: tut_gsignal.xml:51(para)
+msgid ""
+"Invocation (<function><link
linkend=\"g-closure-invoke\">g_closure_invoke</"
+"link></function>): this is what closures were created for: they hide the "
+"details of callback invocation from the callback invoker."
+msgstr ""
+
+#: tut_gsignal.xml:514(para)
+msgid ""
+"As a simple rule, users can and should set the detail parameter to zero: "
+"this will disable completely this optional filtering."
+msgstr ""
+
+#: tut_gsignal.xml:56(para)
+msgid ""
+"Notification: the closure notifies listeners of certain events such as "
+"closure invocation, closure invalidation and closure finalization.
Listeners "
+"can be registered with <function><link linkend=\"g-closure-add-finalize-"
+"notifier\">g_closure_add_finalize_notifier</link></function>
(finalization "
+"notification), <function><link
linkend=\"g-closure-add-invalidate-notifier"
+"\">g_closure_add_invalidate_notifier</link></function> (invalidation "
+"notification) and <function><link linkend=\"g-closure-add-marshal-guards"
+"\">g_closure_add_marshal_guards</link></function> (invocation
notification). "
+"There exist symmetric deregistration functions for finalization and "
+"invalidation events (<function><link linkend=\"g-closure-remove-finalize-"
+"notifier\">g_closure_remove_finalize_notifier</link></function> and "
+"<function><link linkend=\"g-closure-remove-invalidate-notifier"
+"\">g_closure_remove_invalidate_notifier</link></function>) but not for
the "
+"invocation process. <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:6(title)
+msgid "The GObject messaging system"
+msgstr ""
+
+#: tut_gsignal.xml:67(para)
+msgid ""
+"Closures are reference counted and notify listeners of their destruction
in "
+"a two-stage process: the invalidation notifiers are invoked before the "
+"finalization notifiers."
+msgstr ""
+
+#: tut_gsignal.xml:76(title)
+msgid "C Closures"
+msgstr ""
+
+#: tut_gsignal.xml:78(para)
+msgid ""
+"If you are using C or C++ to connect a callback to a given event, you
will "
+"either use simple <link
linkend=\"GCClosure\"><type>GCClosure</type></link>s "
+"which have a pretty minimal API or the even simpler <function><link
linkend="
+"\"g-signal-connect\">g_signal_connect</link></function> functions (which "
+"will be presented a bit later :). <placeholder-1/>"
+msgstr ""
+
+#: tut_gsignal.xml:83(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"GClosure *g_cclosure_new (GCallback callback_func,\n"
+" gpointer user_data,\n"
+" GClosureNotify destroy_data);\n"
+"GClosure *g_cclosure_new_swap (GCallback callback_func,\n"
+" gpointer user_data,\n"
+" GClosureNotify destroy_data);\n"
+"GClosure *g_signal_type_cclosure_new (GType itype,\n"
+" guint struct_offset);\n"
+msgstr ""
+
+#: tut_gsignal.xml:9(title)
+msgid "Closures"
+msgstr ""
+
+#: tut_gsignal.xml:95(para)
+msgid ""
+"<function><link
linkend=\"g-cclosure-new\">g_cclosure_new</link></function> "
+"will create a new closure which can invoke the user-provided
callback_func "
+"with the user-provided user_data as last parameter. When the closure is "
+"finalized (second stage of the destruction process), it will invoke the "
+"destroy_data function if the user has supplied one."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_gtype.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1065 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:24+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_gtype.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_gtype.xml:102(para)
+msgid ""
+"type characteristic flags: <link
linkend=\"GTypeFlags\"><type>GTypeFlags</"
+"type></link>."
+msgstr ""
+
+#: tut_gtype.xml:114(title)
+msgid "Copy functions"
+msgstr ""
+
+#: tut_gtype.xml:116(para)
+msgid ""
+"The major common point between <emphasis>all</emphasis> GLib types "
+"(fundamental and non-fundamental, classed and non-classed, instantiable
and "
+"non-instantiable) is that they can all be manipulated through a single
API "
+"to copy/assign them."
+msgstr ""
+
+#: tut_gtype.xml:12(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef struct _GTypeInfo GTypeInfo;\n"
+"struct _GTypeInfo\n"
+"{\n"
+" /* interface types, classed types, instantiated types */\n"
+" guint16 class_size;\n"
+" \n"
+" GBaseInitFunc base_init;\n"
+" GBaseFinalizeFunc base_finalize;\n"
+" \n"
+" /* classed types, instantiated types */\n"
+" GClassInitFunc class_init;\n"
+" GClassFinalizeFunc class_finalize;\n"
+" gconstpointer class_data;\n"
+" \n"
+" /* instantiated types */\n"
+" guint16 instance_size;\n"
+" guint16 n_preallocs;\n"
+" GInstanceInitFunc instance_init;\n"
+" \n"
+" /* value handling */\n"
+" const GTypeValueTable *value_table;\n"
+"};\n"
+"GType g_type_register_static (GType parent_type,\n"
+" const gchar *type_name,\n"
+" const GTypeInfo *info,\n"
+" GTypeFlags flags);\n"
+"GType g_type_register_fundamental (GType type_id,\n"
+" const gchar
*type_name,\n"
+" const GTypeInfo *info,\n"
+" const GTypeFundamentalInfo *finfo,\n"
+" GTypeFlags flags);\n"
+" "
+msgstr ""
+
+#: tut_gtype.xml:122(para)
+msgid ""
+"The <link linkend=\"GValue\"><type>GValue</type></link> structure is used
as "
+"an abstract container for all of these types. Its simplistic API (defined
in "
+"<filename>gobject/gvalue.h</filename>) can be used to invoke the
value_table "
+"functions registered during type registration: for example
<function><link "
+"linkend=\"g-value-copy\">g_value_copy</link></function> copies the
content "
+"of a <link linkend=\"GValue\"><type>GValue</type></link> to another
<link "
+"linkend=\"GValue\"><type>GValue</type></link>. This is similar to a C++ "
+"assignment which invokes the C++ copy operator to modify the default
bit-by-"
+"bit copy semantics of C++/C structures/classes."
+msgstr ""
+
+#: tut_gtype.xml:132(para)
+msgid ""
+"The following code shows how you can copy around a 64 bit integer, as
well "
+"as a <link linkend=\"GObject\"><type>GObject</type></link> instance
pointer "
+"(sample code for this is located in the source tarball for this document
in "
+"<filename>sample/gtype/test.c</filename>): <placeholder-1/> The
important "
+"point about the above code is that the exact semantics of the copy calls
is "
+"undefined since they depend on the implementation of the copy function. "
+"Certain copy functions might decide to allocate a new chunk of memory
and "
+"then to copy the data from the source to the destination. Others might
want "
+"to simply increment the reference count of the instance and copy the "
+"reference to the new GValue."
+msgstr ""
+
+#: tut_gtype.xml:136(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void test_int (void)\n"
+"{\n"
+" GValue a_value = {0, }; \n"
+" GValue b_value = {0, };\n"
+" guint64 a, b;\n"
+"\n"
+" a = 0xdeadbeaf;\n"
+"\n"
+" g_value_init (&amp;a_value, G_TYPE_UINT64);\n"
+" g_value_set_uint64 (&amp;a_value, a);\n"
+"\n"
+" g_value_init (&amp;b_value, G_TYPE_UINT64);\n"
+" g_value_copy (&amp;a_value, &amp;b_value);\n"
+"\n"
+" b = g_value_get_uint64 (&amp;b_value);\n"
+"\n"
+" if (a == b) {\n"
+" g_print (\"Yay !! 10 lines of code to copy around a uint64.\\n\");\n"
+" } else {\n"
+" g_print (\"Are you sure this is not a Z80 ?\\n\");\n"
+" }\n"
+"}\n"
+"\n"
+"static void test_object (void)\n"
+"{\n"
+" GObject *obj;\n"
+" GValue obj_vala = {0, };\n"
+" GValue obj_valb = {0, };\n"
+" obj = g_object_new (MAMAN_TYPE_BAR, NULL);\n"
+"\n"
+" g_value_init (&amp;obj_vala, MAMAN_TYPE_BAR);\n"
+" g_value_set_object (&amp;obj_vala, obj);\n"
+"\n"
+" g_value_init (&amp;obj_valb, G_TYPE_OBJECT);\n"
+"\n"
+" /* g_value_copy's semantics for G_TYPE_OBJECT types is to copy the
reference.\n"
+" This function thus calls g_object_ref.\n"
+" It is interesting to note that the assignment works here because\n"
+" MAMAN_TYPE_BAR is a G_TYPE_OBJECT.\n"
+" */\n"
+" g_value_copy (&amp;obj_vala, &amp;obj_valb);\n"
+"\n"
+" g_object_unref (G_OBJECT (obj));\n"
+" g_object_unref (G_OBJECT (obj));\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:190(para)
+msgid ""
+"The value_table used to specify these assignment functions is defined in "
+"<filename>gtype.h</filename> and is thoroughly described in the API "
+"documentation provided with GObject (for once ;-) which is why we will
not "
+"detail its exact semantics. <placeholder-1/> Interestingly, it is also
very "
+"unlikely you will ever need to specify a value_table during type "
+"registration because these value_tables are inherited from the parent
types "
+"for non-fundamental types which means that unless you want to write a "
+"fundamental type (not a great idea!), you will not need to provide a new "
+"value_table since you will inherit the value_table structure from your "
+"parent type."
+msgstr ""
+
+#: tut_gtype.xml:195(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef struct _GTypeValueTable GTypeValueTable;\n"
+"struct _GTypeValueTable\n"
+"{\n"
+" void (*value_init) (GValue *value);\n"
+" void (*value_free) (GValue *value);\n"
+" void (*value_copy) (const GValue *src_value,\n"
+" GValue *dest_value);\n"
+" /* varargs functionality (optional) */\n"
+" gpointer (*value_peek_pointer) (const GValue *value);\n"
+" gchar *collect_format;\n"
+" gchar* (*collect_value) (GValue *value,\n"
+" guint n_collect_values,\n"
+" GTypeCValue *collect_values,\n"
+" guint collect_flags);\n"
+" gchar *lcopy_format;\n"
+" gchar* (*lcopy_value) (const GValue *value,\n"
+" guint n_collect_values,\n"
+" GTypeCValue *collect_values,\n"
+" guint collect_flags);\n"
+"};\n"
+" "
+msgstr ""
+
+#: tut_gtype.xml:228(title)
+msgid "Conventions"
+msgstr ""
+
+#: tut_gtype.xml:231(para)
+msgid ""
+"There are a number of conventions users are expected to follow when
creating "
+"new types which are to be exported in a header file: <placeholder-1/>
The "
+"implementation of these macros is pretty straightforward: a number of
simple-"
+"to-use macros are provided in <filename>gtype.h</filename>. For the
example "
+"we used above, we would write the following trivial code to declare the "
+"macros: <placeholder-2/><placeholder-3/>"
+msgstr ""
+
+#: tut_gtype.xml:235(para)
+msgid ""
+"Use the <function>object_method</function> pattern for function names:
to "
+"invoke the method named foo on an instance of object type bar, call "
+"<function>bar_foo</function>."
+msgstr ""
+
+#: tut_gtype.xml:240(para)
+msgid ""
+"Use prefixing to avoid namespace conflicts with other projects. If your "
+"library (or application) is named <emphasis>Maman</emphasis>,
<placeholder-1/"
+"> prefix all your function names with <emphasis>maman_</emphasis>. For "
+"example: <function>maman_object_method</function>."
+msgstr ""
+
+#: tut_gtype.xml:243(para)
+msgid ""
+"<emphasis>Maman</emphasis> is the French word for
<emphasis>mum</emphasis> "
+"or <emphasis>mother</emphasis> - nothing more and nothing less."
+msgstr ""
+
+#: tut_gtype.xml:252(para)
+msgid ""
+"Create a macro named <function>PREFIX_TYPE_OBJECT</function> which
always "
+"returns the GType for the associated object type. For an object of type "
+"<emphasis>Bar</emphasis> in a library prefixed by <emphasis>maman</"
+"emphasis>, use: <function>MAMAN_TYPE_BAR</function>. It is common
although "
+"not a convention to implement this macro using either a global static "
+"variable or a function named <function>prefix_object_get_type</function>.
We "
+"will follow the function pattern wherever possible in this document."
+msgstr ""
+
+#: tut_gtype.xml:260(para)
+msgid ""
+"Create a macro named <function>PREFIX_OBJECT (obj)</function> which
returns "
+"a pointer of type <type>PrefixObject</type>. This macro is used to
enforce "
+"static type safety by doing explicit casts wherever needed. It also
enforces "
+"dynamic type safety by doing runtime checks. It is possible to disable
the "
+"dynamic type checks in production builds (see <link
linkend=\"glib-building"
+"\">building glib</link>). For example, we would create
<function>MAMAN_BAR "
+"(obj)</function> to keep the previous example."
+msgstr ""
+
+#: tut_gtype.xml:268(para)
+msgid ""
+"If the type is classed, create a macro named
<function>PREFIX_OBJECT_CLASS "
+"(klass)</function>. This macro is strictly equivalent to the previous "
+"casting macro: it does static casting with dynamic type checking of
class "
+"structures. It is expected to return a pointer to a class structure of
type "
+"<type>PrefixObjectClass</type>. Again, an example is: "
+"<function>MAMAN_BAR_CLASS</function>."
+msgstr ""
+
+#: tut_gtype.xml:275(para)
+msgid ""
+"Create a macro named <function>PREFIX_IS_BAR (obj)</function>: this macro
is "
+"expected to return a <type>gboolean</type> which indicates whether or
not "
+"the input object instance pointer of type BAR."
+msgstr ""
+
+#: tut_gtype.xml:279(para)
+msgid ""
+"If the type is classed, create a macro named "
+"<function>PREFIX_IS_OBJECT_CLASS (klass)</function> which, as above,
returns "
+"a boolean if the input class pointer is a pointer to a class of type
OBJECT."
+msgstr ""
+
+#: tut_gtype.xml:283(para)
+msgid ""
+"If the type is classed, create a macro named "
+"<function>PREFIX_OBJECT_GET_CLASS (obj)</function> which returns the
class "
+"pointer associated to an instance of a given type. This macro is used
for "
+"static and dynamic type safety purposes (just like the previous casting "
+"macros)."
+msgstr ""
+
+#: tut_gtype.xml:293(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"#define MAMAN_TYPE_BAR (maman_bar_get_type ())\n"
+"#define MAMAN_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST
((obj), MAMAN_TYPE_BAR, MamanBar))\n"
+"#define MAMAN_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST
((klass), MAMAN_TYPE_BAR, MamanBarClass))\n"
+"#define MAMAN_IS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
MAMAN_TYPE_BAR))\n"
+"#define MAMAN_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
MAMAN_TYPE_BAR))\n"
+"#define MAMAN_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),
MAMAN_TYPE_BAR, MamanBarClass))\n"
+msgstr ""
+
+#: tut_gtype.xml:301(simpara)
+msgid ""
+"Stick to the naming <varname>klass</varname> as <varname>class</varname>
is "
+"a registered c++ keyword."
+msgstr ""
+
+#: tut_gtype.xml:304(para)
+msgid ""
+"The following code shows how to implement the
<function>maman_bar_get_type</"
+"function> function: <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:307(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"GType maman_bar_get_type (void)\n"
+"{\n"
+" static GType type = 0;\n"
+" if (type == 0) {\n"
+" static const GTypeInfo info = {\n"
+" /* You fill this structure. */\n"
+" };\n"
+" type = g_type_register_static (G_TYPE_OBJECT,\n"
+" \"MamanBarType\",\n"
+" &amp;info, 0);\n"
+" }\n"
+" return type;\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:324(para)
+msgid ""
+"When having no special requirements you also can use the "
+"<function>G_DEFINE_TYPE</function> macro: <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:327(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT)\n"
+msgstr ""
+
+#: tut_gtype.xml:335(title)
+msgid "Non-instantiable non-classed fundamental types"
+msgstr ""
+
+#: tut_gtype.xml:337(para)
+msgid ""
+"A lot of types are not instantiable by the type system and do not have a "
+"class. Most of these types are fundamental trivial types such as "
+"<emphasis>gchar</emphasis>, registered in <function>g_value_types_init</"
+"function> (in <filename>gvaluetypes.c</filename>)."
+msgstr ""
+
+#: tut_gtype.xml:343(para)
+msgid ""
+"To register such a type in the type system, you just need to fill the
<link "
+"linkend=\"GTypeInfo\"><type>GTypeInfo</type></link> structure with zeros "
+"since these types are also most of the time fundamental: <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:347(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+" GTypeInfo info = {\n"
+" 0, /* class_size */\n"
+" NULL, /* base_init */\n"
+" NULL, /* base_destroy */\n"
+" NULL, /* class_init */\n"
+" NULL, /* class_destroy */\n"
+" NULL, /* class_data */\n"
+" 0, /* instance_size */\n"
+" 0, /* n_preallocs */\n"
+" NULL, /* instance_init */\n"
+" NULL, /* value_table */\n"
+" };\n"
+" static const GTypeValueTable value_table = {\n"
+" value_init_long0, /* value_init */\n"
+" NULL, /* value_free */\n"
+" value_copy_long0, /* value_copy */\n"
+" NULL, /* value_peek_pointer */\n"
+" \"i\", /* collect_format */\n"
+" value_collect_int, /* collect_value */\n"
+" \"p\", /* lcopy_format */\n"
+" value_lcopy_char, /* lcopy_value */\n"
+" };\n"
+" info.value_table = &amp;value_table;\n"
+" type = g_type_register_fundamental (G_TYPE_CHAR, \"gchar\", &amp;info,
&amp;finfo, 0);\n"
+" "
+msgstr ""
+
+#: tut_gtype.xml:376(para)
+msgid ""
+"Having non-instantiable types might seem a bit useless: what good is a
type "
+"if you cannot instantiate an instance of that type ? Most of these types
are "
+"used in conjunction with <link linkend=\"GValue\"><type>GValue</type></"
+"link>s: a GValue is initialized with an integer or a string and it is
passed "
+"around by using the registered type's value_table. <link linkend=\"GValue"
+"\"><type>GValue</type></link>s (and by extension these trivial
fundamental "
+"types) are most useful when used in conjunction with object properties
and "
+"signals."
+msgstr ""
+
+#: tut_gtype.xml:388(title)
+msgid "Instantiable classed types: objects"
+msgstr ""
+
+#: tut_gtype.xml:390(para)
+msgid ""
+"Types which are registered with a class and are declared instantiable
are "
+"what most closely resembles an <emphasis>object</emphasis>. Although
<link "
+"linkend=\"GObject\"><type>GObject</type></link>s (detailed in <xref
linkend="
+"\"chapter-gobject\"/>) are the most well known type of instantiable
classed "
+"types, other kinds of similar objects used as the base of an inheritance "
+"hierarchy have been externally developed and they are all built on the "
+"fundamental features described below."
+msgstr ""
+
+#: tut_gtype.xml:400(para)
+msgid ""
+"For example, the code below shows how you could register such a
fundamental "
+"object type in the type system: <placeholder-1/> Upon the first call to "
+"<function>maman_bar_get_type</function>, the type named
<emphasis>BarType</"
+"emphasis> will be registered in the type system as inheriting from the
type "
+"<emphasis>G_TYPE_OBJECT</emphasis>."
+msgstr ""
+
+#: tut_gtype.xml:403(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef struct {\n"
+" GObject parent;\n"
+" /* instance members */\n"
+" int field_a;\n"
+"} MamanBar;\n"
+"\n"
+"typedef struct {\n"
+" GObjectClass parent;\n"
+" /* class members */\n"
+" void (*do_action_public_virtual) (MamanBar *self, guint8 i);\n"
+"\n"
+" void (*do_action_public_pure_virtual) (MamanBar *self, guint8 i);\n"
+"} MamanBarClass;\n"
+"\n"
+"#define MAMAN_TYPE_BAR (maman_bar_get_type ())\n"
+"\n"
+"GType \n"
+"maman_bar_get_type (void)\n"
+"{\n"
+" static GType type = 0;\n"
+" if (type == 0) {\n"
+" static const GTypeInfo info = {\n"
+" sizeof (MamanBarClass),\n"
+" NULL, /* base_init */\n"
+" NULL, /* base_finalize */\n"
+" (GClassInitFunc) foo_class_init,\n"
+" NULL, /* class_finalize */\n"
+" NULL, /* class_data */\n"
+" sizeof (MamanBar),\n"
+" 0, /* n_preallocs */\n"
+" (GInstanceInitFunc) NULL /* instance_init */\n"
+" };\n"
+" type = g_type_register_static (G_TYPE_OBJECT,\n"
+" \"BarType\",\n"
+" &amp;info, 0);\n"
+" }\n"
+" return type;\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:448(para)
+msgid ""
+"Every object must define two structures: its class structure and its "
+"instance structure. All class structures must contain as first member a "
+"<link linkend=\"GTypeClass\"><type>GTypeClass</type></link> structure.
All "
+"instance structures must contain as first member a <link linkend="
+"\"GTypeInstance\"><type>GTypeInstance</type></link> structure. The "
+"declaration of these C types, coming from <filename>gtype.h</filename>
is "
+"shown below: <placeholder-1/> These constraints allow the type system to "
+"make sure that every object instance (identified by a pointer to the "
+"object's instance structure) contains in its first bytes a pointer to
the "
+"object's class structure."
+msgstr ""
+
+#: tut_gtype.xml:454(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"struct _GTypeClass\n"
+"{\n"
+" GType g_type;\n"
+"};\n"
+"struct _GTypeInstance\n"
+"{\n"
+" GTypeClass *g_class;\n"
+"};\n"
+msgstr ""
+
+#: tut_gtype.xml:468(para)
+msgid ""
+"This relationship is best explained by an example: let's take object B
which "
+"inherits from object A: <placeholder-1/> The C standard mandates that
the "
+"first field of a C structure is stored starting in the first byte of the "
+"buffer used to hold the structure's fields in memory. This means that
the "
+"first field of an instance of an object B is A's first field which in
turn "
+"is GTypeInstance's first field which in turn is g_class, a pointer to
B's "
+"class structure."
+msgstr ""
+
+#: tut_gtype.xml:47(para)
+msgid ""
+"<function><link
linkend=\"g-type-register-static\">g_type_register_static</"
+"link></function> and <function><link
linkend=\"g-type-register-fundamental"
+"\">g_type_register_fundamental</link></function> are the C functions, "
+"defined in <filename>gtype.h</filename> and implemented in
<filename>gtype."
+"c</filename> which you should use to register a new <link linkend=\"GType"
+"\"><type>GType</type></link> in the program's type system. It is not
likely "
+"you will ever need to use <function><link linkend=\"g-type-register-"
+"fundamental\">g_type_register_fundamental</link></function> (you have to
be "
+"Tim Janik to do that) but in case you want to, the last chapter explains
how "
+"to create new fundamental types. <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:471(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/* A definitions */\n"
+"typedef struct {\n"
+" GTypeInstance parent;\n"
+" int field_a;\n"
+" int field_b;\n"
+"} A;\n"
+"typedef struct {\n"
+" GTypeClass parent_class;\n"
+" void (*method_a) (void);\n"
+" void (*method_b) (void);\n"
+"} AClass;\n"
+"\n"
+"/* B definitions. */\n"
+"typedef struct {\n"
+" A parent;\n"
+" int field_c;\n"
+" int field_d;\n"
+"} B;\n"
+"typedef struct {\n"
+" AClass parent_class;\n"
+" void (*method_c) (void);\n"
+" void (*method_d) (void);\n"
+"} BClass;\n"
+msgstr ""
+
+#: tut_gtype.xml:503(para)
+msgid ""
+"Thanks to these simple conditions, it is possible to detect the type of "
+"every object instance by doing: <placeholder-1/> or, more quickly: "
+"<placeholder-2/>"
+msgstr ""
+
+#: tut_gtype.xml:506(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"B *b;\n"
+"b-&gt;parent.parent.g_class-&gt;g_type\n"
+msgstr ""
+
+#: tut_gtype.xml:511(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"B *b;\n"
+"((GTypeInstance*)b)-&gt;g_class-&gt;g_type\n"
+msgstr ""
+
+#: tut_gtype.xml:518(title)
+msgid "Initialization and Destruction"
+msgstr ""
+
+#: tut_gtype.xml:520(para)
+msgid ""
+"instantiation of these types can be done with <function><link
linkend=\"g-"
+"type-create-instance\">g_type_create_instance</link></function>: "
+"<placeholder-1/><function><link linkend=\"g-type-create-instance"
+"\">g_type_create_instance</link></function> will look up the type "
+"information structure associated to the type requested. Then, the
instance "
+"size and instantiation policy (if the n_preallocs field is set to a
non-zero "
+"value, the type system allocates the object's instance structures in
chunks "
+"rather than mallocing for every instance) declared by the user are used
to "
+"get a buffer to hold the object's instance structure."
+msgstr ""
+
+#: tut_gtype.xml:523(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"GTypeInstance* g_type_create_instance (GType type);\n"
+"void g_type_free_instance (GTypeInstance *instance);\n"
+msgstr ""
+
+#: tut_gtype.xml:535(para)
+msgid ""
+"If this is the first instance of the object ever created, the type
system "
+"must create a class structure: it allocates a buffer to hold the
object's "
+"class structure and initializes it. It first copies the parent's class "
+"structure over this structure (if there is no parent, it initializes it
to "
+"zero). It then invokes the base_class_initialization functions (<link "
+"linkend=\"GBaseInitFunc\"><type>GBaseInitFunc</type></link>) from
topmost "
+"fundamental object to bottom-most most derived object. The object's "
+"class_init (<link
linkend=\"GClassInitFunc\"><type>GClassInitFunc</type></"
+"link>) function is invoked afterwards to complete initialization of the "
+"class structure. Finally, the object's interfaces are initialized (we
will "
+"discuss interface initialization in more detail later)."
+msgstr ""
+
+#: tut_gtype.xml:548(para)
+msgid ""
+"Once the type system has a pointer to an initialized class structure, it "
+"sets the object's instance class pointer to the object's class structure
and "
+"invokes the object's instance_init (<link linkend=\"GInstanceInitFunc"
+"\"><type>GInstanceInitFunc</type></link>)functions, from top-most "
+"fundamental type to bottom-most most derived type."
+msgstr ""
+
+#: tut_gtype.xml:555(para)
+msgid ""
+"Object instance destruction through <function><link
linkend=\"g-type-free-"
+"instance\">g_type_free_instance</link></function> is very simple: the "
+"instance structure is returned to the instance pool if there is one and
if "
+"this was the last living instance of the object, the class is destroyed."
+msgstr ""
+
+#: tut_gtype.xml:562(para)
+msgid ""
+"Class destruction (the concept of destruction is sometimes partly
referred "
+"to as finalization in GType) is the symmetric process of the
initialization: "
+"interfaces are destroyed first. Then, the most derived class_finalize
(<link "
+"linkend=\"ClassFinalizeFunc\"><type>ClassFinalizeFunc</type></link>) "
+"function is invoked. The base_class_finalize (<link linkend="
+"\"GBaseFinalizeFunc\"><type>GBaseFinalizeFunc</type></link>) functions
are "
+"Finally invoked from bottom-most most-derived type to top-most
fundamental "
+"type and the class structure is freed."
+msgstr ""
+
+#: tut_gtype.xml:573(para)
+msgid ""
+"As many readers have now understood it, the base
initialization/finalization "
+"process is very similar to the C++ constructor/destructor paradigm. The "
+"practical details are different though and it is important not to get "
+"confused by superficial similarities. GTypes have no instance
destruction "
+"mechanism. It is the user's responsibility to implement correct
destruction "
+"semantics on top of the existing GType code. (this is what GObject does.
See "
+"<xref linkend=\"chapter-gobject\"/>) Furthermore, C++ code equivalent to
the "
+"base_init and class_init callbacks of GType is usually not needed because
C+"
+"+ cannot really create object types at runtime."
+msgstr ""
+
+#: tut_gtype.xml:58(para)
+msgid ""
+"Please note that there exists another registration function: the "
+"<function><link
linkend=\"g-type-register-dynamic\">g_type_register_dynamic</"
+"link></function>. We will not discuss this function here since its use
is "
+"very similar to the <function>_static</function> version."
+msgstr ""
+
+#: tut_gtype.xml:586(para)
+msgid ""
+"The instantiation/finalization process can be summarized as follows:
<table "
+"id=\"gtype-init-fini-table\"><placeholder-1/><tgroup cols=\"3\"><colspec "
+"colwidth=\"*\" colnum=\"1\" align=\"left\"/><colspec colwidth=\"*\"
colnum="
+"\"2\" align=\"left\"/><colspec colwidth=\"8*\" colnum=\"3\"
align=\"left\"/"
+"><thead><row><entry>Invocation time</entry><entry>Function Invoked</"
+"entry><entry>Function's
parameters</entry></row></thead><tbody><row><entry "
+"morerows=\"2\">First call to <function><link
linkend=\"g-type-create-instance"
+"\">g_type_create_instance</link></function> for target type</"
+"entry><entry>type's base_init function</entry><entry>On the inheritance
tree "
+"of classes from fundamental type to target type. base_init is invoked
once "
+"for each class structure.</entry></row><row><entry>target type's
class_init "
+"function</entry><entry>On target type's class structure</entry></"
+"row><row><entry>interface initialization, see <xref linkend=\"gtype-non-"
+"instantiable-classed-init\"/></entry><entry/></row><row><entry>Each call
to "
+"<function><link
linkend=\"g-type-create-instance\">g_type_create_instance</"
+"link></function> for target type</entry><entry>target type's
instance_init "
+"function</entry><entry>On object's instance</entry></row><row><entry "
+"morerows=\"2\">Last call to <function><link
linkend=\"g-type-free-instance"
+"\">g_type_free_instance</link></function> for target type</"
+"entry><entry>interface destruction, see <xref linkend=\"gtype-non-"
+"instantiable-classed-dest\"/></entry><entry/></row><row><entry>target
type's "
+"class_finalize function</entry><entry>On target type's class structure</"
+"entry></row><row><entry>type's base_finalize function</entry><entry>On
the "
+"inheritance tree of classes from fundamental type to target type. "
+"base_finalize is invoked once for each class structure.</entry></row></"
+"tbody></tgroup></table>"
+msgstr ""
+
+#: tut_gtype.xml:589(title)
+msgid "GType Instantiation/Finalization"
+msgstr ""
+
+#: tut_gtype.xml:6(title)
+msgid "The GLib Dynamic Type System"
+msgstr ""
+
+#: tut_gtype.xml:652(title)
+msgid "Non-instantiable classed types: interfaces"
+msgstr ""
+
+#: tut_gtype.xml:654(para)
+msgid ""
+"GType's interfaces are very similar to Java's interfaces. They allow to "
+"describe a common API that several classes will adhere to. Imagine the
play, "
+"pause and stop buttons on hi-fi equipment - those can be seen as a
playback "
+"interface. Once you know what they do, you can control your CD player,
MP3 "
+"player or anything that uses these symbols. To declare an interface you
have "
+"to register a non-instantiable classed type which derives from <link
linkend="
+"\"GTypeInterface\"><type>GTypeInterface</type></link>. The following
piece "
+"of code declares such an interface. <placeholder-1/> The interface
function, "
+"<function>maman_ibaz_do_action</function> is implemented in a pretty
simple "
+"way: <placeholder-2/><function>maman_ibaz_get_type</function> registers
a "
+"type named <emphasis>MamanIBaz</emphasis> which inherits from "
+"G_TYPE_INTERFACE. All interfaces must be children of G_TYPE_INTERFACE in
the "
+"inheritance tree."
+msgstr ""
+
+#: tut_gtype.xml:663(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"#define MAMAN_TYPE_IBAZ (maman_ibaz_get_type ())\n"
+"#define MAMAN_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST
((obj), MAMAN_TYPE_IBAZ, MamanIbaz))\n"
+"#define MAMAN_IS_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE
((obj), MAMAN_TYPE_IBAZ))\n"
+"#define MAMAN_IBAZ_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE
((inst), MAMAN_TYPE_IBAZ, MamanIbazInterface))\n"
+"\n"
+"typedef struct _MamanIbaz MamanIbaz; /* dummy object */\n"
+"typedef struct _MamanIbazInterface MamanIbazInterface;\n"
+"\n"
+"struct _MamanIbazInterface {\n"
+" GTypeInterface parent;\n"
+"\n"
+" void (*do_action) (MamanIbaz *self);\n"
+"};\n"
+"\n"
+"GType maman_ibaz_get_type (void);\n"
+"\n"
+"void maman_ibaz_do_action (MamanIbaz *self);\n"
+msgstr ""
+
+#: tut_gtype.xml:67(para)
+msgid ""
+"Fundamental types are top-level types which do not derive from any other "
+"type while other non-fundamental types derive from other types. Upon "
+"initialization by <function><link linkend=\"g-type-init\">g_type_init</"
+"link></function>, the type system not only initializes its internal data "
+"structures but it also registers a number of core types: some of these
are "
+"fundamental types. Others are types derived from these fundamental types."
+msgstr ""
+
+#: tut_gtype.xml:684(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void maman_ibaz_do_action (MamanIbaz *self)\n"
+"{\n"
+" MAMAN_IBAZ_GET_INTERFACE (self)-&gt;do_action (self);\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:695(para)
+msgid ""
+"An interface is defined by only one structure which must contain as
first "
+"member a <link
linkend=\"GTypeInterface\"><type>GTypeInterface</type></link> "
+"structure. The interface structure is expected to contain the function "
+"pointers of the interface methods. It is good style to define helper "
+"functions for each of the interface methods which simply call the
interface' "
+"method directly: <function>maman_ibaz_do_action</function> is one of
these."
+msgstr ""
+
+#: tut_gtype.xml:704(para)
+msgid ""
+"Once an interface type is registered, you must register implementations
for "
+"these interfaces. The function named
<function>maman_baz_get_type</function> "
+"registers a new GType named MamanBaz which inherits from <link linkend="
+"\"GObject\"><type>GObject</type></link> and which implements the
interface "
+"<type>MamanIBaz</type>. <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:709(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void maman_baz_do_action (MamanIbaz *self)\n"
+"{\n"
+" g_print (\"Baz implementation of IBaz interface Action.\\n\");\n"
+"}\n"
+"\n"
+"\n"
+"static void\n"
+"baz_interface_init (gpointer g_iface,\n"
+" gpointer iface_data)\n"
+"{\n"
+" MamanIbazInterface *iface = (MamanIbazInterface *)g_iface;\n"
+" iface-&gt;do_action = maman_baz_do_action;\n"
+"}\n"
+"\n"
+"GType \n"
+"maman_baz_get_type (void)\n"
+"{\n"
+" static GType type = 0;\n"
+" if (type == 0) {\n"
+" static const GTypeInfo info = {\n"
+" sizeof (MamanBazInterface),\n"
+" NULL, /* base_init */\n"
+" NULL, /* base_finalize */\n"
+" NULL, /* class_init */\n"
+" NULL, /* class_finalize */\n"
+" NULL, /* class_data */\n"
+" sizeof (MamanBaz),\n"
+" 0, /* n_preallocs */\n"
+" NULL /* instance_init */\n"
+" };\n"
+" static const GInterfaceInfo ibaz_info = {\n"
+" (GInterfaceInitFunc) baz_interface_init, /* interface_init */\n"
+" NULL, /* interface_finalize */\n"
+" NULL /* interface_data */\n"
+" };\n"
+" type = g_type_register_static (G_TYPE_OBJECT,\n"
+" \"MamanBazType\",\n"
+" &amp;info, 0);\n"
+" g_type_add_interface_static (type,\n"
+" MAMAN_TYPE_IBAZ,\n"
+" &amp;ibaz_info);\n"
+" }\n"
+" return type;\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:757(para)
+msgid ""
+"<function><link linkend=\"g-type-add-interface-static"
+"\">g_type_add_interface_static</link></function> records in the type
system "
+"that a given type implements also <type>FooInterface</type> "
+"(<function>foo_interface_get_type</function> returns the type of "
+"<type>FooInterface</type>). The <link linkend=\"GInterfaceInfo"
+"\"><type>GInterfaceInfo</type></link> structure holds information about
the "
+"implementation of the interface: <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:76(para)
+msgid ""
+"Fundamental and non-fundamental types are defined by: <placeholder-1/> "
+"Fundamental types are also defined by a set of <link linkend="
+"\"GTypeFundamentalFlags\"><type>GTypeFundamentalFlags</type></link>
which "
+"are stored in a <link linkend=\"GTypeFundamentalInfo"
+"\"><type>GTypeFundamentalInfo</type></link>. Non-fundamental types are "
+"furthermore defined by the type of their parent which is passed as the "
+"parent_type parameter to <function><link linkend=\"g-type-register-static"
+"\">g_type_register_static</link></function> and <function><link
linkend=\"g-"
+"type-register-dynamic\">g_type_register_dynamic</link></function>."
+msgstr ""
+
+#: tut_gtype.xml:764(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"struct _GInterfaceInfo\n"
+"{\n"
+" GInterfaceInitFunc interface_init;\n"
+" GInterfaceFinalizeFunc interface_finalize;\n"
+" gpointer interface_data;\n"
+"};\n"
+msgstr ""
+
+#: tut_gtype.xml:773(para)
+msgid ""
+"When having no special requirements you also can use the "
+"<function>G_DEFINE_INTERFACE</function> macro: <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:775(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"G_DEFINE_INTERFACE (MamanBaz, maman_baz, G_TYPE_OBJECT)\n"
+msgstr ""
+
+#: tut_gtype.xml:782(title) tut_gtype.xml:839(title)
+msgid "Interface Initialization"
+msgstr ""
+
+#: tut_gtype.xml:784(para)
+msgid ""
+"When an instantiable classed type which registered an interface "
+"implementation is created for the first time, its class structure is "
+"initialized following the process described in <xref linkend=\"gtype-"
+"instantiable-classed\"/>. After that, the interface implementations "
+"associated with the type are initialized."
+msgstr ""
+
+#: tut_gtype.xml:79(para)
+msgid ""
+"class size: the class_size field in <link linkend=\"GTypeInfo"
+"\"><type>GTypeInfo</type></link>."
+msgstr ""
+
+#: tut_gtype.xml:793(para)
+msgid ""
+"First a memory buffer is allocated to hold the interface structure. The "
+"parent's interface structure is then copied over to the new interface "
+"structure (the parent interface is already initialized at that point).
If "
+"there is no parent interface, the interface structure is initialized
with "
+"zeros. The g_type and the g_instance_type fields are then initialized: "
+"g_type is set to the type of the most-derived interface and
g_instance_type "
+"is set to the type of the most derived type which implements this
interface."
+msgstr ""
+
+#: tut_gtype.xml:8(para)
+msgid ""
+"A type, as manipulated by the GLib type system, is much more generic
than "
+"what is usually understood as an Object type. It is best explained by "
+"looking at the structure and the functions used to register new types in
the "
+"type system. <placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:803(para)
+msgid ""
+"Finally, the interface' most-derived <function>base_init</function>
function "
+"and then the implementation's <function>interface_init</function>
function "
+"are invoked. It is important to understand that if there are multiple "
+"implementations of an interface the <function>base_init</function> and "
+"<function>interface_init</function> functions will be invoked once for
each "
+"implementation initialized."
+msgstr ""
+
+#: tut_gtype.xml:812(para)
+msgid ""
+"It is thus common for base_init functions to hold a local static boolean "
+"variable which makes sure that the interface type is initialized only
once "
+"even if there are multiple implementations of the interface:
<placeholder-1/>"
+msgstr ""
+
+#: tut_gtype.xml:816(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"maman_ibaz_base_init (gpointer g_iface)\n"
+"{\n"
+" static gboolean initialized = FALSE;\n"
+"\n"
+" if (!initialized) {\n"
+" /* create interface signals here. */\n"
+" initialized = TRUE;\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#: tut_gtype.xml:82(para)
+msgid ""
+"class initialization functions (C++ constructor): the base_init and "
+"class_init fields in <link linkend=\"GTypeInfo\"><type>GTypeInfo</type></"
+"link>."
+msgstr ""
+
+#: tut_gtype.xml:830(para)
+msgid ""
+"If you have found the stuff about interface hairy, you are right: it is "
+"hairy but there is not much I can do about it. What I can do is
summarize "
+"what you need to know about interfaces:"
+msgstr ""
+
+#: tut_gtype.xml:836(para)
+msgid ""
+"The above process can be summarized as follows: <table
id=\"ginterface-init-"
+"table\"><placeholder-1/><tgroup cols=\"3\"><colspec colwidth=\"*\"
colnum="
+"\"1\" align=\"left\"/><colspec colwidth=\"*\" colnum=\"2\"
align=\"left\"/"
+"><colspec colwidth=\"8*\" colnum=\"3\" align=\"left\"/"
+"><thead><row><entry>Invocation time</entry><entry>Function Invoked</"
+"entry><entry>Function's parameters</entry><entry>Remark</entry></row></"
+"thead><tbody><row><entry morerows=\"1\">First call to <function><link "
+"linkend=\"g-type-create-instance\">g_type_create_instance</link></function> "
+"for type implementing interface </entry><entry>interface' base_init "
+"function</entry><entry>On interface' vtable</entry><entry>Register "
+"interface' signals here (use a local static boolean variable as
described "
+"above to make sure not to register them twice.).</entry></"
+"row><row><entry>interface' interface_init function</entry><entry>On "
+"interface' vtable</entry><entry> Initialize interface' implementation.
That "
+"is, initialize the interface method pointers in the interface structure
to "
+"the function's implementation. </entry></row></tbody></tgroup></table> It
is "
+"highly unlikely (i.e. I do not know of <emphasis>anyone</emphasis> who "
+"actually used it) you will ever need other more fancy things such as the "
+"ones described in the following section (<xref linkend=\"gtype-non-"
+"instantiable-classed-dest\"/>)."
+msgstr ""
+
+#: tut_gtype.xml:86(para)
+msgid ""
+"class destruction functions (C++ destructor): the base_finalize and "
+"class_finalize fields in <link
linkend=\"GTypeInfo\"><type>GTypeInfo</type></"
+"link>."
+msgstr ""
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_howto.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1555 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_howto.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_howto.xml:1001(title)
+msgid "Interface definition prerequisites"
+msgstr ""
+
+#: tut_howto.xml:1003(para)
+msgid ""
+"To specify that an interface requires the presence of other interfaces
when "
+"implemented, GObject introduces the concept of <emphasis>prerequisites</"
+"emphasis>: it is possible to associate a list of prerequisite interfaces
to "
+"an interface. For example, if object A wishes to implement interface I1,
and "
+"if interface I1 has a prerequisite on interface I2, A has to implement
both "
+"I1 and I2."
+msgstr ""
+
+#: tut_howto.xml:1012(para)
+msgid ""
+"The mechanism described above is, in practice, very similar to Java's "
+"interface I1 extends interface I2. The example below shows the GObject "
+"equivalent: <placeholder-1/> The code shown above adds the MamanIbaz "
+"interface to the list of prerequisites of MamanIbar while the code below "
+"shows how an implementation can implement both interfaces and register
their "
+"implementations: <placeholder-2/> It is very important to notice that
the "
+"order in which interface implementations are added to the main object is
not "
+"random: <function><link linkend=\"g-type-add-interface-static"
+"\">g_type_add_interface_static</link></function>, which is called by "
+"<function>G_IMPLEMENT_INTERFACE</function>, must be invoked first on the "
+"interfaces which have no prerequisites and then on the others."
+msgstr ""
+
+#: tut_howto.xml:1016(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+" /* inside the GType function of the MamanIbar interface */\n"
+" type = g_type_register_static (G_TYPE_INTERFACE, \"MamanIbar\",
&amp;info, 0);\n"
+"\n"
+" /* Make the MamanIbar interface require MamanIbaz interface. */\n"
+" g_type_interface_add_prerequisite (type, MAMAN_TYPE_IBAZ);\n"
+msgstr ""
+
+#: tut_howto.xml:1027(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"maman_ibar_do_another_action (MamanIbar *ibar)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (ibar);\n"
+"\n"
+" g_print (\"Bar implementation of IBar interface Another Action:
0x%x.\\n\",\n"
+" self-&gt;instance_member);\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_ibar_interface_init (MamanIbarInterface *iface)\n"
+"{\n"
+" iface-&gt;do_another_action = maman_ibar_do_another_action;\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_ibaz_do_action (MamanIbaz *ibaz)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (ibaz);\n"
+"\n"
+" g_print (\"Bar implementation of IBaz interface Action: 0x%x.\\n\",\n"
+" self-&gt;instance_member);\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_ibaz_interface_init (MamanIbazInterface *iface)\n"
+"{\n"
+" iface-&gt;do_action = maman_ibaz_do_action;\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+"\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_init (MamanBar *self)\n"
+"{\n"
+" self-&gt;instance_member = 0x666;\n"
+"}\n"
+"\n"
+"G_DEFINE_TYPE_WITH_CODE (MamanBar, maman_bar, G_TYPE_OBJECT,\n"
+" G_IMPLEMENT_INTERFACE (MAMAN_TYPE_IBAZ,\n"
+"
maman_ibaz_interface_init)\n"
+" G_IMPLEMENT_INTERFACE (MAMAN_TYPE_IBAR,\n"
+"
maman_ibar_interface_init));\n"
+msgstr ""
+
+#: tut_howto.xml:1086(title)
+msgid "Interface Properties"
+msgstr ""
+
+#: tut_howto.xml:1088(para)
+msgid ""
+"Starting from version 2.4 of GLib, GObject interfaces can also have "
+"properties. Declaration of the interface properties is similar to
declaring "
+"the properties of ordinary GObject types as explained in <xref linkend="
+"\"gobject-properties\"/>, except that <function><link linkend=\"g-object-"
+"interface-install-property\">g_object_interface_install_property</link></"
+"function> is used to declare the properties instead of <function><link "
+"linkend=\"g-object-class-install-property\">g_object_class_install_property</"
+"link></function>."
+msgstr ""
+
+#: tut_howto.xml:1097(para)
+msgid ""
+"To include a property named 'name' of type <type>string</type> in the "
+"<type>maman_ibaz</type> interface example code above, we only need to
add "
+"one <placeholder-1/> line in the <function>maman_ibaz_base_init</"
+"function><placeholder-2/> as shown below: <placeholder-3/>"
+msgstr ""
+
+#: tut_howto.xml:1102(para)
+msgid "That really is one line extended to six for the sake of clarity"
+msgstr ""
+
+#: tut_howto.xml:1108(para)
+msgid ""
+"The <function><link linkend=\"g-object-interface-install-property"
+"\">g_object_interface_install_property</link></function> can also be
called "
+"from <function>class_init</function> but it must not be called after
that "
+"point."
+msgstr ""
+
+#: tut_howto.xml:1115(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"maman_ibaz_base_init (gpointer g_iface)\n"
+"{\n"
+" static gboolean is_initialized = FALSE;\n"
+"\n"
+" if (!is_initialized)\n"
+" {\n"
+" g_object_interface_install_property (g_iface,\n"
+" g_param_spec_string
(\"name\",\n"
+"
\"Name\",\n"
+" \"Name of
the MamanIbaz\",\n"
+"
\"maman\",\n"
+"
G_PARAM_READWRITE));\n"
+" is_initialized = TRUE;\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:1135(para)
+msgid ""
+"One point worth noting is that the declared property wasn't assigned an "
+"integer ID. The reason being that integer IDs of properties are used
only "
+"inside the get and set methods and since interfaces do not implement "
+"properties, there is no need to assign integer IDs to interface
properties."
+msgstr ""
+
+#: tut_howto.xml:1143(para)
+msgid ""
+"An implementation shall declare and define it's properties in the usual
way "
+"as explained in <xref linkend=\"gobject-properties\"/>, except for one
small "
+"change: it must declare the properties of the interface it implements
using "
+"<function><link linkend=\"g-object-class-override-property"
+"\">g_object_class_override_property</link></function> instead of "
+"<function><link linkend=\"g-object-class-install-property"
+"\">g_object_class_install_property</link></function>. The following code "
+"snippet shows the modifications needed in the <type>MamanBaz</type> "
+"declaration and implementation above: <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:1151(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\n"
+"struct _MamanBaz\n"
+"{\n"
+" GObject parent_instance;\n"
+"\n"
+" gint instance_member;\n"
+" gchar *name;\n"
+"};\n"
+"\n"
+"enum\n"
+"{\n"
+" PROP_0,\n"
+"\n"
+" PROP_NAME\n"
+"};\n"
+"\n"
+"static void\n"
+"maman_baz_set_property (GObject *object,\n"
+" guint property_id,\n"
+" const GValue *value,\n"
+" GParamSpec *pspec)\n"
+"{\n"
+" MamanBaz *baz = MAMAN_BAZ (object);\n"
+" GObject *obj;\n"
+"\n"
+" switch (prop_id)\n"
+" {\n"
+" case ARG_NAME:\n"
+" g_free (baz-&gt;name);\n"
+" baz-&gt;name = g_value_dup_string (value);\n"
+" break;\n"
+"\n"
+" default:\n"
+" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);\n"
+" break;\n"
+" }\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_baz_get_property (GObject *object,\n"
+" guint prop_id,\n"
+" GValue *value,\n"
+" GParamSpec *pspec)\n"
+"{\n"
+" MamanBaz *baz = MAMAN_BAZ (object);\n"
+"\n"
+" switch (prop_id)\n"
+" {\n"
+" case ARG_NAME:\n"
+" g_value_set_string (value, baz-&gt;name);\n"
+" break;\n"
+"\n"
+" default:\n"
+" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);\n"
+" break;\n"
+" }\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_baz_class_init (MamanBazClass *klass)\n"
+"{\n"
+" GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n"
+"\n"
+" gobject_class-&gt;set_property = maman_baz_set_property;\n"
+" gobject_class-&gt;get_property = maman_baz_get_property;\n"
+"\n"
+" g_object_class_override_property (gobject_class, PROP_NAME,
\"name\");\n"
+"}\n"
+"\n"
+msgstr ""
+
+#: tut_howto.xml:1229(title)
+msgid "How to create and use signals"
+msgstr ""
+
+#: tut_howto.xml:1231(para)
+msgid ""
+"The signal system which was built in GType is pretty complex and
flexible: "
+"it is possible for its users to connect at runtime any number of
callbacks "
+"(implemented in any language for which a binding exists) <placeholder-1/>
to "
+"any signal and to stop the emission of any signal at any state of the
signal "
+"emission process. This flexibility makes it possible to use GSignal for
much "
+"more than just emit signals which can be received by numerous clients."
+msgstr ""
+
+#: tut_howto.xml:1237(para)
+msgid ""
+"A Python callback can be connected to any signal on any C-based GObject."
+msgstr ""
+
+#: tut_howto.xml:1248(title)
+msgid "Simple use of signals"
+msgstr ""
+
+#: tut_howto.xml:1250(para)
+msgid ""
+"The most basic use of signals is to implement simple event notification:
for "
+"example, if we have a MamanFile object, and if this object has a write "
+"method, we might wish to be notified whenever someone has changed
something "
+"via our MamanFile instance. The code below shows how the user can connect
a "
+"callback to the \"changed\" signal. <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:1257(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"file = g_object_new (MAMAN_FILE_TYPE, NULL);\n"
+"\n"
+"g_signal_connect (file, \"changed\", G_CALLBACK (changed_event), NULL);\n"
+"\n"
+"maman_file_write (file, buffer, strlen (buffer));\n"
+msgstr ""
+
+#: tut_howto.xml:1266(para)
+msgid ""
+"The <type>MamanFile</type> signal is registered in the class_init
function: "
+"<placeholder-1/> and the signal is emitted in
<function>maman_file_write</"
+"function>: <placeholder-2/> As shown above, you can safely set the
details "
+"parameter to zero if you do not know what it can be used for. For a "
+"discussion of what you could used it for, see <xref
linkend=\"signal-detail"
+"\"/>"
+msgstr ""
+
+#: tut_howto.xml:1269(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"file_signals[CHANGED] = \n"
+" g_signal_newv (\"changed\",\n"
+" G_TYPE_FROM_CLASS (gobject_class),\n"
+" G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,\n"
+" NULL /* closure */,\n"
+" NULL /* accumulator */,\n"
+" NULL /* accumulator data */,\n"
+" g_cclosure_marshal_VOID__VOID,\n"
+" G_TYPE_NONE /* return_type */,\n"
+" 0 /* n_params */,\n"
+" NULL /* param_types */);\n"
+msgstr ""
+
+#: tut_howto.xml:1283(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"void\n"
+"maman_file_write (MamanFile *self,\n"
+" const guchar *buffer,\n"
+" gssize size)\n"
+"{\n"
+" /* First write data. */\n"
+"\n"
+" /* Then, notify user of data written. */\n"
+" g_signal_emit (self, file_signals[CHANGED], 0 /* details */);\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:1300(para)
+msgid ""
+"The signature of the signal handler in the above example is defined as "
+"<function>g_cclosure_marshal_VOID__VOID</function>. Its name follows a "
+"simple convention which encodes the function parameter and return value "
+"types in the function name. Specifically, the value in front of the
double "
+"underscore is the type of the return value, while the value(s) after the "
+"double underscore denote the parameter types."
+msgstr ""
+
+#: tut_howto.xml:1309(para)
+msgid ""
+"The header <filename>gobject/gmarshal.h</filename> defines a set of
commonly "
+"needed closures that one can use. If you want to have complex
marshallers "
+"for your signals you should probably use glib-genmarshal to autogenerate "
+"them from a file containing their return and parameter types."
+msgstr ""
+
+#: tut_howto.xml:136(para)
+msgid ""
+"Most GTK+ types declare their private fields in the public header with a
/* "
+"private */ comment, relying on their user's intelligence not to try to
play "
+"with these fields. Fields not marked private are considered public by "
+"default. The /* protected */ comment (same semantics as those of C++) is "
+"also used, mainly in the GType library, in code written by Tim Janik. "
+"<placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:143(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"struct _MamanBar\n"
+"{\n"
+" GObject parent_instance;\n"
+"\n"
+" /*&lt; private &gt;*/\n"
+" int hsize;\n"
+"};\n"
+msgstr ""
+
+#: tut_howto.xml:153(para)
+msgid ""
+"All of Nautilus code and a lot of GNOME libraries use private
indirection "
+"members, as described by Herb Sutter in his Pimpl articles(see <ulink
url="
+"\"http://www.gotw.ca/gotw/024.htm\">Compilation Firewalls</ulink> and
<ulink "
+"url=\"http://www.gotw.ca/gotw/028.htm\">The Fast Pimpl Idiom</ulink>: he "
+"summarizes the different issues better than I will). <placeholder-1/"
+"><placeholder-2/> The private structure is then defined in the .c file, "
+"using the g_type_class_add_private() function to notify the presence of
a "
+"private memory area for each instance and it can either be retrieved
using "
+"<function>G_TYPE_INSTANCE_GET_PRIVATE()</function> each time is needed,
or "
+"assigned to the <literal>priv</literal> member of the instance structure "
+"inside the object's <function>init</function> function. <placeholder-3/>"
+msgstr ""
+
+#: tut_howto.xml:159(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"typedef struct _MamanBarPrivate MamanBarPrivate;\n"
+"\n"
+"struct _MamanBar\n"
+"{\n"
+" GObject parent_instance;\n"
+" \n"
+" /*&lt; private &gt;*/\n"
+" MamanBarPrivate *priv;\n"
+"};\n"
+msgstr ""
+
+#: tut_howto.xml:16(title)
+msgid "How to define and implement a new GObject"
+msgstr ""
+
+#: tut_howto.xml:170(simpara)
+msgid ""
+"Do not call this <varname>private</varname>, as that is a registered c++ "
+"keyword."
+msgstr ""
+
+#: tut_howto.xml:18(para)
+msgid ""
+"Clearly, this is one of the most common questions people ask: they just
want "
+"to crank code and implement a subclass of a GObject. Sometimes because
they "
+"want to create their own class hierarchy, sometimes because they want to "
+"subclass one of GTK+'s widget. This chapter will focus on the
implementation "
+"of a subtype of GObject."
+msgstr ""
+
+#: tut_howto.xml:180(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"#define MAMAN_BAR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj),
MAMAN_TYPE_BAR, MamanBarPrivate))\n"
+"\n"
+"struct _MamanBarPrivate\n"
+"{\n"
+" int hsize;\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+" g_type_class_add_private (klass, sizeof (MamanBarPrivate));\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_init (MamanBar *self)\n"
+"{\n"
+" MamanBarPrivate *priv;\n"
+"\n"
+" self-&gt;priv = priv = MAMAN_BAR_GET_PRIVATE (self);\n"
+"\n"
+" priv-&gt;hsize = 42;\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:206(para)
+msgid ""
+"You don't need to free or allocate the private structure, only the
objects "
+"or pointers that it may contain. Another advantage of this to the
previous "
+"version is that is lessens memory fragmentation, as the public and
private "
+"parts of the instance memory are allocated at once."
+msgstr ""
+
+#: tut_howto.xml:216(para)
+msgid ""
+"Finally, there are different header include conventions. Again, pick one
and "
+"stick to it. I personally use indifferently any of the two, depending on
the "
+"codebase I work on: the rule, as always, is consistency. <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:221(para)
+msgid ""
+"Some people add at the top of their headers a number of #include
directives "
+"to pull in all the headers needed to compile client code. This allows
client "
+"code to simply #include \"maman-bar.h\"."
+msgstr ""
+
+#: tut_howto.xml:226(para)
+msgid ""
+"Other do not #include anything and expect the client to #include
themselves "
+"the headers they need before including your header. This speeds up "
+"compilation because it minimizes the amount of pre-processor work. This
can "
+"be used in conjunction with the re-declaration of certain unused types
in "
+"the client code to minimize compile-time dependencies and thus speed up "
+"compilation."
+msgstr ""
+
+#: tut_howto.xml:240(title)
+msgid "Boilerplate code"
+msgstr ""
+
+#: tut_howto.xml:242(para)
+msgid ""
+"In your code, the first step is to #include the needed headers: depending
on "
+"your header include strategy, this can be as simple as <literal>#include "
+"\"maman-bar.h\"</literal> or as complicated as tens of #include lines
ending "
+"with <literal>#include \"maman-bar.h\"</literal>: <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:247(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/*\n"
+" * Copyright information\n"
+" */\n"
+"\n"
+"#include \"maman-bar.h\"\n"
+"\n"
+"/* If you use Pimpls, include the private structure \n"
+" * definition here. Some people create a maman-bar-private.h header\n"
+" * which is included by the maman-bar.c file and which contains the\n"
+" * definition for this private structure.\n"
+" */\n"
+"struct _MamanBarPrivate {\n"
+" int member_1;\n"
+" /* stuff */\n"
+"};\n"
+"\n"
+"/* \n"
+" * forward definitions\n"
+" */\n"
+msgstr ""
+
+#: tut_howto.xml:27(title)
+msgid "Boilerplate header code"
+msgstr ""
+
+#: tut_howto.xml:270(para)
+msgid ""
+"Call the <function>G_DEFINE_TYPE</function> macro using the name of the "
+"type, the prefix of the functions and the parent GType to reduce the
amount "
+"of boilerplate needed. This macro will: <placeholder-1/><placeholder-2/>"
+msgstr ""
+
+#: tut_howto.xml:276(simpara)
+msgid "implement the <function>maman_bar_get_type</function> function"
+msgstr ""
+
+#: tut_howto.xml:278(simpara)
+msgid "define a parent class pointer accessible from the whole .c file"
+msgstr ""
+
+#: tut_howto.xml:282(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT);\n"
+msgstr ""
+
+#: tut_howto.xml:287(para)
+msgid ""
+"It is also possible to use the
<function>G_DEFINE_TYPE_WITH_CODE</function> "
+"macro to control the get_type function implementation - for instance, to
add "
+"a call to <function>G_IMPLEMENT_INTERFACE</function> macro which will
call "
+"the <function>g_type_implement_interface</function> function."
+msgstr ""
+
+#: tut_howto.xml:29(para)
+msgid ""
+"The first step before writing the code for your GObject is to write the "
+"type's header which contains the needed type, function and macro "
+"definitions. Each of these elements is nothing but a convention which is "
+"followed not only by GTK+'s code but also by most users of GObject. If
you "
+"feel the need not to obey the rules stated below, think about it twice: "
+"<placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:297(title)
+msgid "Object Construction"
+msgstr ""
+
+#: tut_howto.xml:299(para)
+msgid ""
+"People often get confused when trying to construct their GObjects because
of "
+"the sheer number of different ways to hook into the objects's
construction "
+"process: it is difficult to figure which is the <emphasis>correct</"
+"emphasis>, recommended way."
+msgstr ""
+
+#: tut_howto.xml:305(para)
+msgid ""
+"<xref linkend=\"gobject-construction-table\"/> shows what user-provided "
+"functions are invoked during object instantiation and in which order
they "
+"are invoked. A user looking for the equivalent of the simple C++
constructor "
+"function should use the instance_init method. It will be invoked after
all "
+"the parent's instance_init functions have been invoked. It cannot take "
+"arbitrary construction parameters (as in C++) but if your object needs "
+"arbitrary parameters to complete initialization, you can use
construction "
+"properties."
+msgstr ""
+
+#: tut_howto.xml:315(para)
+msgid ""
+"Construction properties will be set only after all instance_init
functions "
+"have run. No object reference will be returned to the client of "
+"<function><link linkend=\"g-object-new\">g_object_new</link></function> "
+"until all the construction properties have been set."
+msgstr ""
+
+#: tut_howto.xml:321(para)
+msgid ""
+"As such, I would recommend writing the following code first:
<placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:323(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"maman_bar_init (MamanBar *self)\n"
+"{\n"
+" self-&gt;priv = MAMAN_BAR_GET_PRIVATE (self); \n"
+"\n"
+" /* initialize all public and private members to reasonable default
values. */\n"
+"\n"
+" /* If you need specific construction properties to complete
initialization,\n"
+" * delay initialization completion until the property is set. \n"
+" */\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:338(para)
+msgid ""
+"Now, if you need special construction properties, install the properties
in "
+"the class_init function, override the set and get methods and implement
the "
+"get and set methods as described in <xref
linkend=\"gobject-properties\"/>. "
+"Make sure that these properties use a construct only <link linkend="
+"\"GParamSpec\"><type>GParamSpec</type></link> by setting the param
spec's "
+"flag field to G_PARAM_CONSTRUCT_ONLY: this helps GType ensure that these "
+"properties are not set again later by malicious user code.
<placeholder-1/> "
+"If you need this, make sure you can build and run code similar to the
code "
+"shown above. Make sure your construct properties can set correctly
during "
+"construction, make sure you cannot set them afterwards and make sure that
if "
+"your users do not call <function><link linkend=\"g-object-new"
+"\">g_object_new</link></function> with the required construction
properties, "
+"these will be initialized with the default values."
+msgstr ""
+
+#: tut_howto.xml:344(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+" GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n"
+" GParamSpec *pspec;\n"
+"\n"
+" gobject_class-&gt;set_property = bar_set_property;\n"
+" gobject_class-&gt;get_property = bar_get_property;\n"
+"\n"
+" pspec = g_param_spec_string (\"maman\",\n"
+" \"Maman construct prop\",\n"
+" \"Set maman's name\",\n"
+" \"no-name-set\" /* default
value */,\n"
+" G_PARAM_CONSTRUCT_ONLY |
G_PARAM_READWRITE);\n"
+" g_object_class_install_property (gobject_class,\n"
+" PROP_MAMAN,\n"
+" pspec);\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:37(para)
+msgid ""
+"If your users are a bit accustomed to GTK+ code or any GLib code, they
will "
+"be a bit surprised and getting used to the conventions you decided upon
will "
+"take time (money) and will make them grumpy (not a good thing)"
+msgstr ""
+
+#: tut_howto.xml:370(para)
+msgid ""
+"I consider good taste to halt program execution if a construction
property "
+"is set its default value. This allows you to catch client code which
does "
+"not give a reasonable value to the construction properties. Of course,
you "
+"are free to disagree but you should have a good reason to do so."
+msgstr ""
+
+#: tut_howto.xml:377(para)
+msgid ""
+"Some people sometimes need to construct their object but only after the "
+"construction properties have been set. This is possible through the use
of "
+"the constructor class method as described in <xref linkend=\"gobject-"
+"instantiation\"/> or, more simply, using the constructed class method "
+"available since GLib 2.12."
+msgstr ""
+
+#: tut_howto.xml:387(title)
+msgid "Object Destruction"
+msgstr ""
+
+#: tut_howto.xml:389(para)
+msgid ""
+"Again, it is often difficult to figure out which mechanism to use to
hook "
+"into the object's destruction process: when the last <function><link
linkend="
+"\"g-object-unref\">g_object_unref</link></function> function call is
made, a "
+"lot of things happen as described in <xref linkend=\"gobject-destruction-"
+"table\"/>."
+msgstr ""
+
+#: tut_howto.xml:397(para)
+msgid ""
+"The destruction process of your object might be split in two different "
+"phases: dispose and the finalize. <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:400(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"#define MAMAN_BAR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj),
MAMAN_TYPE_BAR, MamanBarPrivate))\n"
+"\n"
+"struct _MamanBarPrivate\n"
+"{\n"
+" GObject *an_object;\n"
+"\n"
+" gchar *a_string;\n"
+"};\n"
+"\n"
+"G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT);\n"
+"\n"
+"static void\n"
+"maman_bar_dispose (GObject *gobject)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (gobject);\n"
+"\n"
+" /* \n"
+" * In dispose, you are supposed to free all types referenced from
this\n"
+" * object which might themselves hold a reference to self. Generally,\n"
+" * the most simple solution is to unref all members on which you own a
\n"
+" * reference.\n"
+" */\n"
+"\n"
+" /* dispose might be called multiple times, so we must guard against\n"
+" * calling g_object_unref() on an invalid GObject.\n"
+" */\n"
+" if (self-&gt;priv-&gt;an_object)\n"
+" {\n"
+" g_object_unref (self-&gt;priv-&gt;an_object);\n"
+"\n"
+" self-&gt;priv-&gt;an_object = NULL;\n"
+" }\n"
+"\n"
+" /* Chain up to the parent class */\n"
+" G_OBJECT_CLASS (maman_bar_parent_class)-&gt;dispose (gobject);\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_finalize (GObject *gobject)\n"
+"{\n"
+" MamanBar *self = MAMAN_BAR (gobject);\n"
+"\n"
+" g_free (self-&gt;priv-&gt;a_string);\n"
+"\n"
+" /* Chain up to the parent class */\n"
+" G_OBJECT_CLASS (maman_bar_parent_class)-&gt;finalize (gobject);\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (MamanBarClass *klass)\n"
+"{\n"
+" GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n"
+"\n"
+" gobject_class-&gt;dispose = maman_bar_dispose;\n"
+" gobject_class-&gt;finalize = maman_bar_finalize;\n"
+"\n"
+" g_type_class_add_private (klass, sizeof (MamanBarPrivate));\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_init (MamanBar *self);\n"
+"{\n"
+" self-&gt;priv = MAMAN_BAR_GET_PRIVATE (self);\n"
+"\n"
+" self-&gt;priv-&gt;an_object = g_object_new (MAMAN_TYPE_BAZ, NULL);\n"
+" self-&gt;priv-&gt;a_string = g_strdup (\"Maman\");\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:41(para)
+msgid ""
+"You must assess the fact that these conventions might have been designed
by "
+"both smart and experienced people: maybe they were at least partly
right. "
+"Try to put your ego aside."
+msgstr ""
+
+#: tut_howto.xml:47(para)
+msgid ""
+"Pick a name convention for your headers and source code and stick to it: "
+"<placeholder-1/> Some people like the first two solutions better: it
makes "
+"reading file names easier for those with poor eyesight."
+msgstr ""
+
+#: tut_howto.xml:471(para)
+msgid ""
+"Add similar code to your GObject, make sure the code still builds and
runs: "
+"dispose and finalize must be called during the last unref."
+msgstr ""
+
+#: tut_howto.xml:476(para)
+msgid ""
+"It is possible that object methods might be invoked after dispose is run
and "
+"before finalize runs. GObject does not consider this to be a program
error: "
+"you must gracefully detect this and neither crash nor warn the user."
+msgstr ""
+
+#: tut_howto.xml:485(title)
+msgid "Object methods"
+msgstr ""
+
+#: tut_howto.xml:487(para)
+msgid ""
+"Just as with C++, there are many different ways to define object methods
and "
+"extend them: the following list and sections draw on C++ vocabulary. "
+"(Readers are expected to know basic C++ buzzwords. Those who have not had
to "
+"write C++ code recently can refer to e.g. <ulink
url=\"http://www.cplusplus."
+"com/doc/tutorial/\"/> to refresh their memories.) <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:495(para)
+msgid "non-virtual public methods,"
+msgstr ""
+
+#: tut_howto.xml:498(para)
+msgid "virtual public methods and"
+msgstr ""
+
+#: tut_howto.xml:50(para)
+msgid ""
+"use a dash to separate the prefix from the typename:
<filename>maman-bar.h</"
+"filename> and <filename>maman-bar.c</filename> (this is the convention
used "
+"by Nautilus and most GNOME libraries)."
+msgstr ""
+
+#: tut_howto.xml:501(para)
+msgid "virtual private methods"
+msgstr ""
+
+#: tut_howto.xml:508(title)
+msgid "Non-virtual public methods"
+msgstr ""
+
+#: tut_howto.xml:510(para)
+msgid ""
+"These are the simplest: you want to provide a simple method which can act
on "
+"your object. All you need to do is to provide a function prototype in
the "
+"header and an implementation of that prototype in the source file. "
+"<placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:515(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/* declaration in the header. */\n"
+"void maman_bar_do_action (MamanBar *self, /* parameters */);\n"
+"\n"
+"/* implementation in the source file */\n"
+"void\n"
+"maman_bar_do_action (MamanBar *self, /* parameters */)\n"
+"{\n"
+" g_return_if_fail (MAMAN_IS_BAR (self));\n"
+"\n"
+" /* do stuff here. */\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:53(para)
+msgid ""
+"use an underscore to separate the prefix from the typename: "
+"<filename>maman_bar.h</filename> and <filename>maman_bar.c</filename>."
+msgstr ""
+
+#: tut_howto.xml:530(para)
+msgid "There is really nothing scary about this."
+msgstr ""
+
+#: tut_howto.xml:534(title)
+msgid "Virtual public methods"
+msgstr ""
+
+#: tut_howto.xml:536(para)
+msgid ""
+"This is the preferred way to create polymorphic GObjects. All you need to
do "
+"is to define the common method and its class function in the public
header, "
+"implement the common method in the source file and re-implement the
class "
+"function in each object which inherits from you. <placeholder-1/> The
code "
+"above simply redirects the do_action call to the relevant class
function. "
+"Some users, concerned about performance, do not provide the "
+"<function>maman_bar_do_action</function> wrapper function and require
users "
+"to dereference the class pointer themselves. This is not such a great
idea "
+"in terms of encapsulation and makes it difficult to change the object's "
+"implementation afterwards, should this be needed."
+msgstr ""
+
+#: tut_howto.xml:542(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/* declaration in maman-bar.h. */\n"
+"struct _MamanBarClass\n"
+"{\n"
+" GObjectClass parent_class;\n"
+"\n"
+" /* stuff */\n"
+" void (*do_action) (MamanBar *self, /* parameters */);\n"
+"};\n"
+"\n"
+"void maman_bar_do_action (MamanBar *self, /* parameters */);\n"
+"\n"
+"/* implementation in maman-bar.c */\n"
+"void\n"
+"maman_bar_do_action (MamanBar *self, /* parameters */)\n"
+"{\n"
+" g_return_if_fail (MAMAN_IS_BAR (self));\n"
+"\n"
+" MAMAN_BAR_GET_CLASS (self)-&gt;do_action (self, /* parameters */);\n"
+"}\n"
+msgstr ""
+
+#: tut_howto.xml:56(para)
+msgid ""
+"Do not separate the prefix from the typename: <filename>mamanbar.h</"
+"filename> and <filename>mamanbar.c</filename>. (this is the convention
used "
+"by GTK+)"
+msgstr ""
+
+#: tut_howto.xml:572(para)
+msgid ""
+"Other users, also concerned by performance issues, declare the "
+"<function>maman_bar_do_action</function> function inline in the header
file. "
+"This, however, makes it difficult to change the object's implementation "
+"later (although easier than requiring users to directly dereference the "
+"class function) and is often difficult to write in a portable way (the "
+"<emphasis>inline</emphasis> keyword is part of the C99 standard but not "
+"every compiler supports it)."
+msgstr ""
+
+#: tut_howto.xml:582(para)
+msgid ""
+"In doubt, unless a user shows you hard numbers about the performance cost
of "
+"the function call, just implement
<function>maman_bar_do_action</function> "
+"in the source file."
+msgstr ""
+
+#: tut_howto.xml:588(para)
+msgid ""
+"Please, note that it is possible for you to provide a default
implementation "
+"for this class method in the object's <function>class_init</function> "
+"function: initialize the klass-&gt;do_action field to a pointer to the "
+"actual implementation. You can also make this class method pure virtual
by "
+"initializing the klass-&gt;do_action field to NULL: <placeholder-1/>"
+msgstr ""
+
+#: tut_howto.xml:595(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void\n"
+"maman_bar_real_do_action_two (MamanBar *self, /* parameters */)\n"
+"{\n"
+" /* Default implementation for the virtual method. */\n"
+"}\n"
+"\n"
+"static void\n"
+"maman_bar_class_init (BarClass *klass)\n"
+"{\n"
+" /* pure virtual method: mandates implementation in children. */\n"
+" klass-&gt;do_action_one = NULL;\n"
+"\n"
+" /* merely virtual method. */\n"
+" klass-&gt;do_action_two = maman_bar_real_do_action_two;\n"
+"}\n"
+"\n"
+"void\n"
+"maman_bar_do_action_one (MamanBar *self, /* parameters */)\n"
+"{\n"
+" g_return_if_fail (MAMAN_IS_BAR (self));\n"
+"\n"
+" MAMAN_BAR_GET_CLASS (self)-&gt;do_action_one (self, /* parameters
*/);\n"
+"}\n"
+"\n"
+"void\n"
+"maman_bar_do_action_two (MamanBar *self, /* parameters */)\n"
+"{\n"
+" g_return_if_fail (MAMAN_IS_BAR (self));\n"
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_intro.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,261 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:25+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_intro.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_intro.xml:112(para)
+msgid ""
+"Now, let's say we want to call the C function <function>function_foo</"
+"function> from a Python program. To do this, the Python interpreter
needs "
+"to: <placeholder-1/>"
+msgstr ""
+
+#: tut_intro.xml:116(para)
+msgid ""
+"Find where the function is located. This probably means finding the
binary "
+"generated by the C compiler which exports this function."
+msgstr ""
+
+#: tut_intro.xml:118(para)
+msgid "Load the code of the function in executable memory."
+msgstr ""
+
+#: tut_intro.xml:119(para)
+msgid ""
+"Convert the Python parameters to C-compatible parameters before calling
the "
+"function."
+msgstr ""
+
+#: tut_intro.xml:12(para)
+msgid "object-oriented C-based APIs and"
+msgstr ""
+
+#: tut_intro.xml:121(para)
+msgid "Call the function with the right calling convention."
+msgstr ""
+
+#: tut_intro.xml:122(para)
+msgid ""
+"Convert the return values of the C function to Python-compatible
variables "
+"to return them to the Python code."
+msgstr ""
+
+#: tut_intro.xml:127(para)
+msgid ""
+"The process described above is pretty complex and there are a lot of ways
to "
+"make it entirely automatic and transparent to C and Python programmers: "
+"<placeholder-1/> The greatest advantage of the solution implemented by
GType "
+"is that the glue code sitting at the runtime domain boundaries is
written "
+"once: the figure below states this more clearly. <placeholder-2/>
Currently, "
+"there exist at least Python and Perl generic glue code which makes it "
+"possible to use C objects written with GType directly in Python or Perl, "
+"with a minimum amount of work: there is no need to generate huge amounts
of "
+"glue code either automatically or by hand."
+msgstr ""
+
+#: tut_intro.xml:13(para)
+msgid ""
+"automatic transparent API bindings to other compiled or interpreted "
+"languages."
+msgstr ""
+
+#: tut_intro.xml:131(para)
+msgid ""
+"The first solution is to write by hand a lot of glue code, once for each "
+"function exported or imported, which does the Python-to-C parameter "
+"conversion and the C-to-Python return value conversion. This glue code
is "
+"then linked with the interpreter which allows Python programs to call
Python "
+"functions which delegate work to C functions."
+msgstr ""
+
+#: tut_intro.xml:135(para)
+msgid ""
+"Another, nicer solution is to automatically generate the glue code, once
for "
+"each function exported or imported, with a special compiler which reads
the "
+"original function signature."
+msgstr ""
+
+#: tut_intro.xml:138(para)
+msgid ""
+"The solution used by GLib is to use the GType library which holds at
runtime "
+"a description of all the objects manipulated by the programmer. This so-"
+"called <emphasis>dynamic type</emphasis><placeholder-1/> library is then "
+"used by special generic glue code to automatically convert function "
+"parameters and function calling conventions between different runtime "
+"domains."
+msgstr ""
+
+#: tut_intro.xml:141(para)
+msgid ""
+"There are numerous different implementations of dynamic type systems: all
C+"
+"+ compilers have one, Java and .NET have one too. A dynamic type system "
+"allows you to get information about every instantiated object at runtime.
It "
+"can be implemented by a process-specific database: every new object
created "
+"registers the characteristics of its associated type in the type system.
It "
+"can also be implemented by introspection interfaces. The common point "
+"between all these different type systems and implementations is that
they "
+"all allow you to query for object metadata at runtime."
+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.
+#: tut_intro.xml:159(None)
+msgid "@@image: 'glue.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.
+#: tut_intro.xml:162(None)
+msgid "@@image: 'glue.jpg'; md5=THIS FILE DOESN'T EXIST"
+msgstr ""
+
+#: tut_intro.xml:172(para)
+msgid ""
+"Although that goal was arguably laudable, its pursuit has had a major "
+"influence on the whole GType/GObject library. C programmers are likely to
be "
+"puzzled at the complexity of the features exposed in the following
chapters "
+"if they forget that the GType/GObject library was not only designed to
offer "
+"OO-like features to C programmers but also transparent cross-language "
+"interoperability."
+msgstr ""
+
+#: tut_intro.xml:18(para)
+msgid ""
+"A lot of programmers are used to working with compiled-only or
dynamically "
+"interpreted-only languages and do not understand the challenges
associated "
+"with cross-language interoperability. This introduction tries to provide
an "
+"insight into these challenges and briefly describes the solution chosen
by "
+"GLib."
+msgstr ""
+
+#: tut_intro.xml:25(para)
+msgid ""
+"The following chapters go into greater detail into how GType and GObject "
+"work and how you can use them as a C programmer. It is useful to keep in "
+"mind that allowing access to C objects from other interpreted languages
was "
+"one of the major design goals: this can often explain the sometimes
rather "
+"convoluted APIs and features present in this library."
+msgstr ""
+
+#: tut_intro.xml:34(title)
+msgid "Data types and programming"
+msgstr ""
+
+#: tut_intro.xml:36(para)
+msgid ""
+"One could say (I have seen such definitions used in some textbooks on "
+"programming language theory) that a programming language is merely a way
to "
+"create data types and manipulate them. Most languages provide a number
of "
+"language-native types and a few primitives to create more complex types "
+"based on these primitive types."
+msgstr ""
+
+#: tut_intro.xml:43(para)
+msgid ""
+"In C, the language provides types such as <emphasis>char</emphasis>, "
+"<emphasis>long</emphasis>, <emphasis>pointer</emphasis>. During
compilation "
+"of C code, the compiler maps these language types to the compiler's
target "
+"architecture machine types. If you are using a C interpreter (I have
never "
+"seen one myself but it is possible :), the interpreter (the program
which "
+"interprets the source code and executes it) maps the language types to
the "
+"machine types of the target machine at runtime, during the program
execution "
+"(or just before execution if it uses a Just In Time compiler engine)."
+msgstr ""
+
+#: tut_intro.xml:52(para)
+msgid ""
+"Perl and Python are interpreted languages which do not really provide
type "
+"definitions similar to those used by C. Perl and Python programmers "
+"manipulate variables and the type of the variables is decided only upon
the "
+"first assignment or upon the first use which forces a type on the
variable. "
+"The interpreter also often provides a lot of automatic conversions from
one "
+"type to the other. For example, in Perl, a variable which holds an
integer "
+"can be automatically converted to a string given the required context: "
+"<placeholder-1/> Of course, it is also often possible to explicitly
specify "
+"conversions when the default conversions provided by the language are
not "
+"intuitive."
+msgstr ""
+
+#: tut_intro.xml:59(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"my $tmp = 10;\n"
+"print \"this is an integer converted to a string:\" . $tmp . \"\\n\";\n"
+msgstr ""
+
+#: tut_intro.xml:6(title)
+msgid "Background"
+msgstr ""
+
+#: tut_intro.xml:70(title)
+msgid "Exporting a C API"
+msgstr ""
+
+#: tut_intro.xml:72(para)
+msgid ""
+"C APIs are defined by a set of functions and global variables which are "
+"usually exported from a binary. C functions have an arbitrary number of "
+"arguments and one return value. Each function is thus uniquely identified
by "
+"the function name and the set of C types which describe the function "
+"arguments and return value. The global variables exported by the API are "
+"similarly identified by their name and their type."
+msgstr ""
+
+#: tut_intro.xml:8(para)
+msgid ""
+"GObject, and its lower-level type system, GType, are used by GTK+ and
most "
+"GNOME libraries to provide: <placeholder-1/>"
+msgstr ""
+
+#: tut_intro.xml:80(para)
+msgid ""
+"A C API is thus merely defined by a set of names to which a set of types
are "
+"associated. If you know the function calling convention and the mapping
of "
+"the C types to the machine types used by the platform you are on, you
can "
+"resolve the name of each function to find where the code associated to
this "
+"function is located in memory, and then construct a valid argument list
for "
+"the function. Finally, all you have to do is trigger a call to the target
C "
+"function with the argument list."
+msgstr ""
+
+#: tut_intro.xml:88(para)
+msgid ""
+"For the sake of discussion, here is a sample C function and the
associated "
+"32 bit x86 assembly code generated by GCC on my Linux box:
<placeholder-1/> "
+"The assembly code shown above is pretty straightforward: the first "
+"instruction pushes the hexadecimal value 0xa (decimal value 10) as a
32-bit "
+"integer on the stack and calls <function>function_foo</function>. As you
can "
+"see, C function calls are implemented by gcc by native function calls
(this "
+"is probably the fastest implementation possible)."
+msgstr ""
+
+#: tut_intro.xml:91(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static void function_foo (int foo)\n"
+"{}\n"
+"\n"
+"int main (int argc, char *argv[])\n"
+"{\n"
+"\n"
+" function_foo (10);\n"
+"\n"
+" return 0;\n"
+"}\n"
+"\n"
+"push $0xa\n"
+"call 0x80482f4 &lt;function_foo&gt;\n"
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/docs/tut_tools.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,163 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2011-04-18 23:24+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: tut_tools.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
+#: tut_tools.xml:100(para)
+msgid ""
+"The API documentation for most of the GLib, GObject, GTK+ and GNOME "
+"libraries is built with a combination of complex tools. Typically, the
part "
+"of the documentation which describes the behavior of each function is "
+"extracted from the specially-formatted source code comments by a tool
named "
+"gtk-doc which generates DocBook XML and merges this DocBook XML with a
set "
+"of master XML DocBook files. These XML DocBook files are finally
processed "
+"with xsltproc (a small program part of the libxslt library) to generate
the "
+"final HTML output. Other tools can be used to generate PDF output from
the "
+"source XML. The following code excerpt shows what these comments look
like. "
+"<placeholder-1/>"
+msgstr ""
+
+#: tut_tools.xml:109(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"/**\n"
+" * gtk_widget_freeze_child_notify:\n"
+" * @widget: a #GtkWidget\n"
+" * \n"
+" * Stops emission of \"child-notify\" signals on @widget. The signals
are\n"
+" * queued until gtk_widget_thaw_child_notify() is called on @widget. \n"
+" *\n"
+" * This is the analogue of g_object_freeze_notify() for child
properties.\n"
+" **/\n"
+"void\n"
+"gtk_widget_freeze_child_notify (GtkWidget *widget)\n"
+"{\n"
+"...\n"
+" "
+msgstr ""
+
+#: tut_tools.xml:125(para)
+msgid ""
+"Thorough <ulink
url=\"http://library.gnome.org/devel/gtk-doc-manual/stable/"
+"\">documentation</ulink> on how to set up and use gtk-doc in your project
is "
+"provided on the <ulink url=\"http://library.gnome.org/devel/\">GNOME "
+"developer website</ulink>."
+msgstr ""
+
+#: tut_tools.xml:15(para)
+msgid ""
+"For example, writing GObjects is often seen as a tedious task. It
requires a "
+"lot of typing and just doing a copy/paste requires a great deal of care.
A "
+"lot of projects and scripts have been written to generate GObject
skeleton "
+"form boilerplate code, or even translating higher-level language into
plain "
+"C."
+msgstr ""
+
+#: tut_tools.xml:25(title)
+msgid "Vala"
+msgstr ""
+
+#: tut_tools.xml:26(para)
+msgid ""
+"From the <ulink url=\"http://live.gnome.org/Vala\">Vala homepage</ulink> "
+"itself: <quote>Vala is a new programming language that aims to bring
modern "
+"programming language features to GNOME developers without imposing any "
+"additional runtime requirements and without using a different ABI
compared "
+"to applications and libraries written in C.</quote>"
+msgstr ""
+
+#: tut_tools.xml:35(para)
+msgid ""
+"The syntax of Vala is similar to C#. The available compiler translates
Vala "
+"into GObject C code. It can also compile non-GObject C, using plain C
API."
+msgstr ""
+
+#: tut_tools.xml:43(title)
+msgid "GObject builder"
+msgstr ""
+
+#: tut_tools.xml:45(para)
+msgid ""
+"In order to help a GObject class developper, one obvious idea is to use
some "
+"sort of templates for the skeletons. and then run them through a special "
+"tool to generate the real C files. <ulink
url=\"http://www.5z.com/jirka/gob."
+"html\">GOB</ulink> (or GOB2) is such a tool. It is a preprocessor which
can "
+"be used to build GObjects with inline C code so that there is no need to "
+"edit the generated C code. The syntax is inspired by Java and Yacc or
Lex. "
+"The implementation is intentionally kept simple: the inline C code
provided "
+"by the user is not parsed."
+msgstr ""
+
+#: tut_tools.xml:59(title)
+msgid "Graphical inspection of GObjects"
+msgstr ""
+
+#: tut_tools.xml:6(title)
+msgid "Related Tools"
+msgstr ""
+
+#: tut_tools.xml:61(para)
+msgid ""
+"Yet another tool that you may find helpful when working with GObjects is "
+"<ulink url=\"http://sourceforge.net/projects/g-inspector\">G-Inspector</"
+"ulink>. It is able to display GLib/GTK+ objects and their properties."
+msgstr ""
+
+#: tut_tools.xml:70(title)
+msgid "Debugging reference count problems"
+msgstr ""
+
+#: tut_tools.xml:72(para)
+msgid ""
+"The reference counting scheme used by GObject does solve quite a few
memory "
+"management problems but also introduces new sources of bugs. In large "
+"applications, finding the exact spot where the reference count of an
Object "
+"is not properly handled can be very difficult. Hopefully, there exist a
tool "
+"named <ulink url=\"http://refdbg.sf.net/\">refdbg</ulink> which can be
used "
+"to automate the task of tracking down the location of invalid code with "
+"regard to reference counting. This application intercepts the reference "
+"counting calls and tries to detect invalid behavior. It supports a
filter-"
+"rule mechanism to let you trace only the objects you are interested in
and "
+"it can be used together with GDB."
+msgstr ""
+
+#: tut_tools.xml:84(para)
+msgid ""
+"<indexterm><primary>g_trap_object_ref</primary></indexterm> Note that if "
+"GObject has been compiled with <option>--enable-debug=yes</option>, it "
+"exports a trap variable <placeholder-1/> If set to a non-NULL value,
<link "
+"linkend=\"g-object-ref\">g_object_ref</link>() and <link
linkend=\"g-object-"
+"unref\">g_object_unref</link>() will be intercepted when called with
that "
+"value."
+msgstr ""
+
+#: tut_tools.xml:88(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"static volatile GObject *g_trap_object_ref;\n"
+" "
+msgstr ""
+
+#: tut_tools.xml:9(para)
+msgid ""
+"Several useful developer tools have been build around GObject
technology. "
+"The next sections briefly introduce them and link to the respective
project "
+"pages."
+msgstr ""
+
+#: tut_tools.xml:98(title)
+msgid "Writing API docs"
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gbinding.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,564 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1124:1 gbinding.c:774:1 gbinding.c:964:1
+msgid "@source: the source #GObject"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1125:1 gbinding.c:775:1 gbinding.c:965:1
+msgid "@source_property: the property on @source to bind"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1126:1 gbinding.c:776:1 gbinding.c:966:1
+msgid "@target: the target #GObject"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1127:1 gbinding.c:777:1 gbinding.c:967:1
+msgid "@target_property: the property on @target to bind"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1128:1 gbinding.c:778:1 gbinding.c:968:1
+msgid "@flags: flags to pass to #GBinding"
+msgstr ""
+
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1129:2
+msgid ""
+"@transform_to: a #GClosure wrapping the transformation function from the "
+"@source to the @target, or %NULL to use the default"
+msgstr ""
+
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1131:2
+msgid ""
+"@transform_from: a #GClosure wrapping the transformation function from
the "
+"@target to the @source, or %NULL to use the default"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1134:3 gbinding.c:790:3
+msgid ""
+"Creates a binding between @source_property on @source and
@target_property "
+"on @target, allowing you to set the transformation functions to be used
by "
+"the binding."
+msgstr ""
+
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1138:3
+msgid ""
+"This function is the language bindings friendly version of "
+"g_object_bind_property_full(), using #GClosure<!-- -->s instead of
function "
+"pointers."
+msgstr ""
+
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1142:1
+msgid "Rename to: g_object_bind_property_full"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#: gbinding.c:1144:3 gbinding.c:812:3 gbinding.c:993:3
+msgid ""
+"Return value: (transfer none): the #GBinding instance representing the "
+"binding between the two #GObject instances. The binding is released
whenever "
+"the #GBinding reference count reaches zero."
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:source:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:target:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:source-property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:target-property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:flags:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_flags:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_source:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_target:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_source_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_target_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_with_closures:
+#. #-#-#-#-# gbinding.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gbinding.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBinding:
+#. #-#-#-#-# gbinding.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBindingTransformFunc:
+#. #-#-#-#-# gbinding.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBindingFlags:
+#: gbinding.c:1148:1 gbinding.c:600:1 gbinding.c:615:1 gbinding.c:631:1
+#: gbinding.c:647:1 gbinding.c:662:1 gbinding.c:688:1 gbinding.c:706:1
+#: gbinding.c:724:1 gbinding.c:743:1 gbinding.c:762:1 gbinding.c:816:1
+#: gbinding.c:997:1 gbinding.h:47:1 gbinding.h:65:1 gbinding.h:93:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:25:1
+msgid "@Title: GBinding"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:26:1
+msgid "@Short_Description: Bind two object properties"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:28:5
+msgid ""
+"#GBinding is the representation of a binding between a property on a "
+"#GObject instance (or source) and another property on another #GObject "
+"instance (or target). Whenever the source property changes, the same
value "
+"is applied to the target property; for instance, the following binding:"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:34:5
+msgid ""
+"|[ g_object_bind_property (object1, \"property-a\", object2,
\"property-b\", "
+"G_BINDING_DEFAULT); ]|"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:40:3
+msgid ""
+"will cause <emphasis>object2:property-b</emphasis> to be updated every
time "
+"g_object_set() or the specific accessor changes the value of "
+"<emphasis>object1:property-a</emphasis>."
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:44:3
+msgid ""
+"It is possible to create a bidirectional binding between two properties
of "
+"two #GObject instances, so that if either property changes, the other is "
+"updated as well, for instance:"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:48:5
+msgid ""
+"|[ g_object_bind_property (object1, \"property-a\", object2,
\"property-b\", "
+"G_BINDING_BIDIRECTIONAL); ]|"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:54:1
+msgid "will keep the two properties in sync."
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:56:4
+msgid ""
+"It is also possible to set a custom transformation function (in both "
+"directions, in case of a bidirectional binding) to apply a custom "
+"transformation from the source value to the target value before applying
it; "
+"for instance, the following binding:"
+msgstr ""
+
+#. used by: GBinding:source:
+#: gbinding.c:598:1
+msgid "The #GObject that should be used as the source of the binding"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:61:8
+msgid ""
+"|[ g_object_bind_property_full (adjustment1, \"value\", adjustment2,
\"value"
+"\", G_BINDING_BIDIRECTIONAL, celsius_to_fahrenheit,
fahrenheit_to_celsius, "
+"NULL, NULL); ]|"
+msgstr ""
+
+#. used by: GBinding:target:
+#: gbinding.c:613:1
+msgid "The #GObject that should be used as the target of the binding"
+msgstr ""
+
+#. used by: GBinding:source-property:
+#: gbinding.c:628:2
+msgid ""
+"The name of the property of #GBinding:source that should be used as the "
+"source of the binding"
+msgstr ""
+
+#. used by: GBinding:target-property:
+#: gbinding.c:644:2
+msgid ""
+"The name of the property of #GBinding:target that should be used as the "
+"target of the binding"
+msgstr ""
+
+#. used by: GBinding:flags:
+#: gbinding.c:660:1
+msgid "Flags to be used to control the #GBinding"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_flags:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_source:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_target:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_source_property:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_binding_get_target_property:
+#. #-#-#-#-# gbinding.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBindingTransformFunc:
+#: gbinding.c:682:1 gbinding.c:700:1 gbinding.c:718:1 gbinding.c:736:1
+#: gbinding.c:755:1 gbinding.h:53:1
+msgid "@binding: a #GBinding"
+msgstr ""
+
+#. used by: g_binding_get_flags:
+#: gbinding.c:684:1
+msgid "Retrieves the flags passed when constructing the #GBinding"
+msgstr ""
+
+#. used by: g_binding_get_flags:
+#: gbinding.c:686:1
+msgid "Return value: the #GBindingFlags used by the #GBinding"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:70:9
+msgid ""
+"will keep the <emphasis>value</emphasis> property of the two adjustments
in "
+"sync; the <function>celsius_to_fahrenheit</function> function will be
called "
+"whenever the <emphasis>adjustment1:value</emphasis> property changes and "
+"will transform the current value of the property before applying it to
the "
+"<emphasis>adjustment2:value</emphasis> property; vice versa, the "
+"<function>fahrenheit_to_celsius</function> function will be called
whenever "
+"the <emphasis>adjustment2:value</emphasis> property changes, and will "
+"transform the current value of the property before applying it to the "
+"<emphasis>adjustment1:value</emphasis>."
+msgstr ""
+
+#. used by: g_binding_get_source:
+#: gbinding.c:702:1
+msgid "Retrieves the #GObject instance used as the source of the binding"
+msgstr ""
+
+#. used by: g_binding_get_source:
+#: gbinding.c:704:1
+msgid "Return value: (transfer none): the source #GObject"
+msgstr ""
+
+#. used by: g_binding_get_target:
+#: gbinding.c:720:1
+msgid "Retrieves the #GObject instance used as the target of the binding"
+msgstr ""
+
+#. used by: g_binding_get_target:
+#: gbinding.c:722:1
+msgid "Return value: (transfer none): the target #GObject"
+msgstr ""
+
+#. used by: g_binding_get_source_property:
+#: gbinding.c:738:2
+msgid ""
+"Retrieves the name of the property of #GBinding:source used as the source
of "
+"the binding"
+msgstr ""
+
+#. used by: g_binding_get_source_property:
+#: gbinding.c:741:1
+msgid "Return value: the name of the source property"
+msgstr ""
+
+#. used by: g_binding_get_target_property:
+#: gbinding.c:757:2
+msgid ""
+"Retrieves the name of the property of #GBinding:target used as the target
of "
+"the binding"
+msgstr ""
+
+#. used by: g_binding_get_target_property:
+#: gbinding.c:760:1
+msgid "Return value: the name of the target property"
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:779:2
+msgid ""
+"@transform_to: (scope notified) (allow-none): the transformation
function "
+"from the @source to the @target, or %NULL to use the default"
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:781:2
+msgid ""
+"@transform_from: (scope notified) (allow-none): the transformation
function "
+"from the @target to the @source, or %NULL to use the default"
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:783:2
+msgid ""
+"@user_data: custom data to be passed to the transformation functions, or "
+"%NULL"
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:785:2
+msgid ""
+"@notify: function to be called when disposing the binding, to free the "
+"resources used by the transformation functions"
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:788:1
+msgid "Complete version of g_object_bind_property()."
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:794:4
+msgid ""
+"If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be
mutual: "
+"if @target_property on @target changes then the @source_property on
@source "
+"will be updated as well. The @transform_from function is only used in
case "
+"of bidirectional bindings, otherwise it will be ignored"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#: gbinding.c:799:4 gbinding.c:986:4
+msgid ""
+"The binding will automatically be removed when either the @source or the "
+"@target instances are finalized. To remove the binding without affecting
the "
+"@source and the @target you can just call g_object_unref() on the
returned "
+"#GBinding instance."
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:80:1
+msgid "Note that #GBinding does not resolve cycles by itself; a cycle like"
+msgstr ""
+
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property_full:
+#. #-#-#-#-# gbinding.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_bind_property:
+#: gbinding.c:804:1 gbinding.c:991:1
+msgid "A #GObject can have multiple bindings."
+msgstr ""
+
+#. used by: g_object_bind_property_full:
+#: gbinding.c:806:5
+msgid ""
+"<note>The same @user_data parameter will be used for both @transform_to
and "
+"@transform_from transformation functions; the @notify function will be "
+"called once, when the binding is removed. If you need different data for "
+"each transformation function, please use
g_object_bind_property_with_closures"
+"() instead.</note>"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:82:5
+msgid ""
+"|[ object1:propertyA -> object2:propertyB object2:propertyB -> object3:"
+"propertyC object3:propertyC -> object1:propertyA ]|"
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:88:6
+msgid ""
+"might lead to an infinite loop. The loop, in this particular case, can
be "
+"avoided if the objects emit the #GObject::notify signal only if the
value "
+"has effectively been changed. A binding is implemented using the
#GObject::"
+"notify signal, so it is susceptible to all the various ways of blocking
a "
+"signal emission, like g_signal_stop_emission() or
g_signal_handler_block()."
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:95:3
+msgid ""
+"A binding will be severed, and the resources it allocates freed,
whenever "
+"either one of the #GObject instances it refers to are finalized, or when
the "
+"#GBinding instance loses its last reference."
+msgstr ""
+
+#. used by: g_object_bind_property:
+#: gbinding.c:970:3
+msgid ""
+"Creates a binding between @source_property on @source and
@target_property "
+"on @target. Whenever the @source_property is changed the @target_property
is "
+"updated using the same value. For instance:"
+msgstr ""
+
+#. used by: g_object_bind_property:
+#: gbinding.c:974:3
+msgid ""
+"|[ g_object_bind_property (action, \"active\", widget, \"sensitive\", 0);
]|"
+msgstr ""
+
+#. used by: g_object_bind_property:
+#: gbinding.c:978:3
+msgid ""
+"Will result in the \"sensitive\" property of the widget #GObject instance
to "
+"be updated with the same value of the \"active\" property of the action "
+"#GObject instance."
+msgstr ""
+
+#. used by: g_object_bind_property:
+#: gbinding.c:982:3
+msgid ""
+"If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be
mutual: "
+"if @target_property on @target changes then the @source_property on
@source "
+"will be updated as well."
+msgstr ""
+
+#. used by: SECTION:gbinding
+#: gbinding.c:99:1
+msgid "#GBinding is available since GObject 2.26"
+msgstr ""
+
+#. used by: GBinding:
+#: gbinding.h:44:2
+msgid ""
+"<structname>GBinding</structname> is an opaque structure whose members "
+"cannot be accessed directly."
+msgstr ""
+
+#. used by: GBindingTransformFunc:
+#: gbinding.h:54:1
+msgid "@source_value: the value of the source property"
+msgstr ""
+
+#. used by: GBindingTransformFunc:
+#: gbinding.h:55:1
+msgid "@target_value: the value of the target property"
+msgstr ""
+
+#. used by: GBindingTransformFunc:
+#: gbinding.h:56:1
+msgid "@user_data: data passed to the transform function"
+msgstr ""
+
+#. used by: GBindingTransformFunc:
+#: gbinding.h:58:3
+msgid ""
+"A function to be called to transform the source property of @source from "
+"@source_value into the target property of @target using @target_value."
+msgstr ""
+
+#. used by: GBindingTransformFunc:
+#: gbinding.h:62:2
+msgid ""
+"Return value: %TRUE if the transformation was successful, and %FALSE "
+"otherwise"
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:74:2
+msgid ""
+"@G_BINDING_DEFAULT: The default binding; if the source property changes,
the "
+"target property is updated with its value."
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:76:3
+msgid ""
+"@G_BINDING_BIDIRECTIONAL: Bidirectional binding; if either the property
of "
+"the source or the property of the target changes, the other is updated."
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:79:3
+msgid ""
+"@G_BINDING_SYNC_CREATE: Synchronize the values of the source and target "
+"properties when creating the binding; the direction of the
synchronization "
+"is always from the source to the target."
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:82:5
+msgid ""
+"@G_BINDING_INVERT_BOOLEAN: If the two properties being bound are
booleans, "
+"setting one to %TRUE will result in the other being set to %FALSE and
vice "
+"versa. This flag will only work for boolean properties, and cannot be
used "
+"when passing custom transformation functions to
g_object_bind_property_full"
+"()."
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:88:2
+msgid ""
+"Flags to be passed to g_object_bind_property() or
g_object_bind_property_full"
+"()."
+msgstr ""
+
+#. used by: GBindingFlags:
+#: gbinding.h:91:1
+msgid "This enumeration can be extended at later date."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gboxed.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,403 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. used by: g_variant_get_gtype:
+#: gboxed.c:167:2
+msgid "Since: 2.24 Deprecated: 2.26"
+msgstr ""
+
+#. used by: g_boxed_type_register_static:
+#: gboxed.c:250:1
+msgid "@name: Name of the new boxed type."
+msgstr ""
+
+#. used by: g_boxed_type_register_static:
+#: gboxed.c:251:1
+msgid "@boxed_copy: Boxed structure copy function."
+msgstr ""
+
+#. used by: g_boxed_type_register_static:
+#: gboxed.c:252:1
+msgid "@boxed_free: Boxed structure free function."
+msgstr ""
+
+#. used by: g_boxed_type_register_static:
+#: gboxed.c:254:3
+msgid ""
+"This function creates a new %G_TYPE_BOXED derived type id for a new
boxed "
+"type with name @name. Boxed type handling functions have to be provided
to "
+"copy and free opaque boxed structures of this type."
+msgstr ""
+
+#. used by: g_boxed_type_register_static:
+#: gboxed.c:258:1
+msgid "Returns: New %G_TYPE_BOXED derived type id for @name."
+msgstr ""
+
+#. used by: g_boxed_copy:
+#: gboxed.c:305:1
+msgid "@boxed_type: The type of @src_boxed."
+msgstr ""
+
+#. used by: g_boxed_copy:
+#: gboxed.c:306:1
+msgid "@src_boxed: The boxed structure to be copied."
+msgstr ""
+
+#. used by: g_boxed_copy:
+#: gboxed.c:308:1
+msgid ""
+"Provide a copy of a boxed structure @src_boxed which is of type
@boxed_type."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBoxedCopyFunc:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_boxed_copy:
+#: gboxed.c:310:1 gboxed.h:51:1
+msgid "Returns: The newly created copy of the boxed structure."
+msgstr ""
+
+#. used by: SECTION:gboxed
+#: gboxed.c:34:2
+msgid ""
+"@short_description: A mechanism to wrap opaque C structures registered
by "
+"the type system"
+msgstr ""
+
+#. used by: SECTION:gboxed
+#: gboxed.c:36:1
+msgid "@see_also: #GParamSpecBoxed, g_param_spec_boxed()"
+msgstr ""
+
+#. used by: g_boxed_free:
+#: gboxed.c:366:1
+msgid "@boxed_type: The type of @boxed."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GBoxedFreeFunc:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_boxed_free:
+#: gboxed.c:367:1 gboxed.h:57:1
+msgid "@boxed: The boxed structure to be freed."
+msgstr ""
+
+#. used by: g_boxed_free:
+#: gboxed.c:369:1
+msgid "Free the boxed structure @boxed which is of type @boxed_type."
+msgstr ""
+
+#. used by: SECTION:gboxed
+#: gboxed.c:37:1
+msgid "@title: Boxed Types"
+msgstr ""
+
+#. used by: SECTION:gboxed
+#: gboxed.c:39:3
+msgid ""
+"GBoxed is a generic wrapper mechanism for arbitrary C structures. The
only "
+"thing the type system needs to know about the structures is how to copy
and "
+"free them, beyond that they are treated as opaque chunks of memory."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_boxed:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_dup_boxed: (skip)
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_boxed:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_static_boxed:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_boxed_take_ownership:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_boxed:
+#: gboxed.c:401:1 gboxed.c:418:1 gboxed.c:461:1 gboxed.c:478:1
gboxed.c:497:1
+#: gboxed.c:513:1
+msgid "@value: a valid #GValue of %G_TYPE_BOXED derived type"
+msgstr ""
+
+#. used by: g_value_get_boxed:
+#: gboxed.c:403:1
+msgid "Get the contents of a %G_TYPE_BOXED derived #GValue."
+msgstr ""
+
+#. used by: g_value_get_boxed:
+#: gboxed.c:405:1
+msgid "Returns: (transfer none): boxed contents of @value"
+msgstr ""
+
+#. used by: g_value_dup_boxed: (skip)
+#: gboxed.c:420:4
+msgid ""
+"Get the contents of a %G_TYPE_BOXED derived #GValue. Upon getting, the "
+"boxed value is duplicated and needs to be later freed with
g_boxed_free(), e."
+"g. like: g_boxed_free (G_VALUE_TYPE (@value), return_value);"
+msgstr ""
+
+#. used by: g_value_dup_boxed: (skip)
+#: gboxed.c:425:1
+msgid "Returns: boxed contents of @value"
+msgstr ""
+
+#. used by: SECTION:gboxed
+#: gboxed.c:43:3
+msgid ""
+"Boxed types are useful for simple value-holder structures like rectangles
or "
+"points. They can also be used for wrapping structures defined in
non-GObject "
+"based libraries."
+msgstr ""
+
+#. used by: g_value_set_boxed:
+#: gboxed.c:462:1
+msgid "@v_boxed: boxed value to be set"
+msgstr ""
+
+#. used by: g_value_set_boxed:
+#: gboxed.c:464:1
+msgid "Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed."
+msgstr ""
+
+#. used by: g_value_set_static_boxed:
+#: gboxed.c:479:1
+msgid "@v_boxed: static boxed value to be set"
+msgstr ""
+
+#. used by: g_value_set_static_boxed:
+#: gboxed.c:481:3
+msgid ""
+"Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed. The
boxed "
+"value is assumed to be static, and is thus not duplicated when setting
the "
+"#GValue."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_boxed_take_ownership:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_boxed:
+#: gboxed.c:498:1 gboxed.c:514:1
+msgid "@v_boxed: duplicated unowned boxed value to be set"
+msgstr ""
+
+#. used by: g_value_set_boxed_take_ownership:
+#: gboxed.c:500:1
+msgid "This is an internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_set_boxed_take_ownership:
+#: gboxed.c:502:1
+msgid "Deprecated: 2.4: Use g_value_take_boxed() instead."
+msgstr ""
+
+#. used by: g_value_take_boxed:
+#: gboxed.c:516:3
+msgid ""
+"Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed and
takes "
+"over the ownership of the callers reference to @v_boxed; the caller
doesn't "
+"have to unref it any more."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_STRV:
+#. #-#-#-#-# gboxed.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_boxed:
+#: gboxed.c:520:1 gboxed.h:140:1
+msgid "Since: 2.4"
+msgstr ""
+
+#. used by: G_TYPE_VALUE_ARRAY:
+#: gboxed.h:101:2
+msgid ""
+"The type ID of the \"GValueArray\" type which is a boxed type, used to
pass "
+"around pointers to GValueArrays."
+msgstr ""
+
+#. used by: G_TYPE_DATE:
+#: gboxed.h:108:1
+msgid "The #GType for #GDate."
+msgstr ""
+
+#. used by: G_TYPE_STRV:
+#: gboxed.h:114:1
+msgid ""
+"The #GType for a boxed type holding a %NULL-terminated array of strings."
+msgstr ""
+
+#. used by: G_TYPE_STRV:
+#: gboxed.h:116:3
+msgid ""
+"The code fragments in the following example show the use of a property
of "
+"type #G_TYPE_STRV with g_object_class_install_property(), g_object_set()
and "
+"g_object_get()."
+msgstr ""
+
+#. used by: G_TYPE_STRV:
+#: gboxed.h:120:8
+msgid ""
+"|[ g_object_class_install_property (object_class, PROP_AUTHORS, "
+"g_param_spec_boxed (\"authors\", _(\"Authors\"), _(\"List of authors\"), "
+"G_TYPE_STRV, G_PARAM_READWRITE));"
+msgstr ""
+
+#. used by: G_TYPE_STRV:
+#: gboxed.h:130:2
+msgid ""
+"gchar *authors[] = { \"Owen\", \"Tim\", NULL }; g_object_set (obj,
\"authors"
+"\", authors, NULL);"
+msgstr ""
+
+#. used by: G_TYPE_STRV:
+#: gboxed.h:134:5
+msgid ""
+"gchar *writers[]; g_object_get (obj, \"authors\", &writers, NULL); // do "
+"something with writers g_strfreev (writers); ]|"
+msgstr ""
+
+#. used by: G_TYPE_GSTRING:
+#: gboxed.h:146:1
+msgid "The #GType for #GString."
+msgstr ""
+
+#. used by: G_TYPE_HASH_TABLE:
+#: gboxed.h:152:1
+msgid "The #GType for a boxed type holding a #GHashTable reference."
+msgstr ""
+
+#. used by: G_TYPE_HASH_TABLE:
+#: gboxed.h:154:1
+msgid "Since: 2.10"
+msgstr ""
+
+#. used by: G_TYPE_REGEX:
+#: gboxed.h:160:1
+msgid "The #GType for a boxed type holding a #GRegex reference."
+msgstr ""
+
+#. used by: G_TYPE_REGEX:
+#: gboxed.h:162:1
+msgid "Since: 2.14"
+msgstr ""
+
+#. used by: G_TYPE_ARRAY:
+#: gboxed.h:168:1
+msgid "The #GType for a boxed type holding a #GArray reference."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_ARRAY:
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_BYTE_ARRAY:
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_PTR_ARRAY:
+#: gboxed.h:170:1 gboxed.h:178:1 gboxed.h:186:1
+msgid "Since: 2.22"
+msgstr ""
+
+#. used by: G_TYPE_BYTE_ARRAY:
+#: gboxed.h:176:1
+msgid "The #GType for a boxed type holding a #GByteArray reference."
+msgstr ""
+
+#. used by: G_TYPE_PTR_ARRAY:
+#: gboxed.h:184:1
+msgid "The #GType for a boxed type holding a #GPtrArray reference."
+msgstr ""
+
+#. used by: G_TYPE_VARIANT_TYPE:
+#: gboxed.h:192:1
+msgid "The #GType for a boxed type holding a #GVariantType."
+msgstr ""
+
+#. used by: G_TYPE_VARIANT_TYPE:
+#: gboxed.h:194:1
+msgid "Since: 2.24"
+msgstr ""
+
+#. used by: G_TYPE_ERROR:
+#: gboxed.h:200:1
+msgid "The #GType for a boxed type holding a #GError."
+msgstr ""
+
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_ERROR:
+#. #-#-#-#-# gboxed.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_DATE_TIME:
+#: gboxed.h:202:1 gboxed.h:210:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. used by: G_TYPE_DATE_TIME:
+#: gboxed.h:208:1
+msgid "The #GType for a boxed type holding a #GDateTime."
+msgstr ""
+
+#. used by: GStrv:
+#: gboxed.h:242:1
+msgid "A C representable type name for #G_TYPE_STRV."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_BOXED:
+#: gboxed.h:34:1
+msgid "@value: a valid #GValue structure"
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_BOXED:
+#: gboxed.h:36:1
+msgid ""
+"Checks whether the given #GValue can hold values derived from type "
+"%G_TYPE_BOXED."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_BOXED:
+#: gboxed.h:38:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. used by: GBoxedCopyFunc:
+#: gboxed.h:46:1
+msgid "@boxed: The boxed structure to be copied."
+msgstr ""
+
+#. used by: GBoxedCopyFunc:
+#: gboxed.h:48:2
+msgid ""
+"This function is provided by the user and should produce a copy of the "
+"passed in boxed structure."
+msgstr ""
+
+#. used by: GBoxedFreeFunc:
+#: gboxed.h:59:2
+msgid ""
+"This function is provided by the user and should free the boxed
structure "
+"passed."
+msgstr ""
+
+#. used by: G_TYPE_CLOSURE:
+#: gboxed.h:88:1
+msgid "The #GType for #GClosure."
+msgstr ""
+
+#. used by: G_TYPE_VALUE:
+#: gboxed.h:94:2
+msgid ""
+"The type ID of the \"GValue\" type which is a boxed type, used to pass "
+"around pointers to GValues."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gclosure.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1268 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. used by: g_cclosure_marshal_VOID__INT:
+#: gclosure.c:1000:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gint
parameter"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GClosureMarshal:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VOID:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOOLEAN:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__CHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UCHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__INT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__LONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__STRING:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1001:2 gclosure.c:1015:2 gclosure.c:1029:2 gclosure.c:1043:2
+#: gclosure.c:1057:2 gclosure.c:1071:2 gclosure.c:1085:2 gclosure.c:1099:2
+#: gclosure.c:1113:2 gclosure.c:1127:2 gclosure.c:1141:2 gclosure.c:1155:2
+#: gclosure.c:1169:2 gclosure.c:1183:2 gclosure.c:1199:2 gclosure.c:1213:2
+#: gclosure.c:1233:2 gclosure.c:1246:2 gclosure.c:945:2 gclosure.c:959:2
+#: gclosure.c:973:2 gclosure.c:987:2 gclosure.h:107:2
+msgid ""
+"@invocation_hint: the invocation hint given as the last argument to "
+"g_closure_invoke()"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VOID:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOOLEAN:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__CHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UCHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__INT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__LONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__STRING:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1003:1 gclosure.c:1017:1 gclosure.c:1031:1 gclosure.c:1045:1
+#: gclosure.c:1059:1 gclosure.c:1073:1 gclosure.c:1087:1 gclosure.c:1101:1
+#: gclosure.c:1115:1 gclosure.c:1129:1 gclosure.c:1143:1 gclosure.c:1157:1
+#: gclosure.c:1171:1 gclosure.c:1185:1 gclosure.c:1201:1 gclosure.c:1215:1
+#: gclosure.c:1235:1 gclosure.c:1248:1 gclosure.c:947:1 gclosure.c:961:1
+#: gclosure.c:975:1 gclosure.c:989:1
+msgid ""
+"@marshal_data: additional data specified when registering the marshaller"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__INT:
+#: gclosure.c:1005:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gint arg1, gpointer user_data)</literal>."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GClosureMarshal:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VOID:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOOLEAN:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__CHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UCHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__INT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__LONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__STRING:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1011:1 gclosure.c:1025:1 gclosure.c:1039:1 gclosure.c:1053:1
+#: gclosure.c:1067:1 gclosure.c:1081:1 gclosure.c:1095:1 gclosure.c:1109:1
+#: gclosure.c:1123:1 gclosure.c:1137:1 gclosure.c:1151:1 gclosure.c:1165:1
+#: gclosure.c:1179:1 gclosure.c:1195:1 gclosure.c:1209:1 gclosure.c:1229:1
+#: gclosure.c:1242:1 gclosure.c:941:1 gclosure.c:955:1 gclosure.c:969:1
+#: gclosure.c:983:1 gclosure.c:997:1 gclosure.h:101:1
+msgid "@closure: the #GClosure to which the marshaller belongs"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VOID:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOOLEAN:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__CHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UCHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__INT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__LONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__STRING:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#: gclosure.c:1012:1 gclosure.c:1026:1 gclosure.c:1040:1 gclosure.c:1054:1
+#: gclosure.c:1068:1 gclosure.c:1082:1 gclosure.c:1096:1 gclosure.c:1110:1
+#: gclosure.c:1124:1 gclosure.c:1138:1 gclosure.c:1152:1 gclosure.c:1166:1
+#: gclosure.c:1180:1 gclosure.c:1196:1 gclosure.c:942:1 gclosure.c:956:1
+#: gclosure.c:970:1 gclosure.c:984:1 gclosure.c:998:1
+msgid "@return_value: ignored"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOOLEAN:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__CHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UCHAR:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__INT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__LONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__STRING:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#: gclosure.c:1013:1 gclosure.c:1027:1 gclosure.c:1041:1 gclosure.c:1055:1
+#: gclosure.c:1069:1 gclosure.c:1083:1 gclosure.c:1097:1 gclosure.c:1111:1
+#: gclosure.c:1125:1 gclosure.c:1139:1 gclosure.c:1153:1 gclosure.c:1167:1
+#: gclosure.c:1181:1 gclosure.c:1211:1 gclosure.c:957:1 gclosure.c:971:1
+#: gclosure.c:985:1 gclosure.c:999:1
+msgid "@n_param_values: 2"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__UINT:
+#: gclosure.c:1014:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #guint
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__UINT:
+#: gclosure.c:1019:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, guint arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__LONG:
+#: gclosure.c:1028:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #glong
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__LONG:
+#: gclosure.c:1033:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, glong arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#: gclosure.c:1042:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gulong
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__ULONG:
+#: gclosure.c:1047:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gulong arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#: gclosure.c:1056:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the enumeration "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__ENUM:
+#: gclosure.c:1061:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> "
+"where the #gint parameter denotes an enumeration type.."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#: gclosure.c:1070:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the flags
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__FLAGS:
+#: gclosure.c:1075:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> "
+"where the #gint parameter denotes a flags type."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#: gclosure.c:1084:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gfloat
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__FLOAT:
+#: gclosure.c:1089:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gfloat arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#: gclosure.c:1098:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gdouble "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__DOUBLE:
+#: gclosure.c:1103:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gdouble arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__STRING:
+#: gclosure.c:1112:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gchar*
parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__STRING:
+#: gclosure.c:1117:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, const gchar *arg1, gpointer user_data)</"
+"literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#: gclosure.c:1126:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #GParamSpec* "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__PARAM:
+#: gclosure.c:1131:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)</"
+"literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#: gclosure.c:1140:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #GBoxed* "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__BOXED:
+#: gclosure.c:1145:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, GBoxed *arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#: gclosure.c:1154:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #gpointer "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__POINTER:
+#: gclosure.c:1159:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, gpointer arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#: gclosure.c:1168:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #GObject* "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__OBJECT:
+#: gclosure.c:1173:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, GObject *arg1, gpointer
user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#: gclosure.c:1182:1
+msgid ""
+"@param_values: a #GValue array holding the instance and the #GVariant* "
+"parameter"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#: gclosure.c:1187:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, GVariant *arg1, gpointer user_data)</"
+"literal>."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__VARIANT:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1190:1 gclosure.c:1253:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1197:1 gclosure.c:1231:1 gclosure.c:1244:1
+msgid "@n_param_values: 3"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1198:1 gclosure.c:1232:1 gclosure.c:1245:1
+msgid "@param_values: a #GValue array holding instance, arg1 and arg2"
+msgstr ""
+
+#. used by: g_cclosure_marshal_VOID__UINT_POINTER:
+#: gclosure.c:1203:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>void "
+"(*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer "
+"user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#: gclosure.c:1210:1
+msgid "@return_value: a #GValue which can store the returned #gboolean"
+msgstr ""
+
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#: gclosure.c:1212:1
+msgid "@param_values: a #GValue array holding instance and arg1"
+msgstr ""
+
+#. used by: g_cclosure_marshal_BOOLEAN__FLAGS:
+#: gclosure.c:1217:3
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>gboolean "
+"(*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> "
+"where the #gint parameter denotes a flags type."
+msgstr ""
+
+#. used by: g_cclosure_marshal_BOOL__FLAGS:
+#: gclosure.c:1225:1
+msgid "Another name for g_cclosure_marshal_BOOLEAN__FLAGS()."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1230:1 gclosure.c:1243:1
+msgid "@return_value: a #GValue, which can store the returned string"
+msgstr ""
+
+#. used by: g_cclosure_marshal_STRING__OBJECT_POINTER:
+#: gclosure.c:1237:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>gchar* "
+"(*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer "
+"user_data)</literal>."
+msgstr ""
+
+#. used by: g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED:
+#: gclosure.c:1250:2
+msgid ""
+"A marshaller for a #GCClosure with a callback of type <literal>gboolean "
+"(*callback) (gpointer instance, GBoxed *arg1, GBoxed *arg2, gpointer "
+"user_data)</literal>."
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:148:2
+msgid ""
+"@sizeof_closure: the size of the structure to allocate, must be at least "
+"<literal>sizeof (GClosure)</literal>"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:150:1
+msgid ""
+"@data: data to store in the @data field of the newly allocated #GClosure"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:152:3
+msgid ""
+"Allocates a struct of the given size and initializes the initial part as
a "
+"#GClosure. This function is mainly useful when implementing new types of "
+"closures."
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:156:7
+msgid ""
+"|[ typedef struct _MyClosure MyClosure; struct _MyClosure { GClosure "
+"closure; // extra data goes here };"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:164:5
+msgid ""
+"static void my_closure_finalize (gpointer notify_data, GClosure
*closure) "
+"{ MyClosure *my_closure = (MyClosure *)closure;"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:170:2
+msgid "// free extra data here }"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:173:4
+msgid ""
+"MyClosure *my_closure_new (gpointer data) { GClosure *closure; MyClosure "
+"*my_closure;"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:178:2
+msgid ""
+"closure = g_closure_new_simple (sizeof (MyClosure), data); my_closure = "
+"(MyClosure *) closure;"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:181:1
+msgid "// initialize extra data here"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:183:5
+msgid ""
+"g_closure_add_finalize_notifier (closure, notify_data,
my_closure_finalize); "
+"return my_closure; } ]|"
+msgstr ""
+
+#. used by: g_closure_new_simple:
+#: gclosure.c:189:1
+msgid "Returns: (transfer full): a newly allocated #GClosure"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_CLOSURE_NEEDS_MARSHAL:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_set_meta_marshal: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_marshal_guards: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_finalize_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_invalidate_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_invalidate_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_finalize_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_invoke:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_set_marshal: (skip)
+#: gclosure.c:297:1 gclosure.c:347:1 gclosure.c:405:1 gclosure.c:441:1
+#: gclosure.c:669:1 gclosure.c:697:1 gclosure.c:725:1 gclosure.c:781:1
+#: gclosure.h:34:1
+msgid "@closure: a #GClosure"
+msgstr ""
+
+#. used by: g_closure_set_meta_marshal: (skip)
+#: gclosure.c:298:1
+msgid "@marshal_data: context-dependent data to pass to @meta_marshal"
+msgstr ""
+
+#. used by: g_closure_set_meta_marshal: (skip)
+#: gclosure.c:299:1
+msgid "@meta_marshal: a #GClosureMarshal function"
+msgstr ""
+
+#. used by: g_closure_set_meta_marshal: (skip)
+#: gclosure.c:301:9
+msgid ""
+"Sets the meta marshaller of @closure. A meta marshaller wraps @closure-"
+">marshal and modifies the way it is called in some fashion. The most
common "
+"use of this facility is for C callbacks. The same marshallers (generated
by "
+"<link linkend=\"glib-genmarshal\">glib-genmarshal</link>) are used "
+"everywhere, but the way that we get the callback function differs. In
most "
+"cases we want to use @closure->callback, but in other cases we want to
use "
+"some different technique to retrieve the callback function."
+msgstr ""
+
+#. used by: g_closure_set_meta_marshal: (skip)
+#: gclosure.c:311:5
+msgid ""
+"For example, class closures for signals (see
g_signal_type_cclosure_new()) "
+"retrieve the callback function from a fixed offset in the class
structure. "
+"The meta marshaller retrieves the right callback and passes it to the "
+"marshaller as the @marshal_data argument."
+msgstr ""
+
+#. used by: g_closure_add_marshal_guards: (skip)
+#: gclosure.c:348:1
+msgid "@pre_marshal_data: data to pass to @pre_marshal_notify"
+msgstr ""
+
+#. used by: g_closure_add_marshal_guards: (skip)
+#: gclosure.c:349:1
+msgid "@pre_marshal_notify: a function to call before the closure callback"
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:35:1
+msgid "@short_description: Functions as first-class objects"
+msgstr ""
+
+#. used by: g_closure_add_marshal_guards: (skip)
+#: gclosure.c:350:1
+msgid "@post_marshal_data: data to pass to @post_marshal_notify"
+msgstr ""
+
+#. used by: g_closure_add_marshal_guards: (skip)
+#: gclosure.c:351:1
+msgid "@post_marshal_notify: a function to call after the closure callback"
+msgstr ""
+
+#. used by: g_closure_add_marshal_guards: (skip)
+#: gclosure.c:353:4
+msgid ""
+"Adds a pair of notifiers which get invoked before and after the closure "
+"callback, respectively. This is typically used to protect the extra "
+"arguments for the duration of the callback. See g_object_watch_closure()
for "
+"an example of marshal guards."
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:36:1
+msgid "@title: Closures"
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:38:6
+msgid ""
+"A #GClosure represents a callback supplied by the programmer. It will "
+"generally comprise a function of some kind and a marshaller used to call
it. "
+"It is the reponsibility of the marshaller to convert the arguments for
the "
+"invocation from #GValue<!-- -->s into a suitable form, perform the
callback "
+"on the converted arguments, and transform the return value back into a "
+"#GValue."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_finalize_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_invalidate_notifier: (skip)
+#: gclosure.c:406:1 gclosure.c:442:1
+msgid "@notify_data: data to pass to @notify_func"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_finalize_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_add_invalidate_notifier: (skip)
+#: gclosure.c:407:1 gclosure.c:443:1
+msgid "@notify_func: the callback function to register"
+msgstr ""
+
+#. used by: g_closure_add_finalize_notifier: (skip)
+#: gclosure.c:409:6
+msgid ""
+"Registers a finalization notifier which will be called when the
reference "
+"count of @closure goes down to 0. Multiple finalization notifiers on a "
+"single closure are invoked in unspecified order. If a single call to "
+"g_closure_unref() results in the closure being both invalidated and "
+"finalized, then the invalidate notifiers will be run before the finalize "
+"notifiers."
+msgstr ""
+
+#. used by: g_closure_add_invalidate_notifier: (skip)
+#: gclosure.c:445:4
+msgid ""
+"Registers an invalidation notifier which will be called when the @closure
is "
+"invalidated with g_closure_invalidate(). Invalidation notifiers are
invoked "
+"before finalization notifiers, in an unspecified order."
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:45:7
+msgid ""
+"In the case of C programs, a closure usually just holds a pointer to a "
+"function and maybe a data argument, and the marshaller converts between "
+"#GValue<!-- --> and native C types. The GObject library provides the "
+"#GCClosure type for this purpose. Bindings for other languages need "
+"marshallers which convert between #GValue<!-- -->s and suitable "
+"representations in the runtime of the language in order to use functions "
+"written in that languages as callbacks."
+msgstr ""
+
+#. used by: g_closure_ref:
+#: gclosure.c:515:1
+msgid "@closure: #GClosure to increment the reference count on"
+msgstr ""
+
+#. used by: g_closure_ref:
+#: gclosure.c:517:2
+msgid ""
+"Increments the reference count on a closure to force it staying alive
while "
+"the caller holds a pointer to it."
+msgstr ""
+
+#. used by: g_closure_ref:
+#: gclosure.c:520:1
+msgid "Returns: (transfer none): The @closure passed in, for convenience"
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:53:13
+msgid ""
+"Within GObject, closures play an important role in the implementation of "
+"signals. When a signal is registered, the @c_marshaller argument to "
+"g_signal_new() specifies the default C marshaller for any closure which
is "
+"connected to this signal. GObject provides a number of C marshallers for "
+"this purpose, see the g_cclosure_marshal_*() functions. Additional C "
+"marshallers can be generated with the <link
linkend=\"glib-genmarshal\">glib-"
+"genmarshal</link> utility. Closures can be explicitly connected to
signals "
+"with g_signal_connect_closure(), but it usually more convenient to let "
+"GObject create a closure automatically by using one of the
g_signal_connect_*"
+"() functions which take a callback function/user data pair."
+msgstr ""
+
+#. used by: g_closure_invalidate:
+#: gclosure.c:538:1
+msgid "@closure: GClosure to invalidate"
+msgstr ""
+
+#. used by: g_closure_invalidate:
+#: gclosure.c:540:9
+msgid ""
+"Sets a flag on the closure to indicate that its calling environment has "
+"become invalid, and thus causes any future invocations of
g_closure_invoke() "
+"on this @closure to be ignored. Also, invalidation notifiers installed
on "
+"the closure will be called at this point. Note that unless you are
holding a "
+"reference to the closure yourself, the invalidation notifiers may unref
the "
+"closure and cause it to be destroyed, so if you need to access the
closure "
+"after calling g_closure_invalidate(), make sure that you've previously "
+"called g_closure_ref()."
+msgstr ""
+
+#. used by: g_closure_invalidate:
+#: gclosure.c:550:3
+msgid ""
+"Note that g_closure_invalidate() will also be called when the reference "
+"count of a closure drops to zero (unless it has already been invalidated "
+"before)."
+msgstr ""
+
+#. used by: g_closure_unref:
+#: gclosure.c:573:1
+msgid "@closure: #GClosure to decrement the reference count on"
+msgstr ""
+
+#. used by: g_closure_unref:
+#: gclosure.c:575:3
+msgid ""
+"Decrements the reference count of a closure after it was previously "
+"incremented by the same caller. If no other callers are using the
closure, "
+"then the closure will be destroyed and freed."
+msgstr ""
+
+#. used by: g_closure_sink:
+#: gclosure.c:602:2
+msgid ""
+"@closure: #GClosure to decrement the initial reference count on, if it's "
+"still being held"
+msgstr ""
+
+#. used by: g_closure_sink:
+#: gclosure.c:605:18
+msgid ""
+"Takes over the initial ownership of a closure. Each closure is
initially "
+"created in a <firstterm>floating</firstterm> state, which means that the "
+"initial reference count is not owned by any caller. g_closure_sink()
checks "
+"to see if the object is still floating, and if so, unsets the floating
state "
+"and decreases the reference count. If the closure is not floating, "
+"g_closure_sink() does nothing. The reason for the existance of the
floating "
+"state is to prevent cumbersome code sequences like: |[ closure = "
+"g_cclosure_new (cb_func, cb_data); g_source_set_closure (source,
closure); "
+"g_closure_unref (closure); // XXX GObject doesn't really need this ]| "
+"Because g_source_set_closure() (and similar functions) take ownership of
the "
+"initial reference count, if it is unowned, we instead can write: |"
+"[ g_source_set_closure (source, g_cclosure_new (cb_func, cb_data)); ]|"
+msgstr ""
+
+#. used by: g_closure_sink:
+#: gclosure.c:624:17
+msgid ""
+"Generally, this function is used together with g_closure_ref(). Ane
example "
+"of storing a closure for later notification looks like: |[ static
GClosure "
+"*notify_closure = NULL; void foo_notify_set_closure (GClosure *closure) {
if "
+"(notify_closure) g_closure_unref (notify_closure); notify_closure =
closure; "
+"if (notify_closure) { g_closure_ref (notify_closure); g_closure_sink "
+"(notify_closure); } } ]|"
+msgstr ""
+
+#. used by: g_closure_sink:
+#: gclosure.c:642:3
+msgid ""
+"Because g_closure_sink() may decrement the reference count of a closure
(if "
+"it hasn't been called on @closure yet) just like g_closure_unref(), "
+"g_closure_ref() should be called prior to this function."
+msgstr ""
+
+#. used by: SECTION:gclosure
+#: gclosure.c:67:18
+msgid ""
+"Using closures has a number of important advantages over a simple
callback "
+"function/data pointer combination: <itemizedlist> <listitem><para>
Closures "
+"allow the callee to get the types of the callback parameters, which
means "
+"that language bindings don't have to write individual glue for each
callback "
+"type. </para></listitem> <listitem><para> The reference counting of "
+"#GClosure makes it easy to handle reentrancy right; if a callback is
removed "
+"while it is being invoked, the closure and its parameters won't be freed "
+"until the invocation finishes. </para></listitem> <listitem><para> "
+"g_closure_invalidate() and invalidation notifiers allow callbacks to be "
+"automatically removed when the objects they point to go away. </para></"
+"listitem> </itemizedlist>"
+msgstr ""
+
+#. used by: g_closure_remove_invalidate_notifier: (skip)
+#: gclosure.c:670:2
+msgid ""
+"@notify_data: data which was passed to
g_closure_add_invalidate_notifier() "
+"when registering @notify_func"
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_invalidate_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_finalize_notifier: (skip)
+#: gclosure.c:672:1 gclosure.c:700:1
+msgid "@notify_func: the callback function to remove"
+msgstr ""
+
+#. used by: g_closure_remove_invalidate_notifier: (skip)
+#: gclosure.c:674:1
+msgid "Removes an invalidation notifier."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_invalidate_notifier: (skip)
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_remove_finalize_notifier: (skip)
+#: gclosure.c:676:1 gclosure.c:704:1
+msgid "Notice that notifiers are automatically removed after they are run."
+msgstr ""
+
+#. used by: g_closure_remove_finalize_notifier: (skip)
+#: gclosure.c:698:2
+msgid ""
+"@notify_data: data which was passed to g_closure_add_finalize_notifier() "
+"when registering @notify_func"
+msgstr ""
+
+#. used by: g_closure_remove_finalize_notifier: (skip)
+#: gclosure.c:702:1
+msgid "Removes a finalization notifier."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GClosureMarshal:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_invoke:
+#: gclosure.c:726:2 gclosure.h:102:2
+msgid ""
+"@return_value: a #GValue to store the return value. May be %NULL if the "
+"callback of @closure doesn't return a value."
+msgstr ""
+
+#. #-#-#-#-# gclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GClosureMarshal:
+#. #-#-#-#-# gclosure.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_closure_invoke:
+#: gclosure.c:728:1 gclosure.h:104:1
+msgid "@n_param_values: the length of the @param_values array"
+msgstr ""
+
+#. used by: g_closure_invoke:
+#: gclosure.c:729:3
+msgid ""
+"@param_values: (array length=n_param_values): an array of #GValue<!--
-->s "
+"holding the arguments on which to invoke the callback of @closure"
+msgstr ""
+
+#. used by: g_closure_invoke:
+#: gclosure.c:732:1
+msgid "@invocation_hint: a context-dependent invocation hint"
+msgstr ""
+
+#. used by: g_closure_invoke:
+#: gclosure.c:734:1
+msgid ""
+"Invokes the closure, i.e. executes the callback represented by the
@closure."
+msgstr ""
+
+#. used by: g_closure_set_marshal: (skip)
+#: gclosure.c:782:1
+msgid "@marshal: a #GClosureMarshal function"
+msgstr ""
+
+#. used by: g_closure_set_marshal: (skip)
+#: gclosure.c:784:6
+msgid ""
+"Sets the marshaller of @closure. The <literal>marshal_data</literal> of "
+"@marshal provides a way for a meta marshaller to provide additional "
+"information to the marshaller. (See g_closure_set_meta_marshal().) For "
+"GObject's C predefined marshallers (the g_cclosure_marshal_*()
functions), "
+"what it provides is a callback function to use instead of
@closure->callback."
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/genums.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,595 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_register_static:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_register_static:
+#: genums.c:167:1 genums.c:212:1
+msgid "@name: A nul-terminated string used as the name of the new type."
+msgstr ""
+
+#. used by: g_enum_register_static:
+#: genums.c:168:4
+msgid ""
+"@const_static_values: An array of #GEnumValue structs for the possible "
+"enumeration values. The array is terminated by a struct with all members "
+"being 0. GObject keeps a reference to the data, so it cannot be stack-"
+"allocated."
+msgstr ""
+
+#. used by: g_enum_register_static:
+#: genums.c:173:1
+msgid "Registers a new static enumeration type with the name @name."
+msgstr ""
+
+#. used by: g_enum_register_static:
+#: genums.c:175:4
+msgid ""
+"It is normally more convenient to let <link
linkend=\"glib-mkenums\">glib-"
+"mkenums</link> generate a my_enum_get_type() function from a usual C "
+"enumeration definition than to write one yourself using "
+"g_enum_register_static()."
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_register_static:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_register_static:
+#: genums.c:180:1 genums.c:224:1
+msgid "Returns: The new type identifier."
+msgstr ""
+
+#. used by: g_flags_register_static:
+#: genums.c:213:3
+msgid ""
+"@const_static_values: An array of #GFlagsValue structs for the possible "
+"flags values. The array is terminated by a struct with all members being
0. "
+"GObject keeps a reference to the data, so it cannot be stack-allocated."
+msgstr ""
+
+#. used by: g_flags_register_static:
+#: genums.c:217:1
+msgid "Registers a new static flags type with the name @name."
+msgstr ""
+
+#. used by: g_flags_register_static:
+#: genums.c:219:4
+msgid ""
+"It is normally more convenient to let <link
linkend=\"glib-mkenums\">glib-"
+"mkenums</link> generate a my_flags_get_type() function from a usual C "
+"enumeration definition than to write one yourself using "
+"g_flags_register_static()."
+msgstr ""
+
+#. used by: g_enum_complete_type_info:
+#: genums.c:256:1
+msgid "@g_enum_type: the type identifier of the type being completed"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_complete_type_info:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_complete_type_info:
+#: genums.c:257:1 genums.c:303:1
+msgid "@info: the #GTypeInfo struct to be filled in"
+msgstr ""
+
+#. used by: g_enum_complete_type_info:
+#: genums.c:258:3
+msgid ""
+"@const_values: An array of #GEnumValue structs for the possible
enumeration "
+"values. The array is terminated by a struct with all members being 0."
+msgstr ""
+
+#. used by: g_enum_complete_type_info:
+#: genums.c:262:3
+msgid ""
+"This function is meant to be called from the complete_type_info()
function "
+"of a #GTypePlugin implementation, as in the following example:"
+msgstr ""
+
+#. used by: g_enum_complete_type_info:
+#: genums.c:266:12
+msgid ""
+"|[ static void my_enum_complete_type_info (GTypePlugin *plugin, "
+"GType g_type, GTypeInfo *info, GTypeValueTable "
+"*value_table) { static const GEnumValue values[] = { { MY_ENUM_FOO, "
+"\"MY_ENUM_FOO\", \"foo\" }, { MY_ENUM_BAR, \"MY_ENUM_BAR\", \"bar\" }, {
0, "
+"NULL, NULL } };"
+msgstr ""
+
+#. used by: g_enum_complete_type_info:
+#: genums.c:279:3
+msgid "g_enum_complete_type_info (type, info, values); } ]|"
+msgstr ""
+
+#. used by: g_flags_complete_type_info:
+#: genums.c:302:1
+msgid "@g_flags_type: the type identifier of the type being completed"
+msgstr ""
+
+#. used by: g_flags_complete_type_info:
+#: genums.c:304:3
+msgid ""
+"@const_values: An array of #GFlagsValue structs for the possible
enumeration "
+"values. The array is terminated by a struct with all members being 0."
+msgstr ""
+
+#. used by: g_flags_complete_type_info:
+#: genums.c:308:3
+msgid ""
+"This function is meant to be called from the complete_type_info()
function "
+"of a #GTypePlugin implementation, see the example for "
+"g_enum_complete_type_info() above."
+msgstr ""
+
+#. used by: SECTION:enumerations_flags
+#: genums.c:35:1
+msgid "@short_description: Enumeration and flags types"
+msgstr ""
+
+#. used by: SECTION:enumerations_flags
+#: genums.c:36:1
+msgid "@title: Enumeration and Flag Types"
+msgstr ""
+
+#. used by: SECTION:enumerations_flags
+#: genums.c:37:2
+msgid ""
+"@see_also:#GParamSpecEnum, #GParamSpecFlags, g_param_spec_enum(), "
+"g_param_spec_flags()"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_get_value_by_name:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_get_value_by_nick:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_get_value:
+#: genums.c:379:1 genums.c:437:1 genums.c:495:1
+msgid "@enum_class: a #GEnumClass"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_get_value_by_name:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_get_value_by_name:
+#: genums.c:380:1 genums.c:409:1
+msgid "@name: the name to look up"
+msgstr ""
+
+#. used by: g_enum_get_value_by_name:
+#: genums.c:382:1
+msgid "Looks up a #GEnumValue by name."
+msgstr ""
+
+#. used by: g_enum_get_value_by_name:
+#: genums.c:384:2
+msgid ""
+"Returns: the #GEnumValue with name @name, or %NULL if the enumeration "
+"doesn't have a member with that name"
+msgstr ""
+
+#. used by: SECTION:enumerations_flags
+#: genums.c:40:10
+msgid ""
+"The GLib type system provides fundamental types for enumeration and
flags "
+"types. (Flags types are like enumerations, but allow their values to be "
+"combined by bitwise or). A registered enumeration or flags type
associates a "
+"name and a nickname with each allowed value, and the methods "
+"g_enum_get_value_by_name(), g_enum_get_value_by_nick(), "
+"g_flags_get_value_by_name() and g_flags_get_value_by_nick() can look up "
+"values by their name or nickname. When an enumeration or flags type is "
+"registered with the GLib type system, it can be used as value type for "
+"object properties, using g_param_spec_enum() or g_param_spec_flags()."
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_get_value_by_name:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_get_value_by_nick:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_get_first_value:
+#: genums.c:408:1 genums.c:466:1 genums.c:523:1
+msgid "@flags_class: a #GFlagsClass"
+msgstr ""
+
+#. used by: g_flags_get_value_by_name:
+#: genums.c:411:1
+msgid "Looks up a #GFlagsValue by name."
+msgstr ""
+
+#. used by: g_flags_get_value_by_name:
+#: genums.c:413:2
+msgid ""
+"Returns: the #GFlagsValue with name @name, or %NULL if there is no flag
with "
+"that name"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_enum_get_value_by_nick:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_flags_get_value_by_nick:
+#: genums.c:438:1 genums.c:467:1
+msgid "@nick: the nickname to look up"
+msgstr ""
+
+#. used by: g_enum_get_value_by_nick:
+#: genums.c:440:1
+msgid "Looks up a #GEnumValue by nickname."
+msgstr ""
+
+#. used by: g_enum_get_value_by_nick:
+#: genums.c:442:2
+msgid ""
+"Returns: the #GEnumValue with nickname @nick, or %NULL if the
enumeration "
+"doesn't have a member with that nickname"
+msgstr ""
+
+#. used by: g_flags_get_value_by_nick:
+#: genums.c:469:1
+msgid "Looks up a #GFlagsValue by nickname."
+msgstr ""
+
+#. used by: g_flags_get_value_by_nick:
+#: genums.c:471:2
+msgid ""
+"Returns: the #GFlagsValue with nickname @nick, or %NULL if there is no
flag "
+"with that nickname"
+msgstr ""
+
+#. used by: g_enum_get_value:
+#: genums.c:496:1
+msgid "@value: the value to look up"
+msgstr ""
+
+#. used by: g_enum_get_value:
+#: genums.c:498:1
+msgid "Returns the #GEnumValue for a value."
+msgstr ""
+
+#. used by: g_enum_get_value:
+#: genums.c:500:2
+msgid ""
+"Returns: the #GEnumValue for @value, or %NULL if @value is not a member
of "
+"the enumeration"
+msgstr ""
+
+#. used by: SECTION:enumerations_flags
+#: genums.c:51:4
+msgid ""
+"GObject ships with a utility called <link linkend=\"glib-mkenums\">glib-"
+"mkenums</link> that can construct suitable type registration functions
from "
+"C enumeration definitions."
+msgstr ""
+
+#. used by: g_flags_get_first_value:
+#: genums.c:524:1
+msgid "@value: the value"
+msgstr ""
+
+#. used by: g_flags_get_first_value:
+#: genums.c:526:1
+msgid "Returns the first #GFlagsValue which is set in @value."
+msgstr ""
+
+#. used by: g_flags_get_first_value:
+#: genums.c:528:2
+msgid ""
+"Returns: the first #GFlagsValue which is set in @value, or %NULL if none
is "
+"set"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_enum:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_enum:
+#: genums.c:560:1 genums.c:576:1
+msgid "@value: a valid #GValue whose type is derived from %G_TYPE_ENUM"
+msgstr ""
+
+#. used by: g_value_set_enum:
+#: genums.c:561:1
+msgid "@v_enum: enum value to be set"
+msgstr ""
+
+#. used by: g_value_set_enum:
+#: genums.c:563:1
+msgid "Set the contents of a %G_TYPE_ENUM #GValue to @v_enum."
+msgstr ""
+
+#. used by: g_value_get_enum:
+#: genums.c:578:1
+msgid "Get the contents of a %G_TYPE_ENUM #GValue."
+msgstr ""
+
+#. used by: g_value_get_enum:
+#: genums.c:580:1
+msgid "Returns: enum contents of @value"
+msgstr ""
+
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_flags:
+#. #-#-#-#-# genums.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_flags:
+#: genums.c:592:1 genums.c:608:1
+msgid "@value: a valid #GValue whose type is derived from %G_TYPE_FLAGS"
+msgstr ""
+
+#. used by: g_value_set_flags:
+#: genums.c:593:1
+msgid "@v_flags: flags value to be set"
+msgstr ""
+
+#. used by: g_value_set_flags:
+#: genums.c:595:1
+msgid "Set the contents of a %G_TYPE_FLAGS #GValue to @v_flags."
+msgstr ""
+
+#. used by: g_value_get_flags:
+#: genums.c:610:1
+msgid "Get the contents of a %G_TYPE_FLAGS #GValue."
+msgstr ""
+
+#. used by: g_value_get_flags:
+#: genums.c:612:1
+msgid "Returns: flags contents of @value"
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_FLAGS_CLASS:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_FLAGS_CLASS_TYPE:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_FLAGS_CLASS_TYPE_NAME:
+#: genums.h:101:1 genums.h:110:1 genums.h:93:1
+msgid "@class: a #GFlagsClass"
+msgstr ""
+
+#. used by: G_FLAGS_CLASS_TYPE:
+#: genums.h:103:1
+msgid "Get the type identifier from a given #GFlagsClass structure."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_ENUM_CLASS_TYPE:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_FLAGS_CLASS_TYPE:
+#: genums.h:105:1 genums.h:61:1
+msgid "Returns: the #GType"
+msgstr ""
+
+#. used by: G_FLAGS_CLASS_TYPE_NAME:
+#: genums.h:112:1
+msgid "Get the static type name from a given #GFlagsClass structure."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_ENUM_CLASS_TYPE_NAME:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_FLAGS_CLASS_TYPE_NAME:
+#: genums.h:114:1 genums.h:70:1
+msgid "Returns: the type name."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_ENUM:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_FLAGS:
+#: genums.h:121:1 genums.h:130:1
+msgid "@value: a valid #GValue structure"
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_ENUM:
+#: genums.h:123:1
+msgid ""
+"Checks whether the given #GValue can hold values derived from type "
+"%G_TYPE_ENUM."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_ENUM:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_FLAGS:
+#: genums.h:125:1 genums.h:134:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_FLAGS:
+#: genums.h:132:1
+msgid ""
+"Checks whether the given #GValue can hold values derived from type "
+"%G_TYPE_FLAGS."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GEnumClass:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GFlagsClass:
+#: genums.h:147:1 genums.h:169:1
+msgid "@g_type_class: the parent class"
+msgstr ""
+
+#. used by: GEnumClass:
+#: genums.h:148:1
+msgid "@minimum: the smallest possible value."
+msgstr ""
+
+#. used by: GEnumClass:
+#: genums.h:149:1
+msgid "@maximum: the largest possible value."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GEnumClass:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GFlagsClass:
+#: genums.h:150:1 genums.h:171:1
+msgid "@n_values: the number of possible values."
+msgstr ""
+
+#. used by: GEnumClass:
+#: genums.h:151:2
+msgid ""
+"@values: an array of #GEnumValue structs describing the individual
values."
+msgstr ""
+
+#. used by: GEnumClass:
+#: genums.h:154:2
+msgid ""
+"The class of an enumeration type holds information about its possible
values."
+msgstr ""
+
+#. used by: GFlagsClass:
+#: genums.h:170:1
+msgid "@mask: a mask covering all possible values."
+msgstr ""
+
+#. used by: GFlagsClass:
+#: genums.h:172:2
+msgid ""
+"@values: an array of #GFlagsValue structs describing the individual
values."
+msgstr ""
+
+#. used by: GFlagsClass:
+#: genums.h:175:2
+msgid "The class of a flags type holds information about its possible
values."
+msgstr ""
+
+#. used by: GEnumValue:
+#: genums.h:189:1
+msgid "@value: the enum value"
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GEnumValue:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GFlagsValue:
+#: genums.h:190:1 genums.h:205:1
+msgid "@value_name: the name of the value"
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GEnumValue:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GFlagsValue:
+#: genums.h:191:1 genums.h:206:1
+msgid "@value_nick: the nickname of the value"
+msgstr ""
+
+#. used by: GEnumValue:
+#: genums.h:193:2
+msgid ""
+"A structure which contains a single enum value, its name, and its
nickname."
+msgstr ""
+
+#. used by: GFlagsValue:
+#: genums.h:204:1
+msgid "@value: the flags value"
+msgstr ""
+
+#. used by: GFlagsValue:
+#: genums.h:208:2
+msgid ""
+"A structure which contains a single flags value, its name, and its
nickname."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_ENUM:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_FLAGS:
+#: genums.h:33:1 genums.h:77:1
+msgid "@type: a #GType ID."
+msgstr ""
+
+#. used by: G_TYPE_IS_ENUM:
+#: genums.h:35:1
+msgid "Checks whether @type \"is a\" %G_TYPE_ENUM."
+msgstr ""
+
+#. used by: G_TYPE_IS_ENUM:
+#: genums.h:37:1
+msgid "Returns: %TRUE if @type \"is a\" %G_TYPE_ENUM."
+msgstr ""
+
+#. used by: G_ENUM_CLASS:
+#: genums.h:42:1
+msgid "@class: a valid #GEnumClass"
+msgstr ""
+
+#. used by: G_ENUM_CLASS:
+#: genums.h:44:1
+msgid "Casts a derived #GEnumClass structure into a #GEnumClass structure."
+msgstr ""
+
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_ENUM_CLASS:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_ENUM_CLASS_TYPE:
+#. #-#-#-#-# genums.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_ENUM_CLASS_TYPE_NAME:
+#: genums.h:49:1 genums.h:57:1 genums.h:66:1
+msgid "@class: a #GEnumClass"
+msgstr ""
+
+#. used by: G_IS_ENUM_CLASS:
+#: genums.h:51:2
+msgid ""
+"Checks whether @class \"is a\" valid #GEnumClass structure of type "
+"%G_TYPE_ENUM or derived."
+msgstr ""
+
+#. used by: G_ENUM_CLASS_TYPE:
+#: genums.h:59:1
+msgid "Get the type identifier from a given #GEnumClass structure."
+msgstr ""
+
+#. used by: G_ENUM_CLASS_TYPE_NAME:
+#: genums.h:68:1
+msgid "Get the static type name from a given #GEnumClass structure."
+msgstr ""
+
+#. used by: G_TYPE_IS_FLAGS:
+#: genums.h:79:1
+msgid "Checks whether @type \"is a\" %G_TYPE_FLAGS."
+msgstr ""
+
+#. used by: G_TYPE_IS_FLAGS:
+#: genums.h:81:1
+msgid "Returns: %TRUE if @type \"is a\" %G_TYPE_FLAGS."
+msgstr ""
+
+#. used by: G_FLAGS_CLASS:
+#: genums.h:86:1
+msgid "@class: a valid #GFlagsClass"
+msgstr ""
+
+#. used by: G_FLAGS_CLASS:
+#: genums.h:88:1
+msgid "Casts a derived #GFlagsClass structure into a #GFlagsClass
structure."
+msgstr ""
+
+#. used by: G_IS_FLAGS_CLASS:
+#: genums.h:95:2
+msgid ""
+"Checks whether @class \"is a\" valid #GFlagsClass structure of type "
+"%G_TYPE_FLAGS or derived."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gobject.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,2099 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_run_dispose:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_freeze_notify:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_notify:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_notify_by_pspec:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_thaw_notify:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_property:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_property:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_connect: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_disconnect: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_force_floating:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_add_toggle_ref: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_remove_toggle_ref: (skip)
+#. #-#-#-#-# gobject.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gobject.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GObjectGetPropertyFunc:
+#. #-#-#-#-# gobject.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GObjectSetPropertyFunc:
+#: gobject.c:1030:1 gobject.c:1089:1 gobject.c:1649:1 gobject.c:1725:1
+#: gobject.c:1801:1 gobject.c:1825:1 gobject.c:1876:1 gobject.c:1923:1
+#: gobject.c:2002:1 gobject.c:2154:1 gobject.c:2441:1 gobject.c:2490:1
+#: gobject.c:2571:1 gobject.c:930:1 gobject.c:952:1 gobject.c:988:1
+#: gobject.h:191:1 gobject.h:205:1
+msgid "@object: a #GObject"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1031:1
+msgid ""
+"@pspec: the #GParamSpec of a property installed on the class of @object."
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1033:1
+msgid ""
+"Emits a \"notify\" signal for the property specified by @pspec on
@object."
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1035:2
+msgid ""
+"This function omits the property name lookup, hence it is faster than "
+"g_object_notify()."
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1038:4
+msgid ""
+"One way to avoid using g_object_notify() from within the class that "
+"registered the properties, and using g_object_notify_by_pspec() instead,
is "
+"to store the GParamSpec used with g_object_class_install_property()
inside a "
+"static array, e.g.:"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1043:7
+msgid "|[ enum { PROP_0, PROP_FOO, PROP_LAST };"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1051:1
+msgid "static GParamSpec *properties[PROP_LAST];"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1053:12
+msgid ""
+"static void my_object_class_init (MyObjectClass *klass) { properties"
+"[PROP_FOO] = g_param_spec_int (\"foo\", \"Foo\", \"The foo\", 0, 100,
50, "
+"G_PARAM_READWRITE); g_object_class_install_property (gobject_class, "
+"PROP_FOO, properties[PROP_FOO]); } ]|"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1066:1
+msgid "and then notify a change on the \"foo\" property with:"
+msgstr ""
+
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1068:3
+msgid "|[ g_object_notify_by_pspec (self, properties[PROP_FOO]); ]|"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_class_install_properties:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_notify_by_pspec:
+#: gobject.c:1072:1 gobject.c:527:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. used by: g_object_thaw_notify:
+#: gobject.c:1091:3
+msgid ""
+"Reverts the effect of a previous call to g_object_freeze_notify(). The "
+"freeze count is decreased on @object and when it reaches zero, all
queued "
+"\"notify\" signals are emitted."
+msgstr ""
+
+#. used by: g_object_thaw_notify:
+#: gobject.c:1095:1
+msgid "It is an error to call this function when the freeze count is zero."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_newv:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1284:1 gobject.c:1351:1 gobject.c:1529:1
+msgid "@object_type: the type id of the #GObject subtype to instantiate"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1285:1 gobject.c:1530:1
+msgid "@first_property_name: the name of the first property"
+msgstr ""
+
+#. used by: g_object_new: (skip)
+#: gobject.c:1286:2
+msgid ""
+"@...: the value of the first property, followed optionally by more name/"
+"value pairs, followed by %NULL"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_newv:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1289:1 gobject.c:1355:1 gobject.c:1534:1
+msgid "Creates a new instance of a #GObject subtype and sets its
properties."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_newv:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1291:2 gobject.c:1357:2 gobject.c:1536:2
+msgid ""
+"Construction parameters (see #G_PARAM_CONSTRUCT,
#G_PARAM_CONSTRUCT_ONLY) "
+"which are not explicitly specified are set to their default values."
+msgstr ""
+
+#. used by: g_object_new: (skip)
+#: gobject.c:1294:1
+msgid "Returns: (transfer full): a new instance of @object_type"
+msgstr ""
+
+#. used by: g_object_newv:
+#: gobject.c:1352:1
+msgid "@n_parameters: the length of the @parameters array"
+msgstr ""
+
+#. used by: g_object_newv:
+#: gobject.c:1353:1
+msgid "@parameters: (array length=n_parameters): an array of #GParameter"
+msgstr ""
+
+#. used by: g_object_newv:
+#: gobject.c:1360:3
+msgid ""
+"Rename to: g_object_new Returns: (type GObject.Object) (transfer full):
a "
+"new instance of @object_type"
+msgstr ""
+
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1531:2
+msgid ""
+"@var_args: the value of the first property, followed optionally by more
name/"
+"value pairs, followed by %NULL"
+msgstr ""
+
+#. used by: g_object_new_valist: (skip)
+#: gobject.c:1539:1
+msgid "Returns: a new instance of @object_type"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set: (skip)
+#: gobject.c:1650:1 gobject.c:1802:1
+msgid "@first_property_name: name of the first property to set"
+msgstr ""
+
+#. used by: g_object_set_valist: (skip)
+#: gobject.c:1651:2
+msgid ""
+"@var_args: value for the first property, followed optionally by more
name/"
+"value pairs, followed by %NULL"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set: (skip)
+#: gobject.c:1654:1 gobject.c:1806:1
+msgid "Sets properties on an object."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get: (skip)
+#: gobject.c:1726:1 gobject.c:1826:1
+msgid "@first_property_name: name of the first property to get"
+msgstr ""
+
+#. used by: g_object_get_valist: (skip)
+#: gobject.c:1727:2
+msgid ""
+"@var_args: return location for the first property, followed optionally
by "
+"more name/return location pairs, followed by %NULL"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get: (skip)
+#: gobject.c:1730:1 gobject.c:1830:1
+msgid "Gets properties of an object."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_valist: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get: (skip)
+#: gobject.c:1732:3 gobject.c:1832:3
+msgid ""
+"In general, a copy is made of the property contents and the caller is "
+"responsible for freeing the memory in the appropriate manner for the
type, "
+"for instance by calling g_free() or g_object_unref()."
+msgstr ""
+
+#. used by: g_object_get_valist: (skip)
+#: gobject.c:1736:1
+msgid "See g_object_get()."
+msgstr ""
+
+#. used by: g_object_set: (skip)
+#: gobject.c:1803:2
+msgid ""
+"@...: value for the first property, followed optionally by more
name/value "
+"pairs, followed by %NULL"
+msgstr ""
+
+#. used by: g_object_get: (skip)
+#: gobject.c:1827:2
+msgid ""
+"@...: return location for the first property, followed optionally by
more "
+"name/return location pairs, followed by %NULL"
+msgstr ""
+
+#. used by: g_object_get: (skip)
+#: gobject.c:1836:5
+msgid ""
+"<example> <title>Using g_object_get(<!-- -->)</title> An example of
using "
+"g_object_get() to get the contents of three properties - one of type "
+"#G_TYPE_INT, one of type #G_TYPE_STRING, and one of type #G_TYPE_OBJECT:"
+msgstr ""
+
+#. used by: g_object_get: (skip)
+#: gobject.c:1857:1
+msgid "</example>"
+msgstr ""
+
+#. used by: g_object_set_property:
+#: gobject.c:1877:1
+msgid "@property_name: the name of the property to set"
+msgstr ""
+
+#. used by: g_object_set_property:
+#: gobject.c:1878:1
+msgid "@value: the value"
+msgstr ""
+
+#. used by: g_object_set_property:
+#: gobject.c:1880:1
+msgid "Sets a property on an object."
+msgstr ""
+
+#. used by: g_object_get_property:
+#: gobject.c:1924:1
+msgid "@property_name: the name of the property to get"
+msgstr ""
+
+#. used by: g_object_get_property:
+#: gobject.c:1925:1
+msgid "@value: return location for the property value"
+msgstr ""
+
+#. used by: g_object_get_property:
+#: gobject.c:1927:3
+msgid ""
+"Gets a property of an object. @value must have been initialized to the "
+"expected type of the property (or a type to which the expected type can
be "
+"transformed) using g_value_init()."
+msgstr ""
+
+#. used by: g_object_get_property:
+#: gobject.c:1931:2
+msgid ""
+"In general, a copy is made of the property contents and the caller is "
+"responsible for freeing the memory by calling g_value_unset()."
+msgstr ""
+
+#. used by: g_object_get_property:
+#: gobject.c:1934:2
+msgid ""
+"Note that g_object_get_property() is really intended for language
bindings, "
+"g_object_get() is much more convenient for C programming."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_connect: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_disconnect: (skip)
+#: gobject.c:2003:1 gobject.c:2155:1
+msgid "@signal_spec: the spec for the first signal"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_connect: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_disconnect: (skip)
+#: gobject.c:2004:3 gobject.c:2156:3
+msgid ""
+"@...: #GCallback for the first signal, followed by data for the first "
+"signal, followed optionally by more signal spec/callback/data triples, "
+"followed by %NULL"
+msgstr ""
+
+#. used by: g_object_connect: (skip)
+#: gobject.c:2008:1
+msgid "A convenience function to connect multiple signals at once."
+msgstr ""
+
+#. used by: g_object_connect: (skip)
+#: gobject.c:2010:59
+msgid ""
+"The signal specs expected by this function have the form \"modifier::"
+"signal_name\", where modifier can be one of the following:
<variablelist> "
+"<varlistentry> <term>signal</term> <listitem><para> equivalent to "
+"<literal>g_signal_connect_data (..., NULL, 0)</literal>
</para></listitem> </"
+"varlistentry> <varlistentry> <term>object_signal</term>
<term>object-signal</"
+"term> <listitem><para> equivalent to <literal>g_signal_connect_object
(..., "
+"0)</literal> </para></listitem> </varlistentry> <varlistentry> "
+"<term>swapped_signal</term> <term>swapped-signal</term> <listitem><para> "
+"equivalent to <literal>g_signal_connect_data (..., NULL,
G_CONNECT_SWAPPED)</"
+"literal> </para></listitem> </varlistentry> <varlistentry> "
+"<term>swapped_object_signal</term> <term>swapped-object-signal</term> "
+"<listitem><para> equivalent to <literal>g_signal_connect_object (..., "
+"G_CONNECT_SWAPPED)</literal> </para></listitem> </varlistentry> "
+"<varlistentry> <term>signal_after</term> <term>signal-after</term> "
+"<listitem><para> equivalent to <literal>g_signal_connect_data (...,
NULL, "
+"G_CONNECT_AFTER)</literal> </para></listitem> </varlistentry>
<varlistentry> "
+"<term>object_signal_after</term> <term>object-signal-after</term> "
+"<listitem><para> equivalent to <literal>g_signal_connect_object (..., "
+"G_CONNECT_AFTER)</literal> </para></listitem> </varlistentry>
<varlistentry> "
+"<term>swapped_signal_after</term> <term>swapped-signal-after</term> "
+"<listitem><para> equivalent to <literal>g_signal_connect_data (...,
NULL, "
+"G_CONNECT_SWAPPED | G_CONNECT_AFTER)</literal> </para></listitem> </"
+"varlistentry> <varlistentry> <term>swapped_object_signal_after</term> "
+"<term>swapped-object-signal-after</term> <listitem><para> equivalent to "
+"<literal>g_signal_connect_object (..., G_CONNECT_SWAPPED |
G_CONNECT_AFTER)</"
+"literal> </para></listitem> </varlistentry> </variablelist>"
+msgstr ""
+
+#. used by: g_object_connect: (skip)
+#: gobject.c:2070:10
+msgid ""
+"|[ menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
\t\t\t\t"
+"\t\t \"type\", GTK_WINDOW_POPUP, \t\t\t\t\t\t \"child\", menu,
\t\t\t\t\t"
+"\t NULL), \t\t\t\t \"signal::event\", gtk_menu_window_event, menu,
\t\t"
+"\t\t \"signal::size_request\", gtk_menu_window_size_request, menu,
\t\t\t"
+"\t \"signal::destroy\", gtk_widget_destroyed, &amp;menu-&gt;toplevel,
\t"
+"\t\t\t NULL); ]|"
+msgstr ""
+
+#. used by: g_object_connect: (skip)
+#: gobject.c:2081:1
+msgid "Returns: (transfer none): @object"
+msgstr ""
+
+#. used by: g_object_disconnect: (skip)
+#: gobject.c:2160:1
+msgid "A convenience function to disconnect multiple signals at once."
+msgstr ""
+
+#. used by: g_object_disconnect: (skip)
+#: gobject.c:2162:4
+msgid ""
+"The signal specs expected by this function have the form \"any_signal\", "
+"which means to disconnect any signal with matching callback and data, or "
+"\"any_signal::signal_name\", which only disconnects the signal named "
+"\"signal_name\"."
+msgstr ""
+
+#. used by: g_object_weak_ref: (skip)
+#: gobject.c:2237:1
+msgid "@object: #GObject to reference weakly"
+msgstr ""
+
+#. used by: g_object_weak_ref: (skip)
+#: gobject.c:2238:1
+msgid "@notify: callback to invoke before the object is freed"
+msgstr ""
+
+#. used by: g_object_weak_ref: (skip)
+#: gobject.c:2239:1
+msgid "@data: extra data to pass to notify"
+msgstr ""
+
+#. used by: g_object_weak_ref: (skip)
+#: gobject.c:2241:5
+msgid ""
+"Adds a weak reference callback to an object. Weak references are used
for "
+"notification when an object is finalized. They are called \"weak
references"
+"\" because they allow you to safely hold a pointer to an object without "
+"calling g_object_ref() (g_object_ref() adds a strong reference, that is, "
+"forces the object to stay alive)."
+msgstr ""
+
+#. used by: g_object_weak_unref: (skip)
+#: gobject.c:2281:1
+msgid "@object: #GObject to remove a weak reference from"
+msgstr ""
+
+#. used by: g_object_weak_unref: (skip)
+#: gobject.c:2282:1
+msgid "@notify: callback to search for"
+msgstr ""
+
+#. used by: g_object_weak_unref: (skip)
+#: gobject.c:2283:1
+msgid "@data: data to search for"
+msgstr ""
+
+#. used by: g_object_weak_unref: (skip)
+#: gobject.c:2285:1
+msgid "Removes a weak reference callback to an object."
+msgstr ""
+
+#. used by: g_object_add_weak_pointer: (skip)
+#: gobject.c:2323:1
+msgid "@object: The object that should be weak referenced."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_add_weak_pointer: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_remove_weak_pointer: (skip)
+#: gobject.c:2324:1 gobject.c:2346:1
+msgid "@weak_pointer_location: (inout): The memory address of a pointer."
+msgstr ""
+
+#. used by: g_object_add_weak_pointer: (skip)
+#: gobject.c:2326:4
+msgid ""
+"Adds a weak reference from weak_pointer to @object to indicate that the "
+"pointer located at @weak_pointer_location is only valid during the
lifetime "
+"of @object. When the @object is finalized, @weak_pointer will be set to "
+"%NULL."
+msgstr ""
+
+#. used by: g_object_remove_weak_pointer: (skip)
+#: gobject.c:2345:1
+msgid "@object: The object that is weak referenced."
+msgstr ""
+
+#. used by: g_object_remove_weak_pointer: (skip)
+#: gobject.c:2348:3
+msgid ""
+"Removes a weak reference from @object that was previously added using "
+"g_object_add_weak_pointer(). The @weak_pointer_location has to match the
one "
+"used with g_object_add_weak_pointer()."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_is_floating:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_ref_sink:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_ref:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_unref:
+#: gobject.c:2390:1 gobject.c:2409:1 gobject.c:2624:1 gobject.c:2657:1
+msgid "@object: (type GObject.Object): a #GObject"
+msgstr ""
+
+#. used by: g_object_is_floating:
+#: gobject.c:2392:2
+msgid ""
+"Checks whether @object has a <link
linkend=\"floating-ref\">floating</link> "
+"reference."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_is_floating:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_ref_sink:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_force_floating:
+#: gobject.c:2395:1 gobject.c:2421:1 gobject.c:2449:1
+msgid "Since: 2.10"
+msgstr ""
+
+#. used by: g_object_is_floating:
+#: gobject.c:2397:1
+msgid "Returns: %TRUE if @object has a floating reference"
+msgstr ""
+
+#. used by: g_object_ref_sink:
+#: gobject.c:2411:3
+msgid ""
+"Increase the reference count of @object, and possibly remove the <link "
+"linkend=\"floating-ref\">floating</link> reference, if @object has a "
+"floating reference."
+msgstr ""
+
+#. used by: g_object_ref_sink:
+#: gobject.c:2415:5
+msgid ""
+"In other words, if the object is floating, then this call \"assumes
ownership"
+"\" of the floating reference, converting it to a normal reference by "
+"clearing the floating flag while leaving the reference count unchanged.
If "
+"the object is not floating, then this call adds a new normal reference "
+"increasing the reference count by one."
+msgstr ""
+
+#. used by: g_object_ref_sink:
+#: gobject.c:2423:1
+msgid "Returns: (type GObject.Object) (transfer none): @object"
+msgstr ""
+
+#. used by: g_object_force_floating:
+#: gobject.c:2443:5
+msgid ""
+"This function is intended for #GObject implementations to re-enforce a
<link "
+"linkend=\"floating-ref\">floating</link> object reference. Doing this is "
+"seldomly required: all #GInitiallyUnowned<!-- -->s are created with a "
+"floating reference which usually just needs to be sunken by calling "
+"g_object_ref_sink()."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_add_toggle_ref: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_remove_toggle_ref: (skip)
+#: gobject.c:2491:3 gobject.c:2572:3
+msgid ""
+"@notify: a function to call when this reference is the last reference to
the "
+"object, or is no longer the last reference."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_add_toggle_ref: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_remove_toggle_ref: (skip)
+#: gobject.c:2494:1 gobject.c:2575:1
+msgid "@data: data to pass to @notify"
+msgstr ""
+
+#. used by: g_object_add_toggle_ref: (skip)
+#: gobject.c:2496:4
+msgid ""
+"Increases the reference count of the object by one and sets a callback to
be "
+"called when all other references to the object are dropped, or when this
is "
+"already the last reference to the object and another reference is "
+"established."
+msgstr ""
+
+#. used by: g_object_add_toggle_ref: (skip)
+#: gobject.c:2501:5
+msgid ""
+"This functionality is intended for binding @object to a proxy object
managed "
+"by another memory manager. This is done with two paired references: the "
+"strong reference added by g_object_add_toggle_ref() and a reverse
reference "
+"to the proxy object which is either a strong reference or weak reference."
+msgstr ""
+
+#. used by: g_object_add_toggle_ref: (skip)
+#: gobject.c:2507:7
+msgid ""
+"The setup is that when there are no other references to @object, only a
weak "
+"reference is held in the reverse direction from @object to the proxy
object, "
+"but when there are other references held to @object, a strong reference
is "
+"held. The @notify callback is called when the reference from @object to
the "
+"proxy object should be <firstterm>toggled</firstterm> from strong to
weak "
+"(@is_last_ref true) or weak to strong (@is_last_ref false)."
+msgstr ""
+
+#. used by: g_object_add_toggle_ref: (skip)
+#: gobject.c:2515:3
+msgid ""
+"Since a (normal) reference must be held to the object before calling "
+"g_object_toggle_ref(), the initial state of the reverse link is always "
+"strong."
+msgstr ""
+
+#. used by: g_object_add_toggle_ref: (skip)
+#: gobject.c:2519:5
+msgid ""
+"Multiple toggle references may be added to the same gobject, however if "
+"there are multiple toggle references to an object, none of them will ever
be "
+"notified until all but one are removed. For this reason, you should
only "
+"ever use a toggle reference if there is important state in the proxy
object."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_add_toggle_ref: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_remove_toggle_ref: (skip)
+#: gobject.c:2525:1 gobject.c:2580:1
+msgid "Since: 2.8"
+msgstr ""
+
+#. used by: g_object_remove_toggle_ref: (skip)
+#: gobject.c:2577:2
+msgid ""
+"Removes a reference added with g_object_add_toggle_ref(). The reference "
+"count of the object is decreased by one."
+msgstr ""
+
+#. used by: g_object_ref:
+#: gobject.c:2626:1
+msgid "Increases the reference count of @object."
+msgstr ""
+
+#. used by: g_object_ref:
+#: gobject.c:2628:1
+msgid "Returns: (type GObject.Object) (transfer none): the same @object"
+msgstr ""
+
+#. used by: g_object_unref:
+#: gobject.c:2659:2
+msgid ""
+"Decreases the reference count of @object. When its reference count drops
to "
+"0, the object is finalized (i.e. its memory is freed)."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2754:1
+msgid "@object_ptr: a pointer to a #GObject reference"
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2756:1
+msgid "Clears a reference to a #GObject."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2758:1
+msgid "@object_ptr must not be %NULL."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2760:3
+msgid ""
+"If the reference is %NULL then this function does nothing. Otherwise,
the "
+"reference count of the object is decreased and the pointer is set
to %NULL."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2764:2
+msgid ""
+"This function is threadsafe and modifies the pointer atomically, using "
+"memory barriers where needed."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2767:2
+msgid ""
+"A macro is also included that allows this function to be used without "
+"pointer casts."
+msgstr ""
+
+#. used by: g_clear_object: (skip)
+#: gobject.c:2770:1
+msgid "Since: 2.28"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_qdata:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_steal_qdata:
+#: gobject.c:2792:1 gobject.c:2864:1
+msgid "@object: The GObject to get a stored user data pointer from"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_qdata:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata_full: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_steal_qdata:
+#: gobject.c:2793:1 gobject.c:2812:1 gobject.c:2838:1 gobject.c:2865:1
+msgid "@quark: A #GQuark, naming the user data pointer"
+msgstr ""
+
+#. used by: g_object_get_qdata:
+#: gobject.c:2795:2
+msgid ""
+"This function gets back user data pointers stored via
g_object_set_qdata()."
+msgstr ""
+
+#. used by: g_object_get_qdata:
+#: gobject.c:2798:1
+msgid "Returns: (transfer none): The user data pointer set, or %NULL"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata_full: (skip)
+#: gobject.c:2811:1 gobject.c:2837:1
+msgid "@object: The GObject to set store a user data pointer"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_qdata_full: (skip)
+#: gobject.c:2813:1 gobject.c:2839:1
+msgid "@data: An opaque user data pointer"
+msgstr ""
+
+#. used by: g_object_set_qdata: (skip)
+#: gobject.c:2815:8
+msgid ""
+"This sets an opaque, named pointer on an object. The name is specified "
+"through a #GQuark (retrived e.g. via g_quark_from_static_string()), and
the "
+"pointer can be gotten back from the @object with g_object_get_qdata()
until "
+"the @object is finalized. Setting a previously set user data pointer, "
+"overrides (frees) the old pointer set, using #NULL as pointer
essentially "
+"removes the data stored."
+msgstr ""
+
+#. used by: g_object_set_qdata_full: (skip)
+#: gobject.c:2840:2
+msgid ""
+"@destroy: Function to invoke with @data as argument, when @data needs to
be "
+"freed"
+msgstr ""
+
+#. used by: g_object_set_qdata_full: (skip)
+#: gobject.c:2843:5
+msgid ""
+"This function works like g_object_set_qdata(), but in addition, a void "
+"(*destroy) (gpointer) function may be specified which is called with
@data "
+"as argument when the @object is finalized, or the data is being
overwritten "
+"by a call to g_object_set_qdata() with the same @quark."
+msgstr ""
+
+#. used by: g_object_steal_qdata:
+#: gobject.c:2867:15
+msgid ""
+"This function gets back user data pointers stored via
g_object_set_qdata() "
+"and removes the @data from object without invoking its destroy()
function "
+"(if any was set). Usually, calling this function is only required to
update "
+"user data pointers with a destroy notifier, for example: |[ void "
+"object_add_to_user_list (GObject *object, const gchar *new_string) {
// "
+"the quark, naming the object data GQuark quark_string_list = "
+"g_quark_from_static_string (\"my-string-list\"); // retrive the old
string "
+"list GList *list = g_object_steal_qdata (object, quark_string_list);"
+msgstr ""
+
+#. used by: g_object_steal_qdata:
+#: gobject.c:2883:9
+msgid ""
+"// prepend new string list = g_list_prepend (list, g_strdup "
+"(new_string)); // this changed 'list', so we need to set it again "
+"g_object_set_qdata_full (object, quark_string_list, list, "
+"free_string_list); } static void free_string_list (gpointer data) {
GList "
+"*node, *list = data;"
+msgstr ""
+
+#. used by: g_object_steal_qdata:
+#: gobject.c:2893:9
+msgid ""
+"for (node = list; node; node = node->next) g_free (node->data);
g_list_free "
+"(list); } ]| Using g_object_get_qdata() in the above example, instead of "
+"g_object_steal_qdata() would have left the destroy function set, and
thus "
+"the partial string list would have been freed upon
g_object_set_qdata_full()."
+msgstr ""
+
+#. used by: g_object_steal_qdata:
+#: gobject.c:2903:1
+msgid "Returns: (transfer full): The user data pointer set, or %NULL"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_get_data:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_data_full: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_steal_data:
+#: gobject.c:2917:1 gobject.c:2963:1 gobject.c:2989:1
+msgid "@object: #GObject containing the associations"
+msgstr ""
+
+#. used by: g_object_get_data:
+#: gobject.c:2918:1
+msgid "@key: name of the key for that association"
+msgstr ""
+
+#. used by: g_object_get_data:
+#: gobject.c:2920:1
+msgid ""
+"Gets a named field from the objects table of associations (see "
+"g_object_set_data())."
+msgstr ""
+
+#. used by: g_object_get_data:
+#: gobject.c:2922:1
+msgid ""
+"Returns: (transfer none): the data if found, or %NULL if no such data
exists."
+msgstr ""
+
+#. used by: g_object_set_data:
+#: gobject.c:2940:1
+msgid "@object: #GObject containing the associations."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_data:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_data_full: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_steal_data:
+#: gobject.c:2941:1 gobject.c:2964:1 gobject.c:2990:1
+msgid "@key: name of the key"
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_data:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_object_set_data_full: (skip)
+#: gobject.c:2942:1 gobject.c:2965:1
+msgid "@data: data to associate with that key"
+msgstr ""
+
+#. used by: g_object_set_data:
+#: gobject.c:2944:2
+msgid ""
+"Each object carries around a table of associations from strings to "
+"pointers. This function lets you set an association."
+msgstr ""
+
+#. used by: g_object_set_data:
+#: gobject.c:2947:2
+msgid ""
+"If the object already had an association with that name, the old
association "
+"will be destroyed."
+msgstr ""
+
+#. used by: g_object_set_data_full: (skip)
+#: gobject.c:2966:1
+msgid "@destroy: function to call when the association is destroyed"
+msgstr ""
+
+#. used by: g_object_set_data_full: (skip)
+#: gobject.c:2968:3
+msgid ""
+"Like g_object_set_data() except it adds notification for when the "
+"association is destroyed, either by setting it to a different value or
when "
+"the object is destroyed."
+msgstr ""
+
+#. used by: g_object_set_data_full: (skip)
+#: gobject.c:2972:1
+msgid "Note that the @destroy callback is not called if @data is %NULL."
+msgstr ""
+
+#. used by: g_object_steal_data:
+#: gobject.c:2992:2
+msgid ""
+"Remove a specified datum from the object's data associations, without "
+"invoking the association's destroy handler."
+msgstr ""
+
+#. used by: g_object_steal_data:
+#: gobject.c:2995:1
+msgid ""
+"Returns: (transfer full): the data if found, or %NULL if no such data
exists."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_object:
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_object_take_ownership: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_object: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_object:
+#: gobject.c:3104:1 gobject.c:3146:1 gobject.c:3162:1 gobject.c:3198:1
+msgid "@value: a valid #GValue of %G_TYPE_OBJECT derived type"
+msgstr ""
+
+#. used by: g_value_set_object:
+#: gobject.c:3105:1
+msgid "@v_object: (type GObject.Object): object value to be set"
+msgstr ""
+
+#. used by: g_value_set_object:
+#: gobject.c:3107:1
+msgid "Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object."
+msgstr ""
+
+#. used by: g_value_set_object:
+#: gobject.c:3109:5
+msgid ""
+"g_value_set_object() increases the reference count of @v_object (the
#GValue "
+"holds a reference to @v_object). If you do not wish to increase the "
+"reference count of the object (i.e. you wish to pass your current
reference "
+"to the #GValue because you no longer need it), use g_value_take_object() "
+"instead."
+msgstr ""
+
+#. used by: g_value_set_object:
+#: gobject.c:3115:3
+msgid ""
+"It is important that your #GValue holds a reference to @v_object (either
its "
+"own, or one it has taken) to ensure that the object won't be destroyed
while "
+"the #GValue still exists)."
+msgstr ""
+
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_object_take_ownership: (skip)
+#. #-#-#-#-# gobject.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_object: (skip)
+#: gobject.c:3147:1 gobject.c:3163:1
+msgid "@v_object: object value to be set"
+msgstr ""
+
+#. used by: g_value_set_object_take_ownership: (skip)
+#: gobject.c:3149:1
+msgid "This is an internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_set_object_take_ownership: (skip)
+#: gobject.c:3151:1
+msgid "Deprecated: 2.4: Use g_value_take_object() instead."
+msgstr ""
+
+#. used by: g_value_take_object: (skip)
+#: gobject.c:3165:4
+msgid ""
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gparam.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1032 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_remove:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_lookup:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_list_owned:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_list:
+#: gparam.c:1025:1 gparam.c:1115:1 gparam.c:1256:1 gparam.c:949:1
+msgid "@pool: a #GParamSpecPool"
+msgstr ""
+
+#. used by: g_param_spec_pool_lookup:
+#: gparam.c:1026:1
+msgid "@param_name: the name to look for"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_lookup:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_list_owned:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pool_list:
+#: gparam.c:1027:1 gparam.c:1116:1 gparam.c:1257:1
+msgid "@owner_type: the owner to look for"
+msgstr ""
+
+#. used by: g_param_spec_pool_lookup:
+#: gparam.c:1028:2
+msgid ""
+"@walk_ancestors: If %TRUE, also try to find a #GParamSpec with
@param_name "
+"owned by an ancestor of @owner_type."
+msgstr ""
+
+#. used by: g_param_spec_pool_lookup:
+#: gparam.c:1031:1
+msgid "Looks up a #GParamSpec in the pool."
+msgstr ""
+
+#. used by: g_param_spec_pool_lookup:
+#: gparam.c:1033:2
+msgid ""
+"Returns: (transfer none): The found #GParamSpec, or %NULL if no matching "
+"#GParamSpec was found."
+msgstr ""
+
+#. used by: g_param_spec_pool_list_owned:
+#: gparam.c:1118:2
+msgid ""
+"Gets an #GList of all #GParamSpec<!-- -->s owned by @owner_type in the
pool."
+msgstr ""
+
+#. used by: g_param_spec_pool_list_owned:
+#: gparam.c:1121:3
+msgid ""
+"Returns: (transfer container) (element-type GObject.ParamSpec): a #GList
of "
+"all #GParamSpec<!-- -->s owned by @owner_type in the pool#GParamSpec<!--
--"
+">s."
+msgstr ""
+
+#. used by: g_param_spec_pool_list:
+#: gparam.c:1258:1
+msgid ""
+"@n_pspecs_p: (out): return location for the length of the returned array"
+msgstr ""
+
+#. used by: g_param_spec_pool_list:
+#: gparam.c:1260:2
+msgid ""
+"Gets an array of all #GParamSpec<!-- -->s owned by @owner_type in the
pool."
+msgstr ""
+
+#. used by: g_param_spec_pool_list:
+#: gparam.c:1263:3
+msgid ""
+"Returns: (array length=n_pspecs_p) (transfer container): a newly
allocated "
+"array containing pointers to all #GParamSpecs owned by @owner_type in
the "
+"pool"
+msgstr ""
+
+#. used by: g_param_type_register_static:
+#: gparam.c:1362:1
+msgid ""
+"@name: 0-terminated string used as the name of the new #GParamSpec type."
+msgstr ""
+
+#. used by: g_param_type_register_static:
+#: gparam.c:1363:1
+msgid "@pspec_info: The #GParamSpecTypeInfo for this #GParamSpec type."
+msgstr ""
+
+#. used by: g_param_type_register_static:
+#: gparam.c:1365:4
+msgid ""
+"Registers @name as the name of a new static type derived from
#G_TYPE_PARAM. "
+"The type system uses the information contained in the
#GParamSpecTypeInfo "
+"structure pointed to by @info to manage the #GParamSpec type and its "
+"instances."
+msgstr ""
+
+#. used by: g_param_type_register_static:
+#: gparam.c:1370:1
+msgid "Returns: The new type identifier."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_param:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_param_take_ownership: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_param: (skip)
+#: gparam.c:1414:1 gparam.c:1436:1 gparam.c:1452:1
+msgid "@value: a valid #GValue of type %G_TYPE_PARAM"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_param:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_param_take_ownership: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_param: (skip)
+#: gparam.c:1415:1 gparam.c:1437:1 gparam.c:1453:1
+msgid "@param: the #GParamSpec to be set"
+msgstr ""
+
+#. used by: g_value_set_param:
+#: gparam.c:1417:1
+msgid "Set the contents of a %G_TYPE_PARAM #GValue to @param."
+msgstr ""
+
+#. used by: g_value_set_param_take_ownership: (skip)
+#: gparam.c:1439:1
+msgid "This is an internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_set_param_take_ownership: (skip)
+#: gparam.c:1441:1
+msgid "Deprecated: 2.4: Use g_value_take_param() instead."
+msgstr ""
+
+#. used by: g_value_take_param: (skip)
+#: gparam.c:1455:3
+msgid ""
+"Sets the contents of a %G_TYPE_PARAM #GValue to @param and takes over
the "
+"ownership of the callers reference to @param; the caller doesn't have to "
+"unref it any more."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_redirect_target:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_param: (skip)
+#: gparam.c:1459:1 gparam.c:557:1
+msgid "Since: 2.4"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_param:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_dup_param: (skip)
+#: gparam.c:1476:1 gparam.c:1492:1
+msgid "@value: a valid #GValue whose type is derived from %G_TYPE_PARAM"
+msgstr ""
+
+#. used by: g_value_get_param:
+#: gparam.c:1478:1
+msgid "Get the contents of a %G_TYPE_PARAM #GValue."
+msgstr ""
+
+#. used by: g_value_get_param:
+#: gparam.c:1480:1
+msgid "Returns: (transfer none): #GParamSpec content of @value"
+msgstr ""
+
+#. used by: g_value_dup_param: (skip)
+#: gparam.c:1494:2
+msgid ""
+"Get the contents of a %G_TYPE_PARAM #GValue, increasing its reference
count."
+msgstr ""
+
+#. used by: g_value_dup_param: (skip)
+#: gparam.c:1497:2
+msgid ""
+"Returns: #GParamSpec content of @value, should be unreferenced when no "
+"longer needed."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ref: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unref: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_sink:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ref_sink: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_name:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_nick:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_blurb:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_set_default:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_defaults:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_validate:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_convert:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_GET_CLASS:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_TYPE:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_TYPE_NAME:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_VALUE_TYPE:
+#: gparam.c:191:1 gparam.c:210:1 gparam.c:232:1 gparam.c:259:1
gparam.c:279:1
+#: gparam.c:295:1 gparam.c:322:1 gparam.c:457:1 gparam.c:579:1
gparam.c:598:1
+#: gparam.c:626:1 gparam.c:660:1 gparam.h:42:1 gparam.h:73:1 gparam.h:83:1
+#: gparam.h:90:1 gparam.h:97:1
+msgid "@pspec: a valid #GParamSpec"
+msgstr ""
+
+#. used by: g_param_spec_ref: (skip)
+#: gparam.c:193:1
+msgid "Increments the reference count of @pspec."
+msgstr ""
+
+#. used by: g_param_spec_ref: (skip)
+#: gparam.c:195:1
+msgid "Returns: the #GParamSpec that was passed into this function"
+msgstr ""
+
+#. used by: g_param_spec_unref: (skip)
+#: gparam.c:212:1
+msgid "Decrements the reference count of a @pspec."
+msgstr ""
+
+#. used by: g_param_spec_sink:
+#: gparam.c:234:7
+msgid ""
+"The initial reference count of a newly created #GParamSpec is 1, even
though "
+"no one has explicitly called g_param_spec_ref() on it yet. So the
initial "
+"reference count is flagged as \"floating\", until someone calls "
+"<literal>g_param_spec_ref (pspec); g_param_spec_sink (pspec);</literal>
in "
+"sequence on it, taking over the initial reference count (thus ending up
with "
+"a @pspec that has a reference count of 1 still, but is not flagged
\"floating"
+"\" anymore)."
+msgstr ""
+
+#. used by: g_param_spec_ref_sink: (skip)
+#: gparam.c:261:1
+msgid "Convenience function to ref and sink a #GParamSpec."
+msgstr ""
+
+#. used by: g_param_spec_ref_sink: (skip)
+#: gparam.c:263:2
+msgid "Since: 2.10 Returns: the #GParamSpec that was passed into this
function"
+msgstr ""
+
+#. used by: g_param_spec_get_name:
+#: gparam.c:281:1
+msgid "Get the name of a #GParamSpec."
+msgstr ""
+
+#. used by: g_param_spec_get_name:
+#: gparam.c:283:1
+msgid "Returns: the name of @pspec."
+msgstr ""
+
+#. used by: g_param_spec_get_nick:
+#: gparam.c:297:1
+msgid "Get the nickname of a #GParamSpec."
+msgstr ""
+
+#. used by: g_param_spec_get_nick:
+#: gparam.c:299:1
+msgid "Returns: the nickname of @pspec."
+msgstr ""
+
+#. used by: g_param_spec_get_blurb:
+#: gparam.c:324:1
+msgid "Get the short description of a #GParamSpec."
+msgstr ""
+
+#. used by: g_param_spec_get_blurb:
+#: gparam.c:326:1
+msgid "Returns: the short description of @pspec."
+msgstr ""
+
+#. used by: SECTION:gparamspec
+#: gparam.c:35:1
+msgid "@short_description: Metadata for parameter specifications"
+msgstr ""
+
+#. used by: SECTION:gparamspec
+#: gparam.c:36:3
+msgid ""
+"@see_also: g_object_class_install_property(), g_object_set(),
g_object_get"
+"(), g_object_set_property(), g_object_get_property(), "
+"g_value_register_transform_func()"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:385:1
+msgid ""
+"@param_type: the #GType for the property; must be derived from
#G_TYPE_PARAM"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:386:1
+msgid "@name: the canonical name of the property"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:387:1
+msgid "@nick: the nickname of the property"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:388:1
+msgid "@blurb: a short description of the property"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:389:1
+msgid "@flags: a combination of #GParamFlags"
+msgstr ""
+
+#. used by: SECTION:gparamspec
+#: gparam.c:39:1
+msgid "@title: GParamSpec"
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:391:1
+msgid "Creates a new #GParamSpec instance."
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:393:4
+msgid ""
+"A property name consists of segments consisting of ASCII letters and
digits, "
+"separated by either the '-' or '_' character. The first character of a "
+"property name must be a letter. Names which violate these rules lead to "
+"undefined behaviour."
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:398:4
+msgid ""
+"When creating and looking up a #GParamSpec, either separator can be
used, "
+"but they cannot be mixed. Using '-' is considerably more efficient and
in "
+"fact required when using property names as detail strings for signals."
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:403:5
+msgid ""
+"Beyond the name, #GParamSpec<!-- -->s have two more descriptive strings "
+"associated with them, the @nick, which should be suitable for use as a
label "
+"for the property in a property editor, and the @blurb, which should be a "
+"somewhat longer description, suitable for e.g. a tooltip. The @nick and "
+"@blurb should ideally be localized."
+msgstr ""
+
+#. used by: g_param_spec_internal: (skip)
+#: gparam.c:409:1
+msgid "Returns: a newly allocated #GParamSpec instance"
+msgstr ""
+
+#. used by: SECTION:gparamspec
+#: gparam.c:41:2
+msgid ""
+"#GParamSpec is an object structure that encapsulates the metadata
required "
+"to specify parameters, such as e.g. #GObject properties."
+msgstr ""
+
+#. used by: SECTION:gparamspec
+#: gparam.c:44:7
+msgid ""
+"<para id=\"canonical-parameter-name\"> Parameter names need to start with
a "
+"letter (a-z or A-Z). Subsequent characters can be letters, numbers or
a '-'. "
+"All other characters are replaced by a '-' during construction. The
result "
+"of this replacement is called the canonical name of the parameter.
</para>"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata_full: (skip)
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_steal_qdata:
+#: gparam.c:458:1 gparam.c:476:1 gparam.c:500:1 gparam.c:526:1
+msgid "@quark: a #GQuark, naming the user data pointer"
+msgstr ""
+
+#. used by: g_param_spec_get_qdata:
+#: gparam.c:460:1
+msgid "Gets back user data pointers stored via g_param_spec_set_qdata()."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_steal_qdata:
+#: gparam.c:462:1 gparam.c:533:1
+msgid "Returns: (transfer none): the user data pointer set, or %NULL"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata_full: (skip)
+#: gparam.c:475:1 gparam.c:499:1
+msgid "@pspec: the #GParamSpec to set store a user data pointer"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_set_qdata_full: (skip)
+#: gparam.c:477:1 gparam.c:501:1
+msgid "@data: an opaque user data pointer"
+msgstr ""
+
+#. used by: g_param_spec_set_qdata:
+#: gparam.c:479:6
+msgid ""
+"Sets an opaque, named pointer on a #GParamSpec. The name is specified "
+"through a #GQuark (retrieved e.g. via g_quark_from_static_string()), and
the "
+"pointer can be gotten back from the @pspec with
g_param_spec_get_qdata(). "
+"Setting a previously set user data pointer, overrides (frees) the old "
+"pointer set, using %NULL as pointer essentially removes the data stored."
+msgstr ""
+
+#. used by: g_param_spec_set_qdata_full: (skip)
+#: gparam.c:502:2
+msgid ""
+"@destroy: function to invoke with @data as argument, when @data needs to
be "
+"freed"
+msgstr ""
+
+#. used by: g_param_spec_set_qdata_full: (skip)
+#: gparam.c:505:5
+msgid ""
+"This function works like g_param_spec_set_qdata(), but in addition, a "
+"<literal>void (*destroy) (gpointer)</literal> function may be specified "
+"which is called with @data as argument when the @pspec is finalized, or
the "
+"data is being overwritten by a call to g_param_spec_set_qdata() with the "
+"same @quark."
+msgstr ""
+
+#. used by: g_param_spec_steal_qdata:
+#: gparam.c:525:1
+msgid "@pspec: the #GParamSpec to get a stored user data pointer from"
+msgstr ""
+
+#. used by: g_param_spec_steal_qdata:
+#: gparam.c:528:4
+msgid ""
+"Gets back user data pointers stored via g_param_spec_set_qdata() and
removes "
+"the @data from @pspec without invoking its destroy() function (if any
was "
+"set). Usually, calling this function is only required to update user
data "
+"pointers with a destroy notifier."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_get_redirect_target:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC:
+#: gparam.c:547:1 gparam.h:50:1
+msgid "@pspec: a #GParamSpec"
+msgstr ""
+
+#. used by: g_param_spec_get_redirect_target:
+#: gparam.c:549:7
+msgid ""
+"If the paramspec redirects operations to another paramspec, returns that "
+"paramspec. Redirect is used typically for providing a new implementation
of "
+"a property in a derived type while preserving all the properties from
the "
+"parent type. Redirection is established by creating a property of type "
+"#GParamSpecOverride. See g_object_class_override_property() for an
example "
+"of the use of this capability."
+msgstr ""
+
+#. used by: g_param_spec_get_redirect_target:
+#: gparam.c:559:2
+msgid ""
+"Returns: (transfer none): paramspec to which requests on this paramspec "
+"should be redirected, or %NULL if none."
+msgstr ""
+
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_set_default:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_defaults:
+#. #-#-#-#-# gparam.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_value_validate:
+#: gparam.c:580:1 gparam.c:599:1 gparam.c:627:1
+msgid "@value: a #GValue of correct type for @pspec"
+msgstr ""
+
+#. used by: g_param_value_set_default:
+#: gparam.c:582:1
+msgid "Sets @value to its default value as specified in @pspec."
+msgstr ""
+
+#. used by: g_param_value_defaults:
+#: gparam.c:601:1
+msgid ""
+"Checks whether @value contains the default value as specified in @pspec."
+msgstr ""
+
+#. used by: g_param_value_defaults:
+#: gparam.c:603:1
+msgid "Returns: whether @value contains the canonical default for this
@pspec"
+msgstr ""
+
+#. used by: g_param_value_validate:
+#: gparam.c:629:6
+msgid ""
+"Ensures that the contents of @value comply with the specifications set
out "
+"by @pspec. For example, a #GParamSpecInt might require that integers
stored "
+"in @value may not be smaller than -42 and not be greater than +42. If
@value "
+"contains an integer outside of this range, it is modified accordingly,
so "
+"the resulting value will fit into the range -42 .. +42."
+msgstr ""
+
+#. used by: g_param_value_validate:
+#: gparam.c:636:1
+msgid "Returns: whether modifying @value was necessary to ensure validity"
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:661:1
+msgid "@src_value: souce #GValue"
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:662:1
+msgid "@dest_value: destination #GValue of correct type for @pspec"
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:663:2
+msgid ""
+"@strict_validation: %TRUE requires @dest_value to conform to @pspec
without "
+"modifications"
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:666:4
+msgid ""
+"Transforms @src_value into @dest_value if possible, and then validates "
+"@dest_value, in order for it to conform to @pspec. If @strict_validation
is "
+"%TRUE this function will only succeed if the transformed @dest_value "
+"complied to @pspec without modifications."
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:671:2
+msgid ""
+"See also g_value_type_transformable(), g_value_transform() and "
+"g_param_value_validate()."
+msgstr ""
+
+#. used by: g_param_value_convert:
+#: gparam.c:674:2
+msgid ""
+"Returns: %TRUE if transformation and validation were successful, %FALSE "
+"otherwise and @dest_value is left untouched."
+msgstr ""
+
+#. used by: g_param_values_cmp:
+#: gparam.c:713:3
+msgid ""
+"@pspec: a valid #GParamSpec @value1: a #GValue of correct type for
@pspec "
+"@value2: a #GValue of correct type for @pspec"
+msgstr ""
+
+#. used by: g_param_values_cmp:
+#: gparam.c:717:3
+msgid ""
+"Compares @value1 with @value2 according to @pspec, and return -1, 0 or
+1, "
+"if @value1 is found to be less than, equal to or greater than @value2, "
+"respectively."
+msgstr ""
+
+#. used by: g_param_values_cmp:
+#: gparam.c:721:1
+msgid "Returns: -1, 0 or +1, for a less than, equal to or greater than
result"
+msgstr ""
+
+#. used by: GParamSpecPool:
+#: gparam.c:843:4
+msgid ""
+"A #GParamSpecPool maintains a collection of #GParamSpec<!-- -->s which
can "
+"be quickly accessed by owner and name. The implementation of the
#GObject "
+"property system uses such a pool to store the #GParamSpecs of the
properties "
+"all object types."
+msgstr ""
+
+#. used by: g_param_spec_pool_new:
+#: gparam.c:881:1
+msgid ""
+"@type_prefixing: Whether the pool will support type-prefixed property
names."
+msgstr ""
+
+#. used by: g_param_spec_pool_new:
+#: gparam.c:883:1
+msgid "Creates a new #GParamSpecPool."
+msgstr ""
+
+#. used by: g_param_spec_pool_new:
+#: gparam.c:885:4
+msgid ""
+"If @type_prefixing is %TRUE, lookups in the newly created pool will allow
to "
+"specify the owner as a colon-separated prefix of the property name, like "
+"\"GtkContainer:border-width\". This feature is deprecated, so you should "
+"always set @type_prefixing to %FALSE."
+msgstr ""
+
+#. used by: g_param_spec_pool_new:
+#: gparam.c:890:1
+msgid "Returns: (transfer none): a newly allocated #GParamSpecPool."
+msgstr ""
+
+#. used by: g_param_spec_pool_insert:
+#: gparam.c:907:1
+msgid "@pool: a #GParamSpecPool."
+msgstr ""
+
+#. used by: g_param_spec_pool_insert:
+#: gparam.c:908:1
+msgid "@pspec: the #GParamSpec to insert"
+msgstr ""
+
+#. used by: g_param_spec_pool_insert:
+#: gparam.c:909:1
+msgid "@owner_type: a #GType identifying the owner of @pspec"
+msgstr ""
+
+#. used by: g_param_spec_pool_insert:
+#: gparam.c:911:1
+msgid "Inserts a #GParamSpec in the pool."
+msgstr ""
+
+#. used by: g_param_spec_pool_remove:
+#: gparam.c:950:1
+msgid "@pspec: the #GParamSpec to remove"
+msgstr ""
+
+#. used by: g_param_spec_pool_remove:
+#: gparam.c:952:1
+msgid "Removes a #GParamSpec from the pool."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_PARAM:
+#: gparam.h:104:1
+msgid "@value: a valid #GValue structure"
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_PARAM:
+#: gparam.h:106:1
+msgid ""
+"Checks whether the given #GValue can hold values derived from type "
+"%G_TYPE_PARAM."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_PARAM:
+#: gparam.h:108:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:116:1
+msgid "@G_PARAM_READABLE: the parameter is readable"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:117:1
+msgid "@G_PARAM_WRITABLE: the parameter is writable"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:118:1
+msgid "@G_PARAM_CONSTRUCT: the parameter will be set upon object
construction"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:119:1
+msgid ""
+"@G_PARAM_CONSTRUCT_ONLY: the parameter will only be set upon object "
+"construction"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:120:2
+msgid ""
+"@G_PARAM_LAX_VALIDATION: upon parameter conversion (see
g_param_value_convert"
+"()) strict validation is not required"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:122:4
+msgid ""
+"@G_PARAM_STATIC_NAME: the string used as name when constructing the "
+"parameter is guaranteed to remain valid and unmodified for the lifetime
of "
+"the parameter. Since 2.8"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:126:4
+msgid ""
+"@G_PARAM_STATIC_NICK: the string used as nick when constructing the "
+"parameter is guaranteed to remain valid and unmmodified for the lifetime
of "
+"the parameter. Since 2.8"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:130:4
+msgid ""
+"@G_PARAM_STATIC_BLURB: the string used as blurb when constructing the "
+"parameter is guaranteed to remain valid and unmodified for the lifetime
of "
+"the parameter. Since 2.8"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:134:1
+msgid "@G_PARAM_PRIVATE: internal"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:135:4
+msgid ""
+"@G_PARAM_DEPRECATED: the parameter is deprecated and will be removed in
a "
+"future version. A warning will be generated if it is used while running
with "
+"G_ENABLE_DIAGNOSTIC=1. Since: 2.26"
+msgstr ""
+
+#. used by: GParamFlags:
+#: gparam.h:140:2
+msgid ""
+"Through the #GParamFlags flag values, certain aspects of parameters can
be "
+"configured."
+msgstr ""
+
+#. used by: G_PARAM_READWRITE:
+#: gparam.h:162:1
+msgid "#GParamFlags value alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE."
+msgstr ""
+
+#. used by: G_PARAM_STATIC_STRINGS:
+#: gparam.h:168:1
+msgid ""
+"#GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK
| "
+"%G_PARAM_STATIC_BLURB."
+msgstr ""
+
+#. used by: G_PARAM_STATIC_STRINGS:
+#: gparam.h:170:1
+msgid "Since 2.13.0"
+msgstr ""
+
+#. used by: G_PARAM_MASK:
+#: gparam.h:177:1
+msgid ""
+"Mask containing the bits of #GParamSpec.flags which are reserved for
GLib."
+msgstr ""
+
+#. used by: G_PARAM_USER_SHIFT:
+#: gparam.h:183:2
+msgid ""
+"Minimum shift count to be used for user defined flags, to be stored in "
+"#GParamSpec.flags. The maximum allowed is 30 + G_PARAM_USER_SHIFT."
+msgstr ""
+
+#. used by: GParamSpec:
+#: gparam.h:195:1
+msgid "@g_type_instance: private #GTypeInstance portion"
+msgstr ""
+
+#. used by: GParamSpec:
+#: gparam.h:196:1
+msgid "@name: name of this parameter"
+msgstr ""
+
+#. used by: GParamSpec:
+#: gparam.h:197:1
+msgid "@flags: #GParamFlags flags for this parameter"
+msgstr ""
+
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpec:
+#. #-#-#-#-# gparam.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecClass:
+#: gparam.h:198:1 gparam.h:223:1
+msgid "@value_type: the #GValue type for this parameter"
+msgstr ""
+
+#. used by: GParamSpec:
+#: gparam.h:199:1
+msgid "@owner_type: #GType type that uses (introduces) this parameter"
+msgstr ""
+
+#. used by: GParamSpec:
+#: gparam.h:201:2
+msgid ""
+"All other fields of the <structname>GParamSpec</structname> struct are "
+"private and should not be used directly."
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:222:1
+msgid "@g_type_class: the parent class"
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:224:2
+msgid ""
+"@finalize: The instance finalization function (optional), should chain up
to "
+"the finalize method of the parent class."
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:226:3
+msgid ""
+"@value_set_default: Resets a @value to the default value for this type "
+"(recommended, the default is g_value_reset()), see
g_param_value_set_default"
+"()."
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:229:3
+msgid ""
+"@value_validate: Ensures that the contents of @value comply with the "
+"specifications set out by this type (optional), see "
+"g_param_value_set_validate()."
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:232:2
+msgid ""
+"@values_cmp: Compares @value1 with @value2 according to this type "
+"(recommended, the default is memcmp()), see g_param_values_cmp()."
+msgstr ""
+
+#. used by: GParamSpecClass:
+#: gparam.h:235:3
+msgid ""
+"The class structure for the <structname>GParamSpec</structname> type. "
+"Normally, <structname>GParamSpec</structname> classes are filled by "
+"g_param_type_register_static()."
+msgstr ""
+
+#. used by: GParameter:
+#: gparam.h:260:1
+msgid "@name: the parameter name"
+msgstr ""
+
+#. used by: GParameter:
+#: gparam.h:261:1
+msgid "@value: the parameter value"
+msgstr ""
+
+#. used by: GParameter:
+#: gparam.h:263:2
+msgid ""
+"The <structname>GParameter</structname> struct is an auxiliary structure "
+"used to hand parameter name/value pairs to g_object_newv()."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:324:1
+msgid "@instance_size: Size of the instance (object) structure."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:325:1
+msgid ""
+"@n_preallocs: Prior to GLib 2.10, it specified the number of
pre-allocated "
+"(cached) instances to reserve memory for (0 indicates no caching). Since "
+"GLib 2.10, it is ignored, since instances are allocated with the <link "
+"linkend=\"glib-Memory-Slices\">slice allocator</link> now."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:326:1
+msgid ""
+"@instance_init: Location of the instance initialization function
(optional)."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:327:1
+msgid "@value_type: The #GType of values conforming to this #GParamSpec"
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:328:1
+msgid "@finalize: The instance finalization function (optional)."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:329:3
+msgid ""
+"@value_set_default: Resets a @value to the default value for @pspec "
+"(recommended, the default is g_value_reset()), see
g_param_value_set_default"
+"()."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:332:3
+msgid ""
+"@value_validate: Ensures that the contents of @value comply with the "
+"specifications set out by @pspec (optional), see
g_param_value_set_validate"
+"()."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:335:2
+msgid ""
+"@values_cmp: Compares @value1 with @value2 according to @pspec
(recommended, "
+"the default is memcmp()), see g_param_values_cmp()."
+msgstr ""
+
+#. used by: GParamSpecTypeInfo:
+#: gparam.h:338:7
+msgid ""
+"This structure is used to provide the type system with the information "
+"required to initialize and destruct (finalize) a parameter's class and "
+"instances thereof. The initialized structure is passed to the "
+"g_param_type_register_static() The type system will perform a deep copy
of "
+"this structure, so its memory does not need to be persistent across "
+"invocation of g_param_type_register_static()."
+msgstr ""
+
+#. used by: G_TYPE_IS_PARAM:
+#: gparam.h:35:1
+msgid "@type: a #GType ID"
+msgstr ""
+
+#. used by: G_TYPE_IS_PARAM:
+#: gparam.h:37:1
+msgid "Checks whether @type \"is a\" %G_TYPE_PARAM."
+msgstr ""
+
+#. used by: G_PARAM_SPEC:
+#: gparam.h:44:2
+msgid ""
+"Casts a derived #GParamSpec object (e.g. of type #GParamSpecInt) into a "
+"#GParamSpec object."
+msgstr ""
+
+#. used by: G_IS_PARAM_SPEC:
+#: gparam.h:52:2
+msgid ""
+"Checks whether @pspec \"is a\" valid #GParamSpec structure of type "
+"%G_TYPE_PARAM or derived."
+msgstr ""
+
+#. used by: G_PARAM_SPEC_CLASS:
+#: gparam.h:58:1
+msgid "@pclass: a valid #GParamSpecClass"
+msgstr ""
+
+#. used by: G_PARAM_SPEC_CLASS:
+#: gparam.h:60:1
+msgid ""
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gparamspecs.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1642 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:1595:1 gparamspecs.c:1635:1 gparamspecs.c:1675:1
+#: gparamspecs.c:1712:1 gparamspecs.c:1754:1 gparamspecs.c:1796:1
+#: gparamspecs.c:1838:1 gparamspecs.c:1881:1 gparamspecs.c:1923:1
+#: gparamspecs.c:1966:1 gparamspecs.c:2002:1 gparamspecs.c:2048:1
+#: gparamspecs.c:2094:1 gparamspecs.c:2136:1 gparamspecs.c:2179:1
+#: gparamspecs.c:2211:1 gparamspecs.c:2247:1 gparamspecs.c:2284:1
+#: gparamspecs.c:2313:1 gparamspecs.c:2351:1 gparamspecs.c:2395:1
+#: gparamspecs.c:2474:1
+msgid "@name: canonical name of the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:1596:1 gparamspecs.c:1636:1 gparamspecs.c:1676:1
+#: gparamspecs.c:1713:1 gparamspecs.c:1755:1 gparamspecs.c:1797:1
+#: gparamspecs.c:1839:1 gparamspecs.c:1882:1 gparamspecs.c:1924:1
+#: gparamspecs.c:1967:1 gparamspecs.c:2003:1 gparamspecs.c:2049:1
+#: gparamspecs.c:2095:1 gparamspecs.c:2137:1 gparamspecs.c:2180:1
+#: gparamspecs.c:2212:1 gparamspecs.c:2248:1 gparamspecs.c:2285:1
+#: gparamspecs.c:2314:1 gparamspecs.c:2352:1 gparamspecs.c:2396:1
+#: gparamspecs.c:2475:1
+msgid "@nick: nick name for the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:1597:1 gparamspecs.c:1637:1 gparamspecs.c:1677:1
+#: gparamspecs.c:1714:1 gparamspecs.c:1756:1 gparamspecs.c:1798:1
+#: gparamspecs.c:1840:1 gparamspecs.c:1883:1 gparamspecs.c:1925:1
+#: gparamspecs.c:1968:1 gparamspecs.c:2004:1 gparamspecs.c:2050:1
+#: gparamspecs.c:2096:1 gparamspecs.c:2138:1 gparamspecs.c:2181:1
+#: gparamspecs.c:2213:1 gparamspecs.c:2249:1 gparamspecs.c:2286:1
+#: gparamspecs.c:2315:1 gparamspecs.c:2353:1 gparamspecs.c:2397:1
+#: gparamspecs.c:2476:1
+msgid "@blurb: description of the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecLong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecULong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecFloat:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecDouble:
+#: gparamspecs.c:1598:1 gparamspecs.c:1638:1 gparamspecs.c:1715:1
+#: gparamspecs.c:1757:1 gparamspecs.c:1799:1 gparamspecs.c:1841:1
+#: gparamspecs.c:1884:1 gparamspecs.c:1926:1 gparamspecs.c:2097:1
+#: gparamspecs.c:2139:1 gparamspecs.h:609:1 gparamspecs.h:626:1
+#: gparamspecs.h:656:1 gparamspecs.h:673:1 gparamspecs.h:690:1
+#: gparamspecs.h:707:1 gparamspecs.h:724:1 gparamspecs.h:741:1
+#: gparamspecs.h:803:1 gparamspecs.h:823:1
+msgid "@minimum: minimum value for the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecLong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecULong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecFloat:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecDouble:
+#: gparamspecs.c:1599:1 gparamspecs.c:1639:1 gparamspecs.c:1716:1
+#: gparamspecs.c:1758:1 gparamspecs.c:1800:1 gparamspecs.c:1842:1
+#: gparamspecs.c:1885:1 gparamspecs.c:1927:1 gparamspecs.c:2098:1
+#: gparamspecs.c:2140:1 gparamspecs.h:610:1 gparamspecs.h:627:1
+#: gparamspecs.h:657:1 gparamspecs.h:674:1 gparamspecs.h:691:1
+#: gparamspecs.h:708:1 gparamspecs.h:725:1 gparamspecs.h:742:1
+#: gparamspecs.h:804:1 gparamspecs.h:824:1
+msgid "@maximum: maximum value for the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUChar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecBoolean:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecLong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecULong:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUInt64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecUnichar:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecEnum:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecFlags:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecFloat:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecDouble:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecString:
+#: gparamspecs.c:1600:1 gparamspecs.c:1640:1 gparamspecs.c:1678:1
+#: gparamspecs.c:1717:1 gparamspecs.c:1759:1 gparamspecs.c:1801:1
+#: gparamspecs.c:1843:1 gparamspecs.c:1886:1 gparamspecs.c:1928:1
+#: gparamspecs.c:1969:1 gparamspecs.c:2006:1 gparamspecs.c:2052:1
+#: gparamspecs.c:2099:1 gparamspecs.c:2141:1 gparamspecs.c:2182:1
+#: gparamspecs.h:611:1 gparamspecs.h:628:1 gparamspecs.h:643:1
+#: gparamspecs.h:658:1 gparamspecs.h:675:1 gparamspecs.h:692:1
+#: gparamspecs.h:709:1 gparamspecs.h:726:1 gparamspecs.h:743:1
+#: gparamspecs.h:758:1 gparamspecs.h:772:1 gparamspecs.h:788:1
+#: gparamspecs.h:805:1 gparamspecs.h:825:1 gparamspecs.h:843:1
+msgid "@default_value: default value for the property specified"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:1601:1 gparamspecs.c:1641:1 gparamspecs.c:1679:1
+#: gparamspecs.c:1718:1 gparamspecs.c:1760:1 gparamspecs.c:1802:1
+#: gparamspecs.c:1844:1 gparamspecs.c:1887:1 gparamspecs.c:1929:1
+#: gparamspecs.c:1970:1 gparamspecs.c:2007:1 gparamspecs.c:2053:1
+#: gparamspecs.c:2100:1 gparamspecs.c:2142:1 gparamspecs.c:2183:1
+#: gparamspecs.c:2215:1 gparamspecs.c:2251:1 gparamspecs.c:2287:1
+#: gparamspecs.c:2318:1 gparamspecs.c:2356:1 gparamspecs.c:2399:1
+#: gparamspecs.c:2480:1
+msgid "@flags: flags for the property specified"
+msgstr ""
+
+#. used by: g_param_spec_char: (skip)
+#: gparamspecs.c:1603:1
+msgid ""
+"Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR
property."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_char: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uchar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#: gparamspecs.c:1605:1 gparamspecs.c:1645:1 gparamspecs.c:1686:1
+#: gparamspecs.c:1724:1 gparamspecs.c:1766:1 gparamspecs.c:1808:1
+#: gparamspecs.c:1851:1 gparamspecs.c:1893:1 gparamspecs.c:1936:1
+#: gparamspecs.c:1978:1 gparamspecs.c:2014:1 gparamspecs.c:2060:1
+#: gparamspecs.c:2106:1 gparamspecs.c:2149:1 gparamspecs.c:2189:1
+#: gparamspecs.c:2222:1 gparamspecs.c:2258:1 gparamspecs.c:2293:1
+#: gparamspecs.c:2327:1 gparamspecs.c:2365:1 gparamspecs.c:2406:1
+msgid "Returns: a newly created parameter specification"
+msgstr ""
+
+#. used by: g_param_spec_uchar: (skip)
+#: gparamspecs.c:1643:1
+msgid ""
+"Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR
property."
+msgstr ""
+
+#. used by: g_param_spec_boolean: (skip)
+#: gparamspecs.c:1681:2
+msgid ""
+"Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN "
+"property."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boolean: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_long: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_ulong: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_int64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_uint64: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_unichar: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_enum: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_flags: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_float: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_double: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_string: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_param: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_boxed: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_pointer: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_object: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:1684:1 gparamspecs.c:1722:1 gparamspecs.c:1764:1
+#: gparamspecs.c:1806:1 gparamspecs.c:1849:1 gparamspecs.c:1891:1
+#: gparamspecs.c:1934:1 gparamspecs.c:1976:1 gparamspecs.c:2012:1
+#: gparamspecs.c:2058:1 gparamspecs.c:2104:1 gparamspecs.c:2147:1
+#: gparamspecs.c:2187:1 gparamspecs.c:2220:1 gparamspecs.c:2256:1
+#: gparamspecs.c:2291:1 gparamspecs.c:2323:1 gparamspecs.c:2363:1
+#: gparamspecs.c:2404:1 gparamspecs.c:2487:1
+msgid "See g_param_spec_internal() for details on property names."
+msgstr ""
+
+#. used by: g_param_spec_int: (skip)
+#: gparamspecs.c:1720:1
+msgid ""
+"Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property."
+msgstr ""
+
+#. used by: g_param_spec_uint: (skip)
+#: gparamspecs.c:1762:1
+msgid ""
+"Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT
property."
+msgstr ""
+
+#. used by: g_param_spec_long: (skip)
+#: gparamspecs.c:1804:1
+msgid ""
+"Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG
property."
+msgstr ""
+
+#. used by: g_param_spec_ulong: (skip)
+#: gparamspecs.c:1846:2
+msgid ""
+"Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG
property."
+msgstr ""
+
+#. used by: g_param_spec_int64: (skip)
+#: gparamspecs.c:1889:1
+msgid ""
+"Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64
property."
+msgstr ""
+
+#. used by: g_param_spec_uint64: (skip)
+#: gparamspecs.c:1931:2
+msgid ""
+"Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64 "
+"property."
+msgstr ""
+
+#. used by: g_param_spec_unichar: (skip)
+#: gparamspecs.c:1972:3
+msgid ""
+"Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT "
+"property. #GValue structures for this property can be accessed with "
+"g_value_set_uint() and g_value_get_uint()."
+msgstr ""
+
+#. used by: g_param_spec_enum: (skip)
+#: gparamspecs.c:2005:1
+msgid "@enum_type: a #GType derived from %G_TYPE_ENUM"
+msgstr ""
+
+#. used by: g_param_spec_enum: (skip)
+#: gparamspecs.c:2009:2
+msgid ""
+"Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM
property."
+msgstr ""
+
+#. used by: g_param_spec_flags: (skip)
+#: gparamspecs.c:2051:1
+msgid "@flags_type: a #GType derived from %G_TYPE_FLAGS"
+msgstr ""
+
+#. used by: g_param_spec_flags: (skip)
+#: gparamspecs.c:2055:2
+msgid ""
+"Creates a new #GParamSpecFlags instance specifying a %G_TYPE_FLAGS
property."
+msgstr ""
+
+#. used by: g_param_spec_float: (skip)
+#: gparamspecs.c:2102:1
+msgid ""
+"Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT
property."
+msgstr ""
+
+#. used by: g_param_spec_double: (skip)
+#: gparamspecs.c:2144:2
+msgid ""
+"Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE "
+"property."
+msgstr ""
+
+#. used by: g_param_spec_string: (skip)
+#: gparamspecs.c:2185:1
+msgid "Creates a new #GParamSpecString instance."
+msgstr ""
+
+#. used by: g_param_spec_param: (skip)
+#: gparamspecs.c:2214:1
+msgid "@param_type: a #GType derived from %G_TYPE_PARAM"
+msgstr ""
+
+#. used by: g_param_spec_param: (skip)
+#: gparamspecs.c:2217:2
+msgid ""
+"Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
property."
+msgstr ""
+
+#. used by: g_param_spec_boxed: (skip)
+#: gparamspecs.c:2250:1
+msgid "@boxed_type: %G_TYPE_BOXED derived type of this property"
+msgstr ""
+
+#. used by: g_param_spec_boxed: (skip)
+#: gparamspecs.c:2253:2
+msgid ""
+"Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED
derived "
+"property."
+msgstr ""
+
+#. used by: g_param_spec_pointer: (skip)
+#: gparamspecs.c:2289:1
+msgid "Creates a new #GParamSpecPoiner instance specifying a pointer
property."
+msgstr ""
+
+#. used by: g_param_spec_gtype: (skip)
+#: gparamspecs.c:2316:2
+msgid ""
+"@is_a_type: a #GType whose subtypes are allowed as values of the
property "
+"(use %G_TYPE_NONE for any type)"
+msgstr ""
+
+#. used by: g_param_spec_gtype: (skip)
+#: gparamspecs.c:2320:2
+msgid ""
+"Creates a new #GParamSpecGType instance specifying a %G_TYPE_GTYPE
property."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_gtype: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_PARAM_GTYPE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_GTYPE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecGType:
+#: gparamspecs.c:2325:1 gparamspecs.h:529:1 gparamspecs.h:548:1
+#: gparamspecs.h:946:1
+msgid "Since: 2.10"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_value_array: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecValueArray:
+#: gparamspecs.c:2354:2 gparamspecs.h:898:1
+msgid ""
+"@element_spec: a #GParamSpec describing the elements contained in arrays
of "
+"this property, may be %NULL"
+msgstr ""
+
+#. used by: g_param_spec_value_array: (skip)
+#: gparamspecs.c:2358:4
+msgid ""
+"Creates a new #GParamSpecValueArray instance specifying a "
+"%G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a %G_TYPE_BOXED
type, "
+"as such, #GValue structures for this property can be accessed with "
+"g_value_set_boxed() and g_value_get_boxed()."
+msgstr ""
+
+#. used by: g_param_spec_object: (skip)
+#: gparamspecs.c:2398:1
+msgid "@object_type: %G_TYPE_OBJECT derived type of this property"
+msgstr ""
+
+#. used by: g_param_spec_object: (skip)
+#: gparamspecs.c:2401:2
+msgid ""
+"Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT
derived "
+"property."
+msgstr ""
+
+#. used by: g_param_spec_override: (skip)
+#: gparamspecs.c:2431:1
+msgid "@name: the name of the property."
+msgstr ""
+
+#. used by: g_param_spec_override: (skip)
+#: gparamspecs.c:2432:1
+msgid "@overridden: The property that is being overridden"
+msgstr ""
+
+#. used by: g_param_spec_override: (skip)
+#: gparamspecs.c:2434:3
+msgid ""
+"Creates a new property of type #GParamSpecOverride. This is used to
direct "
+"operations to another paramspec, and will not be directly useful unless
you "
+"are implementing a new base type similar to GObject."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_override: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_PARAM_OVERRIDE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_OVERRIDE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecOverride:
+#: gparamspecs.c:2438:1 gparamspecs.h:501:1 gparamspecs.h:520:1
+#: gparamspecs.h:931:1
+msgid "Since: 2.4"
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_override: (skip)
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:2440:1 gparamspecs.c:2489:1
+msgid "Returns: the newly created #GParamSpec"
+msgstr ""
+
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:2477:1
+msgid "@type: a #GVariantType"
+msgstr ""
+
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:2478:2
+msgid ""
+"@default_value: (allow-none): a #GVariant of type @type to use as the "
+"default value, or %NULL"
+msgstr ""
+
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:2482:2
+msgid ""
+"Creates a new #GParamSpecVariant instance specifying a #GVariant
property."
+msgstr ""
+
+#. used by: g_param_spec_variant: (skip)
+#: gparamspecs.c:2485:1
+msgid "If @default_value is floating, it is consumed."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_param_spec_variant: (skip)
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_PARAM_VARIANT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_VARIANT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_VARIANT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GParamSpecVariant:
+#: gparamspecs.c:2491:1 gparamspecs.h:557:1 gparamspecs.h:568:1
+#: gparamspecs.h:577:1 gparamspecs.h:961:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. used by: SECTION:param_value_types
+#: gparamspecs.c:36:1
+msgid "@short_description: Standard Parameter and Value Types"
+msgstr ""
+
+#. used by: SECTION:param_value_types
+#: gparamspecs.c:37:1
+msgid "@see_also: #GParamSpec, #GValue, g_object_class_install_property()."
+msgstr ""
+
+#. used by: SECTION:param_value_types
+#: gparamspecs.c:38:1
+msgid "@title: Parameters and Values"
+msgstr ""
+
+#. used by: SECTION:param_value_types
+#: gparamspecs.c:40:7
+msgid ""
+"#GValue provides an abstract container structure which can be copied, "
+"transformed and compared while holding a value of any (derived) type,
which "
+"is registered as a #GType with a #GTypeValueTable in its #GTypeInfo "
+"structure. Parameter specifications for most value types can be created
as "
+"#GParamSpec derived instances, to implement e.g. #GObject properties
which "
+"operate on #GValue containers."
+msgstr ""
+
+#. used by: SECTION:param_value_types
+#: gparamspecs.c:48:3
+msgid ""
+"Parameter names need to start with a letter (a-z or A-Z). Subsequent "
+"characters can be letters, numbers or a '-'. All other characters are "
+"replaced by a '-' during construction."
+msgstr ""
+
+#. used by: G_PARAM_SPEC_BOOLEAN:
+#: gparamspecs.h:101:1
+msgid "Cast a #GParamSpec instance into a #GParamSpecBoolean."
+msgstr ""
+
+#. used by: G_TYPE_PARAM_INT:
+#: gparamspecs.h:108:1
+msgid "The #GType of #GParamSpecInt."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_CHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_CHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UCHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_UCHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_BOOLEAN:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_BOOLEAN:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_INT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_INT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UINT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_UINT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_LONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_LONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_ULONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_ULONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_INT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_INT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UINT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_UINT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_UNICHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UNICHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_ENUM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_ENUM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_FLAGS:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_FLAGS:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_FLOAT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_FLOAT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_DOUBLE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_DOUBLE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_STRING:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_STRING:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_PARAM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_PARAM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_BOXED:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_BOXED:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_POINTER:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_POINTER:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_VALUE_ARRAY:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_VALUE_ARRAY:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_OBJECT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_PARAM_SPEC_OBJECT:
+#: gparamspecs.h:113:1 gparamspecs.h:122:1 gparamspecs.h:136:1
+#: gparamspecs.h:145:1 gparamspecs.h:159:1 gparamspecs.h:168:1
+#: gparamspecs.h:182:1 gparamspecs.h:191:1 gparamspecs.h:205:1
+#: gparamspecs.h:214:1 gparamspecs.h:228:1 gparamspecs.h:237:1
+#: gparamspecs.h:251:1 gparamspecs.h:258:1 gparamspecs.h:274:1
+#: gparamspecs.h:283:1 gparamspecs.h:297:1 gparamspecs.h:306:1
+#: gparamspecs.h:320:1 gparamspecs.h:329:1 gparamspecs.h:343:1
+#: gparamspecs.h:352:1 gparamspecs.h:366:1 gparamspecs.h:375:1
+#: gparamspecs.h:389:1 gparamspecs.h:398:1 gparamspecs.h:412:1
+#: gparamspecs.h:421:1 gparamspecs.h:435:1 gparamspecs.h:44:1
+#: gparamspecs.h:444:1 gparamspecs.h:458:1 gparamspecs.h:467:1
+#: gparamspecs.h:481:1 gparamspecs.h:490:1 gparamspecs.h:53:1
+#: gparamspecs.h:67:1 gparamspecs.h:76:1 gparamspecs.h:90:1
gparamspecs.h:99:1
+msgid "@pspec: a valid #GParamSpec instance"
+msgstr ""
+
+#. used by: G_IS_PARAM_SPEC_INT:
+#: gparamspecs.h:115:1
+msgid "Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT."
+msgstr ""
+
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_CHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UCHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_BOOLEAN:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_INT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UINT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_LONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_ULONG:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_INT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UINT64:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_UNICHAR:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_ENUM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_FLAGS:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_FLOAT:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_DOUBLE:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_STRING:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_PARAM:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_BOXED:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_POINTER:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_VALUE_ARRAY:
+#. #-#-#-#-# gparamspecs.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_PARAM_SPEC_OBJECT:
+#: gparamspecs.h:117:1 gparamspecs.h:140:1 gparamspecs.h:163:1
+#: gparamspecs.h:186:1 gparamspecs.h:209:1 gparamspecs.h:232:1
+#: gparamspecs.h:262:1 gparamspecs.h:278:1 gparamspecs.h:301:1
+#: gparamspecs.h:324:1 gparamspecs.h:347:1 gparamspecs.h:370:1
+#: gparamspecs.h:393:1 gparamspecs.h:416:1 gparamspecs.h:439:1
+#: gparamspecs.h:462:1 gparamspecs.h:48:1 gparamspecs.h:485:1
+#: gparamspecs.h:71:1 gparamspecs.h:94:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. used by: G_PARAM_SPEC_INT:
+#: gparamspecs.h:124:1
+msgid "Cast a #GParamSpec instance into a #GParamSpecInt."
+msgstr ""
+
+#. used by: G_TYPE_PARAM_UINT:
+#: gparamspecs.h:131:1
+msgid "The #GType of #GParamSpecUInt."
+msgstr ""
+
+#. used by: G_IS_PARAM_SPEC_UINT:
+#: gparamspecs.h:138:1
+msgid "Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT."
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gsignal.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,1722 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_parse_name:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_stop_emission_by_name:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_data:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit_by_name:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_after:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_swapped:
+#: gsignal.c:1018:1 gsignal.c:1063:1 gsignal.c:2157:1 gsignal.c:2215:1
+#: gsignal.c:3047:1 gsignal.h:411:1 gsignal.h:426:1 gsignal.h:441:1
+msgid "@detailed_signal: a string of the form \"signal-name::detail\"."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1019:1
+msgid "@itype: The interface/instance type that introduced
\"signal-name\"."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1020:1
+msgid "@signal_id_p: Location to store the signal id."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1021:1
+msgid "@detail_p: Location to store the detail quark."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1022:1
+msgid "@force_detail_quark: %TRUE forces creation of a #GQuark for the
detail."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1024:2
+msgid ""
+"Internal function to parse a signal name into its @signal_id and @detail "
+"quark."
+msgstr ""
+
+#. used by: g_signal_parse_name:
+#: gsignal.c:1027:1
+msgid ""
+"Returns: Whether the signal name could successfully be parsed and "
+"@signal_id_p and @detail_p contain valid return values."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_stop_emission:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_stop_emission_by_name:
+#: gsignal.c:1062:1 gsignal.c:810:1
+msgid "@instance: the object whose signal handlers you wish to stop."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_stop_emission:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_stop_emission_by_name:
+#: gsignal.c:1065:1 gsignal.c:814:1
+msgid "Stops a signal's current emission."
+msgstr ""
+
+#. used by: g_signal_stop_emission_by_name:
+#: gsignal.c:1067:2
+msgid ""
+"This is just like g_signal_stop_emission() except it will look up the
signal "
+"id for you."
+msgstr ""
+
+#. used by: g_signal_lookup:
+#: gsignal.c:1117:1
+msgid "@name: the signal's name."
+msgstr ""
+
+#. used by: g_signal_lookup:
+#: gsignal.c:1118:1
+msgid "@itype: the type that the signal operates on."
+msgstr ""
+
+#. used by: g_signal_lookup:
+#: gsignal.c:1120:3
+msgid ""
+"Given the name of the signal and the type of object it connects to, gets
the "
+"signal's identifying integer. Emitting the signal by number is somewhat "
+"faster than using the name each time."
+msgstr ""
+
+#. used by: g_signal_lookup:
+#: gsignal.c:1124:1
+msgid "Also tries the ancestors of the given type."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_lookup:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_newv:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1126:1 gsignal.c:1507:1 gsignal.c:1667:1
+msgid "See g_signal_new() for details on allowed signal names."
+msgstr ""
+
+#. used by: g_signal_lookup:
+#: gsignal.c:1128:1
+msgid "Returns: the signal's identifying number, or 0 if no signal was
found."
+msgstr ""
+
+#. used by: g_signal_list_ids:
+#: gsignal.c:1160:1
+msgid "@itype: Instance or interface type."
+msgstr ""
+
+#. used by: g_signal_list_ids:
+#: gsignal.c:1161:1
+msgid "@n_ids: Location to store the number of signal ids for @itype."
+msgstr ""
+
+#. used by: g_signal_list_ids:
+#: gsignal.c:1163:3
+msgid ""
+"Lists the signals by id that a certain instance or interface type
created. "
+"Further information about the signals can be acquired through
g_signal_query"
+"()."
+msgstr ""
+
+#. used by: g_signal_list_ids:
+#: gsignal.c:1167:1
+msgid "Returns: Newly allocated array of signal IDs."
+msgstr ""
+
+#. used by: g_signal_name:
+#: gsignal.c:1218:1
+msgid "@signal_id: the signal's identifying number."
+msgstr ""
+
+#. used by: g_signal_name:
+#: gsignal.c:1220:1
+msgid "Given the signal's identifier, finds its name."
+msgstr ""
+
+#. used by: g_signal_name:
+#: gsignal.c:1222:1
+msgid ""
+"Two different signals may have the same name, if they have differing
types."
+msgstr ""
+
+#. used by: g_signal_name:
+#: gsignal.c:1224:1
+msgid "Returns: the signal name, or %NULL if the signal number was
invalid."
+msgstr ""
+
+#. used by: g_signal_query:
+#: gsignal.c:1242:1
+msgid "@signal_id: The signal id of the signal to query information for."
+msgstr ""
+
+#. used by: g_signal_query:
+#: gsignal.c:1243:2
+msgid ""
+"@query: A user provided structure that is filled in with constant values "
+"upon success."
+msgstr ""
+
+#. used by: g_signal_query:
+#: gsignal.c:1246:6
+msgid ""
+"Queries the signal system for in-depth information about a specific
signal. "
+"This function will fill in a user-provided structure to hold
signal-specific "
+"information. If an invalid signal id is passed in, the @signal_id member
of "
+"the #GSignalQuery is 0. All members filled into the #GSignalQuery
structure "
+"should be considered constant and have to be left untouched."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_newv:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_override_class_handler:
+#: gsignal.c:1280:1 gsignal.c:1358:1 gsignal.c:1489:1 gsignal.c:1649:1
+#: gsignal.c:1803:1
+msgid "@signal_name: the name for the signal"
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1281:2 gsignal.c:1359:2 gsignal.c:1650:2
+msgid ""
+"@itype: the type this signal pertains to. It will also pertain to types "
+"which are derived from this type."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1283:3 gsignal.c:1361:3 gsignal.c:1652:3
+msgid ""
+"@signal_flags: a combination of #GSignalFlags specifying detail of when
the "
+"default handler is to be invoked. You should at least specify "
+"%G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST."
+msgstr ""
+
+#. used by: g_signal_new:
+#: gsignal.c:1286:3
+msgid ""
+"@class_offset: The offset of the function pointer in the class structure
for "
+"this type. Used to invoke a class method generically. Pass 0 to not "
+"associate a class method slot with this signal."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1289:1 gsignal.c:1367:1 gsignal.c:1656:1
+msgid "@accumulator: the accumulator for this signal; may be %NULL."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1290:1 gsignal.c:1368:1 gsignal.c:1657:1
+msgid "@accu_data: user data for the @accumulator."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1291:2 gsignal.c:1369:2 gsignal.c:1658:2
+msgid ""
+"@c_marshaller: the function to translate arrays of parameter values to "
+"signal emissions into C language callback invocations."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1293:2 gsignal.c:1371:2 gsignal.c:1660:2
+msgid ""
+"@return_type: the type of return value, or #G_TYPE_NONE for a signal
without "
+"a return value."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#: gsignal.c:1295:1 gsignal.c:1373:1
+msgid "@n_params: the number of parameter types to follow."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#: gsignal.c:1296:1 gsignal.c:1374:1
+msgid "@...: a list of types, one for each parameter."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_newv:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1298:1 gsignal.c:1376:1 gsignal.c:1505:1 gsignal.c:1665:1
+msgid "Creates a new signal. (This is usually done in the class
initializer.)"
+msgstr ""
+
+#. used by: g_signal_new:
+#: gsignal.c:1300:4
+msgid ""
+"A signal name consists of segments consisting of ASCII letters and
digits, "
+"separated by either the '-' or '_' character. The first character of a "
+"signal name must be a letter. Names which violate these rules lead to "
+"undefined behaviour of the GSignal system."
+msgstr ""
+
+#. used by: g_signal_new:
+#: gsignal.c:1305:2
+msgid ""
+"When registering a signal and looking up a signal, either separator can
be "
+"used, but they cannot be mixed."
+msgstr ""
+
+#. used by: g_signal_new:
+#: gsignal.c:1308:4
+msgid ""
+"If 0 is used for @class_offset subclasses cannot override the class
handler "
+"in their <code>class_init</code> method by doing <code>super_class-"
+">signal_handler = my_signal_handler</code>. Instead they will have to
use "
+"g_signal_override_class_handler()."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_newv:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_valist:
+#: gsignal.c:1313:1 gsignal.c:1390:1 gsignal.c:1509:1 gsignal.c:1669:1
+msgid "Returns: the signal id"
+msgstr ""
+
+#. used by: g_signal_new_class_handler:
+#: gsignal.c:1364:3
+msgid ""
+"@class_handler: a #GCallback which acts as class implementation of this "
+"signal. Used to invoke a class method generically. Pass %NULL to not "
+"associate a class method with this signal."
+msgstr ""
+
+#. used by: g_signal_new_class_handler:
+#: gsignal.c:1378:9
+msgid ""
+"This is a variant of g_signal_new() that takes a C callback instead off
a "
+"class offset for the signal's class handler. This function doesn't need
a "
+"function pointer exposed in the class structure of an object definition, "
+"instead the function pointer is passed directly and can be overriden by "
+"derived classes with g_signal_override_class_closure() or "
+"g_signal_override_class_handler()and chained to with "
+"g_signal_chain_from_overridden() or
g_signal_chain_from_overridden_handler()."
+msgstr ""
+
+#. used by: g_signal_new_class_handler:
+#: gsignal.c:1388:1
+msgid "See g_signal_new() for information about signal names."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_new_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_override_class_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_chain_from_overridden_handler:
+#: gsignal.c:1392:1 gsignal.c:1817:1 gsignal.c:1925:1
+msgid "Since: 2.18"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1490:2
+msgid ""
+"@itype: the type this signal pertains to. It will also pertain to types "
+"which are derived from this type"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1492:3
+msgid ""
+"@signal_flags: a combination of #GSignalFlags specifying detail of when
the "
+"default handler is to be invoked. You should at least specify "
+"%G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1495:1
+msgid "@class_closure: The closure to invoke on signal emission; may
be %NULL"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1496:1
+msgid "@accumulator: the accumulator for this signal; may be %NULL"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1497:1
+msgid "@accu_data: user data for the @accumulator"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1498:2
+msgid ""
+"@c_marshaller: the function to translate arrays of parameter values to "
+"signal emissions into C language callback invocations"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1500:2
+msgid ""
+"@return_type: the type of return value, or #G_TYPE_NONE for a signal
without "
+"a return value"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1502:1
+msgid "@n_params: the length of @param_types"
+msgstr ""
+
+#. used by: g_signal_newv:
+#: gsignal.c:1503:1
+msgid "@param_types: an array of types, one for each parameter"
+msgstr ""
+
+#. used by: g_signal_new_valist:
+#: gsignal.c:1655:1
+msgid "@class_closure: The closure to invoke on signal emission; may
be %NULL."
+msgstr ""
+
+#. used by: g_signal_new_valist:
+#: gsignal.c:1662:1
+msgid "@n_params: the number of parameter types in @args."
+msgstr ""
+
+#. used by: g_signal_new_valist:
+#: gsignal.c:1663:1
+msgid "@args: va_list of #GType, one for each parameter."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_override_class_closure:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emitv:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit_valist:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit:
+#: gsignal.c:1762:1 gsignal.c:2794:1 gsignal.c:2894:1 gsignal.c:3020:1
+msgid "@signal_id: the signal id"
+msgstr ""
+
+#. used by: g_signal_override_class_closure:
+#: gsignal.c:1763:2
+msgid ""
+"@instance_type: the instance type on which to override the class closure
for "
+"the signal."
+msgstr ""
+
+#. used by: g_signal_override_class_closure:
+#: gsignal.c:1765:1
+msgid "@class_closure: the closure."
+msgstr ""
+
+#. used by: g_signal_override_class_closure:
+#: gsignal.c:1767:3
+msgid ""
+"Overrides the class closure (i.e. the default handler) for the given
signal "
+"for emissions on instances of @instance_type. @instance_type must be
derived "
+"from the type to which the signal belongs."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_override_class_closure:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_override_class_handler:
+#: gsignal.c:1771:3 gsignal.c:1813:3
+msgid ""
+"See g_signal_chain_from_overridden() and "
+"g_signal_chain_from_overridden_handler() for how to chain up to the
parent "
+"class closure from inside the overridden one."
+msgstr ""
+
+#. used by: g_signal_override_class_handler:
+#: gsignal.c:1804:2
+msgid ""
+"@instance_type: the instance type on which to override the class handler
for "
+"the signal."
+msgstr ""
+
+#. used by: g_signal_override_class_handler:
+#: gsignal.c:1806:1
+msgid "@class_handler: the handler."
+msgstr ""
+
+#. used by: g_signal_override_class_handler:
+#: gsignal.c:1808:4
+msgid ""
+"Overrides the class closure (i.e. the default handler) for the given
signal "
+"for emissions on instances of @instance_type with callabck
@class_handler. "
+"@instance_type must be derived from the type to which the signal belongs."
+msgstr ""
+
+#. used by: g_signal_chain_from_overridden:
+#: gsignal.c:1843:3
+msgid ""
+"@instance_and_params: the argument list of the signal emission. The
first "
+"element in the array is a #GValue for the instance the signal is being "
+"emitted on. The rest are any arguments to be passed to the signal."
+msgstr ""
+
+#. used by: g_signal_chain_from_overridden:
+#: gsignal.c:1846:1
+msgid "@return_value: Location for the return value."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_chain_from_overridden:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_chain_from_overridden_handler:
+#: gsignal.c:1848:4 gsignal.c:1920:4
+msgid ""
+"Calls the original class closure of a signal. This function should only
be "
+"called from an overridden class closure; see
g_signal_override_class_closure"
+"() and g_signal_override_class_handler()."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_chain_from_overridden_handler:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit_valist:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_emit_by_name:
+#: gsignal.c:1915:1 gsignal.c:2893:1 gsignal.c:3019:1 gsignal.c:3046:1
+msgid "@instance: the instance the signal is being emitted on."
+msgstr ""
+
+#. used by: g_signal_chain_from_overridden_handler:
+#: gsignal.c:1916:3
+msgid ""
+"@...: parameters to be passed to the parent class closure, followed by a "
+"location for the return value. If the return type of the signal is "
+"#G_TYPE_NONE, the return value location can be omitted."
+msgstr ""
+
+#. used by: g_signal_get_invocation_hint:
+#: gsignal.c:2079:1
+msgid "@instance: the instance to query"
+msgstr ""
+
+#. used by: g_signal_get_invocation_hint:
+#: gsignal.c:2081:1
+msgid ""
+"Returns the invocation hint of the innermost signal emission of instance."
+msgstr ""
+
+#. used by: g_signal_get_invocation_hint:
+#: gsignal.c:2083:1
+msgid "Returns: the invocation hint of the innermost signal emission."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_data:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_after:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_swapped:
+#: gsignal.c:2101:1 gsignal.c:2156:1 gsignal.c:2214:1 gsignal.h:410:1
+#: gsignal.h:425:1 gsignal.h:440:1
+msgid "@instance: the instance to connect to."
+msgstr ""
+
+#. used by: g_signal_connect_closure_by_id:
+#: gsignal.c:2102:1
+msgid "@signal_id: the id of the signal."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_has_handler_pending:
+#: gsignal.c:2103:1 gsignal.c:2691:1
+msgid "@detail: the detail."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#: gsignal.c:2104:1 gsignal.c:2158:1
+msgid "@closure: the closure to connect."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#: gsignal.c:2105:2 gsignal.c:2159:2
+msgid ""
+"@after: whether the handler should be called before or after the default "
+"handler of the signal."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#: gsignal.c:2108:1 gsignal.c:2162:1
+msgid "Connects a closure to a signal for a particular object."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure_by_id:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_closure:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_data:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_after:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_swapped:
+#: gsignal.c:2110:1 gsignal.c:2164:1 gsignal.c:2227:1 gsignal.h:419:1
+#: gsignal.h:434:1 gsignal.h:450:1
+msgid "Returns: the handler id"
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_data:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_after:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_swapped:
+#: gsignal.c:2216:1 gsignal.h:412:1 gsignal.h:427:1 gsignal.h:442:1
+msgid "@c_handler: the #GCallback to connect."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_data:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_after:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_connect_swapped:
+#: gsignal.c:2217:1 gsignal.h:413:1 gsignal.h:428:1 gsignal.h:443:1
+msgid "@data: data to pass to @c_handler calls."
+msgstr ""
+
+#. used by: g_signal_connect_data:
+#: gsignal.c:2218:1
+msgid "@destroy_data: a #GClosureNotify for @data."
+msgstr ""
+
+#. used by: g_signal_connect_data:
+#: gsignal.c:2219:1
+msgid "@connect_flags: a combination of #GConnectFlags."
+msgstr ""
+
+#. used by: g_signal_connect_data:
+#: gsignal.c:2221:5
+msgid ""
+"Connects a #GCallback function to a signal for a particular object.
Similar "
+"to g_signal_connect(), but allows to provide a #GClosureNotify for the
data "
+"which will be called when the signal handler is disconnected and no
longer "
+"used. Specify @connect_flags if you need <literal>..._after()</literal>
or "
+"<literal>..._swapped()</literal> variants of this function."
+msgstr ""
+
+#. used by: g_signal_handler_block:
+#: gsignal.c:2283:1
+msgid "@instance: The instance to block the signal handler of."
+msgstr ""
+
+#. used by: g_signal_handler_block:
+#: gsignal.c:2284:1
+msgid "@handler_id: Handler id of the handler to be blocked."
+msgstr ""
+
+#. used by: g_signal_handler_block:
+#: gsignal.c:2286:5
+msgid ""
+"Blocks a handler of an instance so it will not be called during any
signal "
+"emissions unless it is unblocked again. Thus \"blocking\" a signal
handler "
+"means to temporarily deactive it, a signal handler has to be unblocked "
+"exactly the same amount of times it has been blocked before to become
active "
+"again."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handler_block:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handler_disconnect:
+#: gsignal.c:2292:2 gsignal.c:2370:2
+msgid ""
+"The @handler_id has to be a valid signal handler id, connected to a
signal "
+"of @instance."
+msgstr ""
+
+#. used by: g_signal_handler_unblock:
+#: gsignal.c:2321:1
+msgid "@instance: The instance to unblock the signal handler of."
+msgstr ""
+
+#. used by: g_signal_handler_unblock:
+#: gsignal.c:2322:1
+msgid "@handler_id: Handler id of the handler to be unblocked."
+msgstr ""
+
+#. used by: g_signal_handler_unblock:
+#: gsignal.c:2324:10
+msgid ""
+"Undoes the effect of a previous g_signal_handler_block() call. A
blocked "
+"handler is skipped during signal emissions and will not be invoked, "
+"unblocking it (for exactly the amount of times it has been blocked
before) "
+"reverts its \"blocked\" state, so the handler will be recognized by the "
+"signal system and is called upon future or currently ongoing signal "
+"emissions (since the order in which handlers are called during signal "
+"emissions is deterministic, whether the unblocked handler in question is "
+"called as part of a currently ongoing emission depends on how far that "
+"emission has proceeded yet)."
+msgstr ""
+
+#. used by: g_signal_handler_unblock:
+#: gsignal.c:2335:2
+msgid ""
+"The @handler_id has to be a valid id of a signal handler that is
connected "
+"to a signal of @instance and is currently blocked."
+msgstr ""
+
+#. used by: g_signal_handler_disconnect:
+#: gsignal.c:2363:1
+msgid "@instance: The instance to remove the signal handler from."
+msgstr ""
+
+#. used by: g_signal_handler_disconnect:
+#: gsignal.c:2364:1
+msgid "@handler_id: Handler id of the handler to be disconnected."
+msgstr ""
+
+#. used by: g_signal_handler_disconnect:
+#: gsignal.c:2366:3
+msgid ""
+"Disconnects a handler from an instance so it will not be called during
any "
+"future or currently ongoing emissions of the signal it has been
connected "
+"to. The @handler_id becomes invalid and may be reused."
+msgstr ""
+
+#. used by: g_signal_handler_is_connected:
+#: gsignal.c:2398:1
+msgid "@instance: The instance where a signal handler is sought."
+msgstr ""
+
+#. used by: g_signal_handler_is_connected:
+#: gsignal.c:2399:1
+msgid "@handler_id: the handler id."
+msgstr ""
+
+#. used by: g_signal_handler_is_connected:
+#: gsignal.c:2401:1
+msgid ""
+"Returns whether @handler_id is the id of a handler connected to
@instance."
+msgstr ""
+
+#. used by: g_signal_handler_is_connected:
+#: gsignal.c:2403:1
+msgid ""
+"Returns: whether @handler_id identifies a handler connected to @instance."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2466:1
+msgid "@instance: The instance owning the signal handler to be found."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2467:2
+msgid ""
+"@mask: Mask indicating which of @signal_id, @detail, @closure, @func
and/or "
+"@data the handler has to match."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2469:1
+msgid "@signal_id: Signal the handler has to be connected to."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2470:1
+msgid "@detail: Signal detail the handler has to be connected to."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2471:1
+msgid "@closure: The closure the handler will invoke."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2472:1
+msgid ""
+"@func: The C closure callback of the handler (useless for non-C
closures)."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2473:1
+msgid "@data: The closure data of the handler's closure."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2475:5
+msgid ""
+"Finds the first signal handler that matches certain selection criteria.
The "
+"criteria mask is passed as an OR-ed combination of #GSignalMatchType
flags, "
+"and the criteria values are passed as arguments. The match @mask has to
be "
+"non-0 for successful matches. If no handler was found, 0 is returned."
+msgstr ""
+
+#. used by: g_signal_handler_find:
+#: gsignal.c:2481:1
+msgid "Returns: A valid non-0 signal handler id for a successful match."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_by_func:
+#: gsignal.c:2546:1 gsignal.h:470:1
+msgid "@instance: The instance to block handlers from."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#: gsignal.c:2547:2 gsignal.c:2594:2 gsignal.c:2642:2
+msgid ""
+"@mask: Mask indicating which of @signal_id, @detail, @closure, @func
and/or "
+"@data the handlers have to match."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#: gsignal.c:2549:1 gsignal.c:2596:1 gsignal.c:2644:1
+msgid "@signal_id: Signal the handlers have to be connected to."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#: gsignal.c:2550:1 gsignal.c:2597:1 gsignal.c:2645:1
+msgid "@detail: Signal detail the handlers have to be connected to."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#: gsignal.c:2551:1 gsignal.c:2598:1 gsignal.c:2646:1
+msgid "@closure: The closure the handlers will invoke."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_by_func:
+#: gsignal.c:2552:1 gsignal.c:2599:1 gsignal.c:2647:1 gsignal.h:457:1
+#: gsignal.h:471:1 gsignal.h:485:1
+msgid ""
+"@func: The C closure callback of the handlers (useless for non-C
closures)."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_by_func:
+#: gsignal.c:2553:1 gsignal.c:2600:1 gsignal.c:2648:1 gsignal.h:458:1
+#: gsignal.h:472:1 gsignal.h:486:1
+msgid "@data: The closure data of the handlers' closures."
+msgstr ""
+
+#. used by: g_signal_handlers_block_matched:
+#: gsignal.c:2555:7
+msgid ""
+"Blocks all handlers on an instance that match a certain selection
criteria. "
+"The criteria mask is passed as an OR-ed combination of #GSignalMatchType "
+"flags, and the criteria values are passed as arguments. Passing at least
one "
+"of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
or %G_SIGNAL_MATCH_DATA "
+"match flags is required for successful matches. If no handlers were
found, 0 "
+"is returned, the number of blocked handlers otherwise."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_matched:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_disconnect_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_block_by_func:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_by_func:
+#: gsignal.c:2563:1 gsignal.c:2611:1 gsignal.c:2659:1 gsignal.h:462:1
+#: gsignal.h:476:1 gsignal.h:490:1
+msgid "Returns: The number of handlers that matched."
+msgstr ""
+
+#. #-#-#-#-# gsignal.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_matched:
+#. #-#-#-#-# gsignal.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_signal_handlers_unblock_by_func:
+#: gsignal.c:2593:1 gsignal.h:484:1
+msgid "@instance: The instance to unblock handlers from."
+msgstr ""
+
+#. used by: g_signal_handlers_unblock_matched:
+#: gsignal.c:2602:8
+msgid ""
+"Unblocks all handlers on an instance that match a certain selection "
+"criteria. The criteria mask is passed as an OR-ed combination of "
+"#GSignalMatchType flags, and the criteria values are passed as
arguments. "
+"Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
or "
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gsourceclosure.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,67 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gsourceclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_source_set_closure:
+#. #-#-#-#-# gsourceclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_source_set_dummy_callback:
+#: gsourceclosure.c:150:1 gsourceclosure.c:209:1
+msgid "@source: the source"
+msgstr ""
+
+#. used by: g_source_set_closure:
+#: gsourceclosure.c:151:1
+msgid "@closure: a #GClosure"
+msgstr ""
+
+#. used by: g_source_set_closure:
+#: gsourceclosure.c:153:1
+msgid "Set the callback for a source as a #GClosure."
+msgstr ""
+
+#. #-#-#-#-# gsourceclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_source_set_closure:
+#. #-#-#-#-# gsourceclosure.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_source_set_dummy_callback:
+#: gsourceclosure.c:155:3 gsourceclosure.c:217:4
+msgid ""
+"If the source is not one of the standard GLib types, the
@closure_callback "
+"and @closure_marshal fields of the #GSourceFuncs structure must have
been "
+"filled in with pointers to appropriate functions."
+msgstr ""
+
+#. used by: g_source_set_dummy_callback:
+#: gsourceclosure.c:211:5
+msgid ""
+"Sets a dummy callback for @source. The callback will do nothing, and if
the "
+"source expects a #gboolean return value, it will return %TRUE. (If the "
+"source expects any other type of return value, it will return a 0/%NULL "
+"value; whatever g_value_init() initializes a #GValue to for that type.)"
+msgstr ""
+
+#. used by: G_TYPE_IO_CHANNEL:
+#: gsourceclosure.h:41:1
+msgid "The #GType for #GIOChannel."
+msgstr ""
+
+#. used by: G_TYPE_IO_CONDITION:
+#: gsourceclosure.h:47:1
+msgid "The #GType for #GIOCondition."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gtype.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,2789 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_interface_add_prerequisite:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_add_interface_static:
+#: gtype.c:1522:1 gtype.c:2790:1
+msgid "@interface_type: #GType value of an interface type."
+msgstr ""
+
+#. used by: g_type_interface_add_prerequisite:
+#: gtype.c:1523:1
+msgid ""
+"@prerequisite_type: #GType value of an interface or instantiatable type."
+msgstr ""
+
+#. used by: g_type_interface_add_prerequisite:
+#: gtype.c:1525:5
+msgid ""
+"Adds @prerequisite_type to the list of prerequisites of @interface_type. "
+"This means that any type implementing @interface_type must also
implement "
+"@prerequisite_type. Prerequisites can be thought of as an alternative to "
+"interface derivation (which GType doesn't support). An interface can have
at "
+"most one instantiatable prerequisite type."
+msgstr ""
+
+#. used by: g_type_interface_prerequisites:
+#: gtype.c:1608:1
+msgid "@interface_type: an interface type"
+msgstr ""
+
+#. used by: g_type_interface_prerequisites:
+#: gtype.c:1609:2
+msgid ""
+"@n_prerequisites: (out) (allow-none): location to return the number of "
+"prerequisites, or %NULL"
+msgstr ""
+
+#. used by: g_type_interface_prerequisites:
+#: gtype.c:1612:1
+msgid "Returns the prerequisites of an interfaces type."
+msgstr ""
+
+#. used by: g_type_interface_prerequisites:
+#: gtype.c:1614:1
+msgid "Since: 2.2"
+msgstr ""
+
+#. used by: g_type_interface_prerequisites:
+#: gtype.c:1616:3
+msgid ""
+"Returns: (array length=n_prerequisites) (transfer full): a
newly-allocated "
+"zero-terminated array of #GType containing the prerequisites of "
+"@interface_type"
+msgstr ""
+
+#. used by: g_type_create_instance: (skip)
+#: gtype.c:1824:1
+msgid "@type: An instantiatable type to create an instance for."
+msgstr ""
+
+#. used by: g_type_create_instance: (skip)
+#: gtype.c:1826:13
+msgid ""
+"Creates and initializes an instance of @type if @type is valid and can
be "
+"instantiated. The type system only performs basic allocation and
structure "
+"setups for instances: actual instance creation should happen through "
+"functions supplied by the type's fundamental type implementation. So use
of "
+"g_type_create_instance() is reserved for implementators of fundamental
types "
+"only. E.g. instances of the #GObject hierarchy should be created via "
+"g_object_new() and <emphasis>never</emphasis> directly through "
+"g_type_create_instance() which doesn't handle things like singleton
objects "
+"or object construction. Note: Do <emphasis>not</emphasis> use this "
+"function, unless you're implementing a fundamental type. Also language "
+"bindings should <emphasis>not</emphasis> use this function but
g_object_new"
+"() instead."
+msgstr ""
+
+#. used by: g_type_create_instance: (skip)
+#: gtype.c:1840:2
+msgid ""
+"Returns: An allocated and initialized instance, subject to further
treatment "
+"by the fundamental type implementation."
+msgstr ""
+
+#. used by: g_type_free_instance:
+#: gtype.c:1898:1
+msgid "@instance: an instance of a type."
+msgstr ""
+
+#. used by: g_type_free_instance:
+#: gtype.c:1900:2
+msgid ""
+"Frees an instance of a type, returning it to the instance pool for the
type, "
+"if there is one."
+msgstr ""
+
+#. used by: g_type_free_instance:
+#: gtype.c:1903:2
+msgid ""
+"Like g_type_create_instance(), this function is reserved for implementors
of "
+"fundamental types."
+msgstr ""
+
+#. used by: g_type_add_class_cache_func: (skip)
+#: gtype.c:2435:1
+msgid "@cache_data: data to be passed to @cache_func"
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_add_class_cache_func: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_remove_class_cache_func: (skip)
+#: gtype.c:2436:1 gtype.c:2465:1
+msgid "@cache_func: a #GTypeClassCacheFunc"
+msgstr ""
+
+#. used by: g_type_add_class_cache_func: (skip)
+#: gtype.c:2438:7
+msgid ""
+"Adds a #GTypeClassCacheFunc to be called before the reference count of a "
+"class goes from one to zero. This can be used to prevent premature class "
+"destruction. All installed #GTypeClassCacheFunc functions will be
chained "
+"until one of them returns %TRUE. The functions have to check the class
id "
+"passed in to figure whether they actually want to cache the class of
this "
+"type, since all classes are routed through the same #GTypeClassCacheFunc "
+"chain."
+msgstr ""
+
+#. used by: g_type_remove_class_cache_func: (skip)
+#: gtype.c:2464:1
+msgid "@cache_data: data that was given when adding @cache_func"
+msgstr ""
+
+#. used by: g_type_remove_class_cache_func: (skip)
+#: gtype.c:2467:3
+msgid ""
+"Removes a previously installed #GTypeClassCacheFunc. The cache maintained
by "
+"@cache_func has to be empty when calling g_type_remove_class_cache_func()
to "
+"avoid leaks."
+msgstr ""
+
+#. used by: g_type_add_interface_check: (skip)
+#: gtype.c:2503:1
+msgid "@check_data: data to pass to @check_func"
+msgstr ""
+
+#. used by: g_type_add_interface_check: (skip)
+#: gtype.c:2504:2
+msgid "@check_func: function to be called after each interface is
initialized."
+msgstr ""
+
+#. used by: g_type_add_interface_check: (skip)
+#: gtype.c:2507:3
+msgid ""
+"Adds a function to be called after an interface vtable is initialized
for "
+"any class (i.e. after the @interface_init member of #GInterfaceInfo has
been "
+"called)."
+msgstr ""
+
+#. used by: g_type_add_interface_check: (skip)
+#: gtype.c:2511:5
+msgid ""
+"This function is useful when you want to check an invariant that depends
on "
+"the interfaces of a class. For instance, the implementation of #GObject
uses "
+"this facility to check that an object implements all of the properties
that "
+"are defined on its interfaces."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypeInterfaceCheckFunc:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_TYPE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_TYPE_WITH_CODE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_ABSTRACT_TYPE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_ABSTRACT_TYPE_WITH_CODE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_TYPE_EXTENDED:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IMPLEMENT_INTERFACE:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_add_interface_check: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_remove_interface_check: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_default_interface_ref:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_default_interface_peek:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_default_interface_unref:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_add_private:
+#: gtype.c:2517:1 gtype.c:2543:1 gtype.c:3168:1 gtype.c:3218:1
gtype.c:3252:1
+#: gtype.c:4452:1 gtype.h:1274:1 gtype.h:1289:1 gtype.h:1303:1
gtype.h:1319:1
+#: gtype.h:1382:1 gtype.h:1436:1 gtype.h:919:1
+msgid "Since: 2.4"
+msgstr ""
+
+#. used by: g_type_remove_interface_check: (skip)
+#: gtype.c:2537:1
+msgid "@check_data: callback data passed to g_type_add_interface_check()"
+msgstr ""
+
+#. used by: g_type_remove_interface_check: (skip)
+#: gtype.c:2538:1
+msgid "@check_func: callback function passed to
g_type_add_interface_check()"
+msgstr ""
+
+#. used by: g_type_remove_interface_check: (skip)
+#: gtype.c:2540:2
+msgid ""
+"Removes an interface check function added with
g_type_add_interface_check()."
+msgstr ""
+
+#. used by: g_type_register_fundamental:
+#: gtype.c:2577:1
+msgid "@type_id: A predefined type identifier."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_fundamental:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static_simple: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_dynamic:
+#: gtype.c:2578:1 gtype.c:2647:1 gtype.c:2691:1 gtype.c:2746:1
+msgid "@type_name: 0-terminated string used as the name of the new type."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_fundamental:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static:
+#: gtype.c:2579:1 gtype.c:2692:1
+msgid "@info: The #GTypeInfo structure for this type."
+msgstr ""
+
+#. used by: g_type_register_fundamental:
+#: gtype.c:2580:1
+msgid "@finfo: The #GTypeFundamentalInfo structure for this type."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_fundamental:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static_simple: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_dynamic:
+#: gtype.c:2581:1 gtype.c:2652:1 gtype.c:2693:1 gtype.c:2748:1
+msgid "@flags: Bitwise combination of #GTypeFlags values."
+msgstr ""
+
+#. used by: g_type_register_fundamental:
+#: gtype.c:2583:6
+msgid ""
+"Registers @type_id as the predefined identifier and @type_name as the
name "
+"of a fundamental type. The type system uses the information contained
in "
+"the #GTypeInfo structure pointed to by @info and the
#GTypeFundamentalInfo "
+"structure pointed to by @finfo to manage the type and its instances.
The "
+"value of @flags determines additional characteristics of the fundamental "
+"type."
+msgstr ""
+
+#. used by: g_type_register_fundamental:
+#: gtype.c:2590:1
+msgid "Returns: The predefined type identifier."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static_simple: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_dynamic:
+#: gtype.c:2646:1 gtype.c:2690:1 gtype.c:2745:1
+msgid "@parent_type: Type from which this type will be derived."
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2648:1
+msgid "@class_size: Size of the class structure (see #GTypeInfo)"
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2649:1
+msgid ""
+"@class_init: Location of the class initialization function (see
#GTypeInfo)"
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2650:1
+msgid "@instance_size: Size of the instance structure (see #GTypeInfo)"
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2651:1
+msgid ""
+"@instance_init: Location of the instance initialization function (see "
+"#GTypeInfo)"
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2654:4
+msgid ""
+"Registers @type_name as the name of a new static type derived from "
+"@parent_type. The value of @flags determines the nature (e.g. abstract
or "
+"not) of the type. It works by filling a #GTypeInfo struct and calling "
+"g_type_register_static()."
+msgstr ""
+
+#. used by: g_type_register_static_simple: (skip)
+#: gtype.c:2659:1
+msgid "Since: 2.12"
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static_simple: (skip)
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_register_static:
+#: gtype.c:2661:1 gtype.c:2701:1
+msgid "Returns: The new type identifier."
+msgstr ""
+
+#. used by: g_type_register_static:
+#: gtype.c:2695:5
+msgid ""
+"Registers @type_name as the name of a new static type derived from "
+"@parent_type. The type system uses the information contained in the "
+"#GTypeInfo structure pointed to by @info to manage the type and its "
+"instances (if not abstract). The value of @flags determines the nature
(e."
+"g. abstract or not) of the type."
+msgstr ""
+
+#. used by: g_type_register_dynamic:
+#: gtype.c:2747:1
+msgid "@plugin: The #GTypePlugin structure to retrieve the #GTypeInfo
from."
+msgstr ""
+
+#. used by: g_type_register_dynamic:
+#: gtype.c:2750:5
+msgid ""
+"Registers @type_name as the name of a new dynamic type derived from "
+"@parent_type. The type system uses the information contained in the "
+"#GTypePlugin structure pointed to by @plugin to manage the type and its "
+"instances (if not abstract). The value of @flags determines the nature
(e."
+"g. abstract or not) of the type."
+msgstr ""
+
+#. used by: g_type_register_dynamic:
+#: gtype.c:2756:1
+msgid ""
+"Returns: The new type identifier or #G_TYPE_INVALID if registration
failed."
+msgstr ""
+
+#. used by: g_type_add_interface_static:
+#: gtype.c:2789:1
+msgid "@instance_type: #GType value of an instantiable type."
+msgstr ""
+
+#. used by: g_type_add_interface_static:
+#: gtype.c:2791:2
+msgid ""
+"@info: The #GInterfaceInfo structure for this (@instance_type, "
+"@interface_type) combination."
+msgstr ""
+
+#. used by: g_type_add_interface_static:
+#: gtype.c:2794:3
+msgid ""
+"Adds the static @interface_type to @instantiable_type. The information "
+"contained in the #GTypeInterfaceInfo structure pointed to by @info is
used "
+"to manage the relationship."
+msgstr ""
+
+#. used by: g_type_add_interface_dynamic:
+#: gtype.c:2826:1
+msgid "@instance_type: the #GType value of an instantiable type."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_add_interface_dynamic:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_interface_get_plugin:
+#: gtype.c:2827:1 gtype.c:3863:1
+msgid "@interface_type: the #GType value of an interface type."
+msgstr ""
+
+#. used by: g_type_add_interface_dynamic:
+#: gtype.c:2828:1
+msgid ""
+"@plugin: the #GTypePlugin structure to retrieve the #GInterfaceInfo from."
+msgstr ""
+
+#. used by: g_type_add_interface_dynamic:
+#: gtype.c:2830:3
+msgid ""
+"Adds the dynamic @interface_type to @instantiable_type. The information "
+"contained in the #GTypePlugin structure pointed to by @plugin is used to "
+"manage the relationship."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_ref:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_peek:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_peek_static:
+#: gtype.c:2864:1 gtype.c:2982:1 gtype.c:3012:1
+msgid "@type: Type ID of a classed type."
+msgstr ""
+
+#. used by: g_type_class_ref:
+#: gtype.c:2866:3
+msgid ""
+"Increments the reference count of the class structure belonging to
@type. "
+"This function will demand-create the class if it doesn't exist already."
+msgstr ""
+
+#. used by: g_type_class_ref:
+#: gtype.c:2870:2
+msgid ""
+"Returns: (type GObject.TypeClass) (transfer none): The #GTypeClass
structure "
+"for the given type ID."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_unref:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_class_unref_uncached: (skip)
+#: gtype.c:2930:2 gtype.c:2956:2
+msgid ""
+"@g_class: (type GObject.TypeClass): The #GTypeClass structure to
unreference."
+msgstr ""
+
+#. used by: g_type_class_unref:
+#: gtype.c:2933:4
+msgid ""
+"Decrements the reference count of the class structure being passed in.
Once "
+"the last reference count of a class has been released, classes may be "
+"finalized by the type system, so further dereferencing of a class
pointer "
+"after g_type_class_unref() are invalid."
+msgstr ""
+
+#. used by: g_type_class_unref_uncached: (skip)
+#: gtype.c:2959:4
+msgid ""
+"A variant of g_type_class_unref() for use in #GTypeClassCacheFunc "
+"implementations. It unreferences a class without consulting the chain of "
+"#GTypeClassCacheFunc<!-- -->s, avoiding the recursion which would occur "
+"otherwise."
+msgstr ""
+
+#. used by: g_type_class_peek:
+#: gtype.c:2984:4
+msgid ""
+"This function is essentially the same as g_type_class_ref(), except that
the "
+"classes reference count isn't incremented. As a consequence, this
function "
+"may return %NULL if the class of the type passed in does not currently
exist "
+"(hasn't been referenced before)."
+msgstr ""
+
+#. used by: g_type_class_peek:
+#: gtype.c:2989:3
+msgid ""
+"Returns: (type GObject.TypeClass) (transfer none): The #GTypeClass
structure "
+"for the given type ID or %NULL if the class does not currently exist."
+msgstr ""
+
+#. used by: g_type_class_peek_static:
+#: gtype.c:3014:2
+msgid ""
+"A more efficient version of g_type_class_peek() which works only for
static "
+"types."
+msgstr ""
+
+#. used by: g_type_class_peek_static:
+#: gtype.c:3017:4
+msgid ""
+"Since: 2.4 Returns: (type GObject.TypeClass) (transfer none): The "
+"#GTypeClass structure for the given type ID or %NULL if the class does
not "
+"currently exist or is dynamically loaded."
+msgstr ""
+
+#. used by: g_type_class_peek_parent:
+#: gtype.c:3042:2
+msgid ""
+"@g_class: (type GObject.TypeClass): The #GTypeClass structure to
retrieve "
+"the parent class for."
+msgstr ""
+
+#. used by: g_type_class_peek_parent:
+#: gtype.c:3045:6
+msgid ""
+"This is a convenience function often needed in class initializers. It "
+"returns the class structure of the immediate parent type of the class
passed "
+"in. Since derived classes hold a reference count on their parent classes
as "
+"long as they are instantiated, the returned class will always exist.
This "
+"function is essentially equivalent to:"
+msgstr ""
+
+#. used by: g_type_class_peek_parent:
+#: gtype.c:3056:2
+msgid ""
+"Returns: (type GObject.TypeClass) (transfer none): The parent class of "
+"@g_class."
+msgstr ""
+
+#. used by: g_type_interface_peek:
+#: gtype.c:3085:1
+msgid "@instance_class: (type GObject.TypeClass): A #GTypeClass structure."
+msgstr ""
+
+#. used by: g_type_interface_peek:
+#: gtype.c:3086:1
+msgid "@iface_type: An interface ID which this class conforms to."
+msgstr ""
+
+#. used by: g_type_interface_peek:
+#: gtype.c:3088:2
+msgid ""
+"Returns the #GTypeInterface structure of an interface to which the passed
in "
+"class conforms."
+msgstr ""
+
+#. used by: g_type_interface_peek:
+#: gtype.c:3091:3
+msgid ""
+"Returns: (type GObject.TypeInterface) (transfer none): The
GTypeInterface "
+"structure of iface_type if implemented by @instance_class, %NULL
otherwise"
+msgstr ""
+
+#. used by: g_type_interface_peek_parent:
+#: gtype.c:3118:1
+msgid "@g_iface: (type GObject.TypeInterface): A #GTypeInterface
structure."
+msgstr ""
+
+#. used by: g_type_interface_peek_parent:
+#: gtype.c:3120:4
+msgid ""
+"Returns the corresponding #GTypeInterface structure of the parent type
of "
+"the instance type to which @g_iface belongs. This is useful when
deriving "
+"the implementation of an interface from the parent type and then
possibly "
+"overriding some methods."
+msgstr ""
+
+#. used by: g_type_interface_peek_parent:
+#: gtype.c:3125:4
+msgid ""
+"Returns: (transfer none) (type GObject.TypeInterface): The corresponding "
+"#GTypeInterface structure of the parent type of the instance type to
which "
+"@g_iface belongs, or %NULL if the parent type doesn't conform to the "
+"interface."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_default_interface_ref:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_default_interface_peek:
+#: gtype.c:3154:1 gtype.c:3213:1
+msgid "@g_type: an interface type"
+msgstr ""
+
+#. used by: g_type_default_interface_ref:
+#: gtype.c:3156:2
+msgid ""
+"Increments the reference count for the interface type @g_type, and
returns "
+"the default interface vtable for the type."
+msgstr ""
+
+#. used by: g_type_default_interface_ref:
+#: gtype.c:3159:8
+msgid ""
+"If the type is not currently in use, then the default vtable for the
type "
+"will be created and initalized by calling the base interface init and "
+"default vtable init functions for the type (the @<structfield>base_init</"
+"structfield> and <structfield>class_init</structfield> members of "
+"#GTypeInfo). Calling g_type_default_interface_ref() is useful when you
want "
+"to make sure that signals and properties for an interface have been "
+"installed."
+msgstr ""
+
+#. used by: g_type_default_interface_ref:
+#: gtype.c:3170:3
+msgid ""
+"Returns: (type GObject.TypeInterface) (transfer none): the default
vtable "
+"for the interface; call g_type_default_interface_unref() when you are
done "
+"using the interface."
+msgstr ""
+
+#. used by: g_type_default_interface_peek:
+#: gtype.c:3215:2
+msgid ""
+"If the interface type @g_type is currently in use, returns its default "
+"interface vtable."
+msgstr ""
+
+#. used by: g_type_default_interface_peek:
+#: gtype.c:3220:3
+msgid ""
+"Returns: (type GObject.TypeInterface) (transfer none): the default
vtable "
+"for the interface, or %NULL if the type is not currently in use."
+msgstr ""
+
+#. used by: g_type_default_interface_unref:
+#: gtype.c:3241:3
+msgid ""
+"@g_iface: (type GObject.TypeInterface): the default vtable structure for
a "
+"interface, as returned by g_type_default_interface_ref()"
+msgstr ""
+
+#. used by: g_type_default_interface_unref:
+#: gtype.c:3245:6
+msgid ""
+"Decrements the reference count for the type corresponding to the
interface "
+"default vtable @g_iface. If the type is dynamic, then when no one is
using "
+"the interface and all references have been released, the finalize
function "
+"for the interface's default vtable (the <structfield>class_finalize</"
+"structfield> member of #GTypeInfo) will be called."
+msgstr ""
+
+#. used by: g_type_name:
+#: gtype.c:3272:1
+msgid "@type: Type to return name for."
+msgstr ""
+
+#. used by: g_type_name:
+#: gtype.c:3274:5
+msgid ""
+"Get the unique name that is assigned to a type ID. Note that this
function "
+"(like all other GType API) cannot cope with invalid type IDs. "
+"%G_TYPE_INVALID may be passed to this function, as may be any other
validly "
+"registered type ID, but randomized type IDs should not be passed in and
will "
+"most likely lead to a crash."
+msgstr ""
+
+#. used by: g_type_name:
+#: gtype.c:3280:1
+msgid "Returns: Static type name or %NULL."
+msgstr ""
+
+#. used by: g_type_qname:
+#: gtype.c:3296:1
+msgid "@type: Type to return quark of type name for."
+msgstr ""
+
+#. used by: g_type_qname:
+#: gtype.c:3298:1
+msgid "Get the corresponding quark of the type IDs name."
+msgstr ""
+
+#. used by: g_type_qname:
+#: gtype.c:3300:1
+msgid "Returns: The type names quark or 0."
+msgstr ""
+
+#. used by: g_type_from_name:
+#: gtype.c:3314:1
+msgid "@name: Type name to lookup."
+msgstr ""
+
+#. used by: g_type_from_name:
+#: gtype.c:3316:4
+msgid ""
+"Lookup the type ID from a given type name, returning 0 if no type has
been "
+"registered under this name (this is the preferred method to find out by
name "
+"whether a specific type has been registered yet)."
+msgstr ""
+
+#. used by: g_type_from_name:
+#: gtype.c:3321:1
+msgid "Returns: Corresponding type ID or 0."
+msgstr ""
+
+#. used by: g_type_parent:
+#: gtype.c:3344:1
+msgid "@type: The derived type."
+msgstr ""
+
+#. used by: g_type_parent:
+#: gtype.c:3346:2
+msgid ""
+"Return the direct parent type of the passed in type. If the passed in
type "
+"has no parent, i.e. is a fundamental type, 0 is returned."
+msgstr ""
+
+#. used by: g_type_parent:
+#: gtype.c:3349:1
+msgid "Returns: The parent type."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_FUNDAMENTAL:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_FUNDAMENTAL:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_DERIVED:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_INTERFACE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_CLASSED:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_INSTANTIATABLE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_DERIVABLE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_DEEP_DERIVABLE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_ABSTRACT:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_VALUE_ABSTRACT:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_VALUE_TYPE:
+#. #-#-#-#-# gtype.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_HAS_VALUE_TABLE:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_depth:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_value_table_peek: (skip)
+#: gtype.c:3363:1 gtype.c:4147:1 gtype.h:262:1 gtype.h:271:1 gtype.h:282:1
+#: gtype.h:297:1 gtype.h:306:1 gtype.h:316:1 gtype.h:326:1 gtype.h:336:1
+#: gtype.h:34:1 gtype.h:347:1 gtype.h:358:1 gtype.h:367:1
+msgid "@type: A #GType value."
+msgstr ""
+
+#. used by: g_type_depth:
+#: gtype.c:3365:2
+msgid ""
+"Returns the length of the ancestry of the passed in type. This includes
the "
+"type itself, so that e.g. a fundamental type has depth 1."
+msgstr ""
+
+#. used by: g_type_depth:
+#: gtype.c:3368:1
+msgid "Returns: The depth of @type."
+msgstr ""
+
+#. used by: g_type_next_base:
+#: gtype.c:3382:1
+msgid "@leaf_type: Descendant of @root_type and the type to be returned."
+msgstr ""
+
+#. used by: g_type_next_base:
+#: gtype.c:3383:1
+msgid "@root_type: Immediate parent of the returned type."
+msgstr ""
+
+#. used by: g_type_next_base:
+#: gtype.c:3385:7
+msgid ""
+"Given a @leaf_type and a @root_type which is contained in its anchestry, "
+"return the type that @root_type is the immediate parent of. In other
words, "
+"this function determines the type that is derived directly from
@root_type "
+"which is also a base class of @leaf_type. Given a root type and a leaf "
+"type, this function can be used to determine the types and order in
which "
+"the leaf type is descended from the root type."
+msgstr ""
+
+#. used by: g_type_next_base:
+#: gtype.c:3393:1
+msgid "Returns: Immediate child of @root_type and anchestor of @leaf_type."
+msgstr ""
+
+#. used by: g_type_is_a:
+#: gtype.c:3480:1
+msgid "@type: Type to check anchestry for."
+msgstr ""
+
+#. used by: g_type_is_a:
+#: gtype.c:3481:1
+msgid ""
+"@is_a_type: Possible anchestor of @type or interface @type could conform
to."
+msgstr ""
+
+#. used by: g_type_is_a:
+#: gtype.c:3483:3
+msgid ""
+"If @is_a_type is a derivable type, check whether @type is a descendant
of "
+"@is_a_type. If @is_a_type is an interface, check whether @type conforms
to "
+"it."
+msgstr ""
+
+#. used by: g_type_is_a:
+#: gtype.c:3487:1
+msgid "Returns: %TRUE if @type is_a @is_a_type holds true."
+msgstr ""
+
+#. used by: g_type_children:
+#: gtype.c:3505:1
+msgid "@type: The parent type."
+msgstr ""
+
+#. used by: g_type_children:
+#: gtype.c:3506:2
+msgid ""
+"@n_children: (out) (allow-none): Optional #guint pointer to contain the "
+"number of child types."
+msgstr ""
+
+#. used by: g_type_children:
+#: gtype.c:3509:2
+msgid ""
+"Return a newly allocated and 0-terminated array of type IDs, listing the "
+"child types of @type. The return value has to be g_free()ed after use."
+msgstr ""
+
+#. used by: g_type_children:
+#: gtype.c:3512:2
+msgid ""
+"Returns: (array length=n_children) (transfer full): Newly allocated and
0-"
+"terminated array of child types."
+msgstr ""
+
+#. used by: g_type_interfaces:
+#: gtype.c:3548:1
+msgid "@type: The type to list interface types for."
+msgstr ""
+
+#. used by: g_type_interfaces:
+#: gtype.c:3549:2
+msgid ""
+"@n_interfaces: (out) (allow-none): Optional #guint pointer to contain
the "
+"number of interface types."
+msgstr ""
+
+#. used by: g_type_interfaces:
+#: gtype.c:3552:3
+msgid ""
+"Return a newly allocated and 0-terminated array of type IDs, listing the "
+"interface types that @type conforms to. The return value has to be
g_free()"
+"ed after use."
+msgstr ""
+
+#. used by: g_type_interfaces:
+#: gtype.c:3556:2
+msgid ""
+"Returns: (array length=n_interfaces) (transfer full): Newly allocated and
0-"
+"terminated array of interface types."
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_get_qdata:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_set_qdata:
+#: gtype.c:3649:1 gtype.c:3720:1
+msgid "@type: a #GType"
+msgstr ""
+
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_get_qdata:
+#. #-#-#-#-# gtype.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_set_qdata:
+#: gtype.c:3650:1 gtype.c:3721:1
+msgid "@quark: a #GQuark id to identify the data"
+msgstr ""
+
+#. used by: g_type_get_qdata:
+#: gtype.c:3652:2
+msgid ""
+"Obtains data which has previously been attached to @type with "
+"g_type_set_qdata()."
+msgstr ""
+
+#. used by: g_type_get_qdata:
+#: gtype.c:3655:3
+msgid ""
+"Note that this does not take subtyping into account; data attached to
one "
+"type with g_type_set_qdata() cannot be retrieved from a subtype using "
+"g_type_get_qdata()."
+msgstr ""
+
+#. used by: g_type_get_qdata:
+#: gtype.c:3659:1
+msgid "Returns: (transfer none): the data, or %NULL if no data was found"
+msgstr ""
+
+#. used by: g_type_set_qdata:
+#: gtype.c:3722:1
+msgid "@data: the data"
+msgstr ""
+
+#. used by: g_type_set_qdata:
+#: gtype.c:3724:1
+msgid "Attaches arbitrary data to a type."
+msgstr ""
+
+#. used by: g_type_query:
+#: gtype.c:3764:1
+msgid "@type: the #GType value of a static, classed type."
+msgstr ""
+
+#. used by: g_type_query:
+#: gtype.c:3765:2
+msgid ""
+"@query: (out caller-allocates): A user provided structure that is filled
in "
+"with constant values upon success."
+msgstr ""
+
+#. used by: g_type_query:
+#: gtype.c:3768:6
+msgid ""
+"Queries the type system for information about a specific type. This
function "
+"will fill in a user-provided structure to hold type-specific information.
If "
+"an invalid #GType is passed in, the @type member of the #GTypeQuery is
0. "
+"All members filled into the #GTypeQuery structure should be considered "
+"constant and have to be left untouched."
+msgstr ""
+
+#. used by: g_type_get_plugin:
+#: gtype.c:3842:1
+msgid "@type: The #GType to retrieve the plugin for."
+msgstr ""
+
+#. used by: g_type_get_plugin:
+#: gtype.c:3844:2
+msgid ""
+"Returns the #GTypePlugin structure for @type or %NULL if @type does not
have "
+"a #GTypePlugin structure."
+msgstr ""
+
+#. used by: g_type_get_plugin:
+#: gtype.c:3847:2
+msgid ""
+"Returns: (transfer none): The corresponding plugin if @type is a dynamic "
+"type, %NULL otherwise."
+msgstr ""
+
+#. used by: g_type_interface_get_plugin:
+#: gtype.c:3862:1
+msgid "@instance_type: the #GType value of an instantiatable type."
+msgstr ""
+
+#. used by: g_type_interface_get_plugin:
+#: gtype.c:3865:4
+msgid ""
+"Returns the #GTypePlugin structure for the dynamic interface
@interface_type "
+"which has been added to @instance_type, or %NULL if @interface_type has
not "
+"been added to @instance_type or does not have a #GTypePlugin structure.
See "
+"g_type_add_interface_dynamic()."
+msgstr ""
+
+#. used by: g_type_interface_get_plugin:
+#: gtype.c:3870:2
+msgid ""
+"Returns: (transfer none): the #GTypePlugin for the dynamic interface "
+"@interface_type of @instance_type."
+msgstr ""
+
+#. used by: SECTION:gtype
+#: gtype.c:39:2
+msgid ""
+"@short_description: The GLib Runtime type identification and management "
+"system"
+msgstr ""
+
+#. used by: g_type_fundamental_next:
+#: gtype.c:3912:4
+msgid ""
+"Returns the next free fundamental type id which can be used to register
a "
+"new fundamental type with g_type_register_fundamental(). The returned
type "
+"ID represents the highest currently registered fundamental type
identifier."
+msgstr ""
+
+#. used by: g_type_fundamental_next:
+#: gtype.c:3917:2
+msgid ""
+"Returns: The nextmost fundamental type ID to be registered, or 0 if the
type "
+"system ran out of fundamental type IDs."
+msgstr ""
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gtypemodule.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,453 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. used by: g_type_module_set_name:
+#: gtypemodule.c:183:1
+msgid "@module: a #GTypeModule."
+msgstr ""
+
+#. used by: g_type_module_set_name:
+#: gtypemodule.c:184:1
+msgid "@name: a human-readable name to use in error messages."
+msgstr ""
+
+#. used by: g_type_module_set_name:
+#: gtypemodule.c:186:1
+msgid "Sets the name for a #GTypeModule"
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_use:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_unuse:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_type:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_add_interface:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_enum:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:236:1 gtypemodule.c:284:1 gtypemodule.c:359:1
+#: gtypemodule.c:444:1 gtypemodule.c:507:1 gtypemodule.c:546:1
+msgid "@module: a #GTypeModule"
+msgstr ""
+
+#. used by: g_type_module_use:
+#: gtypemodule.c:238:4
+msgid ""
+"Increases the use count of a #GTypeModule by one. If the use count was
zero "
+"before, the plugin will be loaded. If loading the plugin fails, the use "
+"count is reset to its prior value."
+msgstr ""
+
+#. used by: g_type_module_use:
+#: gtypemodule.c:243:2
+msgid ""
+"Returns: %FALSE if the plugin needed to be loaded and loading the plugin "
+"failed."
+msgstr ""
+
+#. used by: g_type_module_unuse:
+#: gtypemodule.c:286:5
+msgid ""
+"Decreases the use count of a #GTypeModule by one. If the result is zero,
the "
+"module will be unloaded. (However, the #GTypeModule will not be freed,
and "
+"types associated with the #GTypeModule are not unregistered. Once a "
+"#GTypeModule is initialized, it must exist forever.)"
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:30:1
+msgid "@short_description: Type loading modules"
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:31:10
+msgid ""
+"@see_also:<variablelist> <varlistentry> <term>#GTypePlugin</term> "
+"<listitem><para>The abstract type loader interface.</para></listitem> </"
+"varlistentry> <varlistentry> <term>#GModule</term>
<listitem><para>Portable "
+"mechanism for dynamically loaded modules.</para></listitem>
</varlistentry> "
+"</variablelist>"
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:360:1
+msgid "@parent_type: the type for the parent class"
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:361:1
+msgid "@type_name: name for the type"
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:362:1
+msgid "@type_info: type information structure"
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:363:1
+msgid "@flags: flags field providing details about the type"
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:365:4
+msgid ""
+"Looks up or registers a type that is implemented with a particular type "
+"plugin. If a type with name @type_name was previously registered, the
#GType "
+"identifier for the type is returned, otherwise the type is newly
registered, "
+"and the resulting #GType identifier returned."
+msgstr ""
+
+#. used by: g_type_module_register_type:
+#: gtypemodule.c:370:3
+msgid ""
+"When reregistering a type (typically because a module is unloaded then "
+"reloaded, and reinitialized), @module and @parent_type must be the same
as "
+"they were previously."
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_type:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_add_interface:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_enum:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:374:2 gtypemodule.c:453:2 gtypemodule.c:519:2
+#: gtypemodule.c:558:2
+msgid ""
+"As long as any instances of the type exist, the type plugin will not be "
+"unloaded."
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_type:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_enum:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:377:1 gtypemodule.c:524:1 gtypemodule.c:563:1
+msgid "Returns: the new or existing type ID"
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:41:1
+msgid "@title: GTypeModule"
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:43:12
+msgid ""
+"#GTypeModule provides a simple implementation of the #GTypePlugin
interface. "
+"The model of #GTypeModule is a dynamically loaded module which
implements "
+"some number of types and interface implementations. When the module is "
+"loaded, it registers its types and interfaces using "
+"g_type_module_register_type() and g_type_module_add_interface(). As long
as "
+"any instances of these types and interface implementations are in use,
the "
+"module is kept loaded. When the types and interfaces are gone, the
module "
+"may be unloaded. If the types and interfaces become used again, the
module "
+"will be reloaded. Note that the last unref can not happen in module
code, "
+"since that would lead to the caller's code being unloaded before "
+"g_object_unref() returns to it."
+msgstr ""
+
+#. used by: g_type_module_add_interface:
+#: gtypemodule.c:445:1
+msgid "@instance_type: type to which to add the interface."
+msgstr ""
+
+#. used by: g_type_module_add_interface:
+#: gtypemodule.c:446:1
+msgid "@interface_type: interface type to add"
+msgstr ""
+
+#. used by: g_type_module_add_interface:
+#: gtypemodule.c:447:1
+msgid "@interface_info: type information structure"
+msgstr ""
+
+#. used by: g_type_module_add_interface:
+#: gtypemodule.c:449:3
+msgid ""
+"Registers an additional interface for a type, whose interface lives in
the "
+"given type plugin. If the interface was already registered for the type
in "
+"this plugin, nothing will be done."
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_enum:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:508:1 gtypemodule.c:547:1
+msgid "@name: name for the type"
+msgstr ""
+
+#. used by: g_type_module_register_enum:
+#: gtypemodule.c:509:4
+msgid ""
+"@const_static_values: an array of #GEnumValue structs for the possible "
+"enumeration values. The array is terminated by a struct with all members "
+"being 0."
+msgstr ""
+
+#. used by: g_type_module_register_enum:
+#: gtypemodule.c:514:4
+msgid ""
+"Looks up or registers an enumeration that is implemented with a
particular "
+"type plugin. If a type with name @type_name was previously registered,
the "
+"#GType identifier for the type is returned, otherwise the type is newly "
+"registered, and the resulting #GType identifier returned."
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_enum:
+#. #-#-#-#-# gtypemodule.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:522:1 gtypemodule.c:561:1
+msgid "Since: 2.6"
+msgstr ""
+
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:548:4
+msgid ""
+"@const_static_values: an array of #GFlagsValue structs for the possible "
+"flags values. The array is terminated by a struct with all members being
0."
+msgstr ""
+
+#. used by: g_type_module_register_flags:
+#: gtypemodule.c:553:4
+msgid ""
+"Looks up or registers a flags type that is implemented with a particular "
+"type plugin. If a type with name @type_name was previously registered,
the "
+"#GType identifier for the type is returned, otherwise the type is newly "
+"registered, and the resulting #GType identifier returned."
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:56:9
+msgid ""
+"Keeping track of whether the module should be loaded or not is done by
using "
+"a use count - it starts at zero, and whenever it is greater than zero,
the "
+"module is loaded. The use count is maintained internally by the type
system, "
+"but also can be explicitly controlled by g_type_module_use() and "
+"g_type_module_unuse(). Typically, when loading a module for the first
type, "
+"g_type_module_use() will be used to load it so that it can initialize
its "
+"types. At some later point, when the module no longer needs to be loaded "
+"except for the type implementations it contains, g_type_module_unuse()
is "
+"called."
+msgstr ""
+
+#. used by: SECTION:gtypemodule
+#: gtypemodule.c:66:4
+msgid ""
+"#GTypeModule does not actually provide any implementation of module
loading "
+"and unloading. To create a particular module type you must derive from "
+"#GTypeModule and implement the load and unload functions in "
+"#GTypeModuleClass."
+msgstr ""
+
+#. #-#-#-#-# gtypemodule.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_DYNAMIC_TYPE:
+#. #-#-#-#-# gtypemodule.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:102:1 gtypemodule.h:175:1
+msgid "Since: 2.14"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:107:1
+msgid "@TypeName: The name of the new type, in Camel case."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:108:2
+msgid ""
+"@type_name: The name of the new type, in lowercase, with words separated
by "
+"'_'."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:110:1
+msgid "@TYPE_PARENT: The #GType of the parent type."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:111:1
+msgid "@flags: #GTypeFlags to pass to g_type_module_register_type()"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:112:1
+msgid "@CODE: Custom code that gets inserted in the *_get_type() function."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:114:2
+msgid ""
+"A more general version of G_DEFINE_DYNAMIC_TYPE() which allows to
specify "
+"#GTypeFlags and custom code."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:117:13
+msgid ""
+"|[ G_DEFINE_DYNAMIC_TYPE_EXTENDED (GtkGadget, gtk_gadget, GTK_TYPE_THING,
0, "
+"G_IMPLEMENT_INTERFACE_DYNAMIC (TYPE_GIZMO, gtk_gadget_gizmo_init)); ]| "
+"expands to |[ static void gtk_gadget_init
(GtkGadget "
+"*self); static void gtk_gadget_class_init (GtkGadgetClass "
+"*klass); static void gtk_gadget_class_finalize (GtkGadgetClass "
+"*klass);"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:131:2
+msgid ""
+"static gpointer gtk_gadget_parent_class = NULL; static GType "
+"gtk_gadget_type_id = 0;"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:134:5
+msgid ""
+"static void gtk_gadget_class_intern_init (gpointer klass) "
+"{ gtk_gadget_parent_class = g_type_class_peek_parent (klass); "
+"gtk_gadget_class_init ((GtkGadgetClass*) klass); }"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:140:5
+msgid "GType gtk_gadget_get_type (void) { return gtk_gadget_type_id; }"
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE_EXTENDED:
+#: gtypemodule.h:146:28
+msgid ""
+"static void gtk_gadget_register_type (GTypeModule *type_module) { const "
+"GTypeInfo g_define_type_info = { sizeof (GtkGadgetClass),
(GBaseInitFunc) "
+"NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) "
+"gtk_gadget_class_intern_init, (GClassFinalizeFunc) "
+"gtk_gadget_class_finalize, NULL, // class_data sizeof (GtkGadget), "
+"0, // n_preallocs (GInstanceInitFunc) gtk_gadget_init, NULL // "
+"value_table }; gtk_gadget_type_id = g_type_module_register_type "
+"(type_module, GTK_TYPE_THING, GtkGadget, &g_define_type_info,
(GTypeFlags) "
+"flags); { const GInterfaceInfo g_implement_interface_info = "
+"{ (GInterfaceInitFunc) gtk_gadget_gizmo_init };
g_type_module_add_interface "
+"(type_module, g_define_type_id, TYPE_GIZMO, "
+"&g_implement_interface_info); } } ]|"
+msgstr ""
+
+#. used by: G_IMPLEMENT_INTERFACE_DYNAMIC:
+#: gtypemodule.h:220:1
+msgid "@TYPE_IFACE: The #GType of the interface to add"
+msgstr ""
+
+#. used by: G_IMPLEMENT_INTERFACE_DYNAMIC:
+#: gtypemodule.h:221:1
+msgid "@iface_init: The interface init function"
+msgstr ""
+
+#. used by: G_IMPLEMENT_INTERFACE_DYNAMIC:
+#: gtypemodule.h:223:3
+msgid ""
+"A convenience macro to ease interface addition in the @_C_ section of "
+"G_DEFINE_DYNAMIC_TYPE_EXTENDED(). See G_DEFINE_DYNAMIC_TYPE_EXTENDED()
for "
+"an example."
+msgstr ""
+
+#. used by: G_IMPLEMENT_INTERFACE_DYNAMIC:
+#: gtypemodule.h:227:3
+msgid ""
+"Note that this macro can only be used together with the "
+"G_DEFINE_DYNAMIC_TYPE_EXTENDED macros, since it depends on variable
names "
+"from that macro."
+msgstr ""
+
+#. used by: G_IMPLEMENT_INTERFACE_DYNAMIC:
+#: gtypemodule.h:231:1
+msgid "Since: 2.24"
+msgstr ""
+
+#. used by: GTypeModule:
+#: gtypemodule.h:43:1
+msgid "@name: the name of the module"
+msgstr ""
+
+#. used by: GTypeModule:
+#: gtypemodule.h:45:2
+msgid ""
+"The members of the <structname>GTypeModule</structname> structure should
not "
+"be accessed directly, except for the @name field."
+msgstr ""
+
+#. used by: GTypeModuleClass:
+#: gtypemodule.h:62:1
+msgid "@parent_class: the parent class"
+msgstr ""
+
+#. used by: GTypeModuleClass:
+#: gtypemodule.h:63:2
+msgid ""
+"@load: loads the module and registers one or more types using "
+"g_type_module_register_type()."
+msgstr ""
+
+#. used by: GTypeModuleClass:
+#: gtypemodule.h:65:1
+msgid "@unload: unloads the module"
+msgstr ""
+
+#. used by: GTypeModuleClass:
+#: gtypemodule.h:67:2
+msgid ""
+"In order to implement dynamic loading of types based on #GTypeModule,
the "
+"@load and @unload functions in #GTypeModuleClass must be implemented."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE:
+#: gtypemodule.h:88:1
+msgid "@TN: The name of the new type, in Camel case."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE:
+#: gtypemodule.h:89:2
+msgid ""
+"@t_n: The name of the new type, in lowercase, with words separated
by '_'."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE:
+#: gtypemodule.h:91:1
+msgid "@T_P: The #GType of the parent type."
+msgstr ""
+
+#. used by: G_DEFINE_DYNAMIC_TYPE:
+#: gtypemodule.h:93:8
+msgid ""
+"A convenience macro for dynamic type implementations, which declares a
class "
+"initialization function, an instance initialization function (see
#GTypeInfo "
+"for information about these) and a static variable named @t_n<!-- --"
+">_parent_class pointing to the parent class. Furthermore, it defines a "
+"<function>*_get_type()</function> and a static
<function>*_register_type()</"
+"function> function for use in your <function>module_init()</function>.
See "
+"G_DEFINE_DYNAMIC_TYPE_EXTENDED() for an example."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gtypeplugin.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,263 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_use:
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_unuse:
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_type_info:
+#: gtypeplugin.c:112:1 gtypeplugin.c:131:1 gtypeplugin.c:150:1
+msgid "@plugin: a #GTypePlugin"
+msgstr ""
+
+#. used by: g_type_plugin_use:
+#: gtypeplugin.c:114:3
+msgid ""
+"Calls the @use_plugin function from the #GTypePluginClass of @plugin.
There "
+"should be no need to use this function outside of the GObject type
system "
+"itself."
+msgstr ""
+
+#. used by: g_type_plugin_unuse:
+#: gtypeplugin.c:133:3
+msgid ""
+"Calls the @unuse_plugin function from the #GTypePluginClass of @plugin. "
+"There should be no need to use this function outside of the GObject type "
+"system itself."
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_type_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteTypeInfo:
+#: gtypeplugin.c:151:1 gtypeplugin.h:59:1
+msgid "@g_type: the #GType whose info is completed"
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_type_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteTypeInfo:
+#: gtypeplugin.c:152:1 gtypeplugin.h:60:1
+msgid "@info: the #GTypeInfo struct to fill in"
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_type_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteTypeInfo:
+#: gtypeplugin.c:153:1 gtypeplugin.h:61:1
+msgid "@value_table: the #GTypeValueTable to fill in"
+msgstr ""
+
+#. used by: g_type_plugin_complete_type_info:
+#: gtypeplugin.c:155:3
+msgid ""
+"Calls the @complete_type_info function from the #GTypePluginClass of "
+"@plugin. There should be no need to use this function outside of the
GObject "
+"type system itself."
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_interface_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteTypeInfo:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteInterfaceInfo:
+#: gtypeplugin.c:180:1 gtypeplugin.h:58:1 gtypeplugin.h:71:1
+msgid "@plugin: the #GTypePlugin"
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_interface_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteInterfaceInfo:
+#: gtypeplugin.c:181:2 gtypeplugin.h:72:2
+msgid ""
+"@instance_type: the #GType of an instantiable type to which the interface
is "
+"added"
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_interface_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteInterfaceInfo:
+#: gtypeplugin.c:183:1 gtypeplugin.h:74:1
+msgid "@interface_type: the #GType of the interface whose info is
completed"
+msgstr ""
+
+#. #-#-#-#-# gtypeplugin.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_type_plugin_complete_interface_info:
+#. #-#-#-#-# gtypeplugin.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GTypePluginCompleteInterfaceInfo:
+#: gtypeplugin.c:184:1 gtypeplugin.h:75:1
+msgid "@info: the #GInterfaceInfo to fill in"
+msgstr ""
+
+#. used by: g_type_plugin_complete_interface_info:
+#: gtypeplugin.c:186:3
+msgid ""
+"Calls the @complete_interface_info function from the #GTypePluginClass
of "
+"@plugin. There should be no need to use this function outside of the
GObject "
+"type system itself."
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:27:1
+msgid "@short_description: An interface for dynamically loadable types"
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:28:1
+msgid "@see_also: #GTypeModule and g_type_register_dynamic()."
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:29:1
+msgid "@title: GTypePlugin"
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:31:3
+msgid ""
+"The GObject type system supports dynamic loading of types. The
#GTypePlugin "
+"interface is used to handle the lifecycle of dynamically loaded types.
It "
+"goes as follows:"
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:35:39
+msgid ""
+"<orderedlist> <listitem><para> The type is initially introduced (usually "
+"upon loading the module the first time, or by your main application that "
+"knows what modules introduces what types), like this: |[ new_type_id = "
+"g_type_register_dynamic (parent_type_id, \"TypeName\", new_type_plugin, "
+"type_flags); ]| where <literal>new_type_plugin</literal> is an "
+"implementation of the #GTypePlugin interface. </para></listitem> "
+"<listitem><para> The type's implementation is referenced, e.g. through "
+"g_type_class_ref() or through g_type_create_instance() (this is being
called "
+"by g_object_new()) or through one of the above done on a type derived
from "
+"<literal>new_type_id</literal>. </para></listitem> <listitem><para> This "
+"causes the type system to load the type's implementation by calling "
+"g_type_plugin_use() and g_type_plugin_complete_type_info() on "
+"<literal>new_type_plugin</literal>. </para></listitem> <listitem><para>
At "
+"some point the type's implementation isn't required anymore, e.g. after "
+"g_type_class_unref() or g_type_free_instance() (called when the
reference "
+"count of an instance drops to zero). </para></listitem> <listitem><para> "
+"This causes the type system to throw away the information retrieved from "
+"g_type_plugin_complete_type_info() and then it calls
g_type_plugin_unuse() "
+"on <literal>new_type_plugin</literal>. </para></listitem>
<listitem><para> "
+"Things may repeat from the second step. </para></listitem> </orderedlist>"
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:75:8
+msgid ""
+"So basically, you need to implement a #GTypePlugin type that carries a "
+"use_count, once use_count goes from zero to one, you need to load the "
+"implementation to successfully handle the upcoming "
+"g_type_plugin_complete_type_info() call. Later, maybe after succeeding
use/"
+"unuse calls, once use_count drops to zero, you can unload the
implementation "
+"again. The type system makes sure to call g_type_plugin_use() and "
+"g_type_plugin_complete_type_info() again when the type is needed again."
+msgstr ""
+
+#. used by: SECTION:gtypeplugin
+#: gtypeplugin.c:84:3
+msgid ""
+"#GTypeModule is an implementation of #GTypePlugin that already
implements "
+"most of this except for the actual module loading and unloading. It even "
+"handles multiple registered types per module."
+msgstr ""
+
+#. used by: GTypePluginClass:
+#: gtypeplugin.h:103:2
+msgid ""
+"The #GTypePlugin interface is used by the type system in order to handle
the "
+"lifecycle of dynamically loaded types."
+msgstr ""
+
+#. used by: GTypePluginUse:
+#: gtypeplugin.h:43:1
+msgid "@plugin: the #GTypePlugin whose use count should be increased"
+msgstr ""
+
+#. used by: GTypePluginUse:
+#: gtypeplugin.h:45:2
+msgid ""
+"The type of the @use_plugin function of #GTypePluginClass, which gets
called "
+"to increase the use count of @plugin."
+msgstr ""
+
+#. used by: GTypePluginUnuse:
+#: gtypeplugin.h:51:1
+msgid "@plugin: the #GTypePlugin whose use count should be decreased"
+msgstr ""
+
+#. used by: GTypePluginUnuse:
+#: gtypeplugin.h:53:1
+msgid "The type of the @unuse_plugin function of #GTypePluginClass."
+msgstr ""
+
+#. used by: GTypePluginCompleteTypeInfo:
+#: gtypeplugin.h:63:1
+msgid "The type of the @complete_type_info function of #GTypePluginClass."
+msgstr ""
+
+#. used by: GTypePluginCompleteInterfaceInfo:
+#: gtypeplugin.h:77:1
+msgid "The type of the @complete_interface_info function of
#GTypePluginClass."
+msgstr ""
+
+#. used by: GTypePlugin:
+#: gtypeplugin.h:86:3
+msgid ""
+"The <structname>GTypePlugin</structname> typedef is used as a
placeholder "
+"for objects that implement the <structname>GTypePlugin</structname> "
+"interface."
+msgstr ""
+
+#. used by: GTypePluginClass:
+#: gtypeplugin.h:92:1
+msgid "@use_plugin: Increases the use count of the plugin."
+msgstr ""
+
+#. used by: GTypePluginClass:
+#: gtypeplugin.h:93:1
+msgid "@unuse_plugin: Decreases the use count of the plugin."
+msgstr ""
+
+#. used by: GTypePluginClass:
+#: gtypeplugin.h:94:4
+msgid ""
+"@complete_type_info: Fills in the #GTypeInfo and #GTypeValueTable
structs "
+"for the type. The structs are initialized with <literal>memset(s, 0,
sizeof "
+"(s))</literal> before calling this function."
+msgstr ""
+
+#. used by: GTypePluginClass:
+#: gtypeplugin.h:98:4
+msgid ""
+"@complete_interface_info: Fills in missing parts of the #GInterfaceInfo
for "
+"the interface. The structs is initialized with <literal>memset(s, 0,
sizeof "
+"(s))</literal> before calling this function."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gvalue.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,446 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. used by: SECTION:generic_values
+#: gvalue.c:102:2
+msgid ""
+"/&ast; An INT is transformable to a STRING &ast;/ g_assert "
+"(g_value_type_transformable (G_TYPE_INT, G_TYPE_STRING));"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:105:2
+msgid ""
+"g_value_transform (&amp;a, &amp;b); g_printf (\"%s\\n\",
g_value_get_string "
+"(&amp;b));"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:108:7
+msgid ""
+"/&ast; Attempt to transform it again using a custom transform function "
+"&ast;/ g_value_register_transform_func (G_TYPE_INT, G_TYPE_STRING, "
+"int2string); g_value_transform (&amp;a, &amp;b); g_printf (\"%s\\n\", "
+"g_value_get_string (&amp;b)); return 0; } ]|"
+msgstr ""
+
+#. used by: g_value_init:
+#: gvalue.c:157:1
+msgid "@value: A zero-filled (uninitialized) #GValue structure."
+msgstr ""
+
+#. used by: g_value_init:
+#: gvalue.c:158:1
+msgid "@g_type: Type the #GValue should hold values of."
+msgstr ""
+
+#. used by: g_value_init:
+#: gvalue.c:160:1
+msgid "Initializes @value with the default value of @type."
+msgstr ""
+
+#. used by: g_value_init:
+#: gvalue.c:162:1
+msgid "Returns: (transfer none): the #GValue structure that has been
passed in"
+msgstr ""
+
+#. used by: g_value_copy:
+#: gvalue.c:197:1
+msgid "@src_value: An initialized #GValue structure."
+msgstr ""
+
+#. used by: g_value_copy:
+#: gvalue.c:198:1
+msgid ""
+"@dest_value: An initialized #GValue structure of the same type as
@src_value."
+msgstr ""
+
+#. used by: g_value_copy:
+#: gvalue.c:200:1
+msgid "Copies the value of @src_value into @dest_value."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_reset:
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_unset:
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_fits_pointer:
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_peek_pointer:
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_instance:
+#: gvalue.c:227:1 gvalue.c:258:1 gvalue.c:281:1 gvalue.c:302:1
gvalue.c:328:1
+msgid "@value: An initialized #GValue structure."
+msgstr ""
+
+#. used by: g_value_reset:
+#: gvalue.c:229:2
+msgid ""
+"Clears the current value in @value and resets it to the default value (as
if "
+"the value had just been initialized)."
+msgstr ""
+
+#. used by: g_value_reset:
+#: gvalue.c:232:1
+msgid "Returns: the #GValue structure that has been passed in"
+msgstr ""
+
+#. used by: g_value_unset:
+#: gvalue.c:260:4
+msgid ""
+"Clears the current value in @value and \"unsets\" the type, this
releases "
+"all resources associated with this GValue. An unset value is the same as
an "
+"uninitialized (zero-filled) #GValue structure."
+msgstr ""
+
+#. used by: g_value_fits_pointer:
+#: gvalue.c:283:2
+msgid ""
+"Determines if @value will fit inside the size of a pointer value. This is
an "
+"internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_fits_pointer:
+#: gvalue.c:286:1
+msgid "Returns: %TRUE if @value will fit inside a pointer value."
+msgstr ""
+
+#. used by: g_value_peek_pointer:
+#: gvalue.c:304:4
+msgid ""
+"Returns: (transfer none): the value contents as pointer. This function "
+"asserts that g_value_fits_pointer() returned %TRUE for the passed in
value. "
+"This is an internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_set_instance:
+#: gvalue.c:329:1
+msgid "@instance: the instance"
+msgstr ""
+
+#. used by: g_value_set_instance:
+#: gvalue.c:331:2
+msgid ""
+"Sets @value from an instantiatable type via the value_table's
collect_value"
+"() function."
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:35:2
+msgid ""
+"@short_description: A polymorphic type that can hold values of any other
type"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:37:5
+msgid ""
+"@see_also: The fundamental types which all support #GValue operations
and "
+"thus can be used as a type initializer for g_value_init() are defined by
a "
+"separate interface. See the <link
linkend=\"gobject-Standard-Parameter-and-"
+"Value-Types\">Standard Values API</link> for details."
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:42:1
+msgid "@title: Generic values"
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_register_transform_func: (skip)
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_type_transformable:
+#: gvalue.c:427:1 gvalue.c:466:1
+msgid "@src_type: Source type."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_register_transform_func: (skip)
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_type_transformable:
+#: gvalue.c:428:1 gvalue.c:467:1
+msgid "@dest_type: Target type."
+msgstr ""
+
+#. used by: g_value_register_transform_func: (skip)
+#: gvalue.c:429:2
+msgid ""
+"@transform_func: a function which transforms values of type @src_type
into "
+"value of type @dest_type"
+msgstr ""
+
+#. used by: g_value_register_transform_func: (skip)
+#: gvalue.c:432:3
+msgid ""
+"Registers a value transformation function for use in g_value_transform().
A "
+"previously registered transformation function for @src_type and
@dest_type "
+"will be replaced."
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:44:11
+msgid ""
+"The #GValue structure is basically a variable container that consists of
a "
+"type identifier and a specific value of that type. The type identifier "
+"within a #GValue structure always determines the type of the associated "
+"value. To create a undefined #GValue structure, simply create a
zero-filled "
+"#GValue structure. To initialize the #GValue, use the g_value_init() "
+"function. A #GValue cannot be used until it is initialized. The basic
type "
+"operations (such as freeing and copying) are determined by the "
+"#GTypeValueTable associated with the type ID stored in the #GValue.
Other "
+"#GValue operations (such as converting values between types) are provided
by "
+"this interface."
+msgstr ""
+
+#. used by: g_value_type_transformable:
+#: gvalue.c:469:2
+msgid ""
+"Check whether g_value_transform() is able to transform values of type "
+"@src_type into values of type @dest_type."
+msgstr ""
+
+#. used by: g_value_type_transformable:
+#: gvalue.c:472:1
+msgid "Returns: %TRUE if the transformation is possible, %FALSE otherwise."
+msgstr ""
+
+#. used by: g_value_type_compatible:
+#: gvalue.c:487:1
+msgid "@src_type: source type to be copied."
+msgstr ""
+
+#. used by: g_value_type_compatible:
+#: gvalue.c:488:1
+msgid "@dest_type: destination type for copying."
+msgstr ""
+
+#. used by: g_value_type_compatible:
+#: gvalue.c:490:2
+msgid ""
+"Returns whether a #GValue of type @src_type can be copied into a #GValue
of "
+"type @dest_type."
+msgstr ""
+
+#. used by: g_value_type_compatible:
+#: gvalue.c:493:1
+msgid ""
+"Returns: %TRUE if g_value_copy() is possible with @src_type and
@dest_type."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_transform:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GValueTransform:
+#: gvalue.c:508:1 gvalue.h:88:1
+msgid "@src_value: Source value."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_transform:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: GValueTransform:
+#: gvalue.c:509:1 gvalue.h:89:1
+msgid "@dest_value: Target value."
+msgstr ""
+
+#. used by: g_value_transform:
+#: gvalue.c:511:7
+msgid ""
+"Tries to cast the contents of @src_value into a type appropriate to store
in "
+"@dest_value, e.g. to transform a %G_TYPE_INT value into a %G_TYPE_FLOAT "
+"value. Performing transformations between value types might incur
precision "
+"lossage. Especially transformations into strings might reveal seemingly "
+"arbitrary results and shouldn't be relied upon for production code (such
as "
+"rcfile value or object property serialization)."
+msgstr ""
+
+#. used by: g_value_transform:
+#: gvalue.c:519:2
+msgid ""
+"Returns: Whether a transformation rule was found and could be applied.
Upon "
+"failing transformations, @dest_value is left untouched."
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:56:2
+msgid "The code in the example program below demonstrates #GValue's
features."
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:59:2
+msgid "|[ #include &lt;glib-object.h&gt;"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:62:9
+msgid ""
+"static void int2string (const GValue *src_value, GValue
*dest_value) "
+"{ if (g_value_get_int (src_value) == 42) g_value_set_static_string "
+"(dest_value, \"An important number\"); else g_value_set_static_string "
+"(dest_value, \"What's that?\"); }"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:72:8
+msgid ""
+"int main (int argc, char *argv[]) { /&ast; GValues must start
zero-filled "
+"&ast;/ GValue a = {0}; GValue b = {0}; const gchar *message;"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:81:1
+msgid "g_type_init ();"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:83:2
+msgid ""
+"/&ast; The GValue starts empty &ast;/ g_assert (!G_VALUE_HOLDS_STRING
(&amp;"
+"a));"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:86:5
+msgid ""
+"/&ast; Put a string in it &ast;/ g_value_init (&amp;a, G_TYPE_STRING); "
+"g_assert (G_VALUE_HOLDS_STRING (&amp;a)); g_value_set_static_string
(&amp;a, "
+"\"Hello, world!\"); g_printf (\"%s\\n\", g_value_get_string (&amp;a));"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:92:2
+msgid "/&ast; Reset it to its pristine state &ast;/ g_value_unset
(&amp;a);"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:95:3
+msgid ""
+"/&ast; It can then be reused for another type &ast;/ g_value_init
(&amp;a, "
+"G_TYPE_INT); g_value_set_int (&amp;a, 42);"
+msgstr ""
+
+#. used by: SECTION:generic_values
+#: gvalue.c:99:2
+msgid ""
+"/&ast; Attempt to transform it into a GValue of type STRING &ast;/ "
+"g_value_init (&amp;b, G_TYPE_STRING);"
+msgstr ""
+
+#. used by: G_VALUE_NOCOPY_CONTENTS:
+#: gvalue.h:158:3
+msgid ""
+"If passed to G_VALUE_COLLECT(), allocated data won't be copied but used "
+"verbatim. This does not affect ref-counted types like objects. For more "
+"details, see the #GValueTable documentation."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_TYPE_IS_VALUE:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS:
+#: gvalue.h:35:1 gvalue.h:74:1
+msgid "@type: A #GType value."
+msgstr ""
+
+#. used by: G_TYPE_IS_VALUE:
+#: gvalue.h:37:3
+msgid ""
+"Checks whether the passed in type ID can be used for g_value_init().
That "
+"is, this macro checks whether this type provides an implementation of
the "
+"#GTypeValueTable functions required for a type to create a #GValue of."
+msgstr ""
+
+#. used by: G_TYPE_IS_VALUE:
+#: gvalue.h:41:1
+msgid "Returns: Whether @type is suitable as a #GValue type."
+msgstr ""
+
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_IS_VALUE:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_TYPE:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_TYPE_NAME:
+#. #-#-#-#-# gvalue.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS:
+#: gvalue.h:46:1 gvalue.h:55:1 gvalue.h:64:1 gvalue.h:73:1
+msgid "@value: A #GValue structure."
+msgstr ""
+
+#. used by: G_IS_VALUE:
+#: gvalue.h:48:1
+msgid "Checks if @value is a valid and initialized #GValue structure."
+msgstr ""
+
+#. used by: G_IS_VALUE:
+#: gvalue.h:50:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. used by: G_VALUE_TYPE:
+#: gvalue.h:57:1
+msgid "Get the type identifier of @value."
+msgstr ""
+
+#. used by: G_VALUE_TYPE:
+#: gvalue.h:59:1
+msgid "Returns: the #GType."
+msgstr ""
+
+#. used by: G_VALUE_TYPE_NAME:
+#: gvalue.h:66:1
+msgid "Gets the the type name of @value."
+msgstr ""
+
+#. used by: G_VALUE_TYPE_NAME:
+#: gvalue.h:68:1
+msgid "Returns: the type name."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS:
+#: gvalue.h:76:3
+msgid ""
+"Checks if @value holds (or contains) a value of @type. This macro will
also "
+"check for @value != %NULL and issue a warning if the check fails."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS:
+#: gvalue.h:80:1
+msgid "Returns: %TRUE if @value holds the @type."
+msgstr ""
+
+#. used by: GValueTransform:
+#: gvalue.h:91:2
+msgid ""
+"The type of value transformation functions which can be registered with "
+"g_value_register_transform_func()."
+msgstr ""
+
+#. used by: GValue:
+#: gvalue.h:99:8
+msgid ""
+"An opaque structure used to hold different types of values. The data
within "
+"the structure has protected scope: it is accessible only to functions
within "
+"a #GTypeValueTable structure, or implementations of the g_value_*() API. "
+"That is, code portions which implement new fundamental types. #GValue
users "
+"can not make any assumptions about how data is stored within the 2
element "
+"@data union, and the @g_type member should only be accessed through the "
+"G_VALUE_TYPE() macro."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gvaluearray.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,253 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. used by: g_value_array_new:
+#: gvaluearray.c:108:1
+msgid "@n_prealloced: number of values to preallocate space for"
+msgstr ""
+
+#. used by: g_value_array_new:
+#: gvaluearray.c:110:3
+msgid ""
+"Allocate and initialize a new #GValueArray, optionally preserve space
for "
+"@n_prealloced elements. New arrays always contain 0 elements, regardless
of "
+"the value of @n_prealloced."
+msgstr ""
+
+#. used by: g_value_array_new:
+#: gvaluearray.c:114:1
+msgid "Returns: a newly allocated #GValueArray with 0 values"
+msgstr ""
+
+#. used by: g_value_array_free:
+#: gvaluearray.c:132:1
+msgid "@value_array: #GValueArray to free"
+msgstr ""
+
+#. used by: g_value_array_free:
+#: gvaluearray.c:134:1
+msgid "Free a #GValueArray including its contents."
+msgstr ""
+
+#. used by: g_value_array_copy:
+#: gvaluearray.c:156:1
+msgid "@value_array: #GValueArray to copy"
+msgstr ""
+
+#. used by: g_value_array_copy:
+#: gvaluearray.c:158:2
+msgid ""
+"Construct an exact copy of a #GValueArray by duplicating all its
contents."
+msgstr ""
+
+#. used by: g_value_array_copy:
+#: gvaluearray.c:161:1
+msgid "Returns: (transfer full): Newly allocated copy of #GValueArray"
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_prepend:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_append:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_insert:
+#: gvaluearray.c:189:1 gvaluearray.c:209:1 gvaluearray.c:228:1
+msgid "@value_array: #GValueArray to add an element to"
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_prepend:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_append:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_insert:
+#: gvaluearray.c:190:1 gvaluearray.c:210:1 gvaluearray.c:230:1
+msgid "@value: (allow-none): #GValue to copy into #GValueArray, or %NULL"
+msgstr ""
+
+#. used by: g_value_array_prepend:
+#: gvaluearray.c:192:2
+msgid ""
+"Insert a copy of @value as first element of @value_array. If @value is "
+"%NULL, an uninitialized value is prepended."
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_prepend:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_append:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_insert:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_remove:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort:
+#: gvaluearray.c:196:1 gvaluearray.c:215:1 gvaluearray.c:235:1
+#: gvaluearray.c:270:1 gvaluearray.c:302:1
+msgid "Returns: (transfer none): the #GValueArray passed in as
@value_array"
+msgstr ""
+
+#. used by: g_value_array_append:
+#: gvaluearray.c:212:2
+msgid ""
+"Insert a copy of @value as last element of @value_array. If @value
is %NULL, "
+"an uninitialized value is appended."
+msgstr ""
+
+#. used by: g_value_array_insert:
+#: gvaluearray.c:229:1
+msgid "@index_: insertion position, must be &lt;= value_array-&gt;n_values"
+msgstr ""
+
+#. used by: g_value_array_insert:
+#: gvaluearray.c:232:2
+msgid ""
+"Insert a copy of @value at specified position into @value_array. If
@value "
+"is %NULL, an uninitialized value is inserted."
+msgstr ""
+
+#. used by: g_value_array_remove:
+#: gvaluearray.c:263:1
+msgid "@value_array: #GValueArray to remove an element from"
+msgstr ""
+
+#. used by: g_value_array_remove:
+#: gvaluearray.c:264:3
+msgid ""
+"@index_: position of value to remove, which must be less than "
+"<code>value_array-><link
linkend=\"GValueArray.n-values\">n_values</link></"
+"code>"
+msgstr ""
+
+#. used by: g_value_array_remove:
+#: gvaluearray.c:268:1
+msgid "Remove the value at position @index_ from @value_array."
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:294:1 gvaluearray.c:320:1
+msgid "@value_array: #GValueArray to sort"
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:295:1 gvaluearray.c:321:1
+msgid "@compare_func: (scope call): function to compare elements"
+msgstr ""
+
+#. used by: g_value_array_sort:
+#: gvaluearray.c:297:2
+msgid ""
+"Sort @value_array using @compare_func to compare the elements accoring
to "
+"the semantics of #GCompareFunc."
+msgstr ""
+
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort:
+#. #-#-#-#-# gvaluearray.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:300:1 gvaluearray.c:327:1
+msgid "The current implementation uses Quick-Sort as sorting algorithm."
+msgstr ""
+
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:322:1
+msgid "@user_data: (closure): extra data argument provided for
@compare_func"
+msgstr ""
+
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:324:2
+msgid ""
+"Sort @value_array using @compare_func to compare the elements accoring
to "
+"the semantics of #GCompareDataFunc."
+msgstr ""
+
+#. used by: g_value_array_sort_with_data:
+#: gvaluearray.c:329:2
+msgid ""
+"Rename to: g_value_array_sort Returns: (transfer none): the #GValueArray "
+"passed in as @value_array"
+msgstr ""
+
+#. used by: SECTION:value_arrays
+#: gvaluearray.c:34:2
+msgid ""
+"@short_description: A container structure to maintain an array of
generic "
+"values"
+msgstr ""
+
+#. used by: SECTION:value_arrays
+#: gvaluearray.c:36:1
+msgid "@see_also: #GValue, #GParamSpecValueArray,
g_param_spec_value_array()"
+msgstr ""
+
+#. used by: SECTION:value_arrays
+#: gvaluearray.c:37:1
+msgid "@title: Value arrays"
+msgstr ""
+
+#. used by: SECTION:value_arrays
+#: gvaluearray.c:39:4
+msgid ""
+"The prime purpose of a #GValueArray is for it to be used as an object "
+"property that holds an array of values. A #GValueArray wraps an array of "
+"#GValue elements in order for it to be used as a boxed type through "
+"%G_TYPE_VALUE_ARRAY."
+msgstr ""
+
+#. used by: g_value_array_get_nth:
+#: gvaluearray.c:56:1
+msgid "@value_array: #GValueArray to get a value from"
+msgstr ""
+
+#. used by: g_value_array_get_nth:
+#: gvaluearray.c:57:1
+msgid "@index_: index of the value of interest"
+msgstr ""
+
+#. used by: g_value_array_get_nth:
+#: gvaluearray.c:59:1
+msgid "Return a pointer to the value at @index_ containd in @value_array."
+msgstr ""
+
+#. used by: g_value_array_get_nth:
+#: gvaluearray.c:61:1
+msgid "Returns: (transfer none): pointer to a value at @index_ in
@value_array"
+msgstr ""
+
+#. used by: GValueArray:
+#: gvaluearray.h:38:1
+msgid "@n_values: number of values contained in the array"
+msgstr ""
+
+#. used by: GValueArray:
+#: gvaluearray.h:39:1
+msgid "@values: array of values"
+msgstr ""
+
+#. used by: GValueArray:
+#: gvaluearray.h:41:1
+msgid "A #GValueArray contains an array of #GValue elements."
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gvaluecollector.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,166 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_LCOPY:
+#: gvaluecollector.h:134:2 gvaluecollector.h:164:2
+msgid ""
+"@value: a #GValue return location. @value is supposed to be initialized "
+"according to the value type to be collected"
+msgstr ""
+
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT_INIT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_LCOPY:
+#: gvaluecollector.h:136:1 gvaluecollector.h:166:1 gvaluecollector.h:79:1
+msgid "@var_args: the va_list variable; it may be evaluated multiple times"
+msgstr ""
+
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT_INIT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT:
+#: gvaluecollector.h:137:2 gvaluecollector.h:80:2
+msgid ""
+"@flags: flags which are passed on to the collect_value() function of the "
+"#GTypeValueTable of @value."
+msgstr ""
+
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT_INIT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_LCOPY:
+#: gvaluecollector.h:139:2 gvaluecollector.h:169:2 gvaluecollector.h:82:2
+msgid ""
+"@__error: a #gchar** variable that will be modified to hold a g_new() "
+"allocated error messages if something fails"
+msgstr ""
+
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT_INIT:
+#. #-#-#-#-# gvaluecollector.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_COLLECT:
+#: gvaluecollector.h:142:3 gvaluecollector.h:85:3
+msgid ""
+"Collects a variable argument value from a va_list. We have to implement
the "
+"varargs collection as a macro, because on some systems va_list variables "
+"cannot be passed by reference."
+msgstr ""
+
+#. used by: G_VALUE_COLLECT:
+#: gvaluecollector.h:146:3
+msgid ""
+"Note: If you are creating the @value argument just before calling this "
+"macro, you should use the #G_VALUE_COLLECT_INIT variant and pass the "
+"unitialized #GValue. That variant is faster than #G_VALUE_COLLECT."
+msgstr ""
+
+#. used by: G_VALUE_LCOPY:
+#: gvaluecollector.h:167:2
+msgid ""
+"@flags: flags which are passed on to the lcopy_value() function of the "
+"#GTypeValueTable of @value."
+msgstr ""
+
+#. used by: G_VALUE_LCOPY:
+#: gvaluecollector.h:172:2
+msgid ""
+"Collects a value's variable argument locations from a va_list. Usage is "
+"analogous to G_VALUE_COLLECT()."
+msgstr ""
+
+#. used by: G_VALUE_COLLECT_FORMAT_MAX_LENGTH:
+#: gvaluecollector.h:220:2
+msgid ""
+"The maximal number of #GTypeCValue<!-- -->s which can be collected for a "
+"single #GValue."
+msgstr ""
+
+#. used by: SECTION:value_collection
+#: gvaluecollector.h:23:1
+msgid "@Short_description: Converting varargs to generic values"
+msgstr ""
+
+#. used by: SECTION:value_collection
+#: gvaluecollector.h:24:1
+msgid "@See_also:#GValueTable"
+msgstr ""
+
+#. used by: SECTION:value_collection
+#: gvaluecollector.h:25:1
+msgid "@Title: Varargs Value Collection"
+msgstr ""
+
+#. used by: SECTION:value_collection
+#: gvaluecollector.h:27:4
+msgid ""
+"The macros in this section provide the varargs parsing support needed in "
+"variadic GObject functions such as g_object_new() or g_object_set().
They "
+"currently support the collection of integral types, floating point types
and "
+"pointers."
+msgstr ""
+
+#. used by: GTypeCValue:
+#: gvaluecollector.h:58:1
+msgid "@v_int: the field for holding integer values"
+msgstr ""
+
+#. used by: GTypeCValue:
+#: gvaluecollector.h:59:2
+msgid ""
+"@v_long: the field for holding long integer values @v_int64: the field
for "
+"holding 64 bit integer values"
+msgstr ""
+
+#. used by: GTypeCValue:
+#: gvaluecollector.h:61:1
+msgid "@v_double: the field for holding floating point values"
+msgstr ""
+
+#. used by: GTypeCValue:
+#: gvaluecollector.h:62:1
+msgid "@v_pointer: the field for holding pointers"
+msgstr ""
+
+#. used by: GTypeCValue:
+#: gvaluecollector.h:64:1
+msgid "A union holding one collected value."
+msgstr ""
+
+#. used by: G_VALUE_COLLECT_INIT:
+#: gvaluecollector.h:77:1
+msgid "@value: a #GValue return location. @value must contain only 0
bytes."
+msgstr ""
+
+#. used by: G_VALUE_COLLECT_INIT:
+#: gvaluecollector.h:78:1
+msgid "@_value_type: the #GType to use for @value."
+msgstr ""
+
+#. used by: G_VALUE_COLLECT_INIT:
+#: gvaluecollector.h:89:1
+msgid "Since: 2.24"
+msgstr ""
=======================================
--- /dev/null
+++ /trunk/pot/gobject/gvaluetypes.pot Mon Apr 18 08:28:33 2011
@@ -0,0 +1,776 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-18 23:24-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <L...@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_string:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_static_string:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_string_take_ownership:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_string:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_string:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_dup_string:
+#: gvaluetypes.c:1011:1 gvaluetypes.c:1032:1 gvaluetypes.c:1048:1
+#: gvaluetypes.c:1070:1 gvaluetypes.c:1086:1 gvaluetypes.c:986:1
+msgid "@value: a valid #GValue of type %G_TYPE_STRING"
+msgstr ""
+
+#. used by: g_value_set_static_string:
+#: gvaluetypes.c:1012:1
+msgid "@v_string: static string to be set"
+msgstr ""
+
+#. used by: g_value_set_static_string:
+#: gvaluetypes.c:1014:3
+msgid ""
+"Set the contents of a %G_TYPE_STRING #GValue to @v_string. The string is "
+"assumed to be static, and is thus not duplicated when setting the
#GValue."
+msgstr ""
+
+#. used by: g_value_set_string_take_ownership:
+#: gvaluetypes.c:1033:1
+msgid "@v_string: duplicated unowned string to be set"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_string_take_ownership:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_variant:
+#: gvaluetypes.c:1035:1 gvaluetypes.c:1218:1
+msgid "This is an internal function introduced mainly for C marshallers."
+msgstr ""
+
+#. used by: g_value_set_string_take_ownership:
+#: gvaluetypes.c:1037:1
+msgid "Deprecated: 2.4: Use g_value_take_string() instead."
+msgstr ""
+
+#. used by: g_value_take_string:
+#: gvaluetypes.c:1049:1
+msgid "@v_string: string to take ownership of"
+msgstr ""
+
+#. used by: g_value_take_string:
+#: gvaluetypes.c:1051:1
+msgid "Sets the contents of a %G_TYPE_STRING #GValue to @v_string."
+msgstr ""
+
+#. used by: g_value_take_string:
+#: gvaluetypes.c:1053:1
+msgid "Since: 2.4"
+msgstr ""
+
+#. used by: g_value_get_string:
+#: gvaluetypes.c:1072:1
+msgid "Get the contents of a %G_TYPE_STRING #GValue."
+msgstr ""
+
+#. used by: g_value_get_string:
+#: gvaluetypes.c:1074:1
+msgid "Returns: string content of @value"
+msgstr ""
+
+#. used by: g_value_dup_string:
+#: gvaluetypes.c:1088:1
+msgid "Get a copy the contents of a %G_TYPE_STRING #GValue."
+msgstr ""
+
+#. used by: g_value_dup_string:
+#: gvaluetypes.c:1090:1
+msgid "Returns: a newly allocated copy of the string content of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_pointer:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_pointer:
+#: gvaluetypes.c:1102:1 gvaluetypes.c:1118:1
+msgid "@value: a valid #GValue of %G_TYPE_POINTER"
+msgstr ""
+
+#. used by: g_value_set_pointer:
+#: gvaluetypes.c:1103:1
+msgid "@v_pointer: pointer value to be set"
+msgstr ""
+
+#. used by: g_value_set_pointer:
+#: gvaluetypes.c:1105:1
+msgid "Set the contents of a pointer #GValue to @v_pointer."
+msgstr ""
+
+#. used by: g_value_get_pointer:
+#: gvaluetypes.c:1120:1
+msgid "Get the contents of a pointer #GValue."
+msgstr ""
+
+#. used by: g_value_get_pointer:
+#: gvaluetypes.c:1122:1
+msgid "Returns: (transfer none): pointer contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_gtype:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_gtype:
+#: gvaluetypes.c:1136:1 gvaluetypes.c:1155:1
+msgid "@value: a valid #GValue of type %G_TYPE_GTYPE"
+msgstr ""
+
+#. used by: g_value_set_gtype:
+#: gvaluetypes.c:1137:1
+msgid "@v_gtype: #GType to be set"
+msgstr ""
+
+#. used by: g_value_set_gtype:
+#: gvaluetypes.c:1139:1
+msgid "Set the contents of a %G_TYPE_GTYPE #GValue to @v_gtype."
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_gtype:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_gtype:
+#: gvaluetypes.c:1141:1 gvaluetypes.c:1159:1
+msgid "Since: 2.12"
+msgstr ""
+
+#. used by: g_value_get_gtype:
+#: gvaluetypes.c:1157:1
+msgid "Get the contents of a %G_TYPE_GTYPE #GValue."
+msgstr ""
+
+#. used by: g_value_get_gtype:
+#: gvaluetypes.c:1161:1
+msgid "Returns: the #GType stored in @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_dup_variant:
+#: gvaluetypes.c:1173:1 gvaluetypes.c:1202:1 gvaluetypes.c:1241:1
+#: gvaluetypes.c:1259:1
+msgid "@value: a valid #GValue of type %G_TYPE_VARIANT"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_variant:
+#: gvaluetypes.c:1174:1 gvaluetypes.c:1203:1
+msgid "@variant: a #GVariant, or %NULL"
+msgstr ""
+
+#. used by: g_value_set_variant:
+#: gvaluetypes.c:1176:2
+msgid ""
+"Set the contents of a variant #GValue to @variant. If the variant is "
+"floating, it is consumed."
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_VARIANT:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_take_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_variant:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_dup_variant:
+#: gvaluetypes.c:1179:1 gvaluetypes.c:1220:1 gvaluetypes.c:1247:1
+#: gvaluetypes.c:1266:1 gvaluetypes.h:174:1
+msgid "Since: 2.26"
+msgstr ""
+
+#. used by: g_value_take_variant:
+#: gvaluetypes.c:1205:4
+msgid ""
+"Set the contents of a variant #GValue to @variant, and takes over the "
+"ownership of the caller's reference to @variant; the caller doesn't have
to "
+"unref it any more (i.e. the reference count of the variant is not
increased)."
+msgstr ""
+
+#. used by: g_value_take_variant:
+#: gvaluetypes.c:1210:4
+msgid ""
+"It is a programmer error to pass a floating variant to this function. In "
+"particular this means that callbacks in closures, and signal handlers
for "
+"signals of return type %G_TYPE_VARIANT, must never return floating
variants."
+msgstr ""
+
+#. used by: g_value_take_variant:
+#: gvaluetypes.c:1215:2
+msgid ""
+"If you want the #GValue to hold its own reference to @variant, use "
+"g_value_set_variant() instead."
+msgstr ""
+
+#. used by: g_value_get_variant:
+#: gvaluetypes.c:1243:1
+msgid "Get the contents of a variant #GValue."
+msgstr ""
+
+#. used by: g_value_get_variant:
+#: gvaluetypes.c:1245:1
+msgid "Returns: variant contents of @value"
+msgstr ""
+
+#. used by: g_value_dup_variant:
+#: gvaluetypes.c:1261:1
+msgid "Get the contents of a variant #GValue, increasing its refcount."
+msgstr ""
+
+#. used by: g_value_dup_variant:
+#: gvaluetypes.c:1263:2
+msgid ""
+"Returns: variant contents of @value, should be unrefed using
g_variant_unref"
+"() when no longer needed"
+msgstr ""
+
+#. used by: g_strdup_value_contents:
+#: gvaluetypes.c:1284:1
+msgid "@value: #GValue which contents are to be described."
+msgstr ""
+
+#. used by: g_strdup_value_contents:
+#: gvaluetypes.c:1286:4
+msgid ""
+"Return a newly allocated string, which describes the contents of a
#GValue. "
+"The main purpose of this function is to describe #GValue contents for "
+"debugging output, the way in which the contents are described may change "
+"between different GLib versions."
+msgstr ""
+
+#. used by: g_strdup_value_contents:
+#: gvaluetypes.c:1291:1
+msgid "Returns: Newly allocated string."
+msgstr ""
+
+#. used by: g_pointer_type_register_static:
+#: gvaluetypes.c:1376:1
+msgid "@name: the name of the new pointer type."
+msgstr ""
+
+#. used by: g_pointer_type_register_static:
+#: gvaluetypes.c:1378:2
+msgid ""
+"Creates a new %G_TYPE_POINTER derived type id for a new pointer type
with "
+"name @name."
+msgstr ""
+
+#. used by: g_pointer_type_register_static:
+#: gvaluetypes.c:1381:1
+msgid "Returns: a new %G_TYPE_POINTER derived type id for @name."
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_char:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_char:
+#: gvaluetypes.c:634:1 gvaluetypes.c:650:1
+msgid "@value: a valid #GValue of type %G_TYPE_CHAR"
+msgstr ""
+
+#. used by: g_value_set_char:
+#: gvaluetypes.c:635:1
+msgid "@v_char: character value to be set"
+msgstr ""
+
+#. used by: g_value_set_char:
+#: gvaluetypes.c:637:1
+msgid "Set the contents of a %G_TYPE_CHAR #GValue to @v_char."
+msgstr ""
+
+#. used by: g_value_get_char:
+#: gvaluetypes.c:652:1
+msgid "Get the contents of a %G_TYPE_CHAR #GValue."
+msgstr ""
+
+#. used by: g_value_get_char:
+#: gvaluetypes.c:654:1
+msgid "Returns: character contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_uchar:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_uchar:
+#: gvaluetypes.c:666:1 gvaluetypes.c:682:1
+msgid "@value: a valid #GValue of type %G_TYPE_UCHAR"
+msgstr ""
+
+#. used by: g_value_set_uchar:
+#: gvaluetypes.c:667:1
+msgid "@v_uchar: unsigned character value to be set"
+msgstr ""
+
+#. used by: g_value_set_uchar:
+#: gvaluetypes.c:669:1
+msgid "Set the contents of a %G_TYPE_UCHAR #GValue to @v_uchar."
+msgstr ""
+
+#. used by: g_value_get_uchar:
+#: gvaluetypes.c:684:1
+msgid "Get the contents of a %G_TYPE_UCHAR #GValue."
+msgstr ""
+
+#. used by: g_value_get_uchar:
+#: gvaluetypes.c:686:1
+msgid "Returns: unsigned character contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_boolean:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_boolean:
+#: gvaluetypes.c:698:1 gvaluetypes.c:714:1
+msgid "@value: a valid #GValue of type %G_TYPE_BOOLEAN"
+msgstr ""
+
+#. used by: g_value_set_boolean:
+#: gvaluetypes.c:699:1
+msgid "@v_boolean: boolean value to be set"
+msgstr ""
+
+#. used by: g_value_set_boolean:
+#: gvaluetypes.c:701:1
+msgid "Set the contents of a %G_TYPE_BOOLEAN #GValue to @v_boolean."
+msgstr ""
+
+#. used by: g_value_get_boolean:
+#: gvaluetypes.c:716:1
+msgid "Get the contents of a %G_TYPE_BOOLEAN #GValue."
+msgstr ""
+
+#. used by: g_value_get_boolean:
+#: gvaluetypes.c:718:1
+msgid "Returns: boolean contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_int:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_int:
+#: gvaluetypes.c:730:1 gvaluetypes.c:746:1
+msgid "@value: a valid #GValue of type %G_TYPE_INT"
+msgstr ""
+
+#. used by: g_value_set_int:
+#: gvaluetypes.c:731:1
+msgid "@v_int: integer value to be set"
+msgstr ""
+
+#. used by: g_value_set_int:
+#: gvaluetypes.c:733:1
+msgid "Set the contents of a %G_TYPE_INT #GValue to @v_int."
+msgstr ""
+
+#. used by: g_value_get_int:
+#: gvaluetypes.c:748:1
+msgid "Get the contents of a %G_TYPE_INT #GValue."
+msgstr ""
+
+#. used by: g_value_get_int:
+#: gvaluetypes.c:750:1
+msgid "Returns: integer contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_uint:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_uint:
+#: gvaluetypes.c:762:1 gvaluetypes.c:778:1
+msgid "@value: a valid #GValue of type %G_TYPE_UINT"
+msgstr ""
+
+#. used by: g_value_set_uint:
+#: gvaluetypes.c:763:1
+msgid "@v_uint: unsigned integer value to be set"
+msgstr ""
+
+#. used by: g_value_set_uint:
+#: gvaluetypes.c:765:1
+msgid "Set the contents of a %G_TYPE_UINT #GValue to @v_uint."
+msgstr ""
+
+#. used by: g_value_get_uint:
+#: gvaluetypes.c:780:1
+msgid "Get the contents of a %G_TYPE_UINT #GValue."
+msgstr ""
+
+#. used by: g_value_get_uint:
+#: gvaluetypes.c:782:1
+msgid "Returns: unsigned integer contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_long:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_long:
+#: gvaluetypes.c:794:1 gvaluetypes.c:810:1
+msgid "@value: a valid #GValue of type %G_TYPE_LONG"
+msgstr ""
+
+#. used by: g_value_set_long:
+#: gvaluetypes.c:795:1
+msgid "@v_long: long integer value to be set"
+msgstr ""
+
+#. used by: g_value_set_long:
+#: gvaluetypes.c:797:1
+msgid "Set the contents of a %G_TYPE_LONG #GValue to @v_long."
+msgstr ""
+
+#. used by: g_value_get_long:
+#: gvaluetypes.c:812:1
+msgid "Get the contents of a %G_TYPE_LONG #GValue."
+msgstr ""
+
+#. used by: g_value_get_long:
+#: gvaluetypes.c:814:1
+msgid "Returns: long integer contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_ulong:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_ulong:
+#: gvaluetypes.c:826:1 gvaluetypes.c:842:1
+msgid "@value: a valid #GValue of type %G_TYPE_ULONG"
+msgstr ""
+
+#. used by: g_value_set_ulong:
+#: gvaluetypes.c:827:1
+msgid "@v_ulong: unsigned long integer value to be set"
+msgstr ""
+
+#. used by: g_value_set_ulong:
+#: gvaluetypes.c:829:1
+msgid "Set the contents of a %G_TYPE_ULONG #GValue to @v_ulong."
+msgstr ""
+
+#. used by: g_value_get_ulong:
+#: gvaluetypes.c:844:1
+msgid "Get the contents of a %G_TYPE_ULONG #GValue."
+msgstr ""
+
+#. used by: g_value_get_ulong:
+#: gvaluetypes.c:846:1
+msgid "Returns: unsigned long integer contents of @value"
+msgstr ""
+
+#. used by: g_value_get_int64:
+#: gvaluetypes.c:858:1
+msgid "@value: a valid #GValue of type %G_TYPE_INT64"
+msgstr ""
+
+#. used by: g_value_get_int64:
+#: gvaluetypes.c:860:1
+msgid "Get the contents of a %G_TYPE_INT64 #GValue."
+msgstr ""
+
+#. used by: g_value_get_int64:
+#: gvaluetypes.c:862:1
+msgid "Returns: 64bit integer contents of @value"
+msgstr ""
+
+#. used by: g_value_set_int64:
+#: gvaluetypes.c:875:2
+msgid ""
+"@value: a valid #GValue of type %G_TYPE_INT64 @v_int64: 64bit integer
value "
+"to be set"
+msgstr ""
+
+#. used by: g_value_set_int64:
+#: gvaluetypes.c:878:1
+msgid "Set the contents of a %G_TYPE_INT64 #GValue to @v_int64."
+msgstr ""
+
+#. used by: g_value_set_uint64:
+#: gvaluetypes.c:890:2
+msgid ""
+"@value: a valid #GValue of type %G_TYPE_UINT64 @v_uint64: unsigned 64bit "
+"integer value to be set"
+msgstr ""
+
+#. used by: g_value_set_uint64:
+#: gvaluetypes.c:893:1
+msgid "Set the contents of a %G_TYPE_UINT64 #GValue to @v_uint64."
+msgstr ""
+
+#. used by: g_value_get_uint64:
+#: gvaluetypes.c:906:1
+msgid "@value: a valid #GValue of type %G_TYPE_UINT64"
+msgstr ""
+
+#. used by: g_value_get_uint64:
+#: gvaluetypes.c:908:1
+msgid "Get the contents of a %G_TYPE_UINT64 #GValue."
+msgstr ""
+
+#. used by: g_value_get_uint64:
+#: gvaluetypes.c:910:1
+msgid "Returns: unsigned 64bit integer contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_float:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_float:
+#: gvaluetypes.c:922:1 gvaluetypes.c:938:1
+msgid "@value: a valid #GValue of type %G_TYPE_FLOAT"
+msgstr ""
+
+#. used by: g_value_set_float:
+#: gvaluetypes.c:923:1
+msgid "@v_float: float value to be set"
+msgstr ""
+
+#. used by: g_value_set_float:
+#: gvaluetypes.c:925:1
+msgid "Set the contents of a %G_TYPE_FLOAT #GValue to @v_float."
+msgstr ""
+
+#. used by: g_value_get_float:
+#: gvaluetypes.c:940:1
+msgid "Get the contents of a %G_TYPE_FLOAT #GValue."
+msgstr ""
+
+#. used by: g_value_get_float:
+#: gvaluetypes.c:942:1
+msgid "Returns: float contents of @value"
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_set_double:
+#. #-#-#-#-# gvaluetypes.pot (PACKAGE VERSION) #-#-#-#-#
+#. used by: g_value_get_double:
+#: gvaluetypes.c:954:1 gvaluetypes.c:970:1
+msgid "@value: a valid #GValue of type %G_TYPE_DOUBLE"
+msgstr ""
+
+#. used by: g_value_set_double:
+#: gvaluetypes.c:955:1
+msgid "@v_double: double value to be set"
+msgstr ""
+
+#. used by: g_value_set_double:
+#: gvaluetypes.c:957:1
+msgid "Set the contents of a %G_TYPE_DOUBLE #GValue to @v_double."
+msgstr ""
+
+#. used by: g_value_get_double:
+#: gvaluetypes.c:972:1
+msgid "Get the contents of a %G_TYPE_DOUBLE #GValue."
+msgstr ""
+
+#. used by: g_value_get_double:
+#: gvaluetypes.c:974:1
+msgid "Returns: double contents of @value"
+msgstr ""
+
+#. used by: g_value_set_string:
+#: gvaluetypes.c:987:1
+msgid "@v_string: caller-owned string to be duplicated for the #GValue"
+msgstr ""
+
+#. used by: g_value_set_string:
+#: gvaluetypes.c:989:1
+msgid "Set the contents of a %G_TYPE_STRING #GValue to @v_string."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_INT64:
+#: gvaluetypes.h:100:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_INT64."
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_CHAR:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UCHAR:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_BOOLEAN:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_INT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UINT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_LONG:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_ULONG:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_INT64:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UINT64:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_FLOAT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_DOUBLE:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_STRING:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_POINTER:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_VARIANT:
+#: gvaluetypes.h:102:1 gvaluetypes.h:111:1 gvaluetypes.h:120:1
+#: gvaluetypes.h:129:1 gvaluetypes.h:138:1 gvaluetypes.h:147:1
+#: gvaluetypes.h:172:1 gvaluetypes.h:39:1 gvaluetypes.h:48:1
+#: gvaluetypes.h:57:1 gvaluetypes.h:66:1 gvaluetypes.h:75:1
gvaluetypes.h:84:1
+#: gvaluetypes.h:93:1
+msgid "Returns: %TRUE on success."
+msgstr ""
+
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_CHAR:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UCHAR:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_BOOLEAN:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_INT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UINT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_LONG:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_ULONG:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_INT64:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_UINT64:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_FLOAT:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_DOUBLE:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_STRING:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_POINTER:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_GTYPE:
+#. #-#-#-#-# gvaluetypes.pot~ (PACKAGE VERSION) #-#-#-#-#
+#. used by: G_VALUE_HOLDS_VARIANT:
+#: gvaluetypes.h:107:1 gvaluetypes.h:116:1 gvaluetypes.h:125:1
+#: gvaluetypes.h:134:1 gvaluetypes.h:143:1 gvaluetypes.h:158:1
+#: gvaluetypes.h:168:1 gvaluetypes.h:35:1 gvaluetypes.h:44:1
+#: gvaluetypes.h:53:1 gvaluetypes.h:62:1 gvaluetypes.h:71:1
gvaluetypes.h:80:1
+#: gvaluetypes.h:89:1 gvaluetypes.h:98:1
+msgid "@value: a valid #GValue structure"
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_UINT64:
+#: gvaluetypes.h:109:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_UINT64."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_FLOAT:
+#: gvaluetypes.h:118:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_FLOAT."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_DOUBLE:
+#: gvaluetypes.h:127:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_DOUBLE."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_STRING:
+#: gvaluetypes.h:136:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_STRING."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_POINTER:
+#: gvaluetypes.h:145:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_POINTER."
+msgstr ""
+
+#. used by: G_TYPE_GTYPE:
+#: gvaluetypes.h:153:1
+msgid "The type for #GType."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_GTYPE:
+#: gvaluetypes.h:160:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_GTYPE."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_GTYPE:
+#: gvaluetypes.h:162:2
+msgid "Since: 2.12 Returns: %TRUE on success."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_VARIANT:
+#: gvaluetypes.h:170:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_VARIANT."
+msgstr ""
+
+#. used by: gchararray:
+#: gvaluetypes.h:253:1
+msgid "A C representable type name for #G_TYPE_STRING."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_CHAR:
+#: gvaluetypes.h:37:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_CHAR."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_UCHAR:
+#: gvaluetypes.h:46:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_UCHAR."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_BOOLEAN:
+#: gvaluetypes.h:55:1
+msgid ""
+"Checks whether the given #GValue can hold values of type %G_TYPE_BOOLEAN."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_INT:
+#: gvaluetypes.h:64:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_INT."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_UINT:
+#: gvaluetypes.h:73:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_UINT."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_LONG:
+#: gvaluetypes.h:82:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_LONG."
+msgstr ""
+
+#. used by: G_VALUE_HOLDS_ULONG:
+#: gvaluetypes.h:91:1
+msgid "Checks whether the given #GValue can hold values of
type %G_TYPE_ULONG."
+msgstr ""

Reply all
Reply to author
Forward
0 new messages