summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Dankov <tryagain@navit-project.org>2015-11-15 03:30:59 +0300
committerMichael Dankov <tryagain@navit-project.org>2015-11-15 03:30:59 +0300
commit142a4dd15b8594359c982e06ace69d5ad0309c0c (patch)
tree3ada3760c1e4a476a5e9bee7c3f6f9c8a5fb7dfa
parent316eefa41213edf0e62fa25658674047fbadae95 (diff)
downloadnavit-R6372.tar.gz
Fix navigation messages translations in Android LollipopR6372
Do not set locale to "C" for LC_NUMERIC, and do not call setlocale at all on Android, because: - Since Lollipop, Android attempts to do something in setlocale, but its implementation is far from complete and makes no sense for us at this point. - Older Android versions used to completely ignore setlocale() calls.
-rw-r--r--navit/gui/internal/gui_internal_command.c3
-rw-r--r--navit/main.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/navit/gui/internal/gui_internal_command.c b/navit/gui/internal/gui_internal_command.c
index 77d343f09..98a736fb8 100644
--- a/navit/gui/internal/gui_internal_command.c
+++ b/navit/gui/internal/gui_internal_command.c
@@ -73,8 +73,7 @@ coordinates_geo(const struct coord_geo *gc, char sep)
lng_min=fmod(g.lng*60-lng_sec/60.0+0.5,60);
lng_deg=g.lng-lng_min/60.0-lng_sec/3600.0+0.5;;
- /* Using degree sign directly in g_strdup_printf format string breaks things on Android Lollipop, see trac #1331. */
- return g_strdup_printf("%d%s%d'%d\" %c%c%d%s%d'%d\" %c",lat_deg,"°",lat_min,lat_sec,latc,sep,lng_deg,"°",lng_min,lng_sec,lngc);
+ return g_strdup_printf("%d°%d'%d\" %c%c%d°%d'%d\" %c",lat_deg,lat_min,lat_sec,latc,sep,lng_deg,lng_min,lng_sec,lngc);
}
/**
diff --git a/navit/main.c b/navit/main.c
index 39cedc690..986bcb13b 100644
--- a/navit/main.c
+++ b/navit/main.c
@@ -339,9 +339,11 @@ main_init(const char *program)
#ifdef HAVE_API_WIN32_BASE
win_set_nls();
#endif
+#ifndef HAVE_API_ANDROID
setenv("LC_NUMERIC","C",1);
setlocale(LC_ALL,"");
setlocale(LC_NUMERIC,"C");
+#endif
#if !defined _WIN32 && !defined _WIN32_WCE
if (file_exists("navit.c") || file_exists("navit.o") || file_exists("navit.lo") || file_exists("version.h")) {
char buffer[PATH_MAX];