[geocode-glib] lib: Better name/description for street numbers
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geocode-glib] lib: Better name/description for street numbers
- Date: Wed, 7 Aug 2013 10:08:41 +0000 (UTC)
commit 0a4b0356901c2475c6370bac127a4da398faea72
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Mon Aug 5 16:21:34 2013 +0200
lib: Better name/description for street numbers
Currently we'd just show the house number in results for street number
searches, e.g Search for "Otavantie 2" would result in places named "2".
This patch fixes this issue by combining house number and street name.
Since format is not the same in all locales, we allow the translators to
format the string.
https://bugzilla.gnome.org/show_bug.cgi?id=705518
configure.ac | 1 +
geocode-glib/geocode-reverse.c | 21 +++++++++++++++++----
po/POTFILES.in | 1 +
3 files changed, 19 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index c8c57a4..1690a03 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,6 +54,7 @@ GETTEXT_PACKAGE=geocode-glib
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[The name of the gettext domain])
+AM_GLIB_DEFINE_LOCALEDIR(GEOCODE_GLIB_LOCALEDIR)
dnl gtk-doc checks
GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
diff --git a/geocode-glib/geocode-reverse.c b/geocode-glib/geocode-reverse.c
index a31c7cc..165914d 100644
--- a/geocode-glib/geocode-reverse.c
+++ b/geocode-glib/geocode-reverse.c
@@ -26,6 +26,8 @@
#include <gio/gio.h>
#include <json-glib/json-glib.h>
#include <libsoup/soup.h>
+#include <config.h>
+#include <glib/gi18n-lib.h>
#include <geocode-glib/geocode-glib.h>
#include <geocode-glib/geocode-error.h>
#include <geocode-glib/geocode-reverse.h>
@@ -63,6 +65,9 @@ geocode_reverse_class_init (GeocodeReverseClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ bindtextdomain (GETTEXT_PACKAGE, GEOCODE_GLIB_LOCALEDIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+
gobject_class->finalize = geocode_reverse_finalize;
g_type_class_add_private (klass, sizeof (GeocodeReversePrivate));
@@ -110,6 +115,7 @@ _geocode_read_nominatim_attributes (JsonReader *reader,
char **members;
guint i;
gboolean is_address;
+ const char *house_number = NULL;
is_address = (g_strcmp0 (json_reader_get_member_name (reader), "address") == 0);
@@ -128,10 +134,17 @@ _geocode_read_nominatim_attributes (JsonReader *reader,
g_hash_table_insert (ht, g_strdup (members[i]), g_strdup (value));
if (i == 0 && is_address) {
- /* Since Nominatim doesn't give us a short name,
- * we use the first component of address as name.
- */
- g_hash_table_insert (ht, g_strdup ("name"), g_strdup (value));
+ if (g_strcmp0 (members[i], "house_number") != 0)
+ /* Since Nominatim doesn't give us a short name,
+ * we use the first component of address as name.
+ */
+ g_hash_table_insert (ht, g_strdup ("name"), g_strdup (value));
+ else
+ house_number = value;
+ } else if (house_number != NULL && g_strcmp0 (members[i], "road") == 0) {
+ /* Translators comment: number + street (e.g 221 Baker Street) */
+ char *name = g_strdup_printf (_("%s %s"), house_number, value);
+ g_hash_table_insert (ht, g_strdup ("name"), name);
}
}
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e69de29..b710a5c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -0,0 +1 @@
+geocode-glib/geocode-reverse.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]