xref: /netbsd-src/external/gpl2/gettext/dist/gettext-tools/src/write-po.h (revision 946379e7b37692fc43f68eb0d1c10daa0a7f3b6c)
1 /* GNU gettext - internationalization aids
2    Copyright (C) 1995-1998, 2000-2003, 2006 Free Software Foundation, Inc.
3 
4    This file was written by Peter Miller <millerp@canb.auug.org.au>
5 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2, or (at your option)
9    any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software Foundation,
18    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
19 
20 #ifndef _WRITE_PO_H
21 #define _WRITE_PO_H
22 
23 #include "message.h"
24 
25 #include <stdbool.h>
26 #include <stdio.h>
27 
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 
34 /* These functions are used to output a #, flags line.  */
35 extern const char *
36        make_format_description_string (enum is_format is_format,
37 				       const char *lang, bool debug);
38 extern bool
39        significant_format_p (enum is_format is_format);
40 
41 
42 /* These functions output parts of a message, as comments.  */
43 extern void
44        message_print_comment (const message_ty *mp, FILE *fp);
45 extern void
46        message_print_comment_dot (const message_ty *mp, FILE *fp);
47 extern void
48        message_print_comment_filepos (const message_ty *mp, FILE *fp,
49 				      bool uniforum, size_t page_width);
50 extern void
51        message_print_comment_flags (const message_ty *mp, FILE *fp,
52 				    bool debug);
53 
54 /* These functions set some parameters for use by 'output_format_po.print'.  */
55 extern void
56        message_page_width_ignore (void);
57 extern void
58        message_print_style_indent (void);
59 extern void
60        message_print_style_uniforum (void);
61 extern void
62        message_print_style_escape (bool flag);
63 
64 /* Describes a PO file in .po syntax.  */
65 extern DLL_VARIABLE const struct catalog_output_format output_format_po;
66 
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 
73 #endif /* _WRITE_PO_H */
74