<!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/xhtml;charset=UTF-8"/> <title>Vidalia: ts2po.cpp File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_b47abd1aad201a152869566145babb61.html">src</a> » <a class="el" href="dir_beeb2bbed11c559150a792aad3aaec87.html">tools</a> » <a class="el" href="dir_8fe8d42ab45e3df64296dce35460271f.html">ts2po</a> </div> </div> <div class="contents"> <h1>ts2po.cpp File Reference</h1><code>#include <QFile></code><br/> <code>#include <QFileInfo></code><br/> <code>#include <QDomDocument></code><br/> <code>#include <QTextStream></code><br/> <code>#include <QTextCodec></code><br/> <code>#include <QDateTime></code><br/> <code>#include <stdlib.h></code><br/> <code>#include "<a class="el" href="ts2po__config_8h_source.html">ts2po_config.h</a>"</code><br/> <p><a href="ts2po_8cpp_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#aaf493239a4b7c7ac64cddf11f4c645fc">TS_DOCTYPE</a> "TS"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#abd01a0d2c86e2f28e2c6507b5b736ba7">TS_ELEMENT_CONTEXT</a> "context"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a468729b115d42c7af109b35a761ff05c">TS_ELEMENT_NAME</a> "name"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a07234354fb5e296059e243d98234949f">TS_ELEMENT_MESSAGE</a> "message"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a3ec15d374521f82def2a82835882e410">TS_ELEMENT_SOURCE</a> "source"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#ab9a9f6c9d05e2bd0350a5340d8c60125">TS_ELEMENT_TRANSLATION</a> "translation"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#ae189afb61ba8e2a4326c11fa5a474b26">TS_ELEMENT_LOCATION</a> "location"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a6fc664bf2ea61c8679003c19f83d9d41">TS_ATTR_FILENAME</a> "filename"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#ac8d40e558d9a3e76728a9494186f13c8">TS_ATTR_LINE</a> "line"</td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a3dc4951bec8c602937d64416a8f12e72">create_po_timestamp</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a1e80cf47e6bc55290cc107c1678dacf4">create_po_header</a> (const QString &encoding)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a442e939cbbecc98becfb288365fc52d1">parse_filename</a> (const QString &filePath)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a17381a5a6e428551463c0392c84fa9f0">convert_context</a> (const QDomElement &context, QString *po, QString *errorMessage)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#afffd28cd7e24b3b62c03f1d016f865ce">ts2po</a> (const QDomDocument *ts, QString *po, const QString &encoding, QString *errorMessage)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a068e9e76bf4a101f996e30fd122df007">print_usage_and_exit</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ts2po_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a6fc664bf2ea61c8679003c19f83d9d41"></a><!-- doxytag: member="ts2po.cpp::TS_ATTR_FILENAME" ref="a6fc664bf2ea61c8679003c19f83d9d41" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ATTR_FILENAME "filename"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00028">28</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00080">convert_context()</a>.</p> </div> </div> <a class="anchor" id="ac8d40e558d9a3e76728a9494186f13c8"></a><!-- doxytag: member="ts2po.cpp::TS_ATTR_LINE" ref="ac8d40e558d9a3e76728a9494186f13c8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ATTR_LINE "line"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00029">29</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00080">convert_context()</a>.</p> </div> </div> <a class="anchor" id="aaf493239a4b7c7ac64cddf11f4c645fc"></a><!-- doxytag: member="ts2po.cpp::TS_DOCTYPE" ref="aaf493239a4b7c7ac64cddf11f4c645fc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_DOCTYPE "TS"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00021">21</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="abd01a0d2c86e2f28e2c6507b5b736ba7"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_CONTEXT" ref="abd01a0d2c86e2f28e2c6507b5b736ba7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_CONTEXT "context"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00022">22</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="ae189afb61ba8e2a4326c11fa5a474b26"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_LOCATION" ref="ae189afb61ba8e2a4326c11fa5a474b26" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_LOCATION "location"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00027">27</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00080">convert_context()</a>.</p> </div> </div> <a class="anchor" id="a07234354fb5e296059e243d98234949f"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_MESSAGE" ref="a07234354fb5e296059e243d98234949f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_MESSAGE "message"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00024">24</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="a468729b115d42c7af109b35a761ff05c"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_NAME" ref="a468729b115d42c7af109b35a761ff05c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_NAME "name"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00023">23</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="a3ec15d374521f82def2a82835882e410"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_SOURCE" ref="a3ec15d374521f82def2a82835882e410" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_SOURCE "source"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00025">25</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="ab9a9f6c9d05e2bd0350a5340d8c60125"></a><!-- doxytag: member="ts2po.cpp::TS_ELEMENT_TRANSLATION" ref="ab9a9f6c9d05e2bd0350a5340d8c60125" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TS_ELEMENT_TRANSLATION "translation"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00026">26</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a17381a5a6e428551463c0392c84fa9f0"></a><!-- doxytag: member="ts2po.cpp::convert_context" ref="a17381a5a6e428551463c0392c84fa9f0" args="(const QDomElement &context, QString *po, QString *errorMessage)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int convert_context </td> <td>(</td> <td class="paramtype">const QDomElement & </td> <td class="paramname"> <em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QString * </td> <td class="paramname"> <em>po</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QString * </td> <td class="paramname"> <em>errorMessage</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert the messages in <b>context</b> to PO format. The output will be appended to <b>po</b>. Returns the number of source messages converted on success, or -1 on error and <b>errorMessage</b> will be set. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00080">80</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>References <a class="el" href="ts2po_8cpp_source.html#l00070">parse_filename()</a>, <a class="el" href="ts2po_8cpp_source.html#l00028">TS_ATTR_FILENAME</a>, <a class="el" href="ts2po_8cpp_source.html#l00029">TS_ATTR_LINE</a>, <a class="el" href="ts2po_8cpp_source.html#l00027">TS_ELEMENT_LOCATION</a>, <a class="el" href="po2ts_8cpp_source.html#l00022">TS_ELEMENT_MESSAGE</a>, <a class="el" href="po2ts_8cpp_source.html#l00021">TS_ELEMENT_NAME</a>, <a class="el" href="po2ts_8cpp_source.html#l00023">TS_ELEMENT_SOURCE</a>, and <a class="el" href="po2ts_8cpp_source.html#l00024">TS_ELEMENT_TRANSLATION</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00144">ts2po()</a>.</p> </div> </div> <a class="anchor" id="a1e80cf47e6bc55290cc107c1678dacf4"></a><!-- doxytag: member="ts2po.cpp::create_po_header" ref="a1e80cf47e6bc55290cc107c1678dacf4" args="(const QString &encoding)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString create_po_header </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"> <em>encoding</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return a header to be placed at the top of the .po file. The header will include <b>encoding</b> in the Content-Type header line. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00043">43</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>References <a class="el" href="nsh2po_8cpp_source.html#l00075">create_po_timestamp()</a>, <a class="el" href="ts2po__config_8h_source.html#l00018">TS2PO_CONTACT_ADDR</a>, <a class="el" href="ts2po__config_8h_source.html#l00020">TS2PO_LANGUAGE_TEAM</a>, <a class="el" href="ts2po__config_8h_source.html#l00016">TS2PO_PROJECT_ID</a>, and <a class="el" href="ts2po__config_8h_source.html#l00014">TS2PO_VERSION</a>.</p> </div> </div> <a class="anchor" id="a3dc4951bec8c602937d64416a8f12e72"></a><!-- doxytag: member="ts2po.cpp::create_po_timestamp" ref="a3dc4951bec8c602937d64416a8f12e72" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString create_po_timestamp </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the current time (in UTC) in the format YYYY-MM-DD HH:MM+0000. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00034">34</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> </div> </div> <a class="anchor" id="a0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="ts2po.cpp::main" ref="a0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int main </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>argv</em>[]</td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00199">199</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>References <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, <a class="el" href="html_8cpp_source.html#l00033">i()</a>, <a class="el" href="nsh2po_8cpp_source.html#l00259">print_usage_and_exit()</a>, and <a class="el" href="ts2po_8cpp_source.html#l00144">ts2po()</a>.</p> </div> </div> <a class="anchor" id="a442e939cbbecc98becfb288365fc52d1"></a><!-- doxytag: member="ts2po.cpp::parse_filename" ref="a442e939cbbecc98becfb288365fc52d1" args="(const QString &filePath)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString parse_filename </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"> <em>filePath</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Parse the filename from the relative or absolute path given in <b>filePath</b>. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00070">70</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00080">convert_context()</a>.</p> </div> </div> <a class="anchor" id="a068e9e76bf4a101f996e30fd122df007"></a><!-- doxytag: member="ts2po.cpp::print_usage_and_exit" ref="a068e9e76bf4a101f996e30fd122df007" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void print_usage_and_exit </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Display application usage and exit. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00185">185</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>References <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>.</p> </div> </div> <a class="anchor" id="afffd28cd7e24b3b62c03f1d016f865ce"></a><!-- doxytag: member="ts2po.cpp::ts2po" ref="afffd28cd7e24b3b62c03f1d016f865ce" args="(const QDomDocument *ts, QString *po, const QString &encoding, QString *errorMessage)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ts2po </td> <td>(</td> <td class="paramtype">const QDomDocument * </td> <td class="paramname"> <em>ts</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QString * </td> <td class="paramname"> <em>po</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const QString & </td> <td class="paramname"> <em>encoding</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QString * </td> <td class="paramname"> <em>errorMessage</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert the TS-formatted document in <b>ts</b> to a PO-formatted document. The output will be written to <b>po</b>, including a file header that specifies <b>encoding</b> as the character set. Returns the number of strings converted on success, or -1 on error and <b>errorMessage</b> will be set. </p> <p>Definition at line <a class="el" href="ts2po_8cpp_source.html#l00144">144</a> of file <a class="el" href="ts2po_8cpp_source.html">ts2po.cpp</a>.</p> <p>References <a class="el" href="ts2po_8cpp_source.html#l00080">convert_context()</a>, <a class="el" href="nsh2po_8cpp_source.html#l00083">create_po_header()</a>, <a class="el" href="po2ts_8cpp_source.html#l00018">TS_DOCTYPE</a>, and <a class="el" href="po2ts_8cpp_source.html#l00020">TS_ELEMENT_CONTEXT</a>.</p> <p>Referenced by <a class="el" href="ts2po_8cpp_source.html#l00199">main()</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Aug 30 22:58:55 2010 for Vidalia by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>