mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 03:46:38 +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 hList;
|
||||||
HWND hLocaleList, hGeoList;
|
HWND hLocaleList, hGeoList;
|
||||||
|
BOOL bSpain = FALSE;
|
||||||
|
|
||||||
static BOOL CALLBACK
|
static BOOL CALLBACK
|
||||||
LocalesEnumProc(LPTSTR lpLocale)
|
LocalesEnumProc(LPTSTR lpLocale)
|
||||||
|
@ -47,12 +48,30 @@ LocalesEnumProc(LPTSTR lpLocale)
|
||||||
LCID lcid;
|
LCID lcid;
|
||||||
TCHAR lang[255];
|
TCHAR lang[255];
|
||||||
INT index;
|
INT index;
|
||||||
|
BOOL bNoShow = FALSE;
|
||||||
|
|
||||||
//swscanf(lpLocale, L"%lx", &lcid); // maybe use wcstoul?
|
|
||||||
lcid = _tcstoul(lpLocale, NULL, 16);
|
lcid = _tcstoul(lpLocale, NULL, 16);
|
||||||
|
|
||||||
GetLocaleInfo(lcid, LOCALE_SLANGUAGE, lang, sizeof(lang));
|
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,
|
index = SendMessage(hList,
|
||||||
CB_ADDSTRING,
|
CB_ADDSTRING,
|
||||||
0,
|
0,
|
||||||
|
@ -62,6 +81,7 @@ LocalesEnumProc(LPTSTR lpLocale)
|
||||||
CB_SETITEMDATA,
|
CB_SETITEMDATA,
|
||||||
index,
|
index,
|
||||||
(LPARAM)lcid);
|
(LPARAM)lcid);
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +130,7 @@ CreateLanguagesList(HWND hwnd)
|
||||||
TCHAR langSel[255];
|
TCHAR langSel[255];
|
||||||
|
|
||||||
hList = hwnd;
|
hList = hwnd;
|
||||||
|
bSpain = FALSE;
|
||||||
EnumSystemLocales(LocalesEnumProc, LCID_SUPPORTED);
|
EnumSystemLocales(LocalesEnumProc, LCID_SUPPORTED);
|
||||||
|
|
||||||
/* Select current locale */
|
/* Select current locale */
|
||||||
|
@ -322,6 +343,25 @@ GeneralPageProc(HWND hwndDlg,
|
||||||
case IDC_LANGUAGELIST:
|
case IDC_LANGUAGELIST:
|
||||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
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);
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -175,11 +175,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CUSTOMIZE_TITLE "Regionale Einstellungen bearbeiten"
|
IDS_CUSTOMIZE_TITLE "Regionale Einstellungen bearbeiten"
|
||||||
|
IDS_SPAIN "Spanisch (Spanien)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CPLNAME "Regionale Einstellungen"
|
IDS_CPLNAME "Regionale Einstellungen"
|
||||||
IDS_CPLDESCRIPTION "Wählen Sie Anzeigeeinstellungen für Sprache, Zahlen, Währung, Uhrzeit und Datum aus."
|
IDS_CPLDESCRIPTION "Wählen Sie Anzeigeeinstellungen für Sprache, Zahlen, Währung, Uhrzeit und Datum aus."
|
||||||
END
|
END
|
||||||
|
|
|
@ -178,11 +178,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CUSTOMIZE_TITLE "Customize Regional Options"
|
IDS_CUSTOMIZE_TITLE "Customize Regional Options"
|
||||||
|
IDS_SPAIN "Spanish (Spain)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CPLNAME "Regional Options"
|
IDS_CPLNAME "Regional Options"
|
||||||
IDS_CPLDESCRIPTION "Select languages and format numbers, currencies, times and date."
|
IDS_CPLDESCRIPTION "Select languages and format numbers, currencies, times and date."
|
||||||
END
|
END
|
||||||
|
|
|
@ -179,11 +179,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CUSTOMIZE_TITLE "Opzioni internazionali e della lingua"
|
IDS_CUSTOMIZE_TITLE "Opzioni internazionali e della lingua"
|
||||||
|
IDS_SPAIN "Spanish (Spain)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CPLNAME "Opzioni internazionali e della lingua"
|
IDS_CPLNAME "Opzioni internazionali e della lingua"
|
||||||
IDS_CPLDESCRIPTION "Personalizza le impostazioni per la visualizzazione delle lingue, numeri, ora e data."
|
IDS_CPLDESCRIPTION "Personalizza le impostazioni per la visualizzazione delle lingue, numeri, ora e data."
|
||||||
END
|
END
|
||||||
|
|
|
@ -178,11 +178,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CUSTOMIZE_TITLE "Настройка региональных параметров"
|
IDS_CUSTOMIZE_TITLE "Настройка региональных параметров"
|
||||||
|
IDS_SPAIN "Spanish (Spain)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CPLNAME "Язык и региональные стандарты"
|
IDS_CPLNAME "Язык и региональные стандарты"
|
||||||
IDS_CPLDESCRIPTION "Выбор языка, формата чисел, денежных единиц, времени и даты."
|
IDS_CPLDESCRIPTION "Выбор языка, формата чисел, денежных единиц, времени и даты."
|
||||||
END
|
END
|
||||||
|
|
|
@ -184,11 +184,12 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CUSTOMIZE_TITLE "Настройка регіональних параметрів"
|
IDS_CUSTOMIZE_TITLE "Íàñòðîéêà ðåã³îíàëüíèõ ïàðàìåòð³â"
|
||||||
|
IDS_SPAIN "Spanish (Spain)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_CPLNAME "Регіональні стандарти"
|
IDS_CPLNAME "Ðåã³îíàëüí³ ñòàíäàðòè"
|
||||||
IDS_CPLDESCRIPTION "Настройка мовних параметрів і формату чисел, грошових одиниць, часу й дат."
|
IDS_CPLDESCRIPTION "Íàñòðîéêà ìîâíèõ ïàðàìåòð³â ³ ôîðìàòó ÷èñåë, ãðîøîâèõ îäèíèöü, ÷àñó é äàò."
|
||||||
END
|
END
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
#define IDS_CPLNAME 1000
|
#define IDS_CPLNAME 1000
|
||||||
#define IDS_CPLDESCRIPTION 1001
|
#define IDS_CPLDESCRIPTION 1001
|
||||||
#define IDS_CUSTOMIZE_TITLE 1002
|
#define IDS_CUSTOMIZE_TITLE 1002
|
||||||
|
#define IDS_SPAIN 1003
|
||||||
|
|
||||||
#endif /* __CPL_RESOURCE_H */
|
#endif /* __CPL_RESOURCE_H */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue