annotate doc/setup.txt @ 162:661cb602781d

Add MO file generation. Closes #21.
author cmlenz
date Thu, 21 Jun 2007 14:38:30 +0000
parents 24b5de939850
children 6138ea7ef7a8
rev   line source
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
1 .. -*- mode: rst; encoding: utf-8 -*-
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
2
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
3 ================================
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
4 Distutils/Setuptools Integration
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
5 ================================
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
6
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
7 Babel provides commands for integration into ``setup.py`` scripts, based on
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
8 either the ``distutils`` package that is part of the Python standard library,
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
9 or the third-party ``setuptools`` package.
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
10
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
11 These commands are available by default when Babel has been properly installed,
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
12 and ``setup.py`` is using ``setuptools``. For projects that use plain old
42
cf94e70a77f3 Syntax highlighting for the docs.
cmlenz
parents: 4
diff changeset
13 ``distutils``, the commands need to be registered explicitly, for example:
cf94e70a77f3 Syntax highlighting for the docs.
cmlenz
parents: 4
diff changeset
14
cf94e70a77f3 Syntax highlighting for the docs.
cmlenz
parents: 4
diff changeset
15 .. code-block:: python
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
16
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
17 from distutils.core import setup
56
27d55a07c897 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 53
diff changeset
18 from babel.messages import frontend as babel
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
19
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
20 setup(
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
21 ...
162
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
22 cmd_class = {'compile_catalog': babel.compile_catalog,
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
23 'extract_messages': babel.extract_messages,
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
24 'new_catalog': babel.new_catalog}
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
25 )
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
26
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
27
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
28 .. contents:: Contents
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
29 :depth: 2
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
30 .. sectnum::
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
31
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
32
162
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
33 compile_catalog
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
34 ===============
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
35
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
36 The ``compile_catalog`` command is similar to the GNU ``msgfmt`` tool, in that
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
37 it takes a message catalog from a PO file and compiles it to a binary MO file.
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
38
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
39 If the command has been correctly installed or registered, a project's
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
40 ``setup.py`` script should allow you to use the command::
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
41
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
42 $ ./setup.py compile_catalog --help
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
43 Global options:
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
44 --verbose (-v) run verbosely (default)
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
45 --quiet (-q) run quietly (turns verbosity off)
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
46 --dry-run (-n) don't actually do anything
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
47 --help (-h) show detailed help message
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
48
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
49 Options for 'compile_catalog' command:
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
50 ...
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
51
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
52 Running the command will produce a PO template file::
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
53
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
54 $ ./setup.py compile_catalog --directory foobar/locale --locale pt_BR
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
55 running compile_catalog
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
56 compiling catalog to to foobar/locale/pt_BR/LC_MESSAGES/messages.mo
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
57
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
58
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
59 Options
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
60 -------
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
61
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
62 The ``compile_catalog`` command accepts the following options:
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
63
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
64 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
65 | Option | Description |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
66 +=============================+==============================================+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
67 | ``--domain`` | domain of the PO file (defaults to |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
68 | | lower-cased project name) |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
69 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
70 | ``--directory`` (``-d``) | name of the base directory |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
71 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
72 | ``--input-file`` (``-i``) | name of the input file |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
73 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
74 | ``--output-file`` (``-o``) | name of the output file |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
75 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
76 | ``--locale`` | locale for the new localized string |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
77 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
78 | ``--use-fuzzy`` | also include "fuzzy" translations |
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
79 +-----------------------------+----------------------------------------------+
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
80
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
81 If ``directory`` is specified, but ``output-file`` is not, the default filename
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
82 of the output file will be::
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
83
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
84 <output_dir>/<locale>/LC_MESSAGES/<domain>.mo
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
85
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
86 These options can either be specified on the command-line, or in the
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
87 ``setup.cfg`` file.
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
88
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
89
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
90 extract_messages
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
91 ================
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
92
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
93 The ``extract_messages`` command is comparable to the GNU ``xgettext`` program:
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
94 it can extract localizable messages from a variety of difference source files,
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
95 and generate a PO (portable object) template file from the collected messages.
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
96
162
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
97 If the command has been correctly installed or registered, a project's
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
98 ``setup.py`` script should allow you to use the command::
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
99
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
100 $ ./setup.py extract_messages --help
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
101 Global options:
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
102 --verbose (-v) run verbosely (default)
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
103 --quiet (-q) run quietly (turns verbosity off)
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
104 --dry-run (-n) don't actually do anything
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
105 --help (-h) show detailed help message
79
7cf16a49e8b2 Updated frontend screens for added sorting features.
cmlenz
parents: 64
diff changeset
106
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
107 Options for 'extract_messages' command:
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
108 ...
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
109
53
52dbebdd3789 Fixed a bug regarding plural msgid's handling when writing the `.pot` file.
palgarvio
parents: 51
diff changeset
110 Running the command will produce a PO template file::
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
111
51
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
112 $ ./setup.py extract_messages --output-file foobar/locale/messages.pot
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
113 running extract_messages
51
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
114 extracting messages from foobar/__init__.py
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
115 extracting messages from foobar/core.py
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
116 ...
53
52dbebdd3789 Fixed a bug regarding plural msgid's handling when writing the `.pot` file.
palgarvio
parents: 51
diff changeset
117 writing PO template file to foobar/locale/messages.pot
51
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
118
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
119
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
120 Method Mapping
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
121 --------------
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
122
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
123 The mapping of file patterns to extraction methods (and options) can be
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
124 specified using a configuration file that is pointed to using the
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
125 ``--mapping-file`` option shown above. Alternatively, you can configure the
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
126 mapping directly in ``setup.py`` using a keyword argument to the ``setup()``
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
127 function:
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
128
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
129 .. code-block:: python
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
130
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
131 setup(...
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
132
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
133 message_extractors = {
64
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
134 'foobar': [
119
c84f629da9de Made new frontend tests more ''unit-y'', i.e. calling the APIs directly instead of launching the scripts.
cmlenz
parents: 92
diff changeset
135 ('**.py', 'python', None),
c84f629da9de Made new frontend tests more ''unit-y'', i.e. calling the APIs directly instead of launching the scripts.
cmlenz
parents: 92
diff changeset
136 ('**/templates/**.html', 'genshi', None),
c84f629da9de Made new frontend tests more ''unit-y'', i.e. calling the APIs directly instead of launching the scripts.
cmlenz
parents: 92
diff changeset
137 ('**/templates/**.txt', 'genshi', {
146
24b5de939850 Some doc fixes.
cmlenz
parents: 119
diff changeset
138 'template_class': 'genshi.template:TextTemplate'
64
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
139 })
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
140 ],
51
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
141 },
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
142
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
143 ...
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
144 )
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
145
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
146
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
147 Options
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
148 -------
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
149
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
150 The ``extract_messages`` command accepts the following options:
4
2cada72b40ae Forgot to check in the doc directory.
cmlenz
parents:
diff changeset
151
51
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
152 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
153 | Option | Description |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
154 +=============================+==============================================+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
155 | ``--charset`` | charset to use in the output file |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
156 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
157 | ``--keywords`` (``-k``) | space-separated list of keywords to look for |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
158 | | in addition to the defaults |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
159 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
160 | ``--no-default-keywords`` | do not include the default keywords |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
161 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
162 | ``--mapping-file`` (``-F``) | path to the mapping configuration file |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
163 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
164 | ``--no-location`` | do not include location comments with |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
165 | | filename and line number |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
166 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
167 | ``--omit-header`` | do not include msgid "" entry in header |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
168 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
169 | ``--output-file`` (``-o``) | name of the output file |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
170 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
171 | ``--width`` (``-w``) | set output line width (default 76) |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
172 +-----------------------------+----------------------------------------------+
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
173 | ``--no-wrap`` | do not break long message lines, longer than |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
174 | | the output line width, into several lines |
3664c93860f1 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 42
diff changeset
175 +-----------------------------+----------------------------------------------+
64
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
176 | ``--input-dirs`` | directories that should be scanned for |
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
177 | | messages |
7eb6fea17864 The order of extraction methods is now preserved (see #10).
cmlenz
parents: 56
diff changeset
178 +-----------------------------+----------------------------------------------+
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
179 | ``--sort-output`` | generate sorted output (default False) |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
180 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
181 | ``--sort-by-file`` | sort output by file location (default False) |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
182 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
183 | ``--msgid-bugs-address`` | set email address for message bug reports |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
184 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
185 | ``--copyright-holder`` | set copyright holder in output |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
186 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
187 | ``--add-comments (-c)`` | place comment block with TAG (or those |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
188 | | preceding keyword lines) in output file. |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
189 | | Separate multiple TAGs with commas(,) |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
190 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
191
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
192 These options can either be specified on the command-line, or in the
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
193 ``setup.cfg`` file. In the latter case, the options above become entries of the
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
194 section ``[extract_messages]``, and the option names are changed to use
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
195 underscore characters instead of dashes, for example:
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
196
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
197 .. code-block:: ini
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
198
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
199 [extract_messages]
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
200 keywords = _, gettext, ngettext
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
201 mapping_file = babel.cfg
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
202 width = 80
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
203
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
204 This would be equivalent to invoking the command from the command-line as
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
205 follows::
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
206
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
207 $ setup.py extract_messages -k _ -k gettext -k ngettext -F mapping.cfg -w 80
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
208
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
209 Any path names are interpreted relative to the location of the ``setup.py``
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
210 file. For boolean options, use "true" or "false" values.
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
211
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
212
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
213 new_catalog
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
214 ===========
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
215
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
216 The ``new_catalog`` command is basically equivalent to the GNU ``msginit``
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
217 program: it creates a new translation catalog based on a PO template file (POT).
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
218
162
661cb602781d Add MO file generation. Closes #21.
cmlenz
parents: 146
diff changeset
219 If the command has been correctly installed or registered, a project's
92
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
220 ``setup.py`` script should allow you to use the command::
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
221
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
222 $ ./setup.py new_catalog --help
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
223 Global options:
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
224 --verbose (-v) run verbosely (default)
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
225 --quiet (-q) run quietly (turns verbosity off)
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
226 --dry-run (-n) don't actually do anything
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
227 --help (-h) show detailed help message
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
228
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
229 Options for 'new_catalog' command:
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
230 ...
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
231
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
232 Running the command will produce a PO file::
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
233
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
234 $ ./setup.py new_catalog -l fr -i foobar/locales/messages.pot \
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
235 -o foobar/locales/fr/messages.po
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
236 running new_catalog
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
237 creating catalog 'foobar/locales/fr/messages.po' based on 'foobar/locales/messages.pot'
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
238
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
239
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
240 Options
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
241 -------
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
242
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
243 The ``new_catalog`` command accepts the following options:
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
244
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
245 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
246 | Option | Description |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
247 +=============================+==============================================+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
248 | ``--domain`` | domain of the PO file (defaults to |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
249 | | lower-cased project name) |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
250 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
251 | ``--input-file`` (``-i``) | name of the input file |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
252 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
253 | ``--output-dir`` (``-d``) | name of the output directory |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
254 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
255 | ``--output-file`` (``-o``) | name of the output file |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
256 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
257 | ``--locale`` | locale for the new localized string |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
258 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
259 | ``--omit-header`` | do not include msgid "" entry in header |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
260 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
261 | ``--first-author`` | name of the first author |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
262 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
263 | ``--first-author-email`` | email address of the first author |
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
264 +-----------------------------+----------------------------------------------+
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
265
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
266 If ``output-dir`` is specified, but ``output-file`` is not, the default filename
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
267 of the output file will be::
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
268
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
269 <output_dir>/<locale>/LC_MESSAGES/<domain>.po
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
270
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
271 These options can either be specified on the command-line, or in the
6d1a7777003e Some doc improvements on distutils integration.
cmlenz
parents: 82
diff changeset
272 ``setup.cfg`` file.
Copyright (C) 2012-2017 Edgewall Software