E-MailRelay
ggettext_unix.cpp
Go to the documentation of this file.
1//
2// Copyright (C) 2001-2024 Graeme Walker <graeme_walker@users.sourceforge.net>
3//
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.
8//
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.
13//
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/>.
16// ===
17///
18/// \file ggettext_unix.cpp
19///
20
21#include "gdef.h"
22#include "ggettext.h"
23#include <clocale>
24#include <libintl.h>
25
26void G::gettext_init( const std::string & localedir , const std::string & appname )
27{
28 if( !appname.empty() )
29 {
30 std::setlocale( LC_MESSAGES , "" ) ;
31 std::setlocale( LC_CTYPE , "" ) ;
32 if( !localedir.empty() )
33 bindtextdomain( appname.c_str() , localedir.c_str() ) ;
34 textdomain( appname.c_str() ) ;
35 // see also bind_textdomain_codeset()
36 }
37}
38
39const char * G::gettext( const char * p ) noexcept
40{
41 return ::gettext( p ) ;
42}
43
const char * gettext(const char *) noexcept
Returns the message translation in the current locale's codeset, eg.
void gettext_init(const std::string &localedir, const std::string &name)
Initialises the gettext() library.