diff --git a/apps/filetree.c b/apps/filetree.c
index d11b45a1f0..2913e3f563 100644
--- a/apps/filetree.c
+++ b/apps/filetree.c
@@ -545,13 +545,16 @@ int ft_enter(struct tree_context* c)
case FILE_ATTR_LNG:
splash(0, ID2P(LANG_WAIT));
- if(!lang_core_load(buf)) {
- set_file(buf, (char *)global_settings.lang_file,
- MAX_FILENAME);
- talk_init(); /* use voice of same language */
- viewportmanager_theme_changed(THEME_LANGUAGE);
- splash(HZ, ID2P(LANG_LANGUAGE_LOADED));
+ if (lang_core_load(buf))
+ {
+ splash(HZ, ID2P(LANG_LANGUAGE_LOAD_FAILED));
+ break;
}
+ set_file(buf, (char *)global_settings.lang_file,
+ MAX_FILENAME);
+ talk_init(); /* use voice of same language */
+ viewportmanager_theme_changed(THEME_LANGUAGE);
+ splash(HZ, ID2P(LANG_LANGUAGE_LOADED));
break;
#ifdef HAVE_LCD_BITMAP
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 2a2a34c021..e6aeaff380 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -4951,6 +4951,20 @@
*: "New Language"
+
+ id: LANG_LANGUAGE_LOAD_FAILED
+ desc: shown when a language has failed to be loaded from the dir browser
+ user: core
+
+ *: "Language Load Failed"
+
+
+ *: "Language Load Failed"
+
+
+ *: "Language Load Failed"
+
+
id: LANG_VOICE
desc: root of voice menu