[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Add i18n utilities to common library
From: |
Rui Batista |
Subject: |
[PATCH] Add i18n utilities to common library |
Date: |
Tue, 5 Oct 2010 15:45:59 +0100 |
This patches adds internationalization support to the common library.
the i18n_init function should be called before
any gettext translation function usage.
The include/i18n.h contains the i18n_init declaration and includes the
glib i18n headers for conveninece.
---
configure.ac | 3 +++
include/Makefile.am | 2 +-
include/i18n.h | 34 ++++++++++++++++++++++++++++++++++
src/common/Makefile.am | 4 +++-
src/common/i18n.c | 35 +++++++++++++++++++++++++++++++++++
5 files changed, 76 insertions(+), 2 deletions(-)
create mode 100644 include/i18n.h
create mode 100644 src/common/i18n.c
diff --git a/configure.ac b/configure.ac
index a0c305d..cf513d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -302,6 +302,9 @@ AC_SUBST([LIB_SPD_AGE])
GETTEXT_PACKAGE=speech-dispatcher
AC_SUBST([GETTEXT_PACKAGE])
+localedir='${datadir}/locale'
+AC_SUBST([localedir])
+
# Paths for configuration files:
spdconfdir='${sysconfdir}/speech-dispatcher'
AC_SUBST([spdconfdir])
diff --git a/include/Makefile.am b/include/Makefile.am
index 4597166..9bec647 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1,4 +1,4 @@
## Process this file with automake to produce Makefile.in
-noinst_HEADERS = fdsetconv.h speechd_types.h spd_utils.h
+noinst_HEADERS = fdsetconv.h speechd_types.h spd_utils.h i18n.h
diff --git a/include/i18n.h b/include/i18n.h
new file mode 100644
index 0000000..43dbc9c
--- /dev/null
+++ b/include/i18n.h
@@ -0,0 +1,34 @@
+/*
+ * i18n.h - i18n support for Speech Dispatcher
+ *
+ * Copyright (C) 2010 Brailcom, o.p.s.
+ *
+ * This 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; either version 2, or (at your option)
+ * any later version.
+ *
+ * This software 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 package; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef I18N_H
+#define I18N_H
+#include <glib/gi18n.h>
+
+/*
+* Inits i18n support for Speech Dispatcher components
+* This function must be called before any component outputs messages
+* that should be translated to the user.
+*/
+void init_i18n(void);
+
+#endif
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
index 68c5766..8f25bc2 100644
--- a/src/common/Makefile.am
+++ b/src/common/Makefile.am
@@ -1,7 +1,9 @@
## Process this file with automake to produce Makefile.in
noinst_LTLIBRARIES = libcommon.la
-libcommon_la_CFLAGS = $(ERROR_CFLAGS)
+libcommon_la_CFLAGS = $(ERROR_CFLAGS) $(GLIB_CFLAGS) \
+-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" -DLOCALEDIR=\"$(localedir)\"
libcommon_la_CPPFLAGS = "-I$(top_srcdir)/include/" $(GLIB_CFLAGS)
libcommon_la_LIBADD = $(GLIB_LIBS)
libcommon_la_SOURCES = fdsetconv.c spd_getline.c
+
diff --git a/src/common/i18n.c b/src/common/i18n.c
new file mode 100644
index 0000000..006d915
--- /dev/null
+++ b/src/common/i18n.c
@@ -0,0 +1,35 @@
+/*
+ * i18n.c - i18n support for Speech-dispatcher
+ *
+ * Copyright (C) 2010 Brailcom, o.p.s.
+ *
+ * This 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; either version 2, or (at your option)
+ * any later version.
+ *
+ * This software 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 package; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <i18n.h>
+#include <locale.h> /* For setlocale. */
+
+void init_i18n(void)
+{
+ setlocale(LC_ALL, "");
+ bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
+ textdomain(GETTEXT_PACKAGE);
+}
--
1.7.0.4
- [PATCH] Add i18n utilities to common library,
Rui Batista <=
- [PATCH] Add i18n utilities to common library, William Hubbs, 2010/10/05
- [PATCH] Add i18n utilities to common library, Andrei Kholodnyi, 2010/10/05
- [PATCH] Add i18n utilities to common library, Rui Batista, 2010/10/05
- [PATCH] Add i18n utilities to common library, Rui Batista, 2010/10/05
- [PATCH] Add i18n utilities to common library, Andrei Kholodnyi, 2010/10/05
- [PATCH] Add i18n utilities to common library, William Hubbs, 2010/10/05
- [PATCH] Add i18n utilities to common library, Rui Batista, 2010/10/05
- [PATCH] Add i18n utilities to common library, William Hubbs, 2010/10/05
- [PATCH] Add i18n utilities to common library, William Hubbs, 2010/10/05
- [PATCH] Add i18n utilities to common library, Andrei Kholodnyi, 2010/10/06