mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 02:35:20 +00:00
19024f7255
Get the default language by a mix of QLocale and LyXRC::gui_language Known limitations: * encoding is supposed to be UTF-8 (the charset parameter is checked); * context is not handled (implemented differently in LyX); * plural forms not implemented (not used for now in LyX);. * tThe byte endianness of the machine on which the .mo file have been built is expected to be the same as the one of the machine where this code is run.
59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
/**
|
|
* \file src/gettext.cpp
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Lars Gullik Bjønnes
|
|
* \author Jean-Marc Lasgouttes
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include "support/gettext.h"
|
|
|
|
#include "support/lstrings.h"
|
|
#include "support/Messages.h"
|
|
#include "support/Package.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace lyx {
|
|
|
|
docstring const _(string const & str)
|
|
{
|
|
return getGuiMessages().get(str);
|
|
}
|
|
|
|
|
|
docstring const translateIfPossible(docstring const & name)
|
|
{
|
|
if (support::isAscii(name) && !name.empty())
|
|
// Probably from a standard configuration file, try to
|
|
// translate
|
|
return _(to_ascii(name));
|
|
else
|
|
// This must be from a user defined configuration file. We
|
|
// cannot translate this, since gettext accepts only ascii
|
|
// keys.
|
|
return name;
|
|
}
|
|
|
|
|
|
docstring const translateIfPossible(docstring const & name, std::string const & language)
|
|
{
|
|
if (support::isAscii(name) && !name.empty())
|
|
// Probably from a standard configuration file, try to
|
|
// translate
|
|
return getMessages(language).get(to_ascii(name));
|
|
else
|
|
// This must be from a user defined configuration file. We
|
|
// cannot translate this, since gettext accepts only ascii
|
|
// keys.
|
|
return name;
|
|
}
|
|
|
|
|
|
} // namespace lyx
|