diff --git a/GUI.NET/Program.cs b/GUI.NET/Program.cs index d1c1a1c8..89687614 100644 --- a/GUI.NET/Program.cs +++ b/GUI.NET/Program.cs @@ -65,12 +65,28 @@ namespace Mesen.GUI Directory.CreateDirectory(ConfigManager.HomeFolder); Directory.SetCurrentDirectory(ConfigManager.HomeFolder); - ResourceHelper.LoadResources(ConfigManager.Config.PreferenceInfo.DisplayLanguage); try { + ResourceHelper.LoadResources(ConfigManager.Config.PreferenceInfo.DisplayLanguage); ResourceManager.ExtractResources(); - } catch { - MesenMsgBox.Show("Net45NotFound", MessageBoxButtons.OK, MessageBoxIcon.Error); + } catch(FileNotFoundException) { + string message = "The Microsoft .NET Framework 4.5 could not be found. Please download and install the latest version of the .NET Framework from Microsoft's website and try again."; + switch(ResourceHelper.GetCurrentLanguage()) { + case Language.French: message = "Le .NET Framework 4.5 de Microsoft n'a pas été trouvé. Veuillez télécharger la plus récente version du .NET Framework à partir du site de Microsoft et essayer à nouveau."; break; + case Language.Japanese: message = "Microsoft .NET Framework 4.5はインストールされていないため、Mesenは起動できません。Microsoft .NET Frameworkの最新版をMicrosoftのサイトからダウンロードして、インストールしてください。"; break; + case Language.Russian: message = "Microsoft .NET Framework 4.5 не найден. Пожалуйста загрузите и установите последнюю версию .NET Framework с сайта Microsoft и попробуйте снова."; break; + case Language.Spanish: message = "El Microsoft .NET Framework 4.5 no se ha encontrado. Por favor, descargue la versión más reciente de .NET Framework desde el sitio de Microsoft y vuelva a intentarlo."; break; + } + MessageBox.Show(message, "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; + } catch(Exception e) { + string message = "An unexpected error has occurred.\n\nError details:\n{0}"; + switch(ResourceHelper.GetCurrentLanguage()) { + case Language.French: message = "Une erreur inattendue s'est produite.\n\nDétails de l'erreur :\n{0}"; break; + case Language.Japanese: message = "予期しないエラーが発生しました。\n\nエラーの詳細:\n{0}"; break; + case Language.Russian: message = "Неизвестная ошибка. Подробно: {0}"; break; + case Language.Spanish: message = "Se ha producido un error inesperado. Detalles del error: {0}"; break; + } + MessageBox.Show(string.Format(message, e.ToString()), "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error); } if(!RuntimeChecker.TestDll()) {