1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/linguist/book/linguist-manual.book:6 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Introduction</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-2.html">Next: Release Manager</a>]</p>
<h2 align="center">Introduction</h2>
<p>Qt provides excellent support for translating applications into local languages. This Guide explains how to use Qt's translation tools for each of the roles involved in translating an application. The Guide begins with a brief overview of the issues that must be considered, followed by chapters devoted to each role and the supporting tools provided.</p>
<p><a href="linguist-manual-2.html">Chapter 2: Release Manager</a> is aimed at the person with overall responsibility for the release of the application. They will typically coordinate the work of the software engineers and the translator. The chapter describes the use of two tools. The <a href="linguist-manual-2.html#2">lupdate</a> tool is used to synchronize source code and translations. The <a href="linguist-manual-2.html#3">lrelease</a> tool is used to create runtime translation files for use by the released application.</p>
<p><a href="linguist-manual-3.html">Chapter 3: Translators</a> is for translators. It describes the use of the <em>Qt Linguist</em> tool. No computer knowledge beyond the ability to start a program and use a text editor or word processor is required.</p>
<p><a href="linguist-manual-4.html">Chapter 4: Programmers</a> is for Qt programmers. It explains how to create Qt applications that are able to use translated text. It also provides guidance on how to help the translator identify the context in which phrases appear. This chapter's three short tutorials cover everything the programmer needs to do.</p>
<h3><a name="1"></a>Overview of the Translation Process</h3>
<p>Most of the text that must be translated in an application program consists of either single words or short phrases. These typically appear as window titles, menu items, pop-up help text (balloon help), and labels to buttons, check boxes and radio buttons.</p>
<p>The phrases are entered into the source code by the programmer in their native language using a simple but special syntax to identify that the phrases require translation. The Qt tools provide context information for each of the phrases to help the translator, and the programmer is able to add additional context information to phrases when necessary. The release manager generates a set of translation files that are produced from the source files and passes these to the translator. The translator opens the translation files using <em>Qt Linguist</em>, enters their translations and saves the results back into the translation files, which they pass back to the release manager. The release manager then generates fast compact versions of these translation files ready for use by the application. The tools are designed to be used in repeated cycles as applications change and evolve, preserving existing translations and making it easy to identify which new translations are required. <em>Qt Linguist</em> also provides a phrase book facility to help ensure consistent translations across multiple applications and projects.</p>
<p>Translators and programmers must address a number of issues because of the subtleties and complexities of human language:</p>
<ul><li><p>A single phrase may need to be translated into several different forms depending on context, e.g. <em>open</em> in English might become <em></em><em>öffnen</em>, "open file", or <em>aufbauen</em>, "open internet connection", in German.</p>
<li><p>Keyboard accelerators may need to be changed but without introducing conflicts, e.g. "&Quit" in English becomes "Avslutt" in Norwegian which doesn't contain a "Q". We cannot use a letter that is already in use -- unless we change several accelerators.</p>
<li><p>Phrases that contain variables, for example, "The 25 files selected will take 63 seconds to process", where the two numbers are inserted programmatically at runtime may need to be reworded because in a different language the word order and therefore the placement of the variables may have to change.</p>
</ul><p>The Qt translation tools provide clear and simple solutions to these issues.</p>
<p><hr></p>
<p>Please send comments and suggestions regarding this tutorial to the <a href="mailto:doc@trolltech.com?subject=Translation_Tutorial">Qt doc team</a>. Bugs in the tools should be sent to <a href="mailto:qt-bugs@trolltech.com?subject=Translation_Tutorial">qt-bugs</a>.</p>
<!-- eof -->
<p align="right">[<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-2.html">Next: Release Manager</a>]</p>
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>
|