Blob Blame History Raw
<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="dev-translate-build" xml:lang="cs">

  <info>
    <link type="next" xref="dev-translate-tools"/>
    <revision version="0.1" date="2013-06-19" status="review"/>

    <credit type="author">
      <name>Ekaterina Gerasimova</name>
      <email its:translate="no">kittykat3756@gmail.com</email>
      <years>2013</years>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>

    <desc/>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Lucas Lommer</mal:name>
      <mal:email>llommer@svn.gnome.org</mal:email>
      <mal:years>2009.</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Marek Černocký</mal:name>
      <mal:email>marek@manet.cz</mal:email>
      <mal:years>2015.</mal:years>
    </mal:credit>
  </info>

  <title>Nastavení systému sestavení pro překlady.</title>

  <links type="series" style="floatend">
    <title>Nastavení překladů</title>
  </links> 

  <p>Aby váš projekt fungoval s překlady, musíte jej správně nastavit, stejně jako systém sestavení.</p>

  <p>Ve svém projektu vytvořte podsložku <file>po/</file> a do souboru <file>po/POTFILES.in</file> uveďte soubory, které obsahují přeložitelné řetězce. Soubory <em>bez</em> přeložitelných řetězců uveďte do <file>po/POTFILES.skip</file>.</p>

  <p>Do souboru <file>configure.ac</file> zadejte následující řádky:</p>
  <code>
IT_PROG_INTLTOOL([0.50.0])
AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [název balíčku pro gettext])</code>

  <p>Do souboru <file>Makefile.am</file> zadejte následující řádky:</p>
  <code>
SUBDIRS = po
</code>
  <code>
AM_CPPFLAGS = -DPACKAGE_LOCALEDIR=\""$(datadir)/locale"\"
</code>
  <code>
@INTLTOOL_DESKTOP_RULE@
desktopdir = $(datadir)/applications
desktop_in_files = data/<input>applicationname</input>.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
</code>

  <p>Než spustíte <cmd>autoreconf</cmd>, spusťte nejdříve <cmd>intltoolize</cmd>, aby se nakopírovala infrastruktura intltool do stromu sestavení.</p>

  <p>Když jsou nyní systém sestavení a řetězce ve vašem zdrojovém kódu připraveny k překladu, musíte uvést následující tři věci pro <app>gettext</app>:</p>

  <list>
    <item><p><em>doménu překladu</em>, většinou je stejná, jako název aplikace</p></item>
    <item><p>místo, kde jsou uloženy sestavené překlady</p></item>
    <item><p>kódování znaků v překladech, obvykle to je UTF-8</p></item>
  </list>

  <example>
  <note>
    <p>Příklad předpokládá, že vaše aplikace je napsána v jazyce C. Pro ostatní programovací jazyky se to může lehce lišit.</p>
  </note>

  <p>Do zdrojového kódu, který obsahuje funkci <code>main()</code> přidejte následující řádek:</p>

  <code>#include "config.h"</code>

  <p>Následně do funkce <code>main()</code> přidejte tyto řádky:</p>

  <code>
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALEDIR);
bind_textdomain_codeset (PACKAGE_TARNAME, "UTF-8");
textdomain (GETTEXT_PACKAGE);
</code>
  </example>

  <p>Spusťte <cmd>make <input>název_projektu</input>.pot</cmd> ve složce <file>po</file>. Tím se spustí nástroj <cmd>intltool-extract</cmd>, který získá přeložitelné řetězce a vloží je do souboru šablony (POT).</p>

</page>