mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
- Update language samples upon selection of a new language.
- Add a workaround for a special case: "Spanish (Spain)" uses two sorting methods but two sublang ids are used to distinguish them instead of two sort ids. Ensure they don't appear twice in the language list. - Add "Spanish (Spain)" as a translatable string resource. svn path=/trunk/; revision=28950
This commit is contained in:
parent
9ef9435f83
commit
6dd949a054
7 changed files with 63 additions and 18 deletions
|
@ -40,6 +40,7 @@
|
|||
|
||||
HWND hList;
|
||||
HWND hLocaleList, hGeoList;
|
||||
BOOL bSpain = FALSE;
|
||||
|
||||
static BOOL CALLBACK
|
||||
LocalesEnumProc(LPTSTR lpLocale)
|
||||
|
@ -47,12 +48,30 @@ LocalesEnumProc(LPTSTR lpLocale)
|
|||
LCID lcid;
|
||||
TCHAR lang[255];
|
||||
INT index;
|
||||
BOOL bNoShow = FALSE;
|
||||
|
||||
//swscanf(lpLocale, L"%lx", &lcid); // maybe use wcstoul?
|
||||
lcid = _tcstoul(lpLocale, NULL, 16);
|
||||
|
||||
if (lcid == MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH), SORT_DEFAULT) ||
|
||||
lcid == MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH_MODERN), SORT_DEFAULT))
|
||||
{
|
||||
if (bSpain == FALSE)
|
||||
{
|
||||
LoadString(hApplet, IDS_SPAIN, lang, 255);
|
||||
bSpain = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
bNoShow = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetLocaleInfo(lcid, LOCALE_SLANGUAGE, lang, sizeof(lang));
|
||||
}
|
||||
|
||||
if (bNoShow == FALSE)
|
||||
{
|
||||
index = SendMessage(hList,
|
||||
CB_ADDSTRING,
|
||||
0,
|
||||
|
@ -62,6 +81,7 @@ LocalesEnumProc(LPTSTR lpLocale)
|
|||
CB_SETITEMDATA,
|
||||
index,
|
||||
(LPARAM)lcid);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -110,6 +130,7 @@ CreateLanguagesList(HWND hwnd)
|
|||
TCHAR langSel[255];
|
||||
|
||||
hList = hwnd;
|
||||
bSpain = FALSE;
|
||||
EnumSystemLocales(LocalesEnumProc, LCID_SUPPORTED);
|
||||
|
||||
/* Select current locale */
|
||||
|
@ -322,6 +343,25 @@ GeneralPageProc(HWND hwndDlg,
|
|||
case IDC_LANGUAGELIST:
|
||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||
{
|
||||
LCID NewLcid;
|
||||
INT iCurSel;
|
||||
|
||||
iCurSel = SendMessage(hList,
|
||||
CB_GETCURSEL,
|
||||
0,
|
||||
0);
|
||||
if (iCurSel == CB_ERR)
|
||||
break;
|
||||
|
||||
NewLcid = SendMessage(hList,
|
||||
CB_GETITEMDATA,
|
||||
iCurSel,
|
||||
0);
|
||||
if (NewLcid == (LCID)CB_ERR)
|
||||
break;
|
||||
|
||||
UpdateLocaleSample(hwndDlg, NewLcid);
|
||||
|
||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -176,6 +176,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CUSTOMIZE_TITLE "Regionale Einstellungen bearbeiten"
|
||||
IDS_SPAIN "Spanisch (Spanien)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -179,6 +179,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CUSTOMIZE_TITLE "Customize Regional Options"
|
||||
IDS_SPAIN "Spanish (Spain)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -180,6 +180,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CUSTOMIZE_TITLE "Opzioni internazionali e della lingua"
|
||||
IDS_SPAIN "Spanish (Spain)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -179,6 +179,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CUSTOMIZE_TITLE "Íàñòðîéêà ðåãèîíàëüíûõ ïàðàìåòðîâ"
|
||||
IDS_SPAIN "Spanish (Spain)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -185,6 +185,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CUSTOMIZE_TITLE "Íàñòðîéêà ðåã³îíàëüíèõ ïàðàìåòð³â"
|
||||
IDS_SPAIN "Spanish (Spain)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
#define IDS_CPLNAME 1000
|
||||
#define IDS_CPLDESCRIPTION 1001
|
||||
#define IDS_CUSTOMIZE_TITLE 1002
|
||||
|
||||
#define IDS_SPAIN 1003
|
||||
|
||||
#endif /* __CPL_RESOURCE_H */
|
||||
|
||||
|
|
Loading…
Reference in a new issue