<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ical2po — Translate Toolkit 1.9.0 documentation</title> <link rel="stylesheet" href="../_static/basic.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../_static/bootstrap.css" type="text/css" /> <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '1.9.0', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/bootstrap.js"></script> <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script> <link rel="top" title="Translate Toolkit 1.9.0 documentation" href="../index.html" /> <link rel="up" title="Converters" href="index.html" /> <link rel="next" title="ini2po" href="ini2po.html" /> <link rel="prev" title="html2po" href="html2po.html" /> </head> <body> <div id="navbar" class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container-fluid"> <a class="brand" href="../index.html">Translate Toolkit</a> <span class="navbar-text pull-left"><b>1.9.0</b></span> <ul class="nav"> <li class="divider-vertical"></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Site <b class="caret"></b></a> <ul class="dropdown-menu globaltoc"><ul class="simple"> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li> <li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li> <li class="toctree-l1"><a class="reference internal" href="index.html">Converters</a></li> <li class="toctree-l1"><a class="reference internal" href="index.html#tools">Tools</a></li> <li class="toctree-l1"><a class="reference internal" href="index.html#scripts">Scripts</a></li> <li class="toctree-l1"><a class="reference internal" href="../guides/index.html">Use Cases</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/index.html">Supported formats</a></li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../styleguide.html">Translate Styleguide</a></li> <li class="toctree-l1"><a class="reference internal" href="../styleguide.html#documentation">Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/building.html">Building</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/contributing.html">Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/developers.html">Translate Toolkit Developers Guide</a></li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../api/index.html">API</a></li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Important Changes</a></li> <li class="toctree-l1"><a class="reference internal" href="../history.html">History of the Translate Toolkit</a></li> <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li> </ul> </ul> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Page <b class="caret"></b></a> <ul class="dropdown-menu localtoc"><ul> <li><a class="reference internal" href="#">ical2po</a><ul> <li><a class="reference internal" href="#usage">Usage</a></li> <li><a class="reference internal" href="#examples">Examples</a></li> <li><a class="reference internal" href="#notes">Notes</a></li> </ul> </li> </ul> </ul> </li> <li><a href="html2po.html" title="previous chapter">« html2po</a></li> <li><a href="ini2po.html" title="next chapter">ini2po »</a></li> </ul> <form class="navbar-search pull-right" action="../search.html" method="get"> <input type="text" name="q" placeholder="Search" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </ul> </div> </div> </div> </div> <div class="container content"> <div class="section" id="po2ical"> <span id="ical2po"></span><span id="id1"></span><h1>ical2po<a class="headerlink" href="#po2ical" title="Permalink to this headline">¶</a></h1> <p class="versionadded"> <span class="versionmodified">New in version 1.2.</span></p> <p>Converts iCalendar (*.ics) files to Gettext PO format.</p> <div class="section" id="usage"> <span id="ical2po-usage"></span><h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><pre>ical2po [options] <ical> <po> po2ical [options] -t <ical> <po> <ical></pre> </div> <p>Where:</p> <table border="1" class="docutils"> <colgroup> <col width="15%" /> <col width="85%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td><ical></td> <td>is a valid .ics file or directory of those files</td> </tr> <tr class="row-even"><td><po></td> <td>is a directory of PO or POT files</td> </tr> </tbody> </table> <p>Options (ical2po):</p> <table class="docutils option-list" frame="void" rules="none"> <col class="option" /> <col class="description" /> <tbody valign="top"> <tr><td class="option-group"> <kbd><span class="option">--version</span></kbd></td> <td>show program’s version number and exit</td></tr> <tr><td class="option-group"> <kbd><span class="option">-h</span>, <span class="option">--help</span></kbd></td> <td>show this help message and exit</td></tr> <tr><td class="option-group"> <kbd><span class="option">--manpage</span></kbd></td> <td>output a manpage based on the help</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">--progress=<var>PROGRESS</var></span></kbd></td> </tr> <tr><td> </td><td>show progress as: <a class="reference internal" href="option_progress.html"><em>dots, none, bar, names, verbose</em></a></td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">--errorlevel=<var>ERRORLEVEL</var></span></kbd></td> </tr> <tr><td> </td><td>show errorlevel as: <a class="reference internal" href="option_errorlevel.html"><em>none, message, exception, traceback</em></a></td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-i <var>INPUT</var></span>, <span class="option">--input=<var>INPUT</var></span></kbd></td> </tr> <tr><td> </td><td>read from INPUT in php format</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-x <var>EXCLUDE</var></span>, <span class="option">--exclude=<var>EXCLUDE</var></span></kbd></td> </tr> <tr><td> </td><td>exclude names matching EXCLUDE from input paths</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-o <var>OUTPUT</var></span>, <span class="option">--output=<var>OUTPUT</var></span></kbd></td> </tr> <tr><td> </td><td>write to OUTPUT in po, pot formats</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-t <var>TEMPLATE</var></span>, <span class="option">--template=<var>TEMPLATE</var></span></kbd></td> </tr> <tr><td> </td><td>read from TEMPLATE in php format</td></tr> <tr><td class="option-group"> <kbd><span class="option">--psyco=<var>MODE</var></span></kbd></td> <td>use psyco to speed up the operation, modes: <a class="reference internal" href="option_psyco.html"><em>none, full, profile</em></a></td></tr> <tr><td class="option-group"> <kbd><span class="option">-P</span>, <span class="option">--pot</span></kbd></td> <td>output PO Templates (.pot) rather than PO files (.po)</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">--duplicates=<var>DUPLICATESTYLE</var></span></kbd></td> </tr> <tr><td> </td><td>what to do with duplicate strings (identical source text): <a class="reference internal" href="option_duplicates.html"><em>merge, msgctxt</em></a> (default: ‘msgctxt’)</td></tr> </tbody> </table> <p>Options (po2ical):</p> <table class="docutils option-list" frame="void" rules="none"> <col class="option" /> <col class="description" /> <tbody valign="top"> <tr><td class="option-group"> <kbd><span class="option">--version</span></kbd></td> <td>show program’s version number and exit</td></tr> <tr><td class="option-group"> <kbd><span class="option">-h</span>, <span class="option">--help</span></kbd></td> <td>show this help message and exit</td></tr> <tr><td class="option-group"> <kbd><span class="option">--manpage</span></kbd></td> <td>output a manpage based on the help</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">--progress=<var>PROGRESS</var></span></kbd></td> </tr> <tr><td> </td><td>show progress as: <a class="reference internal" href="option_progress.html"><em>dots, none, bar, names, verbose</em></a></td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">--errorlevel=<var>ERRORLEVEL</var></span></kbd></td> </tr> <tr><td> </td><td>show errorlevel as: <a class="reference internal" href="option_errorlevel.html"><em>none, message, exception, traceback</em></a></td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-i <var>INPUT</var></span>, <span class="option">--input=<var>INPUT</var></span></kbd></td> </tr> <tr><td> </td><td>read from INPUT in po, pot formats</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-x <var>EXCLUDE</var></span>, <span class="option">--exclude=<var>EXCLUDE</var></span></kbd></td> </tr> <tr><td> </td><td>exclude names matching EXCLUDE from input paths</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-o <var>OUTPUT</var></span>, <span class="option">--output=<var>OUTPUT</var></span></kbd></td> </tr> <tr><td> </td><td>write to OUTPUT in php format</td></tr> <tr><td class="option-group" colspan="2"> <kbd><span class="option">-t <var>TEMPLATE</var></span>, <span class="option">--template=<var>TEMPLATE</var></span></kbd></td> </tr> <tr><td> </td><td>read from TEMPLATE in php format</td></tr> <tr><td class="option-group"> <kbd><span class="option">--psyco=<var>MODE</var></span></kbd></td> <td>use psyco to speed up the operation, modes: <a class="reference internal" href="option_psyco.html"><em>none, full, profile</em></a></td></tr> <tr><td class="option-group"> <kbd><span class="option">--fuzzy</span></kbd></td> <td>use translations marked fuzzy</td></tr> <tr><td class="option-group"> <kbd><span class="option">--nofuzzy</span></kbd></td> <td>don’t use translations marked fuzzy (default)</td></tr> </tbody> </table> </div> <div class="section" id="examples"> <span id="ical2po-examples"></span><h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <p>This example looks at roundtrip of iCalendar translations. While you can do recovery of translations, its unlikely that you will ever need to do that.</p> <p>First we need to create a set of POT files.</p> <div class="highlight-python"><pre>ical2po -P ical.ics ical.pot</pre> </div> <p>The ical.ics file is converted to Gettext POT files called ical.pot. Directories of iCalendar files can also be processed.</p> <p>Begin translating the ical.pot file by first copying it to make a PO file.</p> <div class="highlight-python"><pre>cp ical.pot ical-af.po</pre> </div> <p>You are now in a position to translate the file ical-af.po in your favourite translation tool.</p> <p>Once translated you can convert back as follows:</p> <div class="highlight-python"><pre>po2ical -t ical.ics ical-af.po ical-af.ics</pre> </div> <p>Your translations found in the Afrikaans PO file, <tt class="docutils literal"><span class="pre">ical-ad.po</span></tt>, will be converted to .ics using the file <tt class="docutils literal"><span class="pre">ical.ics</span></tt> as a template and creating your newly translated .ics file <tt class="docutils literal"><span class="pre">ical-af.ics</span></tt>.</p> <p>To update your translations simply redo the POT creation step and make use of <a class="reference internal" href="pot2po.html"><em>pot2po</em></a> to bring your translation up-to-date.</p> </div> <div class="section" id="notes"> <span id="ical2po-notes"></span><h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2> <p>The converter will only process events in the calender file, the file itself can contain many other things that could be localisable. Please raise a bug if you want to extract additional items.</p> <p>The converter does not make use of the LANGUAGE attribute which is permitted in the format. The LANGUAGE attribute does not aid multilingualism in this context so is ignored.</p> <p>The converter could conceivably also process <a class="reference external" href="https://en.wikipedia.org/wiki/Vcard">vCard</a> files, but this has not been implemented for lack of a clear need. Please raise a bug with an example if you have such a file that could benefit from localisation.</p> </div> </div> </div> <hr> <footer class="footer"> <div class="container"> <p class="pull-right"><a href="#">Back to top ↑</a></p> <ul class="unstyled muted"> <li><small> © 2012, Translate.org.za.<br/> </small></li> <li><small> Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. </small></li> </ul> </div> </footer> </body> </html>