File: Section_8.html

package info (click to toggle)
album 4.15-1
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye, buster, stretch
  • size: 3,332 kB
  • ctags: 868
  • sloc: perl: 5,488; makefile: 2
file content (538 lines) | stat: -rw-r--r-- 24,237 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
164
165
166
167
168
169
170
171
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
	<style>
	<!--
	:lang(nl) { color: green; }
	-->
	</style>
	<link rel='alternate' type='text/html' href='../Section_8.html' hreflang='en' lang='en' title='album documentation'>
	<link rel='alternate' type='text/html' href='../de/Section_8.html' hreflang='de' lang='de' title='album documentation'>
	<link rel='alternate' type='text/html' href='../es/Section_8.html' hreflang='es' lang='es' title='album documentation'>
	<link rel='alternate' type='text/html' href='../fr/Section_8.html' hreflang='fr' lang='fr' title='album documentation'>
	<meta http-equiv='Content-Language' content='nl'>
	<link rel='alternate' type='text/html' href='../ru/Section_8.html' hreflang='ru' lang='ru' title='album documentation'>
	<link rel='alternate' type='text/html' href='../it/Section_8.html' hreflang='it' lang='it' title='album documentation'>
	<link rel='alternate' type='text/html' href='../hu/Section_8.html' hreflang='hu' lang='hu' title='album documentation'>


  <title>MarginalHacks album - Language Support
 - Documentation</title>

  <link rel='shortcut icon' HREF='/favicon.ico' type='image/x-gif'>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <style>
  <!--
  code {color: red;}
  tt {color: #ff6666;}
  A:hover {background-color: yellow;}
  -->
  </style>
  <script language='JavaScript'>
  <!--
  ver4 = (document.layers || document.all) ? 1 : 0;

  if (document.images) {
    ImageArray = new Array (
      'http://DavePics.com/Domains/MarginalHacks.gif',
      'http://DavePics.com/Domains/MarginalHacks_down.gif',
      'http://DavePics.com/Domains/GetDave.gif',
      'http://DavePics.com/Domains/GetDave_down.gif',
      'http://DavePics.com/Domains/Daveola.gif',
      'http://DavePics.com/Domains/Daveola_down.gif',
      'http://DavePics.com/Domains/DaveSource.gif',
      'http://DavePics.com/Domains/DaveSource_down.gif' )

    ImageList = new Array ();
    for (counter in ImageArray) {
      ImageList[counter] = new Image();
      ImageList[counter].src = ImageArray[counter];
    }
  };
  defaultStatus = 'Marginal Hacks'

  //-->
  </script>
</head>

<body bgcolor=white link='#0000FF' alink='#0000FF' vlink='#5000FF' text='#000000'>

<div lang='en'>
<center>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
  <tr> <td rowspan=2>
      <a href='http://MarginalHacks.com/'
         onMouseOver = document.images['MarginalHacks'].src='http://DavePics.com/Domains/MarginalHacks_down.gif'
          onMouseOut = document.images['MarginalHacks'].src='http://DavePics.com/Domains/MarginalHacks.gif'
         onMouseDown = document.images['MarginalHacks'].src='http://DavePics.com/Domains/MarginalHacks_down.gif'
           onMouseUp = document.images['MarginalHacks'].src='http://DavePics.com/Domains/MarginalHacks.gif'>
      <img name=MarginalHacks alt='MarginalHacks.com'
           src='http://DavePics.com/Domains/MarginalHacks.gif'
           width=69 height=60 border=0></a>
      <a href='http://DaveSource.com/'
         onMouseOver = document.images['DaveSource'].src='http://DavePics.com/Domains/DaveSource_down.gif'
          onMouseOut = document.images['DaveSource'].src='http://DavePics.com/Domains/DaveSource.gif'
         onMouseDown = document.images['DaveSource'].src='http://DavePics.com/Domains/DaveSource_down.gif'
           onMouseUp = document.images['DaveSource'].src='http://DavePics.com/Domains/DaveSource.gif'>
      <img name=DaveSource alt='DaveSource.com'
           src='http://DavePics.com/Domains/DaveSource.gif'
           width=69 height=60 border=0></a>
      <a href='http://GetDave.com/'
         onMouseOver = document.images['GetDave'].src='http://DavePics.com/Domains/GetDave_down.gif'
          onMouseOut = document.images['GetDave'].src='http://DavePics.com/Domains/GetDave.gif'
         onMouseDown = document.images['GetDave'].src='http://DavePics.com/Domains/GetDave_down.gif'
           onMouseUp = document.images['GetDave'].src='http://DavePics.com/Domains/GetDave.gif'>
      <img name=GetDave alt='GetDave.com - all the current Dave Pointers.'
           src='http://DavePics.com/Domains/GetDave.gif'
           width=69 height=60 border=0></a>
      <a href='http://Daveola.com/'
         onMouseOver = document.images['Daveola'].src='http://DavePics.com/Domains/Daveola_down.gif'
          onMouseOut = document.images['Daveola'].src='http://DavePics.com/Domains/Daveola.gif'
         onMouseDown = document.images['Daveola'].src='http://DavePics.com/Domains/Daveola_down.gif'
           onMouseUp = document.images['Daveola'].src='http://DavePics.com/Domains/Daveola.gif'>
      <img name=Daveola alt='Daveola.com - My home.'
           src='http://DavePics.com/Domains/Daveola.gif'
           width=69 height=60 border=0></a>
  </td>
  <td bgcolor=#000000 align=right>
  <font size=+2 face='lucida, helvetica' color=#ccccc0>
    A&nbsp;l&nbsp;b&nbsp;u&nbsp;m&nbsp;<br>

    E&nbsp;i&nbsp;g&nbsp;h&nbsp;t&nbsp; &nbsp;-&nbsp;-&nbsp; &nbsp;L&nbsp;a&nbsp;n&nbsp;g&nbsp;u&nbsp;a&nbsp;g&nbsp;e&nbsp; &nbsp;S&nbsp;u&nbsp;p&nbsp;p&nbsp;o&nbsp;r&nbsp;t&nbsp;
<br>

  </font>
  </td></tr>
	<tr height=16>
		<td height=16 align=right>
			<a href="http://del.icio.us/post?url=http://MarginalHacks.com/Hacks/album/&amp;title=Marginal+Hacks+Photo+Album+Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Del.icio.us"><img src="/Bookmarks/delicious.gif" title="Add 'Marginal Hacks Photo Album Generator' to Del.icio.us" alt="Add 'Marginal Hacks Photo Album Generator' to Del.icio.us" border="0"></a>
			<a href="http://digg.com/software/Marginal_Hacks_Photo_Album_Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Digg 'Marginal Hacks Photo Album Generator'"><img src="/Bookmarks/digg.gif" title="Digg 'Marginal Hacks Photo Album Generator'" alt="Digg 'Marginal Hacks Photo Album Generator'" border="0"></a>
			<a href="http://furl.net/storeIt.jsp?t=Marginal+Hacks+Photo+Album+Generator&amp;u=http://MarginalHacks.com/Hacks/album/" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to FURL"><img src="/Bookmarks/furl.gif" title="Add 'Marginal Hacks Photo Album Generator' to FURL" alt="Add 'Marginal Hacks Photo Album Generator' to FURL" border="0"></a>
			<a href="http://reddit.com/submit?url=http://MarginalHacks.com/Hacks/album/&amp;title=Marginal+Hacks+Photo+Album+Generato" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to reddit"><img src="/Bookmarks/reddit.gif" title="Add 'Marginal Hacks Photo Album Generator' to reddit" alt="Add 'Marginal Hacks Photo Album Generator' to reddit" border="0"></a>
			<a href="http://www.stumbleupon.com/refer.php?url=http://MarginalHacks.com/Hacks/album/&amp;title=Marginal+Hacks+Photo+Album+Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Stumble Upon"><img src="/Bookmarks/stumbleupon.gif" title="Add 'Marginal Hacks Photo Album Generator' to Stumble Upon" alt="Add 'Marginal Hacks Photo Album Generator' to Stumble Upon" border="0"></a>
			<a href="http://www.technorati.com/faves?add=http://MarginalHacks.com/Hacks/album/" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Technorati"><img src="/Bookmarks/technorati.gif" title="Add 'Marginal Hacks Photo Album Generator' to Technorati" alt="Add 'Marginal Hacks Photo Album Generator' to Technorati" border="0"></a>
			<a href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://MarginalHacks.com/Hacks/album/&amp;t=Marginal+Hacks+Photo+Album+Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Yahoo My Web"><img src="/Bookmarks/myweb2.gif" title="Add 'Marginal Hacks Photo Album Generator' to Yahoo My Web" alt="Add 'Marginal Hacks Photo Album Generator' to Yahoo My Web" border="0"></a>
			<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://MarginalHacks.com/Hacks/album/&amp;title=Marginal+Hacks+Photo+Album+Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Google Bookmarks"><img src="/Bookmarks/google.gif" title="Add 'Marginal Hacks Photo Album Generator' to Google Bookmarks" alt="Add 'Marginal Hacks Photo Album Generator' to Google Bookmarks" border="0"></a>
			<a href="http://www.squidoo.com/lensmaster/bookmark?http://MarginalHacks.com/Hacks/album/" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Squidoo"><img src="/Bookmarks/squidoo.gif" title="Add 'Marginal Hacks Photo Album Generator' to Squidoo" alt="Add 'Marginal Hacks Photo Album Generator' to Squidoo" border="0"></a>
			<a href="http://www.spurl.net/spurl.php?url=http://MarginalHacks.com/Hacks/album/&amp;title=Marginal+Hacks+Photo+Album+Generator" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Spurl"><img src="/Bookmarks/spurl.gif" title="Add 'Marginal Hacks Photo Album Generator' to Spurl" alt="Add 'Marginal Hacks Photo Album Generator' to Spurl" border="0"></a>
			<a href="http://www.bloglines.com/sub/http://MarginalHacks.com/Hacks/album/" class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" title="Add 'Marginal Hacks Photo Album Generator' to Bloglines"><img src="/Bookmarks/bloglines.gif" title="Add 'Marginal Hacks Photo Album Generator' to Bloglines" alt="Add 'Marginal Hacks Photo Album Generator' to Bloglines" border="0"></a>
 	 </td>
	</tr>
</table>

<a name=top>

<table cellpadding=8 width='100%'> <tr>
  <td valign=top>
    <table>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/'>Home</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Themes.html'>Themes/Examples</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Languages.html'>Languages</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Plugins.html'>Plugins</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/License.html'>License</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Download.html'>Download</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3>Documentation
          <font size='-1'>
<br><span lang='en'>&nbsp;&nbsp; <img src="..//flag.png"> &nbsp;&nbsp;<a href="../">English</a></span>
<br><span lang='de'>&nbsp;&nbsp; <img src="../de/flag.png"> &nbsp;&nbsp;<a href="../de">Deutsch</a></span>
<br><span lang='es'>&nbsp;&nbsp; <img src="../es/flag.png"> &nbsp;&nbsp;<a href="../es">Español</a></span>
<br><span lang='fr'>&nbsp;&nbsp; <img src="../fr/flag.png"> &nbsp;&nbsp;<a href="../fr">Français</a></span>
<br><span lang='nl'>&nbsp;&nbsp; <img src="flag.png"> &nbsp;&nbsp;Nederlands</span>
<br><span lang='ru'>&nbsp;&nbsp; <img src="../ru/flag.png"> &nbsp;&nbsp;<a href="../ru">Русский</a></span>
<br><span lang='it'>&nbsp;&nbsp; <img src="../it/flag.png"> &nbsp;&nbsp;<a href="../it">Italiano</a></span>
<br><span lang='hu'>&nbsp;&nbsp; <img src="../hu/flag.png"> &nbsp;&nbsp;<a href="../hu">magyar</a></span>

          </font>
</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Mailing_List.html'>Mailing List</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/CHANGELOG.html'>CHANGELOG</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href='http://MarginalHacks.com/Hacks/album/Praises.html'>Praises</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
      <tr bgcolor=#BBBBBB><td>
        <h3><a href=/Contact/>Contact</a>&nbsp;&nbsp;</h3>
        <p>
      </td></tr>
    </table>
  </td>
  <td valign=top>



<p><hr><p>
<a href='.'>Table Of Contents</a>
<ol><li> <a href='#Using_languages'>Using languages</a>
 <li> <a href='#Translation_Volunteers'>Translation Volunteers</a>
 <li> <a href='#Documentation_Translation'>Documentation Translation</a>
 <li> <a href='#Album_messages'>Album messages</a>
 <li> <a href='#Why_am_I_still_seeing_English'>Why am I still seeing English?</a>
</ol><p><hr><p>


<pre>

<b><a name='Using_languages'>1:</a>   Using languages</b>
(Requires album v4.0 or higher)

Album comes prepackaged with language files (we're in need of translation
help, see below!).  The language files will alter most of album's output
messages, as well as any HTML output that isn't generated by the theme.

Altering any text in a theme to match your language is as simple as editing
the Theme files - there is an example of this with the "simple-Czech" theme.

To use a language, add the "lang" option to your main album.conf, or else
specify it the first time you generate an album (it will be saved with that
album afterwards).

Languages can be cleared like any code/array option with:

% album -clear_lang ...

You can specify multiple languages, which can matter if a language is
incomplete, but you'd like to default to another language than english.
So, for example, if you wanted Dutch as the primary language, with the
backup being Swedish Chef, you could do:

% album -lang swedish_chef -lang nl ...

If you specify a sublanguage (such as es-bo for Spanish, Bolivia), then
album will attempt 'es' first as a backup.

Note that because of a known bug, you should specify all the desired
languages at the same time instead of over multiple invocations of album.

To see what languages are available:

% album -list_langs

Sadly, most of the (real) languages are barely complete, but this
is a chance for people to help out by becoming a..

<b><a name='Translation_Volunteers'>2:</a>   Translation Volunteers</b>

The album project is in need of volunteers to do translations,
specifically of:

1) The Mini How-To.  Please translate from the <a href="txt_2">source</a>.
2) album messages, as explained below.

If you are willing to do the translation of either one or both
of these items, please contact me!

If you're feeling particularly ambitious, feel free to translate any
of the other Documentation sources as well, just let me know!

<b><a name='Documentation_Translation'>3:</a>   Documentation Translation</b>

The most important document to translate is the <a href="Section_2.html">"Mini How-To"</a>.
Please translate from the <a href="txt_2">text source</a>.

Also be sure to let me know how you want to be credited,
by your name, name and email, or name and website.

And please include the proper spelling and capitalization of the
name of your language <b>in your language</b>.  For example, "franais"
instead of "French"

I am open to suggestions for what charset to use.  Current options are:

1) HTML characters such as [&amp;eacute;]] (though they only work in browsers)
2) Unicode (UTF-8) such as [é] (only in browsers and some terminals)
3) ASCII code, where possible, such as [] (works in text editors, though
   not currently in this page because it's set to unicode)
4) Language specific iso such as iso-8859-8-I for Hebrew.

Currently Unicode (utf-8) seems best for languages that aren't covered
by iso-8859-1, because it covers all languages and helps us deal with
incomplete translations (which would otherwise require multiple charsets,
which is a disaster).  Any iso code that is a subset of utf-8 can be used.

If the main terminal software for a given language is in an iso charset
instead of utf, then that could be a good exception to use non-utf.

<b><a name='Album_messages'>4:</a>   Album messages</b>

album handles all text messages using it's own language support
system, similar to the system used by the perl module <a href="/redir.cgi?search.cpan.org/~petdance/Locale-Maketext/lib/Locale/Maketext.pod">Locale::Maketext</a>.
(More info on the inspiration for this is in <a href="/redir.cgi?search.cpan.org/~petdance/Locale-Maketext-1.10/lib/Locale/Maketext/TPJ13.pod">TPJ13</a>)

An error message, for example, may look like this:

  No themes found in [[some directory]].

With a specific example being:

  No themes found in /www/var/themes.

In Dutch, this would be:

  Geen thema gevonden in /www/var/themes.

The "variable" in this case is "/www/var/themes" and it obviously
isn't translated.  In album, the actual error message looks like:

  'No themes found in [_1].'
  # Args:  [_1] = $dir

The translation (in Dutch) looks like:

  'No themes found in [_1].' => 'Geen thema gevonden in [_1].'

After translating, album will replace [_1] with the directory.

Sometimes we'll have multiple variables, and they may change places:

Some example errors:

  Need to specify -medium with -just_medium option.
  Need to specify -theme_url with -theme option.

In Dutch, the first would be:

  Met de optie -just_medium moet -medium opgegeven worden.

The actual error with it's Dutch translation is:

  'Need to specify [_1] with [_2] option'
  => 'Met de optie [_2] moet [_1] opgegeven worden'
  # Args: [_1]='-medium'  [_2]='-just_medium'

Note that the variables have changed places.

There is also a special operator for quantities, for example,
we may wish to translate:

  'I have 42 images'

Where the number 42 may change.  In English, it is adequate to say:

  0 images, 1 image, 2 images, 3 images...

Whereas in Dutch we would have:

  0 afbeeldingen, 1 afbeelding, 2 afbeeldingen, 3 afbeeldingen..

But other languages (such as many slavic languages) may have special
rules as to whether "image" should be pluralized based on whether the
quantity is mod 2, 3 or 4, and so on!  The simplest case is covered
by the [quant] operator:

  [quant,_1,image]

This is similar to "[_1] image" except that "image" will be pluralized
if [_1] is 0 or greater than 1:

  0 images, 1 image, 2 images, 3 images...

Pluralization is simply adding an 's' - if this isn't adequate, we can
specify the plural form:

  [quant,_1,afbeelding,afbeeldingen]

Which gives us the Dutch count above.

And if we need a special form for 0, we can specify that:

  [quant,_1,directory,directories,no directories]

Which would create:

  no directories, 1 directory, 2 directories, ...

There is also a shorthand for [quant] using '*', so these are the same:

  [quant,_1,image]
  [*,_1,image]

So now an example translation for a number of images:

  '[*,_1,image]'
  => '[*,_1,afbeelding,afbeeldingen]',

If you have something more complicated then you can use perl code, I
can help you write this if you let me know how the translation should work:

  '[*,_1,image]'
  => \&russian_quantity;	# This is a sub defined elsewhere..


Since the translation strings are (generally) placed in single-quotes (')
and due to the special [bracket] codes, we need to quote these correctly.

Single-quotes in the string need to be preceded by a slash (\):

  'I can\'t find any images'

And square brackets are quoted using (~):

  'Problem with option ~[-medium~]'

Which unfortunately can get ugly if the thing inside the square brackets
is a variable:

  'Problem with option ~[[_1]~]'

Just be careful and make sure all brackets are closed appropriately.

Furthermore, in almost all cases, the translation should have the
same variables as the original:

  'Need to specify [_1] with [_2] option'
  => 'Met de optie [_2] moet'              # <- Where did [_1] go?!?


Fortunately, most of the work is done for you.  Language files are
saved in the -data_path (or -lang_path) where album keeps it's data.
They are essentially perl code, and they can be auto-generated by album:

% album -make_lang sw

Will create a new, empty language file called 'sw' (Swedish).  Go ahead
and edit that file, adding translations as you can.  It's okay to leave
translations blank, they just won't get used.  Some of the more important
translations (such as the ones that go into HTML pages) are at the top
and should probably be done first.

You will need to pick a charset, this is tricky, as it should be based
on what charsets you think people will be likely to have available
in their terminal as well as in their browser.

If you want to build a new language file, using translations from
a previous file (for example, to update a language with whatever
new messages have been added to album), you should load the language first:

% album -lang sw -make_lang sw

Any translations in the current Swedish language file will be copied
over to the new file (though comments and other code will not be copied!)

For the really long lines of text, don't worry about adding any newline
characters (\n) except where they exist in the original.  album will
do word wrap appropriately for the longer sections of text.

Please contact me when you are starting translation work so I can
be sure that we don't have two translators working on the same parts,
and be sure to send me updates of language files as the progress, even
incomplete language files are useful!

If you have any questions about how to read the syntax of the language
file, please let me know.

<b><a name='Why_am_I_still_seeing_English'>5:</a>   Why am I still seeing English?</b>

After choosing another language, you can still sometimes see English:

1) Option names are still in English.  (-geometry is still -geometry)
2) The usage strings are not currently translated.
3) Plugin output is unlikely to be translated.
4) Language files aren't always complete, and will only translate what they know.
5) album may have new output that the language file doesn't know about yet.
6) Most themes are in English.

Fortunately the last one is the easiest to change, just edit the theme
and replace the HTML text portions with whatever language you like, or
create new graphics in a different language for icons with English.
If you create a new theme, I'd love to hear about it!


</pre>
<p><font size='-1'><li> Created by <a href='http://MarginalHacks.com/Hacks/make_faq/'>make_faq</a> from <a href='http://MarginalHacks.com/'>Marginal Hacks</a></font><p>
    </td>
  </tr>
</table>
</div>

</body>
</html>
<pre>

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |

     ^
     |
</pre>