diff --git a/ChangeLog b/ChangeLog index a93dcdf858..bedc3995a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-06-07 Dave Peticolas + + * src/gnome/new-user-callbacks.c (gnc_get_ea_locale_dir): if first + check fails, see if 2-letter prefix succeeds + 2001-06-07 James LewisMoss * doc/README.translator.txt (variables): add instructions for diff --git a/src/gnome/new-user-callbacks.c b/src/gnome/new-user-callbacks.c index 3d4f3b1189..81d30eab2c 100644 --- a/src/gnome/new-user-callbacks.c +++ b/src/gnome/new-user-callbacks.c @@ -202,21 +202,32 @@ gnc_get_ea_locale_dir(const char *top_dir) gchar *ret; gchar *locale; struct stat buf; - + locale = g_strdup(setlocale(LC_MESSAGES, NULL)); ret = g_strdup_printf("%s/%s", top_dir, locale); - g_free(locale); printf("Pondering dir: %s\n", ret); - + + if(stat(ret, &buf) != 0 && (strlen (locale) > 2)) + { + g_free (ret); + locale[2] = '\0'; + ret = g_strdup_printf("%s/%s", top_dir, locale); + } + + printf("Pondering dir: %s\n", ret); + if(stat(ret, &buf) != 0) { + g_free (ret); ret = g_strdup_printf("%s/%s", top_dir, default_locale); } printf("Opening from dir: %s\n", ret); + g_free(locale); + return ret; }