1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2025-01-27 00:58:36 +00:00

Internationalization support

This patch adds i18n-support with gettext, all translatable strings in the
code should be placed inside _() to make sure users see them in their own
language (I only did this for print_version() for now)
This commit is contained in:
Nikolas Garofil 2010-10-31 00:02:02 +02:00
parent be9b62f0aa
commit b98ebc90ee
3 changed files with 46 additions and 38 deletions

View File

@ -48,6 +48,8 @@ mark_as_advanced(RELEASE)
option(MAINTAINER_MODE "Enable maintainer mode (builds docs)" false)
set(LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale" CACHE STRING "Directory containing the locales")
# Some standard options
set(SYSTEM_CONFIG_FILE "/etc/conky/conky.conf" CACHE STRING "Default system-wide Conky configuration file")
# use FORCE below to make sure this changes when CMAKE_INSTALL_PREFIX is modified

View File

@ -15,6 +15,7 @@
#define PACKAGE_LIBDIR "@PACKAGE_LIBRARY_DIR@"
#define DEFAULTNETDEV "@DEFAULTNETDEV@"
#define CONFIG_FILE "@CONFIG_FILE@"
#define LOCALE_DIR "@LOCALE_DIR@"
#define MAX_USER_TEXT_DEFAULT @MAX_USER_TEXT_DEFAULT@
#define DEFAULT_TEXT_BUFFER_SIZE @DEFAULT_TEXT_BUFFER_SIZE@
#define MAX_NET_INTERFACES @MAX_NET_INTERFACES@

View File

@ -80,6 +80,8 @@
#ifdef BUILD_CURL
#include <curl/curl.h>
#endif
#include <libintl.h>
#define _(string) gettext(string)
/* local headers */
#include "core.h"
@ -190,110 +192,110 @@ static void reload_config(void);
static void print_version(void)
{
std::cout << PACKAGE_NAME" "VERSION" compiled "BUILD_DATE" for "BUILD_ARCH"\n"
std::cout << _(PACKAGE_NAME" "VERSION" compiled "BUILD_DATE" for "BUILD_ARCH"\n"
"\nCompiled in features:\n\n"
"System config file: "SYSTEM_CONFIG_FILE"\n"
"Package library path: "PACKAGE_LIBDIR"\n\n"
"Package library path: "PACKAGE_LIBDIR"\n\n")
#ifdef BUILD_X11
" X11:\n"
<< " X11:\n"
# ifdef BUILD_XDAMAGE
" * Xdamage extension\n"
<< _(" * Xdamage extension\n")
# endif /* BUILD_XDAMAGE */
# ifdef BUILD_XDBE
" * XDBE (double buffer extension)\n"
<< _(" * XDBE (double buffer extension)\n")
# endif /* BUILD_XDBE */
# ifdef BUILD_XFT
" * Xft\n"
<< " * Xft\n"
# endif /* BUILD_XFT */
# ifdef BUILD_ARGB
" * ARGB visual\n"
<< _(" * ARGB visual\n")
# endif /* BUILD_ARGB */
#endif /* BUILD_X11 */
"\n Music detection:\n"
<< _("\n Music detection:\n")
#ifdef BUILD_AUDACIOUS
" * Audacious\n"
<< " * Audacious\n"
#endif /* BUILD_AUDACIOUS */
#ifdef BUILD_BMPX
" * BMPx\n"
<< " * BMPx\n"
#endif /* BUILD_BMPX */
#ifdef BUILD_MPD
" * MPD\n"
<< " * MPD\n"
#endif /* BUILD_MPD */
#ifdef BUILD_MOC
" * MOC\n"
<< " * MOC\n"
#endif /* BUILD_MOC */
#ifdef BUILD_XMMS2
" * XMMS2\n"
<< " * XMMS2\n"
#endif /* BUILD_XMMS2 */
"\n General:\n"
<< _("\n General:\n")
#ifdef HAVE_OPENMP
" * OpenMP\n"
<< " * OpenMP\n"
#endif /* HAVE_OPENMP */
#ifdef BUILD_MATH
" * math\n"
<< _(" * math\n")
#endif /* BUILD_MATH */
#ifdef BUILD_HDDTEMP
" * hddtemp\n"
<< " * hddtemp\n"
#endif /* BUILD_HDDTEMP */
#ifdef BUILD_PORT_MONITORS
" * portmon\n"
<< " * portmon\n"
#endif /* BUILD_PORT_MONITORS */
#ifdef BUILD_HTTP
" * HTTP\n"
<< " * HTTP\n"
#endif
#ifdef BUILD_IRC
" * IRC\n"
<< " * IRC\n"
#endif
#ifdef BUILD_CURL
" * Curl\n"
<< " * Curl\n"
#endif /* BUILD_CURL */
#ifdef BUILD_RSS
" * RSS\n"
<< " * RSS\n"
#endif /* BUILD_RSS */
#ifdef BUILD_WEATHER_METAR
" * Weather (METAR)\n"
<< _(" * Weather (METAR)\n")
#ifdef BUILD_WEATHER_XOAP
" * Weather (XOAP)\n"
<< _(" * Weather (XOAP)\n")
#endif /* BUILD_WEATHER_XOAP */
#endif /* BUILD_WEATHER_METAR */
#ifdef BUILD_WLAN
" * wireless\n"
<< _(" * wireless\n")
#endif /* BUILD_WLAN */
#ifdef BUILD_IBM
" * support for IBM/Lenovo notebooks\n"
<< _(" * support for IBM/Lenovo notebooks\n")
#endif /* BUILD_IBM */
#ifdef BUILD_NVIDIA
" * nvidia\n"
<< " * nvidia\n"
#endif /* BUILD_NVIDIA */
#ifdef BUILD_EVE
" * eve-online\n"
<< _(" * eve-online\n")
#endif /* BUILD_EVE */
#ifdef BUILD_BUILTIN_CONFIG
" * builtin default configuration\n"
<< _(" * builtin default configuration\n")
#endif /* BUILD_BUILTIN_CONFIG */
#ifdef BUILD_IMLIB2
" * Imlib2\n"
<< " * Imlib2\n"
#endif /* BUILD_IMLIB2 */
#ifdef BUILD_MIXER_ALSA
" * ALSA mixer support\n"
<< _(" * ALSA mixer support\n")
#endif /* BUILD_MIXER_ALSA */
#ifdef BUILD_APCUPSD
" * apcupsd\n"
<< " * apcupsd\n"
#endif /* BUILD_APCUPSD */
#ifdef BUILD_IOSTATS
" * iostats\n"
<< " * iostats\n"
#endif /* BUILD_IOSTATS */
#ifdef BUILD_NCURSES
" * ncurses\n"
<< " * ncurses\n"
#endif /* BUILD_NCURSES */
#ifdef BUILD_LUA
" * Lua\n"
"\n Lua bindings:\n"
<< " * Lua\n"
<< _("\n Lua bindings:\n")
#ifdef BUILD_LUA_CAIRO
" * Cairo\n"
<< " * Cairo\n"
#endif /* BUILD_LUA_CAIRO */
#ifdef BUILD_LUA_IMLIB2
" * Imlib2\n"
<< " * Imlib2\n"
#endif /* BUILD_LUA_IMLIB2 */
#endif /* BUILD_LUA */
;
@ -4392,6 +4394,9 @@ bool isutf8(const char* envvar) {
int main(int argc, char **argv)
{
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE_NAME, LOCALE_DIR);
textdomain(PACKAGE_NAME);
argc_copy = argc;
argv_copy = argv;
g_signal_pending = 0;