~ubuntu-branches/ubuntu/trusty/python-babel/trusty

« back to all changes in this revision

Viewing changes to doc/api/babel.messages.catalog.Catalog-class.html

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-10-28 10:11:31 UTC
  • mfrom: (4.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131028101131-zwbmm8sc29iemmlr
Tags: 1.3-2ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - debian/rules: Run the testsuite during builds.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="ascii"?>
2
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
 
          "DTD/xhtml1-transitional.dtd">
4
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
 
<head>
6
 
  <title>babel.messages.catalog.Catalog</title>
7
 
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
8
 
  <script type="text/javascript" src="epydoc.js"></script>
9
 
</head>
10
 
 
11
 
<body bgcolor="white" text="black" link="blue" vlink="#204080"
12
 
      alink="#204080">
13
 
<!-- ==================== NAVIGATION BAR ==================== -->
14
 
<table class="navbar" border="0" width="100%" cellpadding="0"
15
 
       bgcolor="#a0c0ff" cellspacing="0">
16
 
  <tr valign="middle">
17
 
  <!-- Home link -->
18
 
      <th>&nbsp;&nbsp;&nbsp;<a
19
 
        href="babel-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
 
 
21
 
  <!-- Tree link -->
22
 
      <th>&nbsp;&nbsp;&nbsp;<a
23
 
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
 
 
25
 
  <!-- Index link -->
26
 
      <th>&nbsp;&nbsp;&nbsp;<a
27
 
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
 
 
29
 
  <!-- Help link -->
30
 
      <th>&nbsp;&nbsp;&nbsp;<a
31
 
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
 
 
33
 
  <!-- Project homepage -->
34
 
      <th class="navbar" align="right" width="100%">
35
 
        <table border="0" cellpadding="0" cellspacing="0">
36
 
          <tr><th class="navbar" align="center"
37
 
            ><a class="navbar" target="_top" href="../index.html">Documentation Index</a></th>
38
 
          </tr></table></th>
39
 
  </tr>
40
 
</table>
41
 
<table width="100%" cellpadding="0" cellspacing="0">
42
 
  <tr valign="top">
43
 
    <td width="100%">
44
 
      <span class="breadcrumbs">
45
 
        <a href="babel-module.html">Package&nbsp;babel</a> ::
46
 
        <a href="babel.messages-module.html">Package&nbsp;messages</a> ::
47
 
        <a href="babel.messages.catalog-module.html">Module&nbsp;catalog</a> ::
48
 
        Class&nbsp;Catalog
49
 
      </span>
50
 
    </td>
51
 
    <td>
52
 
      <table cellpadding="0" cellspacing="0">
53
 
        <!-- hide/show private -->
54
 
      </table>
55
 
    </td>
56
 
  </tr>
57
 
</table>
58
 
<!-- ==================== CLASS DESCRIPTION ==================== -->
59
 
<h1 class="epydoc">Class Catalog</h1><p class="nomargin-top"></p>
60
 
<pre class="base-tree">
61
 
object --+
62
 
         |
63
 
        <strong class="uidshort">Catalog</strong>
64
 
</pre>
65
 
 
66
 
<hr />
67
 
Representation of a message catalog.
68
 
 
69
 
<!-- ==================== INSTANCE METHODS ==================== -->
70
 
<a name="section-InstanceMethods"></a>
71
 
<table class="summary" border="1" cellpadding="3"
72
 
       cellspacing="0" width="100%" bgcolor="white">
73
 
<tr bgcolor="#70b0f0" class="table-header">
74
 
  <td align="left" colspan="2" class="table-header">
75
 
    <span class="table-header">Instance Methods</span></td>
76
 
</tr>
77
 
<tr>
78
 
    <td width="15%" align="right" valign="top" class="summary">
79
 
      <span class="summary-type">&nbsp;</span>
80
 
    </td><td class="summary">
81
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
82
 
        <tr>
83
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
84
 
        <span class="summary-sig-arg">locale</span>=<span class="summary-sig-default">None</span>,
85
 
        <span class="summary-sig-arg">domain</span>=<span class="summary-sig-default">None</span>,
86
 
        <span class="summary-sig-arg">header_comment</span>=<span class="summary-sig-default"><code class="variable-quote">u'</code><code class="variable-string"># Translations template for PROJE</code><code class="variable-ellipsis">...</code></span>,
87
 
        <span class="summary-sig-arg">project</span>=<span class="summary-sig-default">None</span>,
88
 
        <span class="summary-sig-arg">version</span>=<span class="summary-sig-default">None</span>,
89
 
        <span class="summary-sig-arg">copyright_holder</span>=<span class="summary-sig-default">None</span>,
90
 
        <span class="summary-sig-arg">msgid_bugs_address</span>=<span class="summary-sig-default">None</span>,
91
 
        <span class="summary-sig-arg">creation_date</span>=<span class="summary-sig-default">None</span>,
92
 
        <span class="summary-sig-arg">revision_date</span>=<span class="summary-sig-default">None</span>,
93
 
        <span class="summary-sig-arg">last_translator</span>=<span class="summary-sig-default">None</span>,
94
 
        <span class="summary-sig-arg">language_team</span>=<span class="summary-sig-default">None</span>,
95
 
        <span class="summary-sig-arg">charset</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">utf-8</code><code class="variable-quote">'</code></span>,
96
 
        <span class="summary-sig-arg">fuzzy</span>=<span class="summary-sig-default">True</span>)</span><br />
97
 
      Initialize the catalog object.</td>
98
 
          <td align="right" valign="top">
99
 
            
100
 
            
101
 
          </td>
102
 
        </tr>
103
 
      </table>
104
 
      
105
 
    </td>
106
 
  </tr>
107
 
<tr>
108
 
    <td width="15%" align="right" valign="top" class="summary">
109
 
      <span class="summary-type">&nbsp;</span>
110
 
    </td><td class="summary">
111
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
112
 
        <tr>
113
 
          <td><span class="summary-sig"><a name="__contains__"></a><span class="summary-sig-name">__contains__</span>(<span class="summary-sig-arg">self</span>,
114
 
        <span class="summary-sig-arg">id</span>)</span><br />
115
 
      Return whether the catalog has a message with the specified ID.</td>
116
 
          <td align="right" valign="top">
117
 
            
118
 
            
119
 
          </td>
120
 
        </tr>
121
 
      </table>
122
 
      
123
 
    </td>
124
 
  </tr>
125
 
<tr>
126
 
    <td width="15%" align="right" valign="top" class="summary">
127
 
      <span class="summary-type">&nbsp;</span>
128
 
    </td><td class="summary">
129
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
130
 
        <tr>
131
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#__len__" class="summary-sig-name">__len__</a>(<span class="summary-sig-arg">self</span>)</span><br />
132
 
      The number of messages in the catalog.</td>
133
 
          <td align="right" valign="top">
134
 
            
135
 
            
136
 
          </td>
137
 
        </tr>
138
 
      </table>
139
 
      
140
 
    </td>
141
 
  </tr>
142
 
<tr>
143
 
    <td width="15%" align="right" valign="top" class="summary">
144
 
      <span class="summary-type"><tt class="rst-docutils literal">iterator</tt></span>
145
 
    </td><td class="summary">
146
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
147
 
        <tr>
148
 
          <td><span class="summary-sig"><a name="__iter__"></a><span class="summary-sig-name">__iter__</span>(<span class="summary-sig-arg">self</span>)</span><br />
149
 
      Iterates through all the entries in the catalog, in the order they
150
 
were added, yielding a <a href="babel.messages.catalog.Message-class.html" class="link">Message</a> object for every entry.</td>
151
 
          <td align="right" valign="top">
152
 
            
153
 
            
154
 
          </td>
155
 
        </tr>
156
 
      </table>
157
 
      
158
 
    </td>
159
 
  </tr>
160
 
<tr>
161
 
    <td width="15%" align="right" valign="top" class="summary">
162
 
      <span class="summary-type">&nbsp;</span>
163
 
    </td><td class="summary">
164
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
165
 
        <tr>
166
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
167
 
      repr(x)</td>
168
 
          <td align="right" valign="top">
169
 
            
170
 
            
171
 
          </td>
172
 
        </tr>
173
 
      </table>
174
 
      
175
 
    </td>
176
 
  </tr>
177
 
<tr>
178
 
    <td width="15%" align="right" valign="top" class="summary">
179
 
      <span class="summary-type">&nbsp;</span>
180
 
    </td><td class="summary">
181
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
182
 
        <tr>
183
 
          <td><span class="summary-sig"><a name="__delitem__"></a><span class="summary-sig-name">__delitem__</span>(<span class="summary-sig-arg">self</span>,
184
 
        <span class="summary-sig-arg">id</span>)</span><br />
185
 
      Delete the message with the specified ID.</td>
186
 
          <td align="right" valign="top">
187
 
            
188
 
            
189
 
          </td>
190
 
        </tr>
191
 
      </table>
192
 
      
193
 
    </td>
194
 
  </tr>
195
 
<tr>
196
 
    <td width="15%" align="right" valign="top" class="summary">
197
 
      <span class="summary-type"><a href="babel.messages.catalog.Message-class.html" class="link">Message</a></span>
198
 
    </td><td class="summary">
199
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
200
 
        <tr>
201
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#__getitem__" class="summary-sig-name">__getitem__</a>(<span class="summary-sig-arg">self</span>,
202
 
        <span class="summary-sig-arg">id</span>)</span><br />
203
 
      Return the message with the specified ID.</td>
204
 
          <td align="right" valign="top">
205
 
            
206
 
            
207
 
          </td>
208
 
        </tr>
209
 
      </table>
210
 
      
211
 
    </td>
212
 
  </tr>
213
 
<tr>
214
 
    <td width="15%" align="right" valign="top" class="summary">
215
 
      <span class="summary-type">&nbsp;</span>
216
 
    </td><td class="summary">
217
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
218
 
        <tr>
219
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#__setitem__" class="summary-sig-name">__setitem__</a>(<span class="summary-sig-arg">self</span>,
220
 
        <span class="summary-sig-arg">id</span>,
221
 
        <span class="summary-sig-arg">message</span>)</span><br />
222
 
      Add or update the message with the specified ID.</td>
223
 
          <td align="right" valign="top">
224
 
            
225
 
            
226
 
          </td>
227
 
        </tr>
228
 
      </table>
229
 
      
230
 
    </td>
231
 
  </tr>
232
 
<tr>
233
 
    <td width="15%" align="right" valign="top" class="summary">
234
 
      <span class="summary-type">&nbsp;</span>
235
 
    </td><td class="summary">
236
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
237
 
        <tr>
238
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
239
 
        <span class="summary-sig-arg">id</span>,
240
 
        <span class="summary-sig-arg">string</span>=<span class="summary-sig-default">None</span>,
241
 
        <span class="summary-sig-arg">locations</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
242
 
        <span class="summary-sig-arg">flags</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
243
 
        <span class="summary-sig-arg">auto_comments</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
244
 
        <span class="summary-sig-arg">user_comments</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
245
 
        <span class="summary-sig-arg">previous_id</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
246
 
        <span class="summary-sig-arg">lineno</span>=<span class="summary-sig-default">None</span>)</span><br />
247
 
      Add or update the message with the specified ID.</td>
248
 
          <td align="right" valign="top">
249
 
            
250
 
            
251
 
          </td>
252
 
        </tr>
253
 
      </table>
254
 
      
255
 
    </td>
256
 
  </tr>
257
 
<tr>
258
 
    <td width="15%" align="right" valign="top" class="summary">
259
 
      <span class="summary-type"><tt class="rst-docutils literal">iterator</tt></span>
260
 
    </td><td class="summary">
261
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
262
 
        <tr>
263
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#check" class="summary-sig-name">check</a>(<span class="summary-sig-arg">self</span>)</span><br />
264
 
      Run various validation checks on the translations in the catalog.</td>
265
 
          <td align="right" valign="top">
266
 
            
267
 
            
268
 
          </td>
269
 
        </tr>
270
 
      </table>
271
 
      
272
 
    </td>
273
 
  </tr>
274
 
<tr>
275
 
    <td width="15%" align="right" valign="top" class="summary">
276
 
      <span class="summary-type">&nbsp;</span>
277
 
    </td><td class="summary">
278
 
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
279
 
        <tr>
280
 
          <td><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
281
 
        <span class="summary-sig-arg">template</span>,
282
 
        <span class="summary-sig-arg">no_fuzzy_matching</span>=<span class="summary-sig-default">False</span>)</span><br />
283
 
      Update the catalog based on the given template catalog.</td>
284
 
          <td align="right" valign="top">
285
 
            
286
 
            
287
 
          </td>
288
 
        </tr>
289
 
      </table>
290
 
      
291
 
    </td>
292
 
  </tr>
293
 
  <tr>
294
 
    <td colspan="2" class="summary">
295
 
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
296
 
      <code>__delattr__</code>,
297
 
      <code>__format__</code>,
298
 
      <code>__getattribute__</code>,
299
 
      <code>__hash__</code>,
300
 
      <code>__new__</code>,
301
 
      <code>__reduce__</code>,
302
 
      <code>__reduce_ex__</code>,
303
 
      <code>__setattr__</code>,
304
 
      <code>__sizeof__</code>,
305
 
      <code>__str__</code>,
306
 
      <code>__subclasshook__</code>
307
 
      </p>
308
 
    </td>
309
 
  </tr>
310
 
</table>
311
 
<!-- ==================== INSTANCE VARIABLES ==================== -->
312
 
<a name="section-InstanceVariables"></a>
313
 
<table class="summary" border="1" cellpadding="3"
314
 
       cellspacing="0" width="100%" bgcolor="white">
315
 
<tr bgcolor="#70b0f0" class="table-header">
316
 
  <td align="left" colspan="2" class="table-header">
317
 
    <span class="table-header">Instance Variables</span></td>
318
 
</tr>
319
 
<tr>
320
 
    <td width="15%" align="right" valign="top" class="summary">
321
 
      <span class="summary-type">&nbsp;</span>
322
 
    </td><td class="summary">
323
 
        <a name="domain"></a><span class="summary-name">domain</span><br />
324
 
      The message domain
325
 
    </td>
326
 
  </tr>
327
 
<tr>
328
 
    <td width="15%" align="right" valign="top" class="summary">
329
 
      <span class="summary-type">&nbsp;</span>
330
 
    </td><td class="summary">
331
 
        <a name="locale"></a><span class="summary-name">locale</span><br />
332
 
      The locale or <code class="link">None</code>
333
 
    </td>
334
 
  </tr>
335
 
<tr>
336
 
    <td width="15%" align="right" valign="top" class="summary">
337
 
      <span class="summary-type">&nbsp;</span>
338
 
    </td><td class="summary">
339
 
        <a name="project"></a><span class="summary-name">project</span><br />
340
 
      The project name
341
 
    </td>
342
 
  </tr>
343
 
<tr>
344
 
    <td width="15%" align="right" valign="top" class="summary">
345
 
      <span class="summary-type">&nbsp;</span>
346
 
    </td><td class="summary">
347
 
        <a name="version"></a><span class="summary-name">version</span><br />
348
 
      The project version
349
 
    </td>
350
 
  </tr>
351
 
<tr>
352
 
    <td width="15%" align="right" valign="top" class="summary">
353
 
      <span class="summary-type">&nbsp;</span>
354
 
    </td><td class="summary">
355
 
        <a name="last_translator"></a><span class="summary-name">last_translator</span><br />
356
 
      Name and email address of the last translator.
357
 
    </td>
358
 
  </tr>
359
 
<tr>
360
 
    <td width="15%" align="right" valign="top" class="summary">
361
 
      <span class="summary-type">&nbsp;</span>
362
 
    </td><td class="summary">
363
 
        <a name="language_team"></a><span class="summary-name">language_team</span><br />
364
 
      Name and email address of the language team.
365
 
    </td>
366
 
  </tr>
367
 
<tr>
368
 
    <td width="15%" align="right" valign="top" class="summary">
369
 
      <span class="summary-type">&nbsp;</span>
370
 
    </td><td class="summary">
371
 
        <a name="creation_date"></a><span class="summary-name">creation_date</span><br />
372
 
      Creation date of the template
373
 
    </td>
374
 
  </tr>
375
 
<tr>
376
 
    <td width="15%" align="right" valign="top" class="summary">
377
 
      <span class="summary-type">&nbsp;</span>
378
 
    </td><td class="summary">
379
 
        <a name="revision_date"></a><span class="summary-name">revision_date</span><br />
380
 
      Last revision date of the catalog
381
 
    </td>
382
 
  </tr>
383
 
<tr>
384
 
    <td width="15%" align="right" valign="top" class="summary">
385
 
      <span class="summary-type">&nbsp;</span>
386
 
    </td><td class="summary">
387
 
        <a name="fuzzy"></a><span class="summary-name">fuzzy</span><br />
388
 
      Catalog header fuzzy bit (<code class="link">True</code> or <code class="link">False</code>)
389
 
    </td>
390
 
  </tr>
391
 
<tr>
392
 
    <td width="15%" align="right" valign="top" class="summary">
393
 
      <span class="summary-type">&nbsp;</span>
394
 
    </td><td class="summary">
395
 
        <a name="obsolete"></a><span class="summary-name">obsolete</span><br />
396
 
      Dictionary of obsolete messages
397
 
    </td>
398
 
  </tr>
399
 
</table>
400
 
<!-- ==================== PROPERTIES ==================== -->
401
 
<a name="section-Properties"></a>
402
 
<table class="summary" border="1" cellpadding="3"
403
 
       cellspacing="0" width="100%" bgcolor="white">
404
 
<tr bgcolor="#70b0f0" class="table-header">
405
 
  <td align="left" colspan="2" class="table-header">
406
 
    <span class="table-header">Properties</span></td>
407
 
</tr>
408
 
<tr>
409
 
    <td width="15%" align="right" valign="top" class="summary">
410
 
      <span class="summary-type"><code class="link">unicode</code></span>
411
 
    </td><td class="summary">
412
 
        <a href="babel.messages.catalog.Catalog-class.html#header_comment" class="summary-name">header_comment</a><br />
413
 
      The header comment for the catalog.
414
 
    </td>
415
 
  </tr>
416
 
<tr>
417
 
    <td width="15%" align="right" valign="top" class="summary">
418
 
      <span class="summary-type"><code class="link">list</code></span>
419
 
    </td><td class="summary">
420
 
        <a href="babel.messages.catalog.Catalog-class.html#mime_headers" class="summary-name">mime_headers</a><br />
421
 
      The MIME headers of the catalog, used for the special <tt class="rst-docutils literal">msgid &quot;&quot;</tt> entry.
422
 
    </td>
423
 
  </tr>
424
 
<tr>
425
 
    <td width="15%" align="right" valign="top" class="summary">
426
 
      <span class="summary-type"><code class="link">int</code></span>
427
 
    </td><td class="summary">
428
 
        <a href="babel.messages.catalog.Catalog-class.html#num_plurals" class="summary-name">num_plurals</a><br />
429
 
      The number of plurals used by the catalog or locale.
430
 
    </td>
431
 
  </tr>
432
 
<tr>
433
 
    <td width="15%" align="right" valign="top" class="summary">
434
 
      <span class="summary-type"><code class="link">basestring</code></span>
435
 
    </td><td class="summary">
436
 
        <a href="babel.messages.catalog.Catalog-class.html#plural_expr" class="summary-name">plural_expr</a><br />
437
 
      The plural expression used by the catalog or locale.
438
 
    </td>
439
 
  </tr>
440
 
<tr>
441
 
    <td width="15%" align="right" valign="top" class="summary">
442
 
      <span class="summary-type"><code class="link">str</code></span>
443
 
    </td><td class="summary">
444
 
        <a href="babel.messages.catalog.Catalog-class.html#plural_forms" class="summary-name">plural_forms</a><br />
445
 
      Return the plural forms declaration for the locale.
446
 
    </td>
447
 
  </tr>
448
 
  <tr>
449
 
    <td colspan="2" class="summary">
450
 
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
451
 
      <code>__class__</code>
452
 
      </p>
453
 
    </td>
454
 
  </tr>
455
 
</table>
456
 
<!-- ==================== METHOD DETAILS ==================== -->
457
 
<a name="section-MethodDetails"></a>
458
 
<table class="details" border="1" cellpadding="3"
459
 
       cellspacing="0" width="100%" bgcolor="white">
460
 
<tr bgcolor="#70b0f0" class="table-header">
461
 
  <td align="left" colspan="2" class="table-header">
462
 
    <span class="table-header">Method Details</span></td>
463
 
</tr>
464
 
</table>
465
 
<a name="__init__"></a>
466
 
<div>
467
 
<table class="details" border="1" cellpadding="3"
468
 
       cellspacing="0" width="100%" bgcolor="white">
469
 
<tr><td>
470
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
471
 
  <tr valign="top"><td>
472
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
473
 
        <span class="sig-arg">locale</span>=<span class="sig-default">None</span>,
474
 
        <span class="sig-arg">domain</span>=<span class="sig-default">None</span>,
475
 
        <span class="sig-arg">header_comment</span>=<span class="sig-default"><code class="variable-quote">u'</code><code class="variable-string"># Translations template for PROJE</code><code class="variable-ellipsis">...</code></span>,
476
 
        <span class="sig-arg">project</span>=<span class="sig-default">None</span>,
477
 
        <span class="sig-arg">version</span>=<span class="sig-default">None</span>,
478
 
        <span class="sig-arg">copyright_holder</span>=<span class="sig-default">None</span>,
479
 
        <span class="sig-arg">msgid_bugs_address</span>=<span class="sig-default">None</span>,
480
 
        <span class="sig-arg">creation_date</span>=<span class="sig-default">None</span>,
481
 
        <span class="sig-arg">revision_date</span>=<span class="sig-default">None</span>,
482
 
        <span class="sig-arg">last_translator</span>=<span class="sig-default">None</span>,
483
 
        <span class="sig-arg">language_team</span>=<span class="sig-default">None</span>,
484
 
        <span class="sig-arg">charset</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">utf-8</code><code class="variable-quote">'</code></span>,
485
 
        <span class="sig-arg">fuzzy</span>=<span class="sig-default">True</span>)</span>
486
 
    <br /><em class="fname">(Constructor)</em>
487
 
  </h3>
488
 
  </td><td align="right" valign="top"
489
 
    >&nbsp;
490
 
    </td>
491
 
  </tr></table>
492
 
  
493
 
  Initialize the catalog object.
494
 
  <dl class="fields">
495
 
    <dt>Parameters:</dt>
496
 
    <dd><ul class="nomargin-top">
497
 
        <li><strong class="pname"><code>locale</code></strong> - the locale identifier or <a href="babel.core.Locale-class.html" class="link">Locale</a> object, or <code class="link">None</code>
498
 
if the catalog is not bound to a locale (which basically
499
 
means it's a template)</li>
500
 
        <li><strong class="pname"><code>domain</code></strong> - the message domain</li>
501
 
        <li><strong class="pname"><code>header_comment</code></strong> - the header comment as string, or <code class="link">None</code> for the
502
 
default header</li>
503
 
        <li><strong class="pname"><code>project</code></strong> - the project's name</li>
504
 
        <li><strong class="pname"><code>version</code></strong> - the project's version</li>
505
 
        <li><strong class="pname"><code>copyright_holder</code></strong> - the copyright holder of the catalog</li>
506
 
        <li><strong class="pname"><code>msgid_bugs_address</code></strong> - the email address or URL to submit bug
507
 
reports to</li>
508
 
        <li><strong class="pname"><code>creation_date</code></strong> - the date the catalog was created</li>
509
 
        <li><strong class="pname"><code>revision_date</code></strong> - the date the catalog was revised</li>
510
 
        <li><strong class="pname"><code>last_translator</code></strong> - the name and email of the last translator</li>
511
 
        <li><strong class="pname"><code>language_team</code></strong> - the name and email of the language team</li>
512
 
        <li><strong class="pname"><code>charset</code></strong> - the encoding to use in the output</li>
513
 
        <li><strong class="pname"><code>fuzzy</code></strong> - the fuzzy bit on the catalog header</li>
514
 
    </ul></dd>
515
 
    <dt>Overrides:
516
 
        object.__init__
517
 
    </dt>
518
 
  </dl>
519
 
</td></tr></table>
520
 
</div>
521
 
<a name="__len__"></a>
522
 
<div>
523
 
<table class="details" border="1" cellpadding="3"
524
 
       cellspacing="0" width="100%" bgcolor="white">
525
 
<tr><td>
526
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
527
 
  <tr valign="top"><td>
528
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__len__</span>(<span class="sig-arg">self</span>)</span>
529
 
    <br /><em class="fname">(Length operator)</em>
530
 
  </h3>
531
 
  </td><td align="right" valign="top"
532
 
    >&nbsp;
533
 
    </td>
534
 
  </tr></table>
535
 
  
536
 
  <p>The number of messages in the catalog.</p>
537
 
<p>This does not include the special <tt class="rst-docutils literal">msgid &quot;&quot;</tt> entry.</p>
538
 
  <dl class="fields">
539
 
  </dl>
540
 
</td></tr></table>
541
 
</div>
542
 
<a name="__repr__"></a>
543
 
<div>
544
 
<table class="details" border="1" cellpadding="3"
545
 
       cellspacing="0" width="100%" bgcolor="white">
546
 
<tr><td>
547
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
548
 
  <tr valign="top"><td>
549
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
550
 
    <br /><em class="fname">(Representation operator)</em>
551
 
  </h3>
552
 
  </td><td align="right" valign="top"
553
 
    >&nbsp;
554
 
    </td>
555
 
  </tr></table>
556
 
  
557
 
  repr(x)
558
 
  <dl class="fields">
559
 
    <dt>Overrides:
560
 
        object.__repr__
561
 
        <dd><em class="note">(inherited documentation)</em></dd>
562
 
    </dt>
563
 
  </dl>
564
 
</td></tr></table>
565
 
</div>
566
 
<a name="__getitem__"></a>
567
 
<div>
568
 
<table class="details" border="1" cellpadding="3"
569
 
       cellspacing="0" width="100%" bgcolor="white">
570
 
<tr><td>
571
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
572
 
  <tr valign="top"><td>
573
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getitem__</span>(<span class="sig-arg">self</span>,
574
 
        <span class="sig-arg">id</span>)</span>
575
 
    <br /><em class="fname">(Indexing operator)</em>
576
 
  </h3>
577
 
  </td><td align="right" valign="top"
578
 
    >&nbsp;
579
 
    </td>
580
 
  </tr></table>
581
 
  
582
 
  Return the message with the specified ID.
583
 
  <dl class="fields">
584
 
    <dt>Parameters:</dt>
585
 
    <dd><ul class="nomargin-top">
586
 
        <li><strong class="pname"><code>id</code></strong> - the message ID</li>
587
 
    </ul></dd>
588
 
    <dt>Returns: <a href="babel.messages.catalog.Message-class.html" class="link">Message</a></dt>
589
 
        <dd>the message with the specified ID, or <code class="link">None</code> if no such message
590
 
is in the catalog</dd>
591
 
  </dl>
592
 
</td></tr></table>
593
 
</div>
594
 
<a name="__setitem__"></a>
595
 
<div>
596
 
<table class="details" border="1" cellpadding="3"
597
 
       cellspacing="0" width="100%" bgcolor="white">
598
 
<tr><td>
599
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
600
 
  <tr valign="top"><td>
601
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setitem__</span>(<span class="sig-arg">self</span>,
602
 
        <span class="sig-arg">id</span>,
603
 
        <span class="sig-arg">message</span>)</span>
604
 
    <br /><em class="fname">(Index assignment operator)</em>
605
 
  </h3>
606
 
  </td><td align="right" valign="top"
607
 
    >&nbsp;
608
 
    </td>
609
 
  </tr></table>
610
 
  
611
 
  <p>Add or update the message with the specified ID.</p>
612
 
<pre class="py-doctest">
613
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog()
614
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>] = Message(u<span class="py-string">'foo'</span>)
615
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>]
616
 
<span class="py-output">&lt;Message u'foo' (flags: [])&gt;</span></pre>
617
 
<p>If a message with that ID is already in the catalog, it is updated
618
 
to include the locations and flags of the new message.</p>
619
 
<pre class="py-doctest">
620
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog()
621
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>] = Message(u<span class="py-string">'foo'</span>, locations=[(<span class="py-string">'main.py'</span>, 1)])
622
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>].locations
623
 
<span class="py-output">[('main.py', 1)]</span>
624
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>] = Message(u<span class="py-string">'foo'</span>, locations=[(<span class="py-string">'utils.py'</span>, 5)])
625
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>].locations
626
 
<span class="py-output">[('main.py', 1), ('utils.py', 5)]</span></pre>
627
 
  <dl class="fields">
628
 
    <dt>Parameters:</dt>
629
 
    <dd><ul class="nomargin-top">
630
 
        <li><strong class="pname"><code>id</code></strong> - the message ID</li>
631
 
        <li><strong class="pname"><code>message</code></strong> - the <a href="babel.messages.catalog.Message-class.html" class="link">Message</a> object</li>
632
 
    </ul></dd>
633
 
  </dl>
634
 
</td></tr></table>
635
 
</div>
636
 
<a name="add"></a>
637
 
<div>
638
 
<table class="details" border="1" cellpadding="3"
639
 
       cellspacing="0" width="100%" bgcolor="white">
640
 
<tr><td>
641
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
642
 
  <tr valign="top"><td>
643
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
644
 
        <span class="sig-arg">id</span>,
645
 
        <span class="sig-arg">string</span>=<span class="sig-default">None</span>,
646
 
        <span class="sig-arg">locations</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
647
 
        <span class="sig-arg">flags</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
648
 
        <span class="sig-arg">auto_comments</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
649
 
        <span class="sig-arg">user_comments</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
650
 
        <span class="sig-arg">previous_id</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
651
 
        <span class="sig-arg">lineno</span>=<span class="sig-default">None</span>)</span>
652
 
  </h3>
653
 
  </td><td align="right" valign="top"
654
 
    >&nbsp;
655
 
    </td>
656
 
  </tr></table>
657
 
  
658
 
  <p>Add or update the message with the specified ID.</p>
659
 
<pre class="py-doctest">
660
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog()
661
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.add(u<span class="py-string">'foo'</span>)
662
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog[u<span class="py-string">'foo'</span>]
663
 
<span class="py-output">&lt;Message u'foo' (flags: [])&gt;</span></pre>
664
 
<p>This method simply constructs a <a href="babel.messages.catalog.Message-class.html" class="link">Message</a> object with the given
665
 
arguments and invokes <a href="babel.messages.catalog.Catalog-class.html#__setitem__" class="link">__setitem__</a> with that object.</p>
666
 
  <dl class="fields">
667
 
    <dt>Parameters:</dt>
668
 
    <dd><ul class="nomargin-top">
669
 
        <li><strong class="pname"><code>id</code></strong> - the message ID, or a <tt class="rst-docutils literal">(singular, plural)</tt> tuple for
670
 
pluralizable messages</li>
671
 
        <li><strong class="pname"><code>string</code></strong> - the translated message string, or a
672
 
<tt class="rst-docutils literal">(singular, plural)</tt> tuple for pluralizable messages</li>
673
 
        <li><strong class="pname"><code>locations</code></strong> - a sequence of <tt class="rst-docutils literal">(filenname, lineno)</tt> tuples</li>
674
 
        <li><strong class="pname"><code>flags</code></strong> - a set or sequence of flags</li>
675
 
        <li><strong class="pname"><code>auto_comments</code></strong> - a sequence of automatic comments</li>
676
 
        <li><strong class="pname"><code>user_comments</code></strong> - a sequence of user comments</li>
677
 
        <li><strong class="pname"><code>previous_id</code></strong> - the previous message ID, or a <tt class="rst-docutils literal">(singular, plural)</tt>
678
 
tuple for pluralizable messages</li>
679
 
        <li><strong class="pname"><code>lineno</code></strong> - the line number on which the msgid line was found in the
680
 
PO file, if any</li>
681
 
    </ul></dd>
682
 
  </dl>
683
 
</td></tr></table>
684
 
</div>
685
 
<a name="check"></a>
686
 
<div>
687
 
<table class="details" border="1" cellpadding="3"
688
 
       cellspacing="0" width="100%" bgcolor="white">
689
 
<tr><td>
690
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
691
 
  <tr valign="top"><td>
692
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">check</span>(<span class="sig-arg">self</span>)</span>
693
 
  </h3>
694
 
  </td><td align="right" valign="top"
695
 
    >&nbsp;
696
 
    </td>
697
 
  </tr></table>
698
 
  
699
 
  <p>Run various validation checks on the translations in the catalog.</p>
700
 
<p>For every message which fails validation, this method yield a
701
 
<tt class="rst-docutils literal">(message, errors)</tt> tuple, where <tt class="rst-docutils literal">message</tt> is the <a href="babel.messages.catalog.Message-class.html" class="link">Message</a> object
702
 
and <tt class="rst-docutils literal">errors</tt> is a sequence of <a href="babel.messages.catalog.TranslationError-class.html" class="link">TranslationError</a> objects.</p>
703
 
  <dl class="fields">
704
 
    <dt>Returns: <tt class="rst-rst-docutils literal rst-docutils literal">iterator</tt></dt>
705
 
  </dl>
706
 
</td></tr></table>
707
 
</div>
708
 
<a name="update"></a>
709
 
<div>
710
 
<table class="details" border="1" cellpadding="3"
711
 
       cellspacing="0" width="100%" bgcolor="white">
712
 
<tr><td>
713
 
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
714
 
  <tr valign="top"><td>
715
 
  <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
716
 
        <span class="sig-arg">template</span>,
717
 
        <span class="sig-arg">no_fuzzy_matching</span>=<span class="sig-default">False</span>)</span>
718
 
  </h3>
719
 
  </td><td align="right" valign="top"
720
 
    >&nbsp;
721
 
    </td>
722
 
  </tr></table>
723
 
  
724
 
  <p>Update the catalog based on the given template catalog.</p>
725
 
<pre class="py-doctest">
726
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> babel.messages <span class="py-keyword">import</span> Catalog
727
 
<span class="py-prompt">&gt;&gt;&gt; </span>template = Catalog()
728
 
<span class="py-prompt">&gt;&gt;&gt; </span>template.add(<span class="py-string">'green'</span>, locations=[(<span class="py-string">'main.py'</span>, 99)])
729
 
<span class="py-prompt">&gt;&gt;&gt; </span>template.add(<span class="py-string">'blue'</span>, locations=[(<span class="py-string">'main.py'</span>, 100)])
730
 
<span class="py-prompt">&gt;&gt;&gt; </span>template.add((<span class="py-string">'salad'</span>, <span class="py-string">'salads'</span>), locations=[(<span class="py-string">'util.py'</span>, 42)])
731
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog(locale=<span class="py-string">'de_DE'</span>)
732
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.add(<span class="py-string">'blue'</span>, u<span class="py-string">'blau'</span>, locations=[(<span class="py-string">'main.py'</span>, 98)])
733
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.add(<span class="py-string">'head'</span>, u<span class="py-string">'Kopf'</span>, locations=[(<span class="py-string">'util.py'</span>, 33)])
734
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.add((<span class="py-string">'salad'</span>, <span class="py-string">'salads'</span>), (u<span class="py-string">'Salat'</span>, u<span class="py-string">'Salate'</span>),
735
 
<span class="py-more">... </span>            locations=[(<span class="py-string">'util.py'</span>, 38)])</pre>
736
 
<pre class="py-doctest">
737
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.update(template)
738
 
<span class="py-prompt">&gt;&gt;&gt; </span>len(catalog)
739
 
<span class="py-output">3</span></pre>
740
 
<pre class="py-doctest">
741
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg1 = catalog[<span class="py-string">'green'</span>]
742
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg1.string
743
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg1.locations
744
 
<span class="py-output">[('main.py', 99)]</span></pre>
745
 
<pre class="py-doctest">
746
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg2 = catalog[<span class="py-string">'blue'</span>]
747
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg2.string
748
 
<span class="py-output">u'blau'</span>
749
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>msg2.locations
750
 
<span class="py-output">[('main.py', 100)]</span></pre>
751
 
<pre class="py-doctest">
752
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg3 = catalog[<span class="py-string">'salad'</span>]
753
 
<span class="py-prompt">&gt;&gt;&gt; </span>msg3.string
754
 
<span class="py-output">(u'Salat', u'Salate')</span>
755
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>msg3.locations
756
 
<span class="py-output">[('util.py', 42)]</span></pre>
757
 
<p>Messages that are in the catalog but not in the template are removed
758
 
from the main collection, but can still be accessed via the <a href="babel.messages.catalog.Catalog-class.html#obsolete" class="link">obsolete</a>
759
 
member:</p>
760
 
<pre class="py-doctest">
761
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-string">'head'</span> <span class="py-keyword">in</span> catalog
762
 
<span class="py-output">False</span>
763
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>catalog.obsolete.values()
764
 
<span class="py-output">[&lt;Message 'head' (flags: [])&gt;]</span></pre>
765
 
  <dl class="fields">
766
 
    <dt>Parameters:</dt>
767
 
    <dd><ul class="nomargin-top">
768
 
        <li><strong class="pname"><code>template</code></strong> - the reference catalog, usually read from a POT file</li>
769
 
        <li><strong class="pname"><code>no_fuzzy_matching</code></strong> - whether to use fuzzy matching of message IDs</li>
770
 
    </ul></dd>
771
 
  </dl>
772
 
</td></tr></table>
773
 
</div>
774
 
<br />
775
 
<!-- ==================== PROPERTY DETAILS ==================== -->
776
 
<a name="section-PropertyDetails"></a>
777
 
<table class="details" border="1" cellpadding="3"
778
 
       cellspacing="0" width="100%" bgcolor="white">
779
 
<tr bgcolor="#70b0f0" class="table-header">
780
 
  <td align="left" colspan="2" class="table-header">
781
 
    <span class="table-header">Property Details</span></td>
782
 
</tr>
783
 
</table>
784
 
<a name="header_comment"></a>
785
 
<div>
786
 
<table class="details" border="1" cellpadding="3"
787
 
       cellspacing="0" width="100%" bgcolor="white">
788
 
<tr><td>
789
 
  <h3 class="epydoc">header_comment</h3>
790
 
  <p>The header comment for the catalog.</p>
791
 
<pre class="py-doctest">
792
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog(project=<span class="py-string">'Foobar'</span>, version=<span class="py-string">'1.0'</span>,
793
 
<span class="py-more">... </span>                  copyright_holder=<span class="py-string">'Foo Company'</span>)
794
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">print</span> catalog.header_comment <span class="py-comment">#doctest: +ELLIPSIS</span>
795
 
<span class="py-output"># Translations template for Foobar.</span>
796
 
<span class="py-output"># Copyright (C) ... Foo Company</span>
797
 
<span class="py-output"># This file is distributed under the same license as the Foobar project.</span>
798
 
<span class="py-output"># FIRST AUTHOR &lt;EMAIL@ADDRESS&gt;, ....</span>
799
 
<span class="py-output">#</span></pre>
800
 
<p>The header can also be set from a string. Any known upper-case variables
801
 
will be replaced when the header is retrieved again:</p>
802
 
<pre class="py-doctest">
803
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog(project=<span class="py-string">'Foobar'</span>, version=<span class="py-string">'1.0'</span>,
804
 
<span class="py-more">... </span>                  copyright_holder=<span class="py-string">'Foo Company'</span>)
805
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog.header_comment = <span class="py-string">'''\</span>
806
 
<span class="py-more">... </span><span class="py-string"># The POT for my really cool PROJECT project.</span>
807
 
<span class="py-more">... </span><span class="py-string"># Copyright (C) 1990-2003 ORGANIZATION</span>
808
 
<span class="py-more">... </span><span class="py-string"># This file is distributed under the same license as the PROJECT</span>
809
 
<span class="py-more">... </span><span class="py-string"># project.</span>
810
 
<span class="py-more">... </span><span class="py-string">#'''</span>
811
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">print</span> catalog.header_comment
812
 
<span class="py-output"># The POT for my really cool Foobar project.</span>
813
 
<span class="py-output"># Copyright (C) 1990-2003 Foo Company</span>
814
 
<span class="py-output"># This file is distributed under the same license as the Foobar</span>
815
 
<span class="py-output"># project.</span>
816
 
<span class="py-output">#</span></pre>
817
 
  <dl class="fields">
818
 
    <dt>Get Method:</dt>
819
 
    <dd class="value"><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#_get_header_comment" class="summary-sig-name" onclick="show_private();">_get_header_comment</a>(<span class="summary-sig-arg">self</span>)</span>
820
 
    </dd>
821
 
    <dt>Set Method:</dt>
822
 
    <dd class="value"><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#_set_header_comment" class="summary-sig-name" onclick="show_private();">_set_header_comment</a>(<span class="summary-sig-arg">self</span>,
823
 
        <span class="summary-sig-arg">string</span>)</span>
824
 
    </dd>
825
 
    <dt>Type:</dt>
826
 
      <dd><code class="link">unicode</code></dd>
827
 
  </dl>
828
 
</td></tr></table>
829
 
</div>
830
 
<a name="mime_headers"></a>
831
 
<div>
832
 
<table class="details" border="1" cellpadding="3"
833
 
       cellspacing="0" width="100%" bgcolor="white">
834
 
<tr><td>
835
 
  <h3 class="epydoc">mime_headers</h3>
836
 
  <p>The MIME headers of the catalog, used for the special <tt class="rst-rst-docutils literal rst-docutils literal">msgid &quot;&quot;</tt> entry.</p>
837
 
<p>The behavior of this property changes slightly depending on whether a locale
838
 
is set or not, the latter indicating that the catalog is actually a template
839
 
for actual translations.</p>
840
 
<p>Here's an example of the output for such a catalog template:</p>
841
 
<pre class="py-doctest">
842
 
<span class="py-prompt">&gt;&gt;&gt; </span>created = datetime(1990, 4, 1, 15, 30, tzinfo=UTC)
843
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog(project=<span class="py-string">'Foobar'</span>, version=<span class="py-string">'1.0'</span>,
844
 
<span class="py-more">... </span>                  creation_date=created)
845
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">for</span> name, value <span class="py-keyword">in</span> catalog.mime_headers:
846
 
<span class="py-more">... </span>    <span class="py-keyword">print</span> <span class="py-string">'%s: %s'</span> % (name, value)
847
 
<span class="py-output">Project-Id-Version: Foobar 1.0</span>
848
 
<span class="py-output">Report-Msgid-Bugs-To: EMAIL@ADDRESS</span>
849
 
<span class="py-output">POT-Creation-Date: 1990-04-01 15:30+0000</span>
850
 
<span class="py-output">PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE</span>
851
 
<span class="py-output">Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;</span>
852
 
<span class="py-output">Language-Team: LANGUAGE &lt;LL@li.org&gt;</span>
853
 
<span class="py-output">MIME-Version: 1.0</span>
854
 
<span class="py-output">Content-Type: text/plain; charset=utf-8</span>
855
 
<span class="py-output">Content-Transfer-Encoding: 8bit</span>
856
 
<span class="py-output">Generated-By: Babel ...</span></pre>
857
 
<p>And here's an example of the output when the locale is set:</p>
858
 
<pre class="py-doctest">
859
 
<span class="py-prompt">&gt;&gt;&gt; </span>revised = datetime(1990, 8, 3, 12, 0, tzinfo=UTC)
860
 
<span class="py-prompt">&gt;&gt;&gt; </span>catalog = Catalog(locale=<span class="py-string">'de_DE'</span>, project=<span class="py-string">'Foobar'</span>, version=<span class="py-string">'1.0'</span>,
861
 
<span class="py-more">... </span>                  creation_date=created, revision_date=revised,
862
 
<span class="py-more">... </span>                  last_translator=<span class="py-string">'John Doe &lt;jd@example.com&gt;'</span>,
863
 
<span class="py-more">... </span>                  language_team=<span class="py-string">'de_DE &lt;de@example.com&gt;'</span>)
864
 
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">for</span> name, value <span class="py-keyword">in</span> catalog.mime_headers:
865
 
<span class="py-more">... </span>    <span class="py-keyword">print</span> <span class="py-string">'%s: %s'</span> % (name, value)
866
 
<span class="py-output">Project-Id-Version: Foobar 1.0</span>
867
 
<span class="py-output">Report-Msgid-Bugs-To: EMAIL@ADDRESS</span>
868
 
<span class="py-output">POT-Creation-Date: 1990-04-01 15:30+0000</span>
869
 
<span class="py-output">PO-Revision-Date: 1990-08-03 12:00+0000</span>
870
 
<span class="py-output">Last-Translator: John Doe &lt;jd@example.com&gt;</span>
871
 
<span class="py-output">Language-Team: de_DE &lt;de@example.com&gt;</span>
872
 
<span class="py-output">Plural-Forms: nplurals=2; plural=(n != 1)</span>
873
 
<span class="py-output">MIME-Version: 1.0</span>
874
 
<span class="py-output">Content-Type: text/plain; charset=utf-8</span>
875
 
<span class="py-output">Content-Transfer-Encoding: 8bit</span>
876
 
<span class="py-output">Generated-By: Babel ...</span></pre>
877
 
  <dl class="fields">
878
 
    <dt>Get Method:</dt>
879
 
    <dd class="value"><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#_get_mime_headers" class="summary-sig-name" onclick="show_private();">_get_mime_headers</a>(<span class="summary-sig-arg">self</span>)</span>
880
 
    </dd>
881
 
    <dt>Set Method:</dt>
882
 
    <dd class="value"><span class="summary-sig"><a href="babel.messages.catalog.Catalog-class.html#_set_mime_headers" class="summary-sig-name" onclick="show_private();">_set_mime_headers</a>(<span class="summary-sig-arg">self</span>,
883
 
        <span class="summary-sig-arg">headers</span>)</span>
884
 
    </dd>
885
 
    <dt>Type:</dt>
886
 
      <dd><code class="link">list</code></dd>
887
 
  </dl>
888
 
</td></tr></table>
889
 
</div>
890
 
<a name="num_plurals"></a>
891
 
<div>
892
 
<table class="details" border="1" cellpadding="3"
893
 
       cellspacing="0" width="100%" bgcolor="white">
894
 
<tr><td>
895
 
  <h3 class="epydoc">num_plurals</h3>
896
 
  <p>The number of plurals used by the catalog or locale.</p>
897
 
<pre class="py-doctest">
898
 
<span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'en'</span>).num_plurals
899
 
<span class="py-output">2</span>
900
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'ga'</span>).num_plurals
901
 
<span class="py-output">3</span></pre>
902
 
  <dl class="fields">
903
 
    <dt>Get Method:</dt>
904
 
    <dd class="value"><span class="summary-sig"><i>unreachable</i>.num_plurals(<span class="summary-sig-arg">self</span>)</span>
905
 
    </dd>
906
 
    <dt>Type:</dt>
907
 
      <dd><code class="link">int</code></dd>
908
 
  </dl>
909
 
</td></tr></table>
910
 
</div>
911
 
<a name="plural_expr"></a>
912
 
<div>
913
 
<table class="details" border="1" cellpadding="3"
914
 
       cellspacing="0" width="100%" bgcolor="white">
915
 
<tr><td>
916
 
  <h3 class="epydoc">plural_expr</h3>
917
 
  <p>The plural expression used by the catalog or locale.</p>
918
 
<pre class="py-doctest">
919
 
<span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'en'</span>).plural_expr
920
 
<span class="py-output">'(n != 1)'</span>
921
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'ga'</span>).plural_expr
922
 
<span class="py-output">'(n==1 ? 0 : n==2 ? 1 : 2)'</span></pre>
923
 
  <dl class="fields">
924
 
    <dt>Get Method:</dt>
925
 
    <dd class="value"><span class="summary-sig"><i>unreachable</i>.plural_expr(<span class="summary-sig-arg">self</span>)</span>
926
 
    </dd>
927
 
    <dt>Type:</dt>
928
 
      <dd><code class="link">basestring</code></dd>
929
 
  </dl>
930
 
</td></tr></table>
931
 
</div>
932
 
<a name="plural_forms"></a>
933
 
<div>
934
 
<table class="details" border="1" cellpadding="3"
935
 
       cellspacing="0" width="100%" bgcolor="white">
936
 
<tr><td>
937
 
  <h3 class="epydoc">plural_forms</h3>
938
 
  <p>Return the plural forms declaration for the locale.</p>
939
 
<pre class="py-doctest">
940
 
<span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'en'</span>).plural_forms
941
 
<span class="py-output">'nplurals=2; plural=(n != 1)'</span>
942
 
<span class="py-output"></span><span class="py-prompt">&gt;&gt;&gt; </span>Catalog(locale=<span class="py-string">'pt_BR'</span>).plural_forms
943
 
<span class="py-output">'nplurals=2; plural=(n &gt; 1)'</span></pre>
944
 
  <dl class="fields">
945
 
    <dt>Get Method:</dt>
946
 
    <dd class="value"><span class="summary-sig"><i>unreachable</i>.plural_forms(<span class="summary-sig-arg">self</span>)</span>
947
 
    </dd>
948
 
    <dt>Type:</dt>
949
 
      <dd><code class="link">str</code></dd>
950
 
  </dl>
951
 
</td></tr></table>
952
 
</div>
953
 
<br />
954
 
<!-- ==================== NAVIGATION BAR ==================== -->
955
 
<table class="navbar" border="0" width="100%" cellpadding="0"
956
 
       bgcolor="#a0c0ff" cellspacing="0">
957
 
  <tr valign="middle">
958
 
  <!-- Home link -->
959
 
      <th>&nbsp;&nbsp;&nbsp;<a
960
 
        href="babel-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
961
 
 
962
 
  <!-- Tree link -->
963
 
      <th>&nbsp;&nbsp;&nbsp;<a
964
 
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
965
 
 
966
 
  <!-- Index link -->
967
 
      <th>&nbsp;&nbsp;&nbsp;<a
968
 
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
969
 
 
970
 
  <!-- Help link -->
971
 
      <th>&nbsp;&nbsp;&nbsp;<a
972
 
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
973
 
 
974
 
  <!-- Project homepage -->
975
 
      <th class="navbar" align="right" width="100%">
976
 
        <table border="0" cellpadding="0" cellspacing="0">
977
 
          <tr><th class="navbar" align="center"
978
 
            ><a class="navbar" target="_top" href="../index.html">Documentation Index</a></th>
979
 
          </tr></table></th>
980
 
  </tr>
981
 
</table>
982
 
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
983
 
  <tr>
984
 
    <td align="left" class="footer">
985
 
    Generated by Epydoc 3.0.1 on Thu Mar 17 15:12:44 2011
986
 
    </td>
987
 
    <td align="right" class="footer">
988
 
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
989
 
        >http://epydoc.sourceforge.net</a>
990
 
    </td>
991
 
  </tr>
992
 
</table>
993
 
 
994
 
<script type="text/javascript">
995
 
  <!--
996
 
  // Private objects are initially displayed (because if
997
 
  // javascript is turned off then we want them to be
998
 
  // visible); but by default, we want to hide them.  So hide
999
 
  // them unless we have a cookie that says to show them.
1000
 
  checkCookie();
1001
 
  // -->
1002
 
</script>
1003
 
</body>
1004
 
</html>