~ubuntu-branches/ubuntu/utopic/pgadmin3/utopic

« back to all changes in this revision

Viewing changes to docs/en_US/translation_guidelines.html

  • Committer: Bazaar Package Importer
  • Author(s): Raphael Enrici, src/frm/frmBackup.cpp, debian/control
  • Date: 2006-10-06 21:06:48 UTC
  • mfrom: (1.2.1 upstream) (2.1.2 edgy)
  • Revision ID: james.westby@ubuntu.com-20061006210648-nscnazrse5jbwswf
* Patched frmBackup.cpp to ensure the schema is specified when backing up
  individual tables. (Closes: #387256)
  [src/frm/frmBackup.cpp]
* Cleaned up and updated description of the package. (Closes: #379188)
  [debian/control]

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html>
2
 
 
3
 
<head>
4
 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
5
 
<link rel="STYLESHEET" type="text/css" href="pgadmin3.css">
6
 
<title>Translation steps</title>
7
 
</head>
8
 
 
9
 
<body>
10
 
 
11
 
<body>
12
 
<H3>Translation guidelines</H3>
13
 
<p>Traditionally, it is hard to translate
14
 
strings dealing with database technologies. We will first try to
15
 
outline the difficulties of translation, before proposing writing and
16
 
translating guidelines. If you are translating pgAdmin3, skip
17
 
directly to Translating guidelines at the bottom of the page. 
18
 
</p>
19
 
<H3>Translation problems</H3>
20
 
<p>Structured Query Language (SQL) is
21
 
based on the English language. SQL queries cannot be translated into
22
 
another language. For example, "SELECT * FROM table_foo WHERE
23
 
clause;" will not be translated. 
24
 
</p>
25
 
<p>Sometimes, the border between the SQL
26
 
language and the English language is not obvious, because SQL was
27
 
designed to be close as possible to natural language. For example,
28
 
there are three possible translations for "Create View"
29
 
into French, depending on the context: "Crer vue"
30
 
or "Create View" or "Crer Vue". 
31
 
</p>
32
 
<p>The difficulty for the user is to keep
33
 
in mind the correspondence between English and translated words. In
34
 
our example "View" is translated into "Vue",
35
 
which is an easy correspondence (called "translation pair"
36
 
afterwards). But with dozens of translation pairs like
37
 
"Trigger/D�clencheur", "Row/Ligne",
38
 
"Column/Colonne", you need to keep in mind many variations
39
 
and turn yourself into a translator, which was not the aim of the
40
 
translation. 
41
 
</p>
42
 
<p>In some languages, translation of SQL
43
 
keywords and database objects do not exist yet, because the community
44
 
of users is not large enough to define a language consensus. In such
45
 
cases, translators try to innovate, creating translated words which
46
 
enrich vocabulary but do not clarify the software interface. The
47
 
problem is that other translators may not be aware of the new
48
 
vocabulary, trying to impose their own translation choices. 
49
 
</p>
50
 
<p>As a result, translations lack
51
 
consistency, users have difficulties to find the corresponding SQL
52
 
keywords to write their queries and finally ... turn to the English
53
 
version of the software. 
54
 
</p>
55
 
<p>Also, we should keep in mind that
56
 
English has very few grammar rules compared to other European
57
 
languages, which have complex cases (feminine/neutral/masculine) and
58
 
derivation (nominative, accusative, dative, etc...). Non-European
59
 
languages sometimes do not have verbs, adjectives and others
60
 
aggregate nouns. This causes many translation problems when
61
 
programmers try to build sentences like "Create a new %s"
62
 
to handle cases like "Create a new View", "Create a
63
 
new Table", etc... Let's study this example in more detail: 
64
 
</p>
65
 
<UL>
66
 
        <li><p>"Create
67
 
        a new %s" is translated into French by "Crer
68
 
        nouveau/nouvelle %s" to handle feminine/masculine cases, which
69
 
        is not very obvious. In German, "%s" will not be replaced
70
 
        safely by a noun, because it must be derivated in accusative case.
71
 
        In several European languages, the replacement of "%s" by
72
 
        a noun may fail. 
73
 
        </p>
74
 
        <li><p>Some
75
 
        aggregative languages will not express the two words "new %s"
76
 
        separately but will join them, either writing "%snew" or
77
 
        "new%s" in a single noun, with derivation and cases.
78
 
        Hungarian is an example where "%s" constructions will
79
 
        sometimes fail. 
80
 
        </p>
81
 
        <li><p>Also, in non-European languages,
82
 
        adjectives like "new" or verbs like "create" may
83
 
        not exist and be expressed by a suffix or a prefix. In such cases,
84
 
        translating "Create a new %s" is simply impossible. 
85
 
        </p>
86
 
</UL>
87
 
<p>When you start translating pgAdmin3,
88
 
PhpPgAdmin3 or PostgreSQL into your mother tongue, you will soon
89
 
notice this kind of problem. The only solution is to define writing
90
 
and translation guidelines and to stick to them. 
91
 
</p>
92
 
<H3>Writing guidelines</H3>
93
 
<p>We propose a very simple solution
94
 
based on the idea that a developer/writer should always try to make a
95
 
clear difference between SQL keywords and natural language. If
96
 
possible, SQL keywords and database objects should be written in
97
 
capital letters. For example, "Create a new view" should be
98
 
written "Create a new VIEW". 
99
 
</p>
100
 
<p>Avoid the use of "%s" unless
101
 
the replaced sting is invariable, like it is the case for a product
102
 
name,a username, a password, etc... As such, "Successfully
103
 
connected to host: %s" and "User %s was disconnected"
104
 
are valid strings. 
105
 
</p>
106
 
<p>Never write a string like "Create
107
 
a new %s" for the reasons explained previously. You should write
108
 
"Create a new VIEW", "Create a new TABLE",
109
 
"Create a new INDEX", etc... 
110
 
</p>
111
 
<H3>Translating guidelines</H3>
112
 
<p>Never translate SQL keywords written
113
 
in upper-case letters for the reasons explained before. In some cases
114
 
you might even break pgAdmin3 if you do! 
115
 
</p>
116
 
<p>Stick as much as possible to words
117
 
which are close to the original SQL syntax. For example, in French,
118
 
you may use "vue" for "view", because both words
119
 
start with the letter "v". Do not choose distant words,
120
 
like "d�clencheur" for "trigger", because
121
 
entry-level users may not be able to make a good use of the SQL
122
 
syntax ... and ultimately switch to the English version. Sometimes
123
 
it's better to simply leave these keywords untranslated, instead of
124
 
creating a fancy word nobody will recognize. 
125
 
</p>
126
 
<p>Please take special care about
127
 
including all %s and %d variable placeholders correctly. If you make
128
 
a typo error, the application might crash. On rare occasions, it
129
 
might be necessary to reorder placeholders. In the following
130
 
(fictive) example, both parameter positions are exchanged: "Server
131
 
%s user %s is logged in." could be translated by "L'utilisateur
132
 
%2$s est connect au serveur %1$s.". At the moment,
133
 
pgAdmin3 does not require any reorder placehorders, but it might
134
 
change in the future. Just be aware of it! 
135
 
</p>
136
 
<p>Keyboard shortcuts are denoted by a
137
 
leading "&". For example "&Add", which is
138
 
translated into French by "&Ajouter", can be triggered
139
 
from keyboard using Alt + A. Be careful when changing letters, to
140
 
avoid keyboard entry conflicts within one menu. If you deviate from
141
 
the original shortcut keys, pgAdmin3 users might have problems
142
 
remembering shortcuts in both English and translated pgAdmin3
143
 
versions. Therefore, be careful creating new shortcuts if you cannot
144
 
choose the same letter.</p>
145
 
<p>Menu strings also contain hard coded
146
 
shortcuts (Ctrl-X) or function keys (F5). These can be identified by
147
 
a preceding \t (tab). If appropriate, the modifier key name may be
148
 
translated (Ctrl-), but the key combination must remain the same in
149
 
any case, because the behaviour is coded in pgAdmin3 source.</p>
150
 
<p>Most forms are not designed with
151
 
resizing capabilities, because this is quite hard work. The only
152
 
resizing forms are the function, view and rule property windows.
153
 
Therefore, you may need to shrink the translated text to the English
154
 
size. In general, we tried to leave enough space for translation
155
 
texts, but if you believe there are certain places we should spend
156
 
more space please let us know.</p>
157
 
</body>
158
 
</html>