Author: mpiulachs
Date: Wed Jan 2 17:34:51 2008
New Revision: 31563
URL:
http://svn.reactos.org/svn/reactos?rev=31563&view=rev
Log:
- Show localized error messages
Modified:
trunk/reactos/base/setup/usetup/errorcode.h
trunk/reactos/base/setup/usetup/lang/es-ES.h
trunk/reactos/base/setup/usetup/mui.c
trunk/reactos/base/setup/usetup/mui.h
Modified: trunk/reactos/base/setup/usetup/errorcode.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/errorcod…
==============================================================================
--- trunk/reactos/base/setup/usetup/errorcode.h (original)
+++ trunk/reactos/base/setup/usetup/errorcode.h Wed Jan 2 17:34:51 2008
@@ -1,6 +1,31 @@
-#ifndef ERROR_CODE_H__
-#define ERROR_CODE_H__
+/*
+ * ReactOS kernel
+ * Copyright (C) 2003 ReactOS Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: registry.h 21704 2006-04-22 13:55:01Z tretiakov $
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS text-mode setup
+ * FILE: subsys/system/usetup/errcode.h
+ * PURPOSE:
+ * PROGRAMMER:
+ */
+#ifndef __ERROR_CODE_H__
+#define __ERROR_CODE_H__
typedef enum
{
@@ -41,16 +66,7 @@
ERROR_LAST_ERROR_CODE
}ERROR_NUMBER;
-typedef struct
-{
- CHAR * ErrorText;
- CHAR * ErrorStatus;
-}MUI_ERROR;
+#endif /* __ERROR_CODE_H__ */
+/* EOF */
-VOID
-MUIDisplayError(ULONG ErrorNum, PINPUT_RECORD Ir, ULONG WaitEvent);
-
-
-
-#endif
Modified: trunk/reactos/base/setup/usetup/lang/es-ES.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/es-…
==============================================================================
--- trunk/reactos/base/setup/usetup/lang/es-ES.h (original)
+++ trunk/reactos/base/setup/usetup/lang/es-ES.h Wed Jan 2 17:34:51 2008
@@ -1241,12 +1241,12 @@
{
//ERROR_NOT_INSTALLED
"ReactOS is not completely installed on your\n"
- "computer. If you quit Setup now, you will need to\n"
- "run Setup again to install ReactOS.\n"
- "\n"
- " \x07 Press ENTER to continue Setup.\n"
- " \x07 Press F3 to quit Setup.",
- "F3= Quit ENTER = Continue"
+ "computer. If you quit Setup now, you will need to\n"
+ "run Setup again to install ReactOS.\n"
+ "\n"
+ " \x07 Presione ENTER para continuar el Setup.\n"
+ " \x07 Presione F3 para abandonar el Setup.",
+ "F3 = Salir ENTER = Continuar"
},
{
//ERROR_NO_HDD
@@ -1305,14 +1305,14 @@
},
{
//ERROR_WARN_PARTITION,
- "Setup found that at least one harddisk contains an incompatible\n"
- "partition table that can not be handled properly!\n"
- "\n"
- "Creating or deleting partitions can destroy the partiton table.\n"
- "\n"
- " \x07 Press F3 to quit Setup."
- " \x07 Press ENTER to continue.",
- "F3= Quit ENTER = Continue"
+ "Setup found that at least one harddisk contains an incompatible\n"
+ "partition table that can not be handled properly!\n"
+ "\n"
+ "Creating or deleting partitions can destroy the partiton table.\n"
+ "\n"
+ " \x07 Press F3 to quit Setup."
+ " \x07 Press ENTER to continue.",
+ "F3= Quit ENTER = Continue"
},
{
//ERROR_NEW_PARTITION,
@@ -1414,8 +1414,8 @@
{
//ERROR_FIND_SETUPDATA,
"Setup failed to find the 'SetupData' section\n"
- "in TXTSETUP.SIF.\n",
- "ENTER = Reboot computer"
+ "in TXTSETUP.SIF.\n",
+ "ENTER = Reboot computer"
},
{
//ERROR_WRITE_PTABLE,
@@ -1527,3 +1527,4 @@
#endif
+
Modified: trunk/reactos/base/setup/usetup/mui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/mui.c?re…
==============================================================================
--- trunk/reactos/base/setup/usetup/mui.c (original)
+++ trunk/reactos/base/setup/usetup/mui.c Wed Jan 2 17:34:51 2008
@@ -41,58 +41,67 @@
static MUI_LANGUAGE LanguageList[] =
{
{
- L"00000409", /* The Language ID */
- L"00000409", /* Default Keyboard Layout for this language */
- L"English", /* Language Name , not used just to make things easier
when updating this file */
- enUSPages /* Translated strings */
+ L"00000409", /* The Language ID */
+ L"00000409", /* Default Keyboard Layout for this language */
+ L"English", /* Language Name , not used just to make things
easier when updating this file */
+ enUSPages, /* Translated page strings */
+ enUSErrorEntries /* Translated error strings */
},
{
L"0000040C",
L"0000040C",
L"French",
- frFRPages
+ frFRPages,
+ frFRErrorEntries
},
{
L"00000407",
L"00000407",
L"German",
- deDEPages
+ deDEPages,
+ deDEErrorEntries
},
{
L"00000408",
L"00000409",
L"Greek",
- elGRPages
+ elGRPages,
+ elGRErrorEntries
},
{
L"00000410",
L"00000410",
L"Italian",
- itITPages
+ itITPages,
+ itITErrorEntries
},
{
L"00000419",
L"00000419",
L"Russian",
- ruRUPages
+ ruRUPages,
+ ruRUErrorEntries
},
{
L"0000040A",
L"0000040A",
L"Spanish",
- esESPages
+ esESPages,
+ esESErrorEntries
},
{
L"0000041D",
L"0000041D",
L"Swedish",
- svSEPages
+ svSEPages,
+ svSEErrorEntries
},
{
L"00000422",
L"00000422",
L"Ukrainian",
- ukUAPages
+ ukUAPages,
+ ukUAErrorEntries
},
{
NULL,
@@ -142,6 +151,28 @@
return NULL;
}
+static
+MUI_ERROR *
+FindMUIErrorEntries ()
+{
+ ULONG lngIndex = 0;
+
+ do
+ {
+ /* First we search the language list till we find current selected language
messages */
+ if (_wcsicmp(LanguageList[lngIndex].LanguageID , SelectedLanguageId) == 0)
+ {
+ /* Get all available error messages for this language */
+ return LanguageList[lngIndex].MuiErrors;
+ }
+
+ lngIndex++;
+ }
+ while (LanguageList[lngIndex].MuiPages != NULL);
+
+ return NULL;
+}
+
VOID
MUIDisplayPage(ULONG page)
{
@@ -188,18 +219,30 @@
VOID
MUIDisplayError(ULONG ErrorNum, PINPUT_RECORD Ir, ULONG WaitEvent)
{
+ MUI_ERROR * entry;
+
if (ErrorNum >= ERROR_LAST_ERROR_CODE)
{
- PopupError("invalid error number provided",
- "press enter to continue",
- Ir,
- POPUP_WAIT_ENTER);
+ PopupError("Pnvalid error number provided",
+ "Press ENTER to continue",
+ Ir,
+ POPUP_WAIT_ENTER);
return;
}
- PopupError(enUSErrorEntries[ErrorNum].ErrorText,
- enUSErrorEntries[ErrorNum].ErrorStatus,
+ entry = FindMUIErrorEntries ();
+ if (!entry)
+ {
+ PopupError("Error: Failed to find translated error message",
+ NULL,
+ NULL,
+ POPUP_WAIT_NONE);
+ return;
+ }
+
+ PopupError(entry[ErrorNum].ErrorText,
+ entry[ErrorNum].ErrorStatus,
Ir,
WaitEvent);
}
Modified: trunk/reactos/base/setup/usetup/mui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/mui.h?re…
==============================================================================
--- trunk/reactos/base/setup/usetup/mui.h (original)
+++ trunk/reactos/base/setup/usetup/mui.h Wed Jan 2 17:34:51 2008
@@ -11,6 +11,12 @@
typedef struct
{
+ CHAR * ErrorText;
+ CHAR * ErrorStatus;
+}MUI_ERROR;
+
+typedef struct
+{
long Number;
MUI_ENTRY * MuiEntry;
}MUI_PAGE;
@@ -21,19 +27,24 @@
PWCHAR LanguageKeyboardLayoutID;
PWCHAR LanguageDescriptor;
MUI_PAGE * MuiPages;
+ MUI_ERROR * MuiErrors;
}MUI_LANGUAGE;
+
#define TEXT_NORMAL 0
#define TEXT_HIGHLIGHT 1
#define TEXT_UNDERLINE 2
#define TEXT_STATUS 4
-#define TEXT_ALIGN_DEFAULT 5
-#define TEXT_ALIGN_RIGHT 6
-#define TEXT_ALIGN_LEFT 7
-#define TEXT_ALIGN_CENTER 8
+#define TEXT_ALIGN_DEFAULT 8
+#define TEXT_ALIGN_RIGHT 16
+#define TEXT_ALIGN_LEFT 32
+#define TEXT_ALIGN_CENTER 64
VOID
MUIDisplayPage (ULONG PageNumber);
+VOID
+MUIDisplayError (ULONG ErrorNum, PINPUT_RECORD Ir, ULONG WaitEvent);
+
#endif