diff --git a/apps/lang/english.lang b/apps/lang/english.lang index bdd9f15532..657e40e247 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -799,3 +799,8 @@ id: LANG_POWEROFF_IDLE desc: in settings_menu eng: "Idle Poweroff" new: + +id: LANG_LANGUAGE_LOADED +desc: shown when a language has been loaded from the dir browser +eng: "new language" +new: diff --git a/apps/tree.c b/apps/tree.c index 7aaea691a0..cc3a38ce9b 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -733,8 +733,27 @@ bool dirbrowse(char *root) case TREE_ATTR_LNG: snprintf(buf, sizeof buf, "%s/%s", currdir, file->name); - lang_load(buf); - restore = true; + if(!lang_load(buf)) { + lcd_clear_display(); +#ifdef HAVE_LCD_CHARCELLS + lcd_puts(0, 0, str(LANG_LANGUAGE_LOADED)); +#else + lcd_getstringsize(str(LANG_LANGUAGE_LOADED), + FONT_UI, &fw, &fh); + if(fw>LCD_WIDTH) + fw=0; + else + fw=LCD_WIDTH/2 - fw/2; + + lcd_putsxy(fw, + LCD_HEIGHT/2 - fh/2, + str(LANG_LANGUAGE_LOADED), + FONT_UI); +#endif + lcd_update(); + sleep(HZ); + restore = true; + } break; #ifdef HAVE_LCD_BITMAP