From fc9097fb1f9d4a9705892be382cc18cee62ede93 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 14 Apr 2013 11:26:05 +0100 Subject: [PATCH] provide gettext hooks to use the netsurf localisation system This means the internal message system is used for gettext calls from gtk libraries. --- gtk/Makefile.target | 2 +- gtk/gettext.c | 43 +++++++++++++++++++++++++++++++++++++++++++ gtk/gettext.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 gtk/gettext.c create mode 100644 gtk/gettext.h diff --git a/gtk/Makefile.target b/gtk/Makefile.target index 88f8eccde..b84b13125 100644 --- a/gtk/Makefile.target +++ b/gtk/Makefile.target @@ -110,7 +110,7 @@ $(eval $(foreach V,$(filter GTK_IMAGE_%,$(.VARIABLES)),$(call convert_image,$($( S_GTK := font_pango.c bitmap.c gui.c schedule.c thumbnail.c plotters.c \ treeview.c scaffolding.c gdk.c completion.c login.c throbber.c \ selection.c history.c window.c filetype.c download.c menu.c \ - print.c search.c tabs.c theme.c toolbar.c \ + print.c search.c tabs.c theme.c toolbar.c gettext.c \ compat.c cookies.c hotlist.c system_colour.c \ $(addprefix dialogs/,preferences.c about.c source.c) diff --git a/gtk/gettext.c b/gtk/gettext.c new file mode 100644 index 000000000..a9f6f48be --- /dev/null +++ b/gtk/gettext.c @@ -0,0 +1,43 @@ +/* + * Copyright 2013 Vincent Sanders + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** \file + * Localised gettext message support (implementation). + * + * Wrappers for gettext to the internal native language message support. + */ + +#include + +#include "utils/messages.h" +#include "gtk/gettext.h" + +char *gettext(const char *msgid) +{ + return dcgettext(NULL, msgid, 0); +} + +char *dgettext(const char *domainname, const char *msgid) +{ + return dcgettext(domainname, msgid, 0); +} + +char *dcgettext(const char *domainname, const char *msgid, int category) +{ + return (void *)messages_get(msgid); +} diff --git a/gtk/gettext.h b/gtk/gettext.h new file mode 100644 index 000000000..726ba356e --- /dev/null +++ b/gtk/gettext.h @@ -0,0 +1,32 @@ +/* + * Copyright 2012 Vincent Sanders + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** \file + * Localised message support (interface). + * + * Provide gettext interface to the utility localisation routines + */ + +#ifndef _NETSURF_GTK_GETTEXT_MESSAGES_H_ +#define _NETSURF_GTK_GETTEXT_MESSAGES_H_ + +char *gettext(const char *msgid); +char *dgettext(const char *domainname, const char *msgid); +char *dcgettext(const char *domainname, const char *msgid, int category); + +#endif