Mercurial > hg
changeset 1650:cd81806b5947
Try fallback language (en) when help file with current language is not found
Patch by Nixtrian, slightly modified by Mikael
author | Nixtrian |
---|---|
date | Tue, 17 Nov 2009 23:09:06 +0100 |
parents | 44bbdc961234 |
children | d0a0d96ed5d5 |
files | mcabber/src/help.c |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/help.c Tue Nov 17 00:51:55 2009 +0200 +++ b/mcabber/src/help.c Tue Nov 17 23:09:06 2009 +0100 @@ -78,15 +78,27 @@ // Look for help file lang = get_lang(); helpfiles_dir = g_strdup_printf("%s/mcabber/help", DATA_DIR); + p = NULL; + if (string && *string) { p = g_strdup(string); mc_strtolower(p); filename = g_strdup_printf("%s/%s/hlp_%s.txt", helpfiles_dir, lang, p); - g_free(p); } else filename = g_strdup_printf("%s/%s/hlp.txt", helpfiles_dir, lang); fp = fopen(filename, "r"); + + if (!(fp) && (g_strcmp0(lang, DEFAULT_LANG)) ) { + g_free(filename); + if (p) + filename = g_strdup_printf("%s/%s/hlp_%s.txt", helpfiles_dir, DEFAULT_LANG, p); + else + filename = g_strdup_printf("%s/%s/hlp.txt", helpfiles_dir, DEFAULT_LANG); + + fp = fopen(filename, "r"); + } + g_free(p); g_free(filename); g_free(helpfiles_dir);