1#
2# Copyright 2008-2009 Zuza Software Foundation
3#
4# This file is part of the Translate Toolkit.
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 of the License, or
9# (at your option) 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, see <http://www.gnu.org/licenses/>.
18
19"""
20This module implements basic functionality to support placeables.
21
22A placeable is used to represent things like:
23  1. Substitutions
24
25     For example, in ODF, footnotes appear in the ODF XML
26     where they are defined; so if we extract a paragraph with some
27     footnotes, the translator will have a lot of additional XML to with;
28     so we separate the footnotes out into separate translation units and
29     mark their positions in the original text with placeables.
30
31  2. Hiding of inline formatting data
32
33     The translator doesn't want to have to deal with all the weird
34     formatting conventions of wherever the text came from.
35
36  3. Marking variables
37
38     This is an old issue - translators translate variable names which
39     should remain untranslated. We can wrap placeables around variable
40     names to avoid this.
41
42The placeables model follows the XLIFF standard's list of placeables.
43Please refer to the XLIFF specification to get a better understanding.
44"""
45
46from . import base, general, interfaces, xliff
47from .base import *
48from .base import __all__ as all_your_base
49from .parse import parse
50from .strelem import StringElem
51
52
53__all__ = (
54    "base",
55    "interfaces",
56    "general",
57    "parse",
58    "StringElem",
59    "xliff",
60) + all_your_base
61