2 // Copyright (C) 2006 Ingo Ruhnke <grumbel@gmx.de>
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef HEADER_SUPERTUX_UTIL_GETTEXT_HPP
18 #define HEADER_SUPERTUX_UTIL_GETTEXT_HPP
20 #include <tinygettext/tinygettext.hpp>
23 #include "supertux/globals.hpp"
26 * If you need to do a nontrivial substitution of values into a pattern, use
27 * boost::format rather than an ad-hoc concatenation. That way, translators can
28 * translate the format string as a whole (and even rearrange the values if
29 * necessary with "%1$s"-style codes) instead of multiple pieces. Patterns like
30 * "Label: %s" with only one string piece are a borderline case where
31 * boost::format is not really necessary.
33 * http://www.mihai-nita.net/article.php?artID=20060430a
36 * std::string msg = _("You collected ") + num + _(" coins");
37 * std::cout << _("You collected ") << num << _(" coins");
39 * #include <boost/format.hpp>
40 * std::string msg = str(boost::format(_("You collected %d coins")) % num);
41 * std::cout << boost::format(_("You collected %d coins")) % num;
44 static inline std::string _(const std::string& message)
46 if (dictionary_manager)
48 return dictionary_manager->get_dictionary().translate(message);