]> git.saurik.com Git - wxWidgets.git/blob - docs/html/gettext/gettext_9.html
added a few encoding convenience methods for pc-mac encoding and string handling...
[wxWidgets.git] / docs / html / gettext / gettext_9.html
1 <HTML>
2 <HEAD>
3 <!-- This HTML file has been created by texi2html 1.54
4 from gettext.texi on 25 January 1999 -->
5
6 <TITLE>GNU gettext utilities - The Translator's View</TITLE>
7 <link href="gettext_10.html" rel=Next>
8 <link href="gettext_8.html" rel=Previous>
9 <link href="gettext_toc.html" rel=ToC>
10
11 </HEAD>
12 <BODY>
13 <p>Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_12.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
14 <P><HR><P>
15
16
17 <H1><A NAME="SEC56" HREF="gettext_toc.html#TOC56">The Translator's View</A></H1>
18
19
20
21 <H2><A NAME="SEC57" HREF="gettext_toc.html#TOC57">Introduction 0</A></H2>
22
23 <P>
24 GNU is going international! The Translation Project is a way
25 to get maintainers, translators and users all together, so GNU will
26 gradually become able to speak many native languages.
27
28 </P>
29 <P>
30 The GNU <CODE>gettext</CODE> tool set contains <EM>everything</EM> maintainers
31 need for internationalizing their packages for messages. It also
32 contains quite useful tools for helping translators at localizing
33 messages to their native language, once a package has already been
34 internationalized.
35
36 </P>
37 <P>
38 To achieve the Translation Project, we need many interested
39 people who like their own language and write it well, and who are also
40 able to synergize with other translators speaking the same language.
41 If you'd like to volunteer to <EM>work</EM> at translating messages,
42 please send mail to your translating team.
43
44 </P>
45 <P>
46 Each team has its own mailing list, courtesy of Linux
47 International. You may reach your translating team at the address
48 <TT>`<VAR>ll</VAR>@li.org'</TT>, replacing <VAR>ll</VAR> by the two-letter ISO 639
49 code for your language. Language codes are <EM>not</EM> the same as
50 country codes given in ISO 3166. The following translating teams
51 exist:
52
53 </P>
54
55 <BLOCKQUOTE>
56 <P>
57 Chinese <CODE>zh</CODE>, Czech <CODE>cs</CODE>, Danish <CODE>da</CODE>, Dutch <CODE>nl</CODE>,
58 Esperanto <CODE>eo</CODE>, Finnish <CODE>fi</CODE>, French <CODE>fr</CODE>, Irish
59 <CODE>ga</CODE>, German <CODE>de</CODE>, Greek <CODE>el</CODE>, Italian <CODE>it</CODE>,
60 Japanese <CODE>ja</CODE>, Indonesian <CODE>in</CODE>, Norwegian <CODE>no</CODE>, Polish
61 <CODE>pl</CODE>, Portuguese <CODE>pt</CODE>, Russian <CODE>ru</CODE>, Spanish <CODE>es</CODE>,
62 Swedish <CODE>sv</CODE> and Turkish <CODE>tr</CODE>.
63 </BLOCKQUOTE>
64
65 <P>
66 For example, you may reach the Chinese translating team by writing to
67 <TT>`zh@li.org'</TT>. When you become a member of the translating team
68 for your own language, you may subscribe to its list. For example,
69 Swedish people can send a message to <TT>`sv-request@li.org'</TT>,
70 having this message body:
71
72 </P>
73
74 <PRE>
75 subscribe
76 </PRE>
77
78 <P>
79 Keep in mind that team members should be interested in <EM>working</EM>
80 at translations, or at solving translational difficulties, rather than
81 merely lurking around. If your team does not exist yet and you want to
82 start one, please write to <TT>`gnu-translation@prep.ai.mit.edu'</TT>;
83 you will then reach the GNU coordinator for all translator teams.
84
85 </P>
86 <P>
87 A handful of GNU packages have already been adapted and provided
88 with message translations for several languages. Translation
89 teams have begun to organize, using these packages as a starting
90 point. But there are many more packages and many languages for
91 which we have no volunteer translators. If you would like to
92 volunteer to work at translating messages, please send mail to
93 <TT>`gnu-translation@prep.ai.mit.edu'</TT> indicating what language(s)
94 you can work on.
95
96 </P>
97
98
99 <H2><A NAME="SEC58" HREF="gettext_toc.html#TOC58">Introduction 1</A></H2>
100
101 <P>
102 This is now official, GNU is going international! Here is the
103 announcement submitted for the January 1995 GNU Bulletin:
104
105 </P>
106
107 <BLOCKQUOTE>
108 <P>
109 A handful of GNU packages have already been adapted and provided
110 with message translations for several languages. Translation
111 teams have begun to organize, using these packages as a starting
112 point. But there are many more packages and many languages
113 for which we have no volunteer translators. If you'd like to
114 volunteer to work at translating messages, please send mail to
115 <SAMP>`gnu-translation@prep.ai.mit.edu'</SAMP> indicating what language(s)
116 you can work on.
117 </BLOCKQUOTE>
118
119 <P>
120 This document should answer many questions for those who are curious
121 about the process or would like to contribute. Please at least skim
122 over it, hoping to cut down a little of the high volume of e-mail
123 generated by this collective effort towards GNU internationalization.
124
125 </P>
126 <P>
127 Most free programming which is widely shared is done in English, and
128 currently, English is used as the main communicating language between
129 national communities collaborating to the GNU project. This very document
130 is written in English. This will not change in the foreseeable future.
131
132 </P>
133 <P>
134 However, there is a strong appetite from national communities for
135 having more software able to write using national language and habits,
136 and there is an on-going effort to modify GNU software in such a way
137 that it becomes able to do so. The experiments driven so far raised
138 an enthusiastic response from pretesters, so we believe that GNU
139 internationalization is dedicated to succeed.
140
141 </P>
142 <P>
143 For suggestion clarifications, additions or corrections to this
144 document, please e-mail to <TT>`gnu-translation@prep.ai.mit.edu'</TT>.
145
146 </P>
147
148
149 <H2><A NAME="SEC59" HREF="gettext_toc.html#TOC59">Discussions</A></H2>
150
151 <P>
152 Facing this internationalization effort, a few users expressed their
153 concerns. Some of these doubts are presented and discussed, here.
154
155 </P>
156
157 <UL>
158 <LI>Smaller groups
159
160 Some languages are not spoken by a very large number of people, so people
161 speaking them sometimes consider that there may not be all that much
162 demand such versions of free software packages. Moreover, many people
163 being <EM>into computers</EM>, in some countries, generally seem to prefer
164 English versions of their software.
165
166 On the other end, people might enjoy their own language a lot, and be
167 very motivated at providing to themselves the pleasure of having their
168 beloved free software speaking their mother tongue. They do themselves
169 a personal favor, and do not pay that much attention to the number of
170 people beneficiating of their work.
171
172 <LI>Misinterpretation
173
174 Other users are shy to push forward their own language, seeing in this
175 some kind of misplaced propaganda. Someone thought there must be some
176 users of the language over the networks pestering other people with it.
177
178 But any spoken language is worth localization, because there are
179 people behind the language for whom the language is important and
180 dear to their hearts.
181
182 <LI>Odd translations
183
184 The biggest problem is to find the right translations so that
185 everybody can understand the messages. Translations are usually a
186 little odd. Some people get used to English, to the extent they may
187 find translations into their own language "rather pushy, obnoxious
188 and sometimes even hilarious." As a French speaking man, I have
189 the experience of those instruction manuals for goods, so poorly
190 translated in French in Korea or Taiwan...
191
192 The fact is that we sometimes have to create a kind of national
193 computer culture, and this is not easy without the collaboration of
194 many people liking their mother tongue. This is why translations are
195 better achieved by people knowing and loving their own language, and
196 ready to work together at improving the results they obtain.
197
198 <LI>Dependencies over the GPL
199
200 Some people wonder if using GNU <CODE>gettext</CODE> necessarily brings their package
201 under the protective wing of the GNU General Public License, when they
202 do not want to make their program free, or want other kinds of freedom.
203 The simplest answer is yes.
204
205 The mere marking of localizable strings in a package, or conditional
206 inclusion of a few lines for initialization, is not really including
207 GPL'ed code. However, the localization routines themselves are under
208 the GPL and would bring the remainder of the package under the GPL
209 if they were distributed with it. So, I presume that, for those
210 for which this is a problem, it could be circumvented by letting to
211 the end installers the burden of assembling a package prepared for
212 localization, but not providing the localization routines themselves.
213
214 </UL>
215
216
217
218 <H2><A NAME="SEC60" HREF="gettext_toc.html#TOC60">Organization</A></H2>
219
220 <P>
221 On a larger scale, the true solution would be to organize some kind of
222 fairly precise set up in which volunteers could participate. I gave
223 some thought to this idea lately, and realize there will be some
224 touchy points. I thought of writing to Richard Stallman to launch
225 such a project, but feel it might be good to shake out the ideas
226 between ourselves first. Most probably that Linux International has
227 some experience in the field already, or would like to orchestrate
228 the volunteer work, maybe. Food for thought, in any case!
229
230 </P>
231 <P>
232 I guess we have to setup something early, somehow, that will help
233 many possible contributors of the same language to interlock and avoid
234 work duplication, and further be put in contact for solving together
235 problems particular to their tongue (in most languages, there are many
236 difficulties peculiar to translating technical English). My Swedish
237 contributor acknowledged these difficulties, and I'm well aware of
238 them for French.
239
240 </P>
241 <P>
242 This is surely not a technical issue, but we should manage so the
243 effort of locale contributors be maximally useful, despite the national
244 team layer interface between contributors and maintainers.
245
246 </P>
247 <P>
248 The Translation Project needs some setup for coordinating language
249 coordinators. Localizing evolving programs will surely
250 become a permanent and continuous activity in the free software community,
251 once well started.
252 The setup should be minimally completed and tested before GNU
253 <CODE>gettext</CODE> becomes an official reality. The e-mail address
254 <TT>`translation@iro.umontreal.ca'</TT> has been setup for receiving
255 offers from volunteers and general e-mail on these topics. This address
256 reaches the Translation Project coordinator.
257
258 </P>
259
260
261
262 <H3><A NAME="SEC61" HREF="gettext_toc.html#TOC61">Central Coordination</A></H3>
263
264 <P>
265 I also think GNU will need sooner than it thinks, that someone setup
266 a way to organize and coordinate these groups. Some kind of group
267 of groups. My opinion is that it would be good that GNU delegates
268 this task to a small group of collaborating volunteers, shortly.
269 Perhaps in <TT>`gnu.announce'</TT> a list of this national committee's
270 can be published.
271
272 </P>
273 <P>
274 My role as coordinator would simply be to refer to Ulrich any German
275 speaking volunteer interested to localization of free software packages, and
276 maybe helping national groups to initially organize, while maintaining
277 national registries for until national groups are ready to take over.
278 In fact, the coordinator should ease volunteers to get in contact with
279 one another for creating national teams, which should then select
280 one coordinator per language, or country (regionalized language).
281 If well done, the coordination should be useful without being an
282 overwhelming task, the time to put delegations in place.
283
284 </P>
285
286
287 <H3><A NAME="SEC62" HREF="gettext_toc.html#TOC62">National Teams</A></H3>
288
289 <P>
290 I suggest we look for volunteer coordinators/editors for individual
291 languages. These people will scan contributions of translation files
292 for various programs, for their own languages, and will ensure high
293 and uniform standards of diction.
294
295 </P>
296 <P>
297 From my current experience with other people in these days, those who
298 provide localizations are very enthusiastic about the process, and are
299 more interested in the localization process than in the program they
300 localize, and want to do many programs, not just one. This seems
301 to confirm that having a coordinator/editor for each language is a
302 good idea.
303
304 </P>
305 <P>
306 We need to choose someone who is good at writing clear and concise
307 prose in the language in question. That is hard--we can't check
308 it ourselves. So we need to ask a few people to judge each others'
309 writing and select the one who is best.
310
311 </P>
312 <P>
313 I announce my prerelease to a few dozen people, and you would not
314 believe all the discussions it generated already. I shudder to think
315 what will happen when this will be launched, for true, officially,
316 world wide. Who am I to arbitrate between two Czekolsovak users
317 contradicting each other, for example?
318
319 </P>
320 <P>
321 I assume that your German is not much better than my French so that
322 I would not be able to judge about these formulations. What I would
323 suggest is that for each language there is a group for people who
324 maintain the PO files and judge about changes. I suspect there will
325 be cultural differences between how such groups of people will behave.
326 Some will have relaxed ways, reach consensus easily, and have anyone
327 of the group relate to the maintainers, while others will fight to
328 death, organize heavy administrations up to national standards, and
329 use strict channels.
330
331 </P>
332 <P>
333 The German team is putting out a good example. Right now, they are
334 maybe half a dozen people revising translations of each other and
335 discussing the linguistic issues. I do not even have all the names.
336 Ulrich Drepper is taking care of coordinating the German team.
337 He subscribed to all my pretest lists, so I do not even have to warn
338 him specifically of incoming releases.
339
340 </P>
341 <P>
342 I'm sure, that is a good idea to get teams for each language working
343 on translations. That will make the translations better and more
344 consistent.
345
346 </P>
347
348
349
350 <H4><A NAME="SEC63" HREF="gettext_toc.html#TOC63">Sub-Cultures</A></H4>
351
352 <P>
353 Taking French for example, there are a few sub-cultures around computers
354 which developed diverging vocabularies. Picking volunteers here and
355 there without addressing this problem in an organized way, soon in the
356 project, might produce a distasteful mix of internationalized programs,
357 and possibly trigger endless quarrels among those who really care.
358
359 </P>
360 <P>
361 Keeping some kind of unity in the way French localization of
362 internationalized programs is achieved is a difficult (and delicate) job.
363 Knowing the latin character of French people (:-), if we take this
364 the wrong way, we could end up nowhere, or spoil a lot of energies.
365 Maybe we should begin to address this problem seriously <EM>before</EM>
366 GNU <CODE>gettext</CODE> become officially published. And I suspect that this
367 means soon!
368
369 </P>
370
371
372 <H4><A NAME="SEC64" HREF="gettext_toc.html#TOC64">Organizational Ideas</A></H4>
373
374 <P>
375 I expect the next big changes after the official release. Please note
376 that I use the German translation of the short GPL message. We need
377 to set a few good examples before the localization goes out for true
378 in the free software community. Here are a few points to discuss:
379
380 </P>
381
382 <UL>
383 <LI>
384
385 Each group should have one FTP server (at least one master).
386
387 <LI>
388
389 The files on the server should reflect the latest version (of
390 course!) and it should also contain a RCS directory with the
391 corresponding archives (I don't have this now).
392
393 <LI>
394
395 There should also be a ChangeLog file (this is more useful than the
396 RCS archive but can be generated automatically from the later by
397 Emacs).
398
399 <LI>
400
401 A <STRONG>core group</STRONG> should judge about questionable changes (for now
402 this group consists solely by me but I ask some others occasionally;
403 this also seems to work).
404
405 </UL>
406
407
408
409 <H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">Mailing Lists</A></H3>
410
411 <P>
412 If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
413
414 </P>
415
416 <PRE>
417 <TT>`translation@iro.umontreal.ca'</TT>
418 </PRE>
419
420 <P>
421 The <TT>`*-pretest'</TT> lists are quite useful to me, maybe the idea could
422 be generalized to many GNU, and non-GNU packages. But each maintainer
423 his/her way!
424
425 </P>
426 <P>
427 Fran@,{c}ois, we have a mechanism in place here at
428 <TT>`gnu.ai.mit.edu'</TT> to track teams, support mailing lists for
429 them and log members. We have a slight preference that you use it.
430 If this is OK with you, I can get you clued in.
431
432 </P>
433 <P>
434 Things are changing! A few years ago, when Daniel Fekete and I
435 asked for a mailing list for GNU localization, nested at the FSF, we
436 were politely invited to organize it anywhere else, and so did we.
437 For communicating with my pretesters, I later made a handful of
438 mailing lists located at iro.umontreal.ca and administrated by
439 <CODE>majordomo</CODE>. These lists have been <EM>very</EM> dependable
440 so far...
441
442 </P>
443 <P>
444 I suspect that the German team will organize itself a mailing list
445 located in Germany, and so forth for other countries. But before they
446 organize for true, it could surely be useful to offer mailing lists
447 located at the FSF to each national team. So yes, please explain me
448 how I should proceed to create and handle them.
449
450 </P>
451 <P>
452 We should create temporary mailing lists, one per country, to help
453 people organize. Temporary, because once regrouped and structured, it
454 would be fair the volunteers from country bring back <EM>their</EM> list
455 in there and manage it as they want. My feeling is that, in the long
456 run, each team should run its own list, from within their country.
457 There also should be some central list to which all teams could
458 subscribe as they see fit, as long as each team is represented in it.
459
460 </P>
461
462
463 <H2><A NAME="SEC66" HREF="gettext_toc.html#TOC66">Information Flow</A></H2>
464
465 <P>
466 There will surely be some discussion about this messages after the
467 packages are finally released. If people now send you some proposals
468 for better messages, how do you proceed? Jim, please note that
469 right now, as I put forward nearly a dozen of localizable programs, I
470 receive both the translations and the coordination concerns about them.
471
472 </P>
473 <P>
474 If I put one of my things to pretest, Ulrich receives the announcement
475 and passes it on to the German team, who make last minute revisions.
476 Then he submits the translation files to me <EM>as the maintainer</EM>.
477 For free packages I do not maintain, I would not even hear about it.
478 This scheme could be made to work for the whole Translation Project,
479 I think. For security reasons, maybe Ulrich (national coordinators,
480 in fact) should update central registry kept at the Translation Project
481 (Jim, me, or Len's recruits) once in a while.
482
483 </P>
484 <P>
485 In December/January, I was aggressively ready to internationalize
486 all of GNU, giving myself the duty of one small GNU package per week
487 or so, taking many weeks or months for bigger packages. But it does
488 not work this way. I first did all the things I'm responsible for.
489 I've nothing against some missionary work on other maintainers, but
490 I'm also loosing a lot of energy over it--same debates over again.
491
492 </P>
493 <P>
494 And when the first localized packages are released we'll get a lot of
495 responses about ugly translations :-). Surely, and we need to have
496 beforehand a fairly good idea about how to handle the information
497 flow between the national teams and the package maintainers.
498
499 </P>
500 <P>
501 Please start saving somewhere a quick history of each PO file. I know
502 for sure that the file format will change, allowing for comments.
503 It would be nice that each file has a kind of log, and references for
504 those who want to submit comments or gripes, or otherwise contribute.
505 I sent a proposal for a fast and flexible format, but it is not
506 receiving acceptance yet by the GNU deciders. I'll tell you when I
507 have more information about this.
508
509 </P>
510 <P><HR><P>
511 <p>Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_12.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
512 </BODY>
513 </HTML>