Author: aalam Update of /cvs/fedora/web/html/docs/translation-quick-start-guide In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6713/translation-quick-start-guide Added Files: fedora.css sn_accounts.html sn_translating_docs.html sn_translating_software.html Log Message: add new document guide for Translation Quick Guide --- NEW FILE fedora.css --- /* CSS for Red Hat Linux Project docs from the Documentation Project Written by Tammy Fox and Garrett LeSage Copyright 2003 Tammy Fox, Garrett LeSage, and Red Hat, Inc. Copywight 2005 Tommy Reynolds <Tommy.Reynolds@xxxxxxxxxxxxx> License: GPL */ body { background-attachment scroll; background-color: #FEFEFF; background-image: url('watermark.png'); background-position: top center; background-repeat: repeat; } li p { display: inline; } div.table table { width: 95%; background-color: #DCDCDC; color: #000000; border-spacing: 0; } div.table table th { border: 1px solid #A9A9A9; background-color: #A9A9A9; color: #000000; } div.table table td { border: 1px solid #A9A9A9; background-color: #DCDCDC; color: #000000; padding: 0.5em; margin-bottom: 0.5em; margin-top: 2px; } div.note table, div.tip table, div.important table, div.caution table, div.warning table { width: 95%; border: 2px solid #D0D0B0; background-color: #FAF9E0; color: #000000; /* padding inside table area */ padding: 0.5em; margin-bottom: 0.5em; margin-top: 0.5em; } .qandaset table { border-collapse: collapse; } .qandaset { } .qandaset tr.question { } .qandaset tr.question td { font-weight: bold; padding: 1em 1em 0; } .qandaset tr.answer td { padding: 0.25em 1em 1.5em; } .qandaset tr.question td, .qandaset tr.answer td { } hr { border: 0; border-bottom: 1px solid #ccc; } h1, h2, h3, h4 { font-family: luxi sans,sans-serif; color: #22437f; font-weight: bold; } h1 { font-size: 1.75em; } h2 { font-size: 1.25em; } h3 { font-size: 1.1em; } a:link { color: #900; } a:visited { color: #48468f; } a:hover { color: #f20; } code.screen, pre.screen { font-family: monospace; font-size: 1em; display: block; padding: 10px; border: 1px solid #bbb; background-color: #eee; color: #000; overflow: auto; border-radius: 2.5px; -moz-border-radius: 2.5px; margin: 0.5em 2em; } div.example { padding: 10px; border: 1px solid #bbb; margin: 0.5em 2em; } .procedure ol li { margin-bottom: 0.5em; } .procedure ol li li { /* prevent inheritance */ margin-bottom: 0em; } .procedure ol li pre { margin-bottom: 1em; } .itemizedlist ul li { margin-bottom: 0.5em; } .itemizedlist ul li li { /* prevent inheritance */ margin-bottom: 0em; } p.title { text-align: center; } --- NEW FILE sn_accounts.html --- <html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>2. Accounts and subscriptions</title><link rel="stylesheet" href="fedora.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title=""><link rel="up" href="index.html" title=""><link rel="previous" href="index.html" title=""><link rel="next" href="sn_translating_software.html" title="3. Translating software"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2. Accounts and subscriptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="sn_translating_software.html">Next</a></td></tr></table><hr></div><div class="s! ection" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sn_accounts"></a>2. Accounts and subscriptions</h2></div></div><div></div></div><p> To participate in the Fedora Project as a translator you need an account. You can apply for an account at <a href="http://i18n.redhat.com/cgi-bin/i18n-signup/" target="_top">http://i18n.redhat.com/cgi-bin/i18n-signup/</a>. You need to provide a user name (login), an email address, a target language — most likely your native language — and the public part of your SSH key. </p><p> If you do not have a SSH key yet, you can generate one using the following steps: </p><div class="procedure"><ol type="1"><li><p> Type in a comand line: </p><pre class="screen"> <tt class="command">ssh-keygen -t dsa</tt> </pre><p> Accept the default location (<tt class="filename">~/.ssh/id_dsa</tt>) and enter a passphrase. </p><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Caution: Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="./stylesheet-images/caution.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p> Do not forget this passphrase as you will need it to access to the CVS repository. </p></td></tr></table></div></li><li><p> Change permissions to your key and <tt class="filename">.ssh</tt> directory: </p><pre class="screen"> <tt class="command">chmod 755 ~/.ssh</tt> </pre></li><li><p> Copy and paste the ssh key in the space provided in order to complete the account application. </p></li></ol></div><p> There are also two lists where you can discuss translation issues. The first is <i class="firstterm">fedora-trans-list</i>, a general list to discuss problems that affect all languages. Refer to <a href="http://www.redhat.com/archives/fedora-trans-list" target="_top">http://www.redhat.com/archives/fedora-trans-list</a> for more information. The second is the language-specific list, such as <i class="firstterm">fedora-trans-es</i> for Spanish translators, to discuss issues that affect only the individual community of translators. </p><p> You may also find it useful to subscribe to <i class="firstterm">fedora-docs-list</i> to stay informed about general documentation issues. </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sn_translating_software.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 3. Translating software</td></tr></table></div></body></html> --- NEW FILE sn_translating_docs.html --- <html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>4. Translating documentation</title><link rel="stylesheet" href="fedora.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title=""><link rel="up" href="index.html" title=""><link rel="previous" href="sn_translating_software.html" title="3. Translating software"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4. Translating documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sn_translating_software.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">! <a name="sn_translating_docs"></a>4. Translating documentation</h2></div></div><div></div></div><p> The Fedora documentation is also stored in a CVS repository under the directory <tt class="filename">docs/</tt>. The process to download the documentation is similar to the one used to download <tt class="filename">.po</tt> files: </p><pre class="screen"> <tt class="command">export CVSROOT=:ext:<i class="replaceable"><tt>username</tt></i>@cvs.fedora.redhat.com:/cvs/docs</tt> <tt class="command">cvs co docs</tt> </pre><p> This step downloads all the current documents in the directory. To download only a single document to translate, list the current modules in the repository and then check out that module. You must also check out the <tt class="filename">docs-common</tt> module to check document validity for building. </p><pre class="screen"> <tt class="command">cvs co -c</tt> <tt class="command">cvs co example-tutorial docs-common</tt> </pre><p> The documents are written in DocBook XML format and named using the specific-language locale, such as <tt class="filename">example-tutorial-en.xml</tt>. If you plan to translate directly from the original XML file, you should create the document for your language: </p><pre class="screen"> <tt class="command">cp example-tutorial-en.xml example-tutorial-<i class="replaceable"><tt>es</tt></i>.xml</tt> </pre><p> Afterwards you can work on the new copy. </p><p> You can also convert the XML files into <tt class="filename">.po</tt> files and work with a <i class="replaceable"><tt>.po</tt></i> editor like <span><b class="application">KBabel</b></span> or <span><b class="application">gtranslator</b></span>. To do so, follow these steps: </p><div class="procedure"><ol type="1"><li><p> In a terminal, go to the directory of the document you want to translate: </p><pre class="screen"> <tt class="command">cd ~/docs/example-tutorial</tt> </pre></li><li><p> Extract the translatable strings with xml2pot: </p><pre class="screen"> <tt class="command">xml2pot example-tutorial-en.xml > <i class="replaceable"><tt>lang</tt></i>.po</tt> </pre></li><li><p> Now you can translate the file using the same application used to translate software: </p><pre class="screen"> <tt class="command">kbabel <i class="replaceable"><tt>lang</tt></i>.po</tt> </pre></li><li><p> Once you finish, it is necessary to convert the translated <tt class="filename">.po</tt> file to <tt class="filename">.xml</tt> file in the target language with <tt class="command">po2xml</tt>: </p><pre class="screen"> <tt class="command">po2xml example-tutorial-en.xml <i class="replaceable"><tt>lang</tt></i>.po > example-tutorial-<i class="replaceable"><tt>lang</tt></i>.xml</tt> </pre></li></ol></div><p> The <tt class="command">xml2po</tt> filter does not include entities in the <tt class="filename">.po</tt> file. You must change the language of the document. Locate a line like the following near the top of the document: </p><pre class="screen"> <tt class="computeroutput"><article id="example-tutorial" lang="en"></tt> </pre><p>Change the attribute to your language:</p><pre class="screen"> <b class="userinput"><tt><article id="example-tutorial" lang="<i class="replaceable"><tt>es</tt></i>"></tt></b> </pre><p> When the translated file is ready, add it to the repository: </p><pre class="screen"> <tt class="command">cvs add example-tutorial-<i class="replaceable"><tt>lang</tt></i>.xml</tt> <tt class="command">cvs commit -m '<i class="replaceable"><tt>Any comment</tt></i>' example-tutorial-<i class="replaceable"><tt>lang</tt></i>.xml</tt> </pre><p> You may have to change the <tt class="filename">Makefile</tt> so the document can be built in HTML and PDF formats. </p><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Caution: Note:"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="./stylesheet-images/caution.png"></td><th align="left">Note:</th></tr><tr><td colspan="2" align="left" valign="top"><p> Please advise the community through fedora-doc-list and fedora-trans-<i class="replaceable"><tt>locale</tt></i> that you are modifying the <tt class="filename">Makefile</tt>. Inform the community that you are working on the translation of this document before you begin, to avoid conflict between translators working on the same file. </p></td></tr></table></div><div class="procedure"><ol type="1"><li><p> In the text editor of your preference, open the <tt class="filename">Makefile</tt>. </p><pre class="screen"> <tt class="command">vi Makefile</tt> </pre></li><li><p> Add the locale of the new translation after the other languages as in the following example: </p><pre class="screen"> <b class="userinput"><tt>LANGUAGES = en de <i class="replaceable"><tt>lang</tt></i></tt></b> </pre></li><li><p> Commit the <tt class="filename">Makefile</tt>. </p><pre class="screen"> <tt class="command">cvs commit -m '<i class="replaceable"><tt>Any comment</tt></i>' Makefile</tt> </pre></li><li><p> Then, you can build the document in your langugage by typing: </p><pre class="screen"> <tt class="command">make html-<i class="replaceable"><tt>lang</tt></i></tt> </pre></li></ol></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sn_translating_software.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">3. Translating software </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> --- NEW FILE sn_translating_software.html --- <html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>3. Translating software</title><link rel="stylesheet" href="fedora.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title=""><link rel="up" href="index.html" title=""><link rel="previous" href="sn_accounts.html" title="2. Accounts and subscriptions"><link rel="next" href="sn_translating_docs.html" title="4. Translating documentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3. Translating software</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sn_accounts.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="sn_translating_docs.html">Next</a></td></tr>! </table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sn_translating_software"></a>3. Translating software</h2></div></div><div></div></div><p> The translatable part of a software package is available in one or more <tt class="filename">po</tt> files. The Fedora Project stores these files in a CVS repository under the directory <tt class="filename">translate/</tt>. Once your account has been approved, download this directory typing the following instructions in a command line: </p><pre class="screen"> <tt class="command">export CVS_RSH=ssh</tt> <tt class="command">export CVSROOT=:ext:<i class="replaceable"><tt>username</tt></i>@i18.redhat.com:/usr/local/CVS</tt> <tt class="command">cvs -z9 co translate/</tt> </pre><p> These commands download all the modules and <tt class="filename">.po</tt> files to your machine following the same hierarchy of the repository. Each directory contains a <tt class="filename">.pot</tt> file, such as <tt class="filename">anaconda.pot</tt>, and the <tt class="filename">.po</tt> files for each language, such as <tt class="filename">zh_CN.po</tt>, <tt class="filename">de.po</tt>, and so forth. </p><p> You can check the status of the translations at <a href="http://i18n.redhat.com/cgi-bin/i18n-status" target="_top">http://i18n.redhat.com/cgi-bin/i18n-status</a>. Choose your language in the dropdown menu or check the overall status. Select a package to view the maintainer and the name of the last translator of this module. If you want to translate a module, contact your language-specific list and let your community know you are working on that module. Afterwards, select <tt class="literal">take</tt> in the status page. The module is then assigned to you. At the password prompt, enter the one you received via e-mail when you applied for your account. </p><p> You can now start translating. </p><div class="procedure"><ol type="1"><li><p> Go to the directory of the package you have taken. </p><pre class="screen"> <tt class="command">cd ~/translate/<i class="replaceable"><tt>package_name</tt></i></tt> </pre></li><li><p> Update the files with the following command: </p><pre class="screen"> <tt class="command">cvs up</tt> </pre></li><li><p> Translate the po file of your language in a po editor such as <span><b class="application">KBabel</b></span> or <span><b class="application">gtranslator</b></span>. For example, to open the <tt class="filename">.po</tt> file for Spanish in <span><b class="application">KBabel</b></span>, type: </p><pre class="screen"> <tt class="command">kbabel es.po</tt> </pre></li><li><p> When you finish your work, commit your changes back to the repository: </p><pre class="screen"> <tt class="command">cvs commit -m 'comments' <i class="replaceable"><tt>lang</tt></i>.po</tt> </pre></li><li><p> As a last step, click the <tt class="literal">release</tt> link on the status page to release the module so other people can work on it. </p></li></ol></div><p> If you want to proofread your translation as part of the software, follow these steps: </p><div class="procedure"><ol type="1"><li><p> Go to the directory of the package you want to proofread: </p><pre class="screen"> <tt class="command">cd ~/translate/<i class="replaceable"><tt>package_name</tt></i></tt> </pre></li><li><p> Convert the <tt class="filename">.po</tt> file in <tt class="filename">.mo</tt> file with <tt class="command">msgfmt</tt>: </p><pre class="screen"> <tt class="command">msgfmt <i class="replaceable"><tt>lang</tt></i>.po</tt> </pre></li><li><p> Overwrite the existing <tt class="filename">.mo</tt> file in <tt class="filename">/usr/share/locale/<i class="replaceable"><tt>lang</tt></i>/LC_MESSAGES/</tt>. First, back up the existing file: </p><pre class="screen"> <tt class="command">cp /usr/share/locale/<i class="replaceable"><tt>lang</tt></i>/LC_MESSAGES/<i class="replaceable"><tt>package_name</tt></i>.mo <i class="replaceable"><tt>package_name</tt></i>.mo-backup</tt> <tt class="command">mv <i class="replaceable"><tt>package_name</tt></i>.mo /usr/share/locale/<i class="replaceable"><tt>lang</tt></i>/LC_MESSAGES/</tt> </pre></li><li><p> Proofread the package with the translated strings as part of the application: </p><pre class="screen"> <tt class="command">LANG=<i class="replaceable"><tt>lang</tt></i> rpm -qi <i class="replaceable"><tt>package_name</tt></i></tt> </pre></li></ol></div><p> The application related to the translated package will run with the translated strings. </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sn_accounts.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sn_translating_docs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2. Accounts and subscriptions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 4. Translating documentation</td></tr></table></div></body></html>