File: TRANSLATING

package info (click to toggle)
auralquiz 1.0.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,060 kB
  • sloc: cpp: 2,337; xml: 30; makefile: 4
file content (163 lines) | stat: -rw-r--r-- 6,696 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163

 Auralquiz - Quiz game about your music
 Copyright 2011-2017  JanKusanagi JRR <jancoding@gmx.com>

===============================================================================

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the
   Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.

   Or visit http://www.gnu.org/licenses/

===============================================================================


Auralquiz is translated (from its original English) to a few languages,
currently Spanish, Catalan, French, Italian, Czech, and Galician.
The file /translations/translation-status keeps updated info on this.


If you wish to contribute a new language, or help updating an existing one,
let me know via Pump.io (jankusanagi@datamost.com) or via e-mail, at the address
at the top of the document, so I can make sure that two people aren't working
on the same thing.


Here's a basic explanation of how the translation process is done:



Getting started
===============================================================================

If you want to translate Auralquiz to your language, you'll need to edit the
corresponging TS file from the /translations folder. These .ts files can be
edited with any plain text editor, but the best way to edit them is probably
using the Qt Linguist program.
(Qt Linguist guide: http://doc.qt.io/qt-5/linguist-translators.html)


For instance, if you wish to translate the program into French, you'll have to
open auralquiz_fr.ts, included with the source code of Auralquiz, in Qt Linguist.
The language code used is often the same as your country's Internet domain.

If you start Auralquiz from a terminal, you'll see something like:

   "Using translation file: :/translations/auralquiz_fr_FR.UTF8"

which indicates that your system uses fr_FR.UTF8 as language locale, and the
file you should edit is auralquiz_fr.ts, and generate a "compiled" language file
auralquiz_fr.qm.

Auralquiz should load the language configured in your operating system.
If you want to force it to use a specifc language, you can run it with
a specific LANG variable, like this:

LANG=fr ./auralquiz


If there's no file for your language, you can make a copy of auralquiz_EMPTY.ts
and rename it to your language's code, such as auralquiz_ja.ts for Japanese.
If you do this, make sure your file is not overwritten by mine when I add your
new language to the project; mine would be empty. This mainly applies to people
who clone the code using git.


*** If you have any doubts, or if the file for your language doesn't exist yet,
just contact me on Pump.io (jankusanagi@identi.ca) or via e-mail, at the address
at the top of this document.



Translating
===============================================================================

The translation itself is quite simple. There are a lot of "strings" (sentences
or words), grouped together based (roughly) on what widget uses them. So, some
are used in the Configuration dialog, some are used in the Rooms module, etc.


You just need to go through those lists, translating each word or sentence,
while keeping in mind a few simple rules:


- If a string contains %1, %2, etc, those will be replaced by something when
  used in the program. The translated string should contain those same values
  even if they're in different order due to language differences.
  There are sometimes "developer comments" visible in Qt Linguist for these,
  where there's some clarification of what will replace %1, %2, etc. when the
  program is running.

  Ex: "There are %1 songs available." would translate to Spanish as
      "Hay %1 canciones disponibles.".


- Qt Linguist will warn you if the original string ends with a period and
  the translated string doesn't, or viceversa.


- Strings used in buttons and menus might include an '&' symbol. Those are used
  to mark which letter is used as keyboard accelerator (or shortcut), and should
  be included in the translated version, even if they're in front of a different
  letter. Qt Linguist will warn you if an accelerator is missing.

  Ex: The "&Help" menu might be translated into Spanish as "A&yuda", since there
      is no "H" in the translated string. When running in English, users will
      be able to access that menu by pressing Alt+H. When running in Spanish,
      that menu will be accessed by pressing Alt+Y.

  One thing to keep in mind is that accelerators that are visible at the same
  time on screen shouldn't use the same letter.
  For instance, "&Session" and "&Settings" shouldn't be in the same menu.
  "&Session" and "S&ettings" would work. There's no warning about this,
  so if the accelerators are duplicated in the translation, you'll see that
  using them in the program doesn't work as expected.
  This is a small problem, but try to avoid it.



Besides the translation of the program itself, there are a couple of strings in
the auralquiz.desktop file that should be translated.
Look for the GenericName[yourlanguage] and Comment[yourlanguage] lines. If
they're not there, you can add them yourself using your language code.



Testing it
===============================================================================

Testing your translation is optional, and it requires building Auralquiz from
source. There are instructions about that in the INSTALL file.

To test your updated translation, first use the "File > Release" option in Qt
Linguist. That will generate a .qm file. Make sure it's saved to the same
/translations/ folder as the .ts file. Then rebuild the Auralquiz binary as
usual.

To ensure the newest changes are applied, delete the qrc_auralquiz.* files in
the /build/ folder (if they exist), before rebuilding.



When done
===============================================================================

Once you're done, or when you want to submit your translation, even if it's not
yet complete (which is perfectly fine), you can send the .ts file via e-mail to
the address indicated at the top, or you can create a Merge Request in
gitlab.com, if you're comfortable using git.


Thank you in advance!