/soc/2013/ankitkv/gobjectification: 6b417d9c899b: Updated plugin...

Ankit Vani a at nevitus.org
Tue Oct 22 13:18:21 EDT 2013


Changeset: 6b417d9c899b0ee47ea2aa8a581720fcfeb790a2
Author:	 Ankit Vani <a at nevitus.org>
Date:	 2013-10-22 21:21 +0530
Branch:	 soc.2013.gobjectification.plugins
URL: https://hg.pidgin.im/soc/2013/ankitkv/gobjectification/rev/6b417d9c899b

Description:

Updated plugin_i18n.xml to gtk-doc style

diffstat:

 doc/reference/libpurple/libpurple-docs.xml |    4 +-
 doc/reference/libpurple/plugin_i18n.xml    |  214 ++++++++++++++++++----------
 2 files changed, 140 insertions(+), 78 deletions(-)

diffs (266 lines):

diff --git a/doc/reference/libpurple/libpurple-docs.xml b/doc/reference/libpurple/libpurple-docs.xml
--- a/doc/reference/libpurple/libpurple-docs.xml
+++ b/doc/reference/libpurple/libpurple-docs.xml
@@ -138,9 +138,9 @@
       <xi:include href="signals_jabber.xml" />
   </reference>
 
+  <xi:include href="plugin_ids.xml" />
+  <xi:include href="plugin_i18n.xml" />
   <xi:include href="ui_ops.xml" />
-  <xi:include href="plugin_i18n.xml" />
-  <xi:include href="plugin_ids.xml" />
 
   <index id="api-index-full">
     <title>Index</title>
diff --git a/doc/reference/libpurple/plugin_i18n.xml b/doc/reference/libpurple/plugin_i18n.xml
--- a/doc/reference/libpurple/plugin_i18n.xml
+++ b/doc/reference/libpurple/plugin_i18n.xml
@@ -5,35 +5,57 @@
 <chapter id="chapter-plugin-i18n">
   <title>Third Party Plugin Translation</title>
 
-  <programlisting>
- @section Introduction
+  <sect2 id="plugin-i18n-introduction">
+  <title>Introduction</title>
+
+  <para>
   For the purpose of this document we're going to assume that your plugin:
 
-   - Is set up to use autotools.  It may be possible to add translation support
-     without autotools, but we have no idea how.  We may not want to know, either ;)
-   - Has an autogen.sh.  You may have also called this bootstrap.sh or similar.
-   - Resides in a source tree that has @c configure.ac and @c Makefile.am in the
-     top-level directory as well as a @c src directory in which the plugin's source
-     is located.  A @c Makefile.am should also exist in the @c src directory.
+  <itemizedlist>
+    <listitem><para>
+Is set up to use autotools.  It may be possible to add translation support
+without autotools, but we have no idea how.  We may not want to know, either ;)
+    </para></listitem>
+    <listitem><para>
+Has an autogen.sh.  You may have also called this bootstrap.sh or similar.
+    </para></listitem>
+    <listitem><para>
+Resides in a source tree that has <literal>configure.ac</literal> and
+<literal>Makefile.am</literal> in the top-level directory as well as a
+<literal>src</literal> directory in which the plugin's source is located.  A
+<literal>Makefile.am</literal> should also exist in the <literal>src</literal>
+directory.
+    </para></listitem>
+  </itemizedlist>
+  </para>
+  </sect2>
 
+  <sect2 id="plugin-i18n-steps">
+  <title>Steps to follow</title>
+
+  <para>
   For a plugin to have translation support there are a few steps that need to
   followed:
 
-   - In your autogen.sh, add the following after your other utility checks:
-     @code
+  <itemizedlist>
+    <listitem><para>
+In your autogen.sh, add the following after your other utility checks:
+<programlisting>
 (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
     echo;
     echo "You must have intltool installed to compile <YOUR PLUGIN NAME>";
     echo;
     exit;
 }
-     @endcode
-     Then before your call to aclocal add:
-     @code
+</programlisting>
+Then before your call to aclocal add:
+<programlisting>
 intltoolize --force --copy
-     @endcode
-   - Now edit configure.ac and add the following:
-     @code
+</programlisting>
+    </para></listitem>
+    <listitem><para>
+Now edit configure.ac and add the following:
+<programlisting>
 AC_PROG_INTLTOOL
 
 GETTEXT_PACKAGE=<YOUR PLUGIN NAME>
@@ -42,47 +64,77 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$G
 
 ALL_LINGUAS=""
 AM_GLIB_GNU_GETTEXT
-     @endcode
-     The position of these macros in the file don't really matter, but if you
-     have issues either play around with it or feel free to ask one of the Pidgin
-     developers.  Finally add 'po/Makefile.in' to you 'AC_OUTPUT' command.
-   - Now create a directory named 'po'.
-   - 'cd' into the 'po' directory.
-   - Create/edit the file 'POTFILE.in' in your favorite editor.  Each line
-     should be the name of a file that could or does have strings marked for
-	 translating (we're getting to that step).  These file names should be
-	 relative to the top directory of your plugin's source tree.
-   - 'cd' back to the top directory of your plugin's source tree.
-   - Open 'Makefile.am' and add 'po' to your 'SUBDIRS' variable.
-   - While still in the top directory of your plugin's source tree,  execute
-     'intltool-prepare'.  This will setup anything extra that intltool needs.
-   - Fire off 'autogen.sh' and when it's completed, verify that you have a
-     'po/POTFILES' (notice the lack of a .in).  If you do, everything should be
-	 set on the autotools side.
-   - Take a break, stretch your legs, smoke a cigarette, whatever, because
-     we're done with the autotools part.
-   - When you're ready, 'cd' into the directory with the source files for your
-     plugin.
-   - Open the file containing the PurplePluginInfo structure.
-   - If you're not already, please make sure that you are including the
-     'config.h' file for you plugin.  Note that 'config.h' could be whatever
-	 you told autohead to use with AM_CONFIG_HEADER.  Also add the following:
-	 @code
+</programlisting>
+The position of these macros in the file don't really matter, but if you
+have issues either play around with it or feel free to ask one of the Pidgin
+developers.  Finally add 'po/Makefile.in' to you 'AC_OUTPUT' command.
+    </para></listitem>
+    <listitem><para>
+Now create a directory named 'po'.
+    </para></listitem>
+    <listitem><para>
+'cd' into the 'po' directory.
+    </para></listitem>
+    <listitem><para>
+Create/edit the file 'POTFILE.in' in your favorite editor.  Each line
+should be the name of a file that could or does have strings marked for
+translating (we're getting to that step).  These file names should be
+relative to the top directory of your plugin's source tree.
+    </para></listitem>
+    <listitem><para>
+'cd' back to the top directory of your plugin's source tree.
+    </para></listitem>
+    <listitem><para>
+Open 'Makefile.am' and add 'po' to your 'SUBDIRS' variable.
+    </para></listitem>
+    <listitem><para>
+While still in the top directory of your plugin's source tree,  execute
+'intltool-prepare'.  This will setup anything extra that intltool needs.
+    </para></listitem>
+    <listitem><para>
+Fire off 'autogen.sh' and when it's completed, verify that you have a
+'po/POTFILES' (notice the lack of a .in).  If you do, everything should be
+set on the autotools side.
+    </para></listitem>
+    <listitem><para>
+Take a break, stretch your legs, smoke a cigarette, whatever, because
+we're done with the autotools part.
+    </para></listitem>
+    <listitem><para>
+When you're ready, 'cd' into the directory with the source files for your
+plugin.
+    </para></listitem>
+    <listitem><para>
+Open the file containing the PurplePluginInfo structure.
+    </para></listitem>
+    <listitem><para>
+If you're not already, please make sure that you are including the
+'config.h' file for you plugin.  Note that 'config.h' could be whatever
+you told autohead to use with AM_CONFIG_HEADER.  Also add the following:
+<programlisting>
 #include <glib/gi18n-lib.h>
-     @endcode
-	 Make sure that this include is after you include of your 'config.h',
-	 otherwise you will break your build.  Also note that if you wish to
-     maintain compatibility with older versions of GLib, you will need to
-     include additional preprocessor directives, which we won't cover here.
-   - This is where things get a bit goofy.  libpurple is going to try to
-     translate our strings using the libpurple gettext package.  So we have to
-     convert them before libpurple attempts to.
-   - To do this, we're going to change the entries for name, summary, and
-     description to NULL.
-   - Next, locate your 'plugin_load' function.  Your name for this function
-     may vary, but it's the third parameter to 'PURPLE_PLUGIN_INIT'.
-   - Now add the following within your 'plugin_load' function:
-     @code
+</programlisting>
+Make sure that this include is after you include of your 'config.h',
+otherwise you will break your build.  Also note that if you wish to
+maintain compatibility with older versions of GLib, you will need to
+include additional preprocessor directives, which we won't cover here.
+    </para></listitem>
+    <listitem><para>
+This is where things get a bit goofy.  libpurple is going to try to
+translate our strings using the libpurple gettext package.  So we have to
+convert them before libpurple attempts to.
+    </para></listitem>
+    <listitem><para>
+To do this, we're going to change the entries for name, summary, and
+description to NULL.
+    </para></listitem>
+    <listitem><para>
+Next, locate your 'plugin_load' function.  Your name for this function
+may vary, but it's the third parameter to 'PURPLE_PLUGIN_INIT'.
+    </para></listitem>
+    <listitem><para>
+Now add the following within your 'plugin_load' function:
+<programlisting>
 #ifdef ENABLE_NLS
 	bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
 	bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
@@ -91,25 +143,35 @@ AM_GLIB_GNU_GETTEXT
 	info.name        = _("<YOUR PLUGIN NAME>");
 	info.summary     = _("<YOUR PLUGIN SUMMARY>");
 	info.description = _("<YOUR PLUGIN DESCRIPTION>");
-     @endcode
-     Note that the _() is intentional, and that it is telling intltool that
-	 this string should be translated.  There is also N_() which says that a
-	 string should only be marked for translation but should not be translated
-	 yet.
-   - Go through the rest of your code and mark all the other strings for
-     translation with _().
-   - When thats done, feel free to commit your work, create your po template
-     (pot file) or whatever.
-   - To create you po template, 'cd' to 'po' and execute:
-     @code
+</programlisting>
+Note that the _() is intentional, and that it is telling intltool that
+this string should be translated.  There is also N_() which says that a
+string should only be marked for translation but should not be translated
+yet.
+    </para></listitem>
+    <listitem><para>
+Go through the rest of your code and mark all the other strings for
+translation with _().
+    </para></listitem>
+    <listitem><para>
+When thats done, feel free to commit your work, create your po template
+(pot file) or whatever.
+    </para></listitem>
+    <listitem><para>
+To create you po template, 'cd' to 'po' and execute:
+<programlisting>
 intltool-update --pot
-     @endcode
-   - To add new translations to your plugin, all you have to do is add the
-     language code to the 'ALL_LINGUAS' variable in your configure.ac.  Take
-	 note that this list of languages should be separated by a space.  After
-	 you have added the language code to 'ALL_LINGUAS', drop the xx.po file
-	 into 'po', and re-'autogen.sh'.  After a full build you should now be
-	 able to use the translation.
-
-  </programlisting>
+</programlisting>
+    </para></listitem>
+    <listitem><para>
+To add new translations to your plugin, all you have to do is add the
+language code to the 'ALL_LINGUAS' variable in your configure.ac.  Take
+note that this list of languages should be separated by a space.  After
+you have added the language code to 'ALL_LINGUAS', drop the xx.po file
+into 'po', and re-'autogen.sh'.  After a full build you should now be
+able to use the translation.
+    </para></listitem>
+  </itemizedlist>
+  </para>
+ </sect2>
 </chapter>



More information about the Commits mailing list