build: allow users to disable gettext support (--disable-nls)

This commit is contained in:
rbuj 2021-02-13 12:32:06 +01:00 committed by raveit65
parent 68306612ea
commit e50a1907e0
24 changed files with 125 additions and 23 deletions

View File

@ -1,4 +1,8 @@
SUBDIRS = po libwindow-settings capplets font-viewer help man
if USE_NLS
PO_SUBDIR = po
endif
SUBDIRS = $(PO_SUBDIR) libwindow-settings capplets font-viewer help man
DIST_SUBDIRS = po libwindow-settings capplets font-viewer help libslab shell typing-break man
if HAVE_LIBMATESLAB

View File

@ -31,7 +31,11 @@ mate_about_me_LDFLAGS = -export-dynamic
desktopdir = $(datadir)/applications
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
include $(top_srcdir)/gla11y.mk

View File

@ -18,7 +18,11 @@ Desktop_in_files = mate-at-properties.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
pixmapdir = $(pkgdatadir)/pixmaps
pixmap_DATA = \

View File

@ -23,16 +23,23 @@ desktop_in_files = \
mate-theme-installer.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
%.desktop: %.desktop.in
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
xml_in_files = \
mate-theme-package.xml.in
mimedir = $(datadir)/mime/packages
mime_DATA = $(xml_in_files:.xml.in=.xml)
$(mime_DATA): $(xml_in_files)
if USE_NLS
$(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) cp -f $< $@
endif
install-data-hook:
if ENABLE_UPDATE_MIMEDB

View File

@ -124,10 +124,12 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
xmlNode* list;
xmlNode* wpa;
xmlChar* nodelang;
#ifdef ENABLE_NLS
const char* const* syslangs;
gint i;
#endif /* ENABLE_NLS */
GdkRGBA color1;
GdkRGBA color2;
gint i;
wplist = xmlParseFile(filename);
@ -136,7 +138,9 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
return;
}
#ifdef ENABLE_NLS
syslangs = g_get_language_names();
#endif /* ENABLE_NLS */
root = xmlDocGetRootElement(wplist);
@ -193,6 +197,7 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
{
wp->name = g_strdup (g_strstrip ((char *)wpa->last->content));
}
#ifdef ENABLE_NLS
else
{
for (i = 0; syslangs[i] != NULL; i++)
@ -205,6 +210,7 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
}
}
}
#endif /* ENABLE_NLS */
xmlFree (nodelang);
}

View File

@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#include <config.h>
#endif
#include <ctype.h>
@ -242,10 +242,12 @@ capplet_init (GOptionContext *context,
bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif
#endif /* ENABLE_NLS */
if (context) {
#ifdef ENABLE_NLS
g_option_context_set_translation_domain (context, GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
g_option_context_add_group (context, gtk_get_option_group (TRUE));
if (!g_option_context_parse (context, argc, argv, &err)) {

View File

@ -23,7 +23,11 @@ desktopdir = $(datadir)/applications
Desktop_in_files = mate-default-applications-properties.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = mate-default-applications.pc

View File

@ -38,14 +38,22 @@ dist_polkit_policy_DATA = \
org.mate.randr.policy
%.policy: %.policy.in
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) cp -f $< $@
endif
desktopdir = $(datadir)/applications
Desktop_in_files = mate-display-properties.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
AM_CPPFLAGS = \
$(WARN_CFLAGS) \

View File

@ -26,7 +26,9 @@
#include "config.h"
#include <errno.h>
#ifdef ENABLE_NLS
#include <locale.h>
#endif /* ENABLE_NLS */
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
@ -138,10 +140,12 @@ main (int argc, char **argv)
int dest_fd;
char template[100];
#ifdef ENABLE_NLS
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
/* We only run as root */
uid = getuid ();

View File

@ -23,14 +23,23 @@ Desktop_in_files = mate-keybinding.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
xmldir = $(pkgdatadir)/keybindings
xml_in_files = 00-multimedia-key.xml.in 01-desktop-key.xml.in
xml_DATA = $(xml_in_files:.xml.in=.xml)
%.xml: %.xml.in
if USE_NLS
$(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) cp -f $< $@
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = mate-keybindings.pc

View File

@ -34,7 +34,11 @@ Desktop_in_files = mate-keyboard.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
mate-keyboard-properties-resources.h mate-keyboard-properties-resources.c: org.mate.mcc.keyboard.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/org.mate.mcc.keyboard.gresource.xml)
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name keyboard $<

View File

@ -21,7 +21,11 @@ Desktop_in_files = mate-settings-mouse.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
mate-mouse-properties-resources.h mate-mouse-properties-resources.c: org.mate.mcc.mouse.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/org.mate.mcc.mouse.gresource.xml)
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name mouse $<

View File

@ -18,7 +18,11 @@ desktop_in_files = mate-network-properties.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
mate-network-properties-resources.h mate-network-properties-resources.c: org.mate.mcc.network.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/org.mate.mcc.network.gresource.xml)
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name network $<

View File

@ -28,10 +28,13 @@ desktop_in_files = mate-time-admin.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
CLEANFILES = $(desktop_DATA)
EXTRA_DIST = \
$(desktop_in_files)
EXTRA_DIST = $(desktop_in_files)
-include $(top_srcdir)/git.mk

View File

@ -20,7 +20,11 @@ mate-window-properties-resources.h mate-window-properties-resources.c: org.mate.
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name window_properties $<
$(desktop_DATA): $(Desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
AM_CPPFLAGS = \
$(WARN_CFLAGS) \

View File

@ -23,8 +23,9 @@ AC_PATH_PROG([GLA11Y], [gla11y], [true])
YELP_HELP_INIT
# Internationalization support
AM_GNU_GETTEXT_VERSION([0.19.8])
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.19.8])
AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" = "xyes"])
GETTEXT_PACKAGE=mate-control-center
AC_SUBST(GETTEXT_PACKAGE)
@ -316,12 +317,13 @@ Configure summary:
${PACKAGE_STRING}
`echo $PACKAGE_STRING | sed "s/./=/g"`
Compiler: ${CC}
Compiler flags: ${CFLAGS}
Warning flags: ${WARN_CFLAGS}
Linker flags: ${LDFLAGS}
Compiler: ${CC}
Compiler flags: ${CFLAGS}
Warning flags: ${WARN_CFLAGS}
Linker flags: ${LDFLAGS}
Appindicator: ${enable_appindicator}
Libmate-slab: ${have_libmateslab}
Accountsservice: ${have_accountsservice}
Appindicator: ${enable_appindicator}
Libmate-slab: ${have_libmateslab}
Accountsservice: ${have_accountsservice}
Native Language support: ${USE_NLS}
"

View File

@ -35,7 +35,11 @@ desktopdir = $(datadir)/applications
desktop_in_files = mate-font-viewer.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(desktop_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
install-data-local: install-desktop-database
@ -45,11 +49,13 @@ install-desktop-database: install-desktopDATA
uninstall-local:
rm -f $(DESTDIR)$(desktopdir)/mimeinfo.cache
CLEANFILES = $(desktop_DATA) \
$(schemas_DATA) $(directory_DATA)
CLEANFILES = \
$(desktop_DATA) \
$(schemas_DATA) \
$(directory_DATA)
EXTRA_DIST = \
$(thumbnailer_DATA) \
$(desktop_in_files)
$(desktop_in_files) \
$(thumbnailer_DATA)
-include $(top_srcdir)/git.mk

View File

@ -21,11 +21,13 @@
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#include <config.h>
#endif
#include <stdio.h>
#ifdef ENABLE_NLS
#include <locale.h>
#endif /* ENABLE_NLS */
#include <ft2build.h>
#include <math.h>
#include FT_FREETYPE_H
@ -196,11 +198,12 @@ main (int argc,
{ NULL }
};
#ifdef ENABLE_NLS
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
setlocale (LC_ALL, "");
#endif /* ENABLE_NLS */
context = g_option_context_new (NULL);
g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);

View File

@ -944,9 +944,11 @@ main (int argc,
GApplication *app;
gint retval;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
app = font_view_application_new ();
retval = g_application_run (app, argc, argv);

View File

@ -18,10 +18,14 @@ HELP_FILES = \
config-themes.xml \
legal.xml
if USE_NLS
# Add linguas to be ignored, e.g. IGNORE_HELP_LINGUAS = ca de es fr
IGNORE_HELP_LINGUAS =
HELP_LINGUAS = $(if $(IGNORE_HELP_LINGUAS), \
$(filter-out $(IGNORE_HELP_LINGUAS),$(subst /,,$(dir $(wildcard */*.po)))), \
$(subst /,,$(dir $(wildcard */*.po))) )
else
HELP_LINGUAS =
endif
-include $(top_srcdir)/git.mk

View File

@ -21,13 +21,21 @@ sysdir = $(datadir)/applications
sys_in_files = matecc.desktop.in
sys_DATA = $(sys_in_files:.desktop.in=.desktop)
$(sys_DATA): $(sys_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Name --keyword=Comment --keyword=Keywords --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
directorydir = $(datadir)/desktop-directories
directory_in_files = matecc.directory.desktop.in
directory_DATA = $(directory_in_files:.directory.desktop.in=.directory)
$(directory_DATA): $(directory_in_files)
if USE_NLS
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
else
$(AM_V_GEN) sed '/^# Translators/d' < $< > $@
endif
menudir = $(sysconfdir)/xdg/menus
menu_DATA = matecc.menu

View File

@ -169,7 +169,7 @@ int main(int argc, char* argv[])
bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
textdomain(GETTEXT_PACKAGE);
#endif
#endif /* ENABLE_NLS */
error = NULL;

View File

@ -869,7 +869,9 @@ drwright_new (void)
dr->ui_manager = gtk_ui_manager_new ();
action_group = gtk_action_group_new ("MenuActions");
#ifdef ENABLE_NLS
gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
gtk_action_group_add_actions (action_group, actions, G_N_ELEMENTS (actions), dr);
gtk_ui_manager_insert_action_group (dr->ui_manager, action_group, 0);
gtk_ui_manager_add_ui_from_string (dr->ui_manager, ui_description, -1, NULL);

View File

@ -68,12 +68,16 @@ main (int argc, char *argv[])
GError *error = NULL;
gboolean retval;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
option_context = g_option_context_new (NULL);
#ifdef ENABLE_NLS
g_option_context_set_translation_domain (option_context, GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */
g_option_context_add_main_entries (option_context, options, GETTEXT_PACKAGE);
g_option_context_add_group (option_context, gtk_get_option_group (TRUE));