translate.mdwn 7.78 KB
Newer Older
1
[[!meta title="Improve Tails in your own language"]]
2
3
4

<div id="intro">

Tails developers's avatar
Tails developers committed
5
<p>So you want to make it easier to use Tails in your own language.
Tails developers's avatar
Tails developers committed
6
Welcome aboard!</p>
7
8
9
10
11

[[!toc levels=3]]

</div>

Tails developers's avatar
Tails developers committed
12
# Things to translate
13

Tails developers's avatar
Tails developers committed
14
15
16
17
If you are a native speaker of one of the languages available on this website,
you can work on correcting, improving or completing the translations that are
already available in Tails.

18
19
## Custom programs

Tails developers's avatar
Tails developers committed
20
Tails comes with several [[custom programs]] which need
21
translation.
22

Tails developers's avatar
Tails developers committed
23
For each program, you can find the PO files, to be used by [[!wikipedia gettext]], via gitweb:
24

25
26
27
28
29
  - [[!tails_devel_gitweb_dir config/chroot_local-includes/usr/share/locale]]
  - [Tails Greeter](http://git.immerda.ch/?p=tails/tails-greeter.git;a=tree;f=po;hb=HEAD)
  - [Tails Persistence Setup](http://git.immerda.ch/?p=tails/persistence-setup.git;a=tree;f=po;hb=HEAD)
  - [Tails USB Installer](http://git.immerda.ch/?p=tails/liveusb-creator.git;a=tree;f=po;hb=HEAD)
  - [Whisperback](http://git.immerda.ch/?p=whisperback.git;a=tree;f=po;hb=HEAD)
30

Tails developers's avatar
Tails developers committed
31
## Website and documentation
32

33
The [[end-user documentation|doc]] is a constant work-in-progress. You can
Tails developers's avatar
Tails developers committed
34
35
have a look at the [[todo/documentation_translation]] page to know which pages
are ready to be translated.
36

Tails developers's avatar
Tails developers committed
37
## Other text to be translated
38

Tails developers's avatar
Tails developers committed
39
See the *Translate* section of the [[/TODO]] list.
40

Tails developers's avatar
Tails developers committed
41
# For English native speakers
42

Tails developers's avatar
Tails developers committed
43
44
45
46
Most of Tails' developers are not native English speakers so you're also more than
welcome to edit, rephrase, correct or improve our English. Since you won't be
able to use translation tools for that but rather edit the original code or wiki
pages your best option will be using Git to submit patches.
47

48
49
<a id="tools"></a>

Tails developers's avatar
Tails developers committed
50
# Translation tools
51

Tails developers's avatar
Tails developers committed
52
## Web interface
53

Tails developers's avatar
Tails developers committed
54
55
56
57
58
59
One can translate pages on this website using the web interface: there
is an *Improve translation* button on the top right of every page that
is a translation. It is nice for quick tasks such as un-fuzzying
a recently changed string or fixing a typo; on the other hand, most
translators find it painful and error-prone for more serious
translation work.
60

Tails developers's avatar
Tails developers committed
61
62
63
64
65
Moreover, parts of Tails (most notably our custom programs) cannot be
translated using the web interface. We therefore recommend anyone
willing to seriously get involved into Tails translation work to use
more appropriate tools, such as a real PO file editor; see below for
details.
66

Tails developers's avatar
Tails developers committed
67
## Locked pages
68

Tails developers's avatar
Tails developers committed
69
70
71
72
Some pages on this website are 'locked' and cannot be edited through the web
interface. Those are pages we considered too sensitive for open editing: the
Download page, the page about our GnuPG key, etc. For those pages you will need
to use Git to send us your work.
73

Tails developers's avatar
Tails developers committed
74
## PO editor
75

76
The [Poedit] editor is installed in Tails.
77

127.0.0.1's avatar
127.0.0.1 committed
78
Many different workflows can be used to translate Tails strings
79
80
using a PO editor. Let's describe a few recommended ones, from the
smallest to the biggest initial setup time... the last ones actually
127.0.0.1's avatar
127.0.0.1 committed
81
being the most comfortable to work with in the long run.
82

Tails developers's avatar
Tails developers committed
83
### Piggy-back the web interface
84

Tails developers's avatar
Tails developers committed
85
86
87
88
89
90
91
92
93
94
95
1. In the web interface, click the *Improve translation* button on the
   page you wish to translate.
2. In the text edition web page, copy the whole text.
3. Paste it into a new, empty raw text document.
4. Save this text document as a file whose name ends with the `.po`
   extension.
5. Open the `.po` file in your preferred PO file editor.
6. Translate whatever you can.
7. Paste back the whole resulting text into your web browser.
8. Preview your changes.
9. Click *Save* when satisfied with the results.
96

Tails developers's avatar
Tails developers committed
97
### Using Git
98

Tails developers's avatar
Tails developers committed
99
100
You can either send us Git patches or ask us to pull from your Git
branch.
101

Tails developers's avatar
Tails developers committed
102
103
Note that the website shall be translated in the `master` branch,
while custom Tails programs live in the `devel` branch.
104

Tails developers's avatar
Tails developers committed
105
#### Send us Git patches
106

Tails developers's avatar
Tails developers committed
107
108
1. Clone Tails [[Git repository|contribute/git]] onto your local system.
2. Translate whatever you can in your preferred PO file editor. 
109
3. Commit the changes you made to `.po` files.
110
   You could encounter numerous false positive when committing modified `.po`
111
112
113
114
   files. It's due to the fact that Poedit [doesn't handle the wordwrapping 
   correctly](http://www.poedit.net/trac/ticket/25). In order to avoid this, 
   you should run the following command :
     `msgcat --width=80 -o your_output_file.po your_input_file.po`
115
4. Use the `git format-patch` command to prepare patches.
116
5. [[Send us|contribute/talk]] your patches.
117
118
119
120
6. Frequently merge changes from our main repository into yours.

#### Ask us to pull from your Git branch

Tails developers's avatar
Tails developers committed
121
1. Setup your personal [[Git repository|contribute/git]]: if you already know
Tails developers's avatar
Tails developers committed
122
123
   where to host it in a public place, this is great; or else [fork us
   on repo.or.cz](http://repo.or.cz/w/tails.git).
124
125
2. Translate whatever you can in your preferred PO file editor. 
3. Commit the changes you made to `.po` files.
126
   You could encounter numerous false positive when committing modified `.po`
127
128
129
130
   files. It's due to the fact that Poedit [doesn't handle the wordwrapping 
   correctly](http://www.poedit.net/trac/ticket/25). In order to avoid this, 
   you should run the following command :
     `msgcat --width=80 -o your_output_file.po your_input_file.po`
131
4. Push your changes to your online Git repository.
132
5. [[Ask us|contribute/talk]] to pull from the branch you worked on.
133
134
6. Frequently merge changes from our main repository into yours.

135
<a id="tails-l10n"></a>
136

137
# The tails-l10n mailing list
138

139
140
141
142
Regular translators and translating teams coordinate themselves on the
tails-l10n mailing list. Please <a
href='https://mailman.boum.org/listinfo/tails-l10n/'>subscribe</a> to
the list if you want to become a regular translator.
143

144
145
146
Any message sent to this list is stored in a public archive, so beware
of what your email content and headers reveal about yourself: location,
IP address, etc.
147

148
# Add support for a new language
149

150
151
152
153
154
For Tails to be available in a new language, both the website and the custom
programs need to be translated. Please keep in mind that this represent quite a
lot of work. Having just a few pages of the website translated in a new
language is not really helpful for new people who don't understand English to
really use Tails.
155

156
157
Here are a few things that would be required in order to start
translating Tails to a new language:
158

159
160
161
162
163
1. It is really required to be a team of translators and not a single person.
That also allow for peer reviews between the team, more flexibility when
important deadlines arrives, etc.

2. At least part of the team should subscribe to the [[tails-l10n mailing
Tails developers's avatar
Tails developers committed
164
list|translate#tails-l10n]]
165
166

3. Dealing intensively with translations requires learning to use PO files,
Tails developers's avatar
Tails developers committed
167
maybe using [POEdit], and possibly a bit of git. Translating from the website
168
169
170
interface should be thought as a secondary option in order to do small fixes or
get the contribution of extra translators but not as a primary tool to work
with. But working with PO files is not that hard. See the [[translation
Tails developers's avatar
Tails developers committed
171
tools|translate#tools]] section.
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198

4. Since the content of the website is sensitive in terms of privacy
protection. The Tails developers need to establish contacts with trusted people
to review the work.

5. Keep in mind that useful translations need to be maintained on the long run.
This maybe takes a few hours a month.

Once those conditions are fulfilled, the new team can start working on a first
batch of translations.

On the website:

  - [[/index]]
  - [[/about]] page
  - [[/getting_started]] page
  - [[/support]] page
  - [[/download]] page
  - [[/doc/about]] section
  - [[/doc/first_steps]] section

And some of our custom programs:

  - [Tails Greeter](http://git.immerda.ch/?p=tails/tails-greeter.git;a=tree;f=po;hb=HEAD)
  - [Tails Persistence Setup](http://git.immerda.ch/?p=tails/persistence-setup.git;a=tree;f=po;hb=HEAD)
  - [Tails USB Installer](http://git.immerda.ch/?p=tails/liveusb-creator.git;a=tree;f=po;hb=HEAD)
  - [Whisperback](http://git.immerda.ch/?p=whisperback.git;a=tree;f=po;hb=HEAD)
199
200

[Poedit]: http://poedit.sourceforge.net/