[PATCH] kernel32: Fix LocaleNameToLCID can not handle zh-Hant and, zh-Hans.
Zhiyi Zhang
yi.gd.cn at gmail.com
Wed Nov 8 09:51:46 CST 2017
From 48729f65b3a03e5267c0dcbd957937f2220c5b6a Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <yi.gd.cn at gmail.com>
Date: Tue, 7 Nov 2017 23:03:24 +0800
Subject: [PATCH] kernel32: Fix LocaleNameToLCID can not handle zh-Hant
and zh-Hans.
LocaleNameToLCID now can handle zh-Hant and zh-Hans correctly with
get_default_children().
get_default_children() acts as a map from a parent language to its
default child language.
Since zh-Hant and zh-Hans are not actual locale identifiers. All locale
info of zh-Hant and zh-Hans
are directly mapped to its own child language, zh-HK and zh-CN.
Signed-off-by: Zhiyi Zhang <yi.gd.cn at gmail.com>
---
dlls/kernel32/locale.c | 49
+++++++++++++++++++++++++++++++++++++++-----
dlls/kernel32/nls/afk.nls | 1 +
dlls/kernel32/nls/ara.nls | 1 +
dlls/kernel32/nls/arb.nls | 1 +
dlls/kernel32/nls/are.nls | 1 +
dlls/kernel32/nls/arg.nls | 1 +
dlls/kernel32/nls/arh.nls | 1 +
dlls/kernel32/nls/ari.nls | 1 +
dlls/kernel32/nls/arj.nls | 1 +
dlls/kernel32/nls/ark.nls | 1 +
dlls/kernel32/nls/arl.nls | 1 +
dlls/kernel32/nls/arm.nls | 1 +
dlls/kernel32/nls/aro.nls | 1 +
dlls/kernel32/nls/arq.nls | 1 +
dlls/kernel32/nls/ars.nls | 1 +
dlls/kernel32/nls/art.nls | 1 +
dlls/kernel32/nls/aru.nls | 1 +
dlls/kernel32/nls/ary.nls | 1 +
dlls/kernel32/nls/aze.nls | 1 +
dlls/kernel32/nls/azl.nls | 1 +
dlls/kernel32/nls/bel.nls | 1 +
dlls/kernel32/nls/ben.nls | 1 +
dlls/kernel32/nls/bgr.nls | 1 +
dlls/kernel32/nls/brf.nls | 1 +
dlls/kernel32/nls/cat.nls | 1 +
dlls/kernel32/nls/chs.nls | 1 +
dlls/kernel32/nls/cht.nls | 1 +
dlls/kernel32/nls/cor.nls | 1 +
dlls/kernel32/nls/csy.nls | 1 +
dlls/kernel32/nls/cym.nls | 1 +
dlls/kernel32/nls/dan.nls | 1 +
dlls/kernel32/nls/dea.nls | 1 +
dlls/kernel32/nls/dec.nls | 1 +
dlls/kernel32/nls/del.nls | 1 +
dlls/kernel32/nls/des.nls | 1 +
dlls/kernel32/nls/deu.nls | 1 +
dlls/kernel32/nls/div.nls | 1 +
dlls/kernel32/nls/ell.nls | 1 +
dlls/kernel32/nls/ena.nls | 1 +
dlls/kernel32/nls/enb.nls | 1 +
dlls/kernel32/nls/enc.nls | 1 +
dlls/kernel32/nls/eng.nls | 1 +
dlls/kernel32/nls/eni.nls | 1 +
dlls/kernel32/nls/enj.nls | 1 +
dlls/kernel32/nls/enl.nls | 1 +
dlls/kernel32/nls/enp.nls | 1 +
dlls/kernel32/nls/ens.nls | 1 +
dlls/kernel32/nls/ent.nls | 1 +
dlls/kernel32/nls/enu.nls | 1 +
dlls/kernel32/nls/enw.nls | 1 +
dlls/kernel32/nls/enz.nls | 1 +
dlls/kernel32/nls/eox.nls | 1 +
dlls/kernel32/nls/esa.nls | 1 +
dlls/kernel32/nls/esb.nls | 1 +
dlls/kernel32/nls/esc.nls | 1 +
dlls/kernel32/nls/esd.nls | 1 +
dlls/kernel32/nls/ese.nls | 1 +
dlls/kernel32/nls/esf.nls | 1 +
dlls/kernel32/nls/esg.nls | 1 +
dlls/kernel32/nls/esh.nls | 1 +
dlls/kernel32/nls/esi.nls | 1 +
dlls/kernel32/nls/esl.nls | 1 +
dlls/kernel32/nls/esm.nls | 1 +
dlls/kernel32/nls/esn.nls | 1 +
dlls/kernel32/nls/eso.nls | 1 +
dlls/kernel32/nls/esp.nls | 1 +
dlls/kernel32/nls/esr.nls | 1 +
dlls/kernel32/nls/ess.nls | 1 +
dlls/kernel32/nls/esu.nls | 1 +
dlls/kernel32/nls/esv.nls | 1 +
dlls/kernel32/nls/esy.nls | 1 +
dlls/kernel32/nls/esz.nls | 1 +
dlls/kernel32/nls/eti.nls | 1 +
dlls/kernel32/nls/euq.nls | 1 +
dlls/kernel32/nls/far.nls | 1 +
dlls/kernel32/nls/fin.nls | 1 +
dlls/kernel32/nls/fos.nls | 1 +
dlls/kernel32/nls/fra.nls | 1 +
dlls/kernel32/nls/frb.nls | 1 +
dlls/kernel32/nls/frc.nls | 1 +
dlls/kernel32/nls/frl.nls | 1 +
dlls/kernel32/nls/frm.nls | 1 +
dlls/kernel32/nls/frs.nls | 1 +
dlls/kernel32/nls/gae.nls | 1 +
dlls/kernel32/nls/gdh.nls | 1 +
dlls/kernel32/nls/gdv.nls | 1 +
dlls/kernel32/nls/glc.nls | 1 +
dlls/kernel32/nls/guj.nls | 1 +
dlls/kernel32/nls/heb.nls | 1 +
dlls/kernel32/nls/hin.nls | 1 +
dlls/kernel32/nls/hrv.nls | 1 +
dlls/kernel32/nls/hun.nls | 1 +
dlls/kernel32/nls/hye.nls | 1 +
dlls/kernel32/nls/ind.nls | 1 +
dlls/kernel32/nls/isl.nls | 1 +
dlls/kernel32/nls/ita.nls | 1 +
dlls/kernel32/nls/its.nls | 1 +
dlls/kernel32/nls/ivl.nls | 1 +
dlls/kernel32/nls/jpn.nls | 1 +
dlls/kernel32/nls/kan.nls | 1 +
dlls/kernel32/nls/kat.nls | 1 +
dlls/kernel32/nls/kkz.nls | 1 +
dlls/kernel32/nls/knk.nls | 1 +
dlls/kernel32/nls/kor.nls | 1 +
dlls/kernel32/nls/kyr.nls | 1 +
dlls/kernel32/nls/lth.nls | 1 +
dlls/kernel32/nls/lvi.nls | 1 +
dlls/kernel32/nls/mar.nls | 1 +
dlls/kernel32/nls/mki.nls | 1 +
dlls/kernel32/nls/mon.nls | 1 +
dlls/kernel32/nls/msb.nls | 1 +
dlls/kernel32/nls/msl.nls | 1 +
dlls/kernel32/nls/nep.nls | 1 +
dlls/kernel32/nls/nlb.nls | 1 +
dlls/kernel32/nls/nld.nls | 1 +
dlls/kernel32/nls/nls.nls | 1 +
dlls/kernel32/nls/non.nls | 1 +
dlls/kernel32/nls/nor.nls | 1 +
dlls/kernel32/nls/pan.nls | 1 +
dlls/kernel32/nls/plk.nls | 1 +
dlls/kernel32/nls/ptb.nls | 1 +
dlls/kernel32/nls/ptg.nls | 1 +
dlls/kernel32/nls/rmc.nls | 1 +
dlls/kernel32/nls/rom.nls | 1 +
dlls/kernel32/nls/rus.nls | 1 +
dlls/kernel32/nls/san.nls | 1 +
dlls/kernel32/nls/sky.nls | 1 +
dlls/kernel32/nls/slv.nls | 1 +
dlls/kernel32/nls/sqi.nls | 1 +
dlls/kernel32/nls/srb.nls | 1 +
dlls/kernel32/nls/srl.nls | 1 +
dlls/kernel32/nls/sve.nls | 1 +
dlls/kernel32/nls/svf.nls | 1 +
dlls/kernel32/nls/swk.nls | 1 +
dlls/kernel32/nls/syr.nls | 1 +
dlls/kernel32/nls/tam.nls | 1 +
dlls/kernel32/nls/tel.nls | 1 +
dlls/kernel32/nls/tha.nls | 1 +
dlls/kernel32/nls/trk.nls | 1 +
dlls/kernel32/nls/ttt.nls | 1 +
dlls/kernel32/nls/ukr.nls | 1 +
dlls/kernel32/nls/urd.nls | 1 +
dlls/kernel32/nls/uzb.nls | 1 +
dlls/kernel32/nls/uzl.nls | 1 +
dlls/kernel32/nls/vit.nls | 1 +
dlls/kernel32/nls/wal.nls | 1 +
dlls/kernel32/nls/zhh.nls | 1 +
dlls/kernel32/nls/zhi.nls | 1 +
dlls/kernel32/nls/zhm.nls | 1 +
dlls/kernel32/tests/locale.c | 18 ++++++++--------
150 files changed, 201 insertions(+), 14 deletions(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 64966e540c..f82d8a4eda 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -148,7 +148,7 @@ struct locale_name
WCHAR *script; /* script ("Latn") for Windows format only */
WCHAR *modifier; /* modifier or sort order */
LCID lcid; /* corresponding LCID */
- int matches; /* number of elements matching LCID (0..4) */
+ int matches; /* number of elements matching LCID (0..5) */
UINT codepage; /* codepage corresponding to charset */
};
@@ -375,6 +375,31 @@ static WORD get_default_sublang(LCID lang)
}
}
+struct default_children_lang_t{
+ WCHAR parent[15];
+ WCHAR children[15];
+};
+
+static const struct default_children_lang_t default_children_lang[]={
+ {{'z','h','-','H','a','n','t',0},{'z','h','-','H','K',0}},
+ {{'z','h','-','H','a','n','s',0},{'z','h','-','C','N',0}},
+ {{0}}
+};
+
+static const WCHAR *get_default_children(const WCHAR *parent)
+{
+ const struct default_children_lang_t *ptr = default_children_lang;
+ while (*ptr->parent)
+ {
+ if (!strcmpiW(parent, ptr->parent ))
+ {
+ return ptr->children;
+ }
+ ptr++;
+ }
+ return parent;
+}
+
/***********************************************************************
* find_locale_id_callback
*/
@@ -383,6 +408,7 @@ static BOOL CALLBACK find_locale_id_callback(
HMODULE hModule, LPCWSTR type,
{
struct locale_name *data = (struct locale_name *)lParam;
WCHAR buffer[128];
+ WCHAR sname[128];
int matches = 0;
LCID lcid = MAKELCID( LangID, SORT_DEFAULT ); /* FIXME: handle
sort order */
@@ -395,9 +421,13 @@ static BOOL CALLBACK find_locale_id_callback(
HMODULE hModule, LPCWSTR type,
{
if (!strcmpiW( data->win_name, buffer ))
{
- matches = 4; /* everything matches */
+ matches = 5; /* everything matches */
goto done;
}
+ else
+ {
+ strcpyW(sname, buffer);
+ }
}
if (!GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME |
LOCALE_NOUSEROVERRIDE,
@@ -406,6 +436,15 @@ static BOOL CALLBACK find_locale_id_callback(
HMODULE hModule, LPCWSTR type,
if (strcmpiW( buffer, data->lang )) return TRUE;
matches++; /* language name matched */
+ /* check if matches parent language and it's the default children
language */
+ if (data->win_name[0] &&
+ GetLocaleInfoW( lcid, LOCALE_SPARENT | LOCALE_NOUSEROVERRIDE,
+ buffer, sizeof(buffer)/sizeof(WCHAR) ))
+ {
+ if (!strcmpiW( data->win_name, buffer )&&
+ !strcmpiW( sname, get_default_children(buffer) )) matches++;
+ }
+
if (data->country)
{
if (GetLocaleInfoW( lcid,
LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE,
@@ -438,7 +477,7 @@ done:
data->lcid = lcid;
data->matches = matches;
}
- return (data->matches < 4); /* no need to continue for perfect
match */
+ return (data->matches < 5); /* no need to continue for perfect
match */
}
@@ -471,7 +510,7 @@ static void parse_locale_name( const WCHAR *str,
struct locale_name *name )
if (!*name->lang)
{
name->lcid = LOCALE_INVARIANT;
- name->matches = 4;
+ name->matches = 5;
return;
}
@@ -479,7 +518,7 @@ static void parse_locale_name( const WCHAR *str,
struct locale_name *name )
{
if (!strcmpW( name->lang, posixW ) || !strcmpW( name->lang, cW ))
{
- name->matches = 4; /* perfect match for default English
lcid */
+ name->matches = 5; /* perfect match for default English
lcid */
return;
}
strcpyW( name->win_name, name->lang );
diff --git a/dlls/kernel32/nls/afk.nls b/dlls/kernel32/nls/afk.nls
index 5feb5f70ef..350b3c31fd 100644
--- a/dlls/kernel32/nls/afk.nls
+++ b/dlls/kernel32/nls/afk.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_AFRIKAANS, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "AFK "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "af"
LOCALE_SSHORTDATE "yyyy/MM/dd"
LOCALE_SSHORTESTDAYNAME1 "Ma"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/ara.nls b/dlls/kernel32/nls/ara.nls
index c684107307..a7a3937156 100644
--- a/dlls/kernel32/nls/ara.nls
+++ b/dlls/kernel32/nls/ara.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC,
SUBLANG_ARABIC_SAUDI_ARABIA
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arb.nls b/dlls/kernel32/nls/arb.nls
index f6101b8a51..8bc2ba1f33 100644
--- a/dlls/kernel32/nls/arb.nls
+++ b/dlls/kernel32/nls/arb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_LEBANON
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/are.nls b/dlls/kernel32/nls/are.nls
index d777814ae3..6b94dd68a0 100644
--- a/dlls/kernel32/nls/are.nls
+++ b/dlls/kernel32/nls/are.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_EGYPT
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arg.nls b/dlls/kernel32/nls/arg.nls
index b5b9d17b18..38ea3631a8 100644
--- a/dlls/kernel32/nls/arg.nls
+++ b/dlls/kernel32/nls/arg.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_ALGERIA
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arh.nls b/dlls/kernel32/nls/arh.nls
index 8c180b1918..c945fceac0 100644
--- a/dlls/kernel32/nls/arh.nls
+++ b/dlls/kernel32/nls/arh.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_BAHRAIN
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/ari.nls b/dlls/kernel32/nls/ari.nls
index ca40a033f7..e827848bc9 100644
--- a/dlls/kernel32/nls/ari.nls
+++ b/dlls/kernel32/nls/ari.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_IRAQ
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arj.nls b/dlls/kernel32/nls/arj.nls
index 662fde2c3d..5875937635 100644
--- a/dlls/kernel32/nls/arj.nls
+++ b/dlls/kernel32/nls/arj.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_JORDAN
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/ark.nls b/dlls/kernel32/nls/ark.nls
index 5ea5acecff..f9a64487a0 100644
--- a/dlls/kernel32/nls/ark.nls
+++ b/dlls/kernel32/nls/ark.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_KUWAIT
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arl.nls b/dlls/kernel32/nls/arl.nls
index 742fe15d2e..540b39e076 100644
--- a/dlls/kernel32/nls/arl.nls
+++ b/dlls/kernel32/nls/arl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_LIBYA
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arm.nls b/dlls/kernel32/nls/arm.nls
index d54d1d0605..416e9cb3db 100644
--- a/dlls/kernel32/nls/arm.nls
+++ b/dlls/kernel32/nls/arm.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_MOROCCO
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/aro.nls b/dlls/kernel32/nls/aro.nls
index e36131da67..faaf5a3837 100644
--- a/dlls/kernel32/nls/aro.nls
+++ b/dlls/kernel32/nls/aro.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_OMAN
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/arq.nls b/dlls/kernel32/nls/arq.nls
index 2274aac3a3..4c983af220 100644
--- a/dlls/kernel32/nls/arq.nls
+++ b/dlls/kernel32/nls/arq.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_QATAR
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/ars.nls b/dlls/kernel32/nls/ars.nls
index 5fbe7660b6..9e731826d3 100644
--- a/dlls/kernel32/nls/ars.nls
+++ b/dlls/kernel32/nls/ars.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_SYRIA
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/art.nls b/dlls/kernel32/nls/art.nls
index 27c4cf8f75..a647bbdc94 100644
--- a/dlls/kernel32/nls/art.nls
+++ b/dlls/kernel32/nls/art.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_TUNISIA
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/aru.nls b/dlls/kernel32/nls/aru.nls
index d40f145292..64d4b71f0b 100644
--- a/dlls/kernel32/nls/aru.nls
+++ b/dlls/kernel32/nls/aru.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_UAE
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/ary.nls b/dlls/kernel32/nls/ary.nls
index 8b373d6922..ed7549eeb8 100644
--- a/dlls/kernel32/nls/ary.nls
+++ b/dlls/kernel32/nls/ary.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_YEMEN
LOCALE_SOPENTYPELANGUAGETAG "ARA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ar"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ن"
LOCALE_SSHORTESTDAYNAME2 "ث"
diff --git a/dlls/kernel32/nls/aze.nls b/dlls/kernel32/nls/aze.nls
index 61d0c3c305..cb8d384a97 100644
--- a/dlls/kernel32/nls/aze.nls
+++ b/dlls/kernel32/nls/aze.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_AZERI, SUBLANG_AZERI_CYRILLIC
LOCALE_SOPENTYPELANGUAGETAG "AZE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "az-Cyrl"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Бе"
LOCALE_SSHORTESTDAYNAME2 "Ча"
diff --git a/dlls/kernel32/nls/azl.nls b/dlls/kernel32/nls/azl.nls
index ad47178fad..6c5233a238 100644
--- a/dlls/kernel32/nls/azl.nls
+++ b/dlls/kernel32/nls/azl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_AZERI, SUBLANG_AZERI_LATIN
LOCALE_SOPENTYPELANGUAGETAG "AZE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "az-Latn"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Be"
LOCALE_SSHORTESTDAYNAME2 "Ça"
diff --git a/dlls/kernel32/nls/bel.nls b/dlls/kernel32/nls/bel.nls
index 7ece0bcca4..3d046ba729 100644
--- a/dlls/kernel32/nls/bel.nls
+++ b/dlls/kernel32/nls/bel.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_BELARUSIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "BEL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "be"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "пн"
LOCALE_SSHORTESTDAYNAME2 "аў"
diff --git a/dlls/kernel32/nls/ben.nls b/dlls/kernel32/nls/ben.nls
index 6bb489f0f5..d848937c2f 100644
--- a/dlls/kernel32/nls/ben.nls
+++ b/dlls/kernel32/nls/ben.nls
@@ -128,6 +128,7 @@ STRINGTABLE LANGUAGE LANG_BANGLA, SUBLANG_BANGLA_INDIA
LOCALE_SOPENTYPELANGUAGETAG "BEN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Beng;"
+ LOCALE_SPARENT "bn"
LOCALE_SSHORTDATE "dd-MM-yy"
LOCALE_SSHORTESTDAYNAME1 "স"
LOCALE_SSHORTESTDAYNAME2 "ম"
diff --git a/dlls/kernel32/nls/bgr.nls b/dlls/kernel32/nls/bgr.nls
index 4880d55254..7c8732886f 100644
--- a/dlls/kernel32/nls/bgr.nls
+++ b/dlls/kernel32/nls/bgr.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "BGR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "bg"
LOCALE_SSHORTDATE "dd.M.yyyy 'г.'"
LOCALE_SSHORTESTDAYNAME1 "пн"
LOCALE_SSHORTESTDAYNAME2 "вт"
diff --git a/dlls/kernel32/nls/brf.nls b/dlls/kernel32/nls/brf.nls
index 449bc8883a..1e19c50404 100644
--- a/dlls/kernel32/nls/brf.nls
+++ b/dlls/kernel32/nls/brf.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_BRETON, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "BRE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "L"
LOCALE_SSHORTESTDAYNAME2 "Mz"
diff --git a/dlls/kernel32/nls/cat.nls b/dlls/kernel32/nls/cat.nls
index 9acb81f360..c2b386f9b1 100644
--- a/dlls/kernel32/nls/cat.nls
+++ b/dlls/kernel32/nls/cat.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "CAT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "ca"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "dl"
LOCALE_SSHORTESTDAYNAME2 "dt"
diff --git a/dlls/kernel32/nls/chs.nls b/dlls/kernel32/nls/chs.nls
index fa7fb6c64e..6dc66a3aa3 100644
--- a/dlls/kernel32/nls/chs.nls
+++ b/dlls/kernel32/nls/chs.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE,
SUBLANG_CHINESE_SIMPLIFIED
LOCALE_SOPENTYPELANGUAGETAG "ZHS "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hans;"
+ LOCALE_SPARENT "zh-Hans"
LOCALE_SSHORTDATE "yyyy-M-d"
LOCALE_SSHORTESTDAYNAME1 "一"
LOCALE_SSHORTESTDAYNAME2 "二"
diff --git a/dlls/kernel32/nls/cht.nls b/dlls/kernel32/nls/cht.nls
index 20f1d4dbe3..c08b807a9d 100644
--- a/dlls/kernel32/nls/cht.nls
+++ b/dlls/kernel32/nls/cht.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE,
SUBLANG_CHINESE_TRADITIONAL
LOCALE_SOPENTYPELANGUAGETAG "ZHT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hant;"
+ LOCALE_SPARENT "zh-Hant"
LOCALE_SSHORTDATE "yyyy/M/d"
LOCALE_SSHORTESTDAYNAME1 "一"
LOCALE_SSHORTESTDAYNAME2 "二"
diff --git a/dlls/kernel32/nls/cor.nls b/dlls/kernel32/nls/cor.nls
index 9127def213..ab6cbde28b 100644
--- a/dlls/kernel32/nls/cor.nls
+++ b/dlls/kernel32/nls/cor.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_CORNISH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Lun"
LOCALE_SSHORTESTDAYNAME2 "Mth"
diff --git a/dlls/kernel32/nls/csy.nls b/dlls/kernel32/nls/csy.nls
index 92156400bd..7d7aa0e94f 100644
--- a/dlls/kernel32/nls/csy.nls
+++ b/dlls/kernel32/nls/csy.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "CSY "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "cs"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "po"
LOCALE_SSHORTESTDAYNAME2 "út"
diff --git a/dlls/kernel32/nls/cym.nls b/dlls/kernel32/nls/cym.nls
index 0a47c3694e..f609eb35f0 100644
--- a/dlls/kernel32/nls/cym.nls
+++ b/dlls/kernel32/nls/cym.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_WELSH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "WEL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Ll"
LOCALE_SSHORTESTDAYNAME2 "Ma"
diff --git a/dlls/kernel32/nls/dan.nls b/dlls/kernel32/nls/dan.nls
index 554c6e9de7..ecd516e686 100644
--- a/dlls/kernel32/nls/dan.nls
+++ b/dlls/kernel32/nls/dan.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "DAN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "da"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "ti"
diff --git a/dlls/kernel32/nls/dea.nls b/dlls/kernel32/nls/dea.nls
index 6b647c8350..7b5147045f 100644
--- a/dlls/kernel32/nls/dea.nls
+++ b/dlls/kernel32/nls/dea.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN,
SUBLANG_GERMAN_AUSTRIAN
LOCALE_SOPENTYPELANGUAGETAG "DEU "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "de"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/dec.nls b/dlls/kernel32/nls/dec.nls
index f4403dcb86..0a7a80c7eb 100644
--- a/dlls/kernel32/nls/dec.nls
+++ b/dlls/kernel32/nls/dec.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN,
SUBLANG_GERMAN_LIECHTENSTEIN
LOCALE_SOPENTYPELANGUAGETAG "DEU "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "de"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/del.nls b/dlls/kernel32/nls/del.nls
index b80347de26..a57f71604e 100644
--- a/dlls/kernel32/nls/del.nls
+++ b/dlls/kernel32/nls/del.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN,
SUBLANG_GERMAN_LUXEMBOURG
LOCALE_SOPENTYPELANGUAGETAG "DEU "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "de"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/des.nls b/dlls/kernel32/nls/des.nls
index a9fd1c7e0b..26b12878f7 100644
--- a/dlls/kernel32/nls/des.nls
+++ b/dlls/kernel32/nls/des.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_SWISS
LOCALE_SOPENTYPELANGUAGETAG "DEU "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "de"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/deu.nls b/dlls/kernel32/nls/deu.nls
index 57b92cc37a..83d88eb746 100644
--- a/dlls/kernel32/nls/deu.nls
+++ b/dlls/kernel32/nls/deu.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
LOCALE_SOPENTYPELANGUAGETAG "DEU "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "de"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Di"
diff --git a/dlls/kernel32/nls/div.nls b/dlls/kernel32/nls/div.nls
index fda996556c..9fa2fd0e7e 100644
--- a/dlls/kernel32/nls/div.nls
+++ b/dlls/kernel32/nls/div.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_DIVEHI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "DIV "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Thaa;"
+ LOCALE_SPARENT "dv"
LOCALE_SSHORTDATE "dd/MM/yy"
LOCALE_SSHORTESTDAYNAME1 "ހޯ"
LOCALE_SSHORTESTDAYNAME2 "އަ"
diff --git a/dlls/kernel32/nls/ell.nls b/dlls/kernel32/nls/ell.nls
index 59074fff19..63e8a2d157 100644
--- a/dlls/kernel32/nls/ell.nls
+++ b/dlls/kernel32/nls/ell.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "ELL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Grek;"
+ LOCALE_SPARENT "el"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Δε"
LOCALE_SSHORTESTDAYNAME2 "Τρ"
diff --git a/dlls/kernel32/nls/ena.nls b/dlls/kernel32/nls/ena.nls
index e46a607e85..26d51dae34 100644
--- a/dlls/kernel32/nls/ena.nls
+++ b/dlls/kernel32/nls/ena.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "d/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enb.nls b/dlls/kernel32/nls/enb.nls
index 7d7e011a63..fb79284514 100644
--- a/dlls/kernel32/nls/enb.nls
+++ b/dlls/kernel32/nls/enb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_CARIBBEAN
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "MM/dd/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enc.nls b/dlls/kernel32/nls/enc.nls
index 2b53ebf2e8..42cbe9e0c6 100644
--- a/dlls/kernel32/nls/enc.nls
+++ b/dlls/kernel32/nls/enc.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/eng.nls b/dlls/kernel32/nls/eng.nls
index 9f994fce16..5f66fe4262 100644
--- a/dlls/kernel32/nls/eng.nls
+++ b/dlls/kernel32/nls/eng.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/eni.nls b/dlls/kernel32/nls/eni.nls
index a020b47153..298a97d761 100644
--- a/dlls/kernel32/nls/eni.nls
+++ b/dlls/kernel32/nls/eni.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_EIRE
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enj.nls b/dlls/kernel32/nls/enj.nls
index f2dd80e71b..cf575e54ab 100644
--- a/dlls/kernel32/nls/enj.nls
+++ b/dlls/kernel32/nls/enj.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_JAMAICA
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enl.nls b/dlls/kernel32/nls/enl.nls
index 598f74e9fe..fd7b2bcd9e 100644
--- a/dlls/kernel32/nls/enl.nls
+++ b/dlls/kernel32/nls/enl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_BELIZE
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enp.nls b/dlls/kernel32/nls/enp.nls
index d9130ec73e..4c37be19fd 100644
--- a/dlls/kernel32/nls/enp.nls
+++ b/dlls/kernel32/nls/enp.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_PHILIPPINES
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "M/d/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/ens.nls b/dlls/kernel32/nls/ens.nls
index 66407476f0..6c8aa16f86 100644
--- a/dlls/kernel32/nls/ens.nls
+++ b/dlls/kernel32/nls/ens.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_SOUTH_AFRICA
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "yyyy/MM/dd"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/ent.nls b/dlls/kernel32/nls/ent.nls
index c0328fb13d..4285577596 100644
--- a/dlls/kernel32/nls/ent.nls
+++ b/dlls/kernel32/nls/ent.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_TRINIDAD
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enu.nls b/dlls/kernel32/nls/enu.nls
index b007178b3d..119b9cc18c 100644
--- a/dlls/kernel32/nls/enu.nls
+++ b/dlls/kernel32/nls/enu.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "M/d/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enw.nls b/dlls/kernel32/nls/enw.nls
index ec04ec1b07..26d04cb614 100644
--- a/dlls/kernel32/nls/enw.nls
+++ b/dlls/kernel32/nls/enw.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH,
SUBLANG_ENGLISH_ZIMBABWE
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "M/d/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/enz.nls b/dlls/kernel32/nls/enz.nls
index a954f313b9..66baca1783 100644
--- a/dlls/kernel32/nls/enz.nls
+++ b/dlls/kernel32/nls/enz.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_NZ
LOCALE_SOPENTYPELANGUAGETAG "ENG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "en"
LOCALE_SSHORTDATE "d/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls
index 62ab66dcc2..0dc82fe3a7 100644
--- a/dlls/kernel32/nls/eox.nls
+++ b/dlls/kernel32/nls/eox.nls
@@ -150,6 +150,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "dflt"
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "eo"
LOCALE_SSHORTDATE "yyyy-mm-dd"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esa.nls b/dlls/kernel32/nls/esa.nls
index b30e054ee7..3b850095c3 100644
--- a/dlls/kernel32/nls/esa.nls
+++ b/dlls/kernel32/nls/esa.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_PANAMA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "MM/dd/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/esb.nls b/dlls/kernel32/nls/esb.nls
index bc63d72f37..ade33beec1 100644
--- a/dlls/kernel32/nls/esb.nls
+++ b/dlls/kernel32/nls/esb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_BOLIVIA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esc.nls b/dlls/kernel32/nls/esc.nls
index 282a4a8793..d34eb31a0c 100644
--- a/dlls/kernel32/nls/esc.nls
+++ b/dlls/kernel32/nls/esc.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_COSTA_RICA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esd.nls b/dlls/kernel32/nls/esd.nls
index 96a05bb5bd..cd549adf4e 100644
--- a/dlls/kernel32/nls/esd.nls
+++ b/dlls/kernel32/nls/esd.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_DOMINICAN_REPUBLIC
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/ese.nls b/dlls/kernel32/nls/ese.nls
index 19ea090a2e..b39fde0f5b 100644
--- a/dlls/kernel32/nls/ese.nls
+++ b/dlls/kernel32/nls/ese.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_EL_SALVADOR
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esf.nls b/dlls/kernel32/nls/esf.nls
index b53c86ed38..d3a5a7129d 100644
--- a/dlls/kernel32/nls/esf.nls
+++ b/dlls/kernel32/nls/esf.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_ECUADOR
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esg.nls b/dlls/kernel32/nls/esg.nls
index 419f6ed137..ed6fa4b0a7 100644
--- a/dlls/kernel32/nls/esg.nls
+++ b/dlls/kernel32/nls/esg.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_GUATEMALA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/esh.nls b/dlls/kernel32/nls/esh.nls
index 67acf54aaf..701f55a1c0 100644
--- a/dlls/kernel32/nls/esh.nls
+++ b/dlls/kernel32/nls/esh.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_HONDURAS
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/esi.nls b/dlls/kernel32/nls/esi.nls
index 9444247b02..8f0948e1f3 100644
--- a/dlls/kernel32/nls/esi.nls
+++ b/dlls/kernel32/nls/esi.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_NICARAGUA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esl.nls b/dlls/kernel32/nls/esl.nls
index f43602a9cc..04648a7ea5 100644
--- a/dlls/kernel32/nls/esl.nls
+++ b/dlls/kernel32/nls/esl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_CHILE
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esm.nls b/dlls/kernel32/nls/esm.nls
index e34e4de064..514ea13f56 100644
--- a/dlls/kernel32/nls/esm.nls
+++ b/dlls/kernel32/nls/esm.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_MEXICAN
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/esn.nls b/dlls/kernel32/nls/esn.nls
index 87173fec45..627eda2e9e 100644
--- a/dlls/kernel32/nls/esn.nls
+++ b/dlls/kernel32/nls/esn.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_MODERN
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "L"
LOCALE_SSHORTESTDAYNAME2 "M"
diff --git a/dlls/kernel32/nls/eso.nls b/dlls/kernel32/nls/eso.nls
index 3ae14af2df..3c4252a6e5 100644
--- a/dlls/kernel32/nls/eso.nls
+++ b/dlls/kernel32/nls/eso.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_COLOMBIA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu."
LOCALE_SSHORTESTDAYNAME2 "ma."
diff --git a/dlls/kernel32/nls/esp.nls b/dlls/kernel32/nls/esp.nls
index 490d6b5e7e..3774e283d0 100644
--- a/dlls/kernel32/nls/esp.nls
+++ b/dlls/kernel32/nls/esp.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esr.nls b/dlls/kernel32/nls/esr.nls
index 8e3b5ea7f3..937e3cba39 100644
--- a/dlls/kernel32/nls/esr.nls
+++ b/dlls/kernel32/nls/esr.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_PERU
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/ess.nls b/dlls/kernel32/nls/ess.nls
index 6f25c3c594..7819d4589d 100644
--- a/dlls/kernel32/nls/ess.nls
+++ b/dlls/kernel32/nls/ess.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_ARGENTINA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esu.nls b/dlls/kernel32/nls/esu.nls
index 6fa6bbb30f..fb1e411dcd 100644
--- a/dlls/kernel32/nls/esu.nls
+++ b/dlls/kernel32/nls/esu.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_PUERTO_RICO
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esv.nls b/dlls/kernel32/nls/esv.nls
index 6bd2f25573..31b1b8f918 100644
--- a/dlls/kernel32/nls/esv.nls
+++ b/dlls/kernel32/nls/esv.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_VENEZUELA
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esy.nls b/dlls/kernel32/nls/esy.nls
index e2d0a17058..f977cab0cd 100644
--- a/dlls/kernel32/nls/esy.nls
+++ b/dlls/kernel32/nls/esy.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_URUGUAY
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/esz.nls b/dlls/kernel32/nls/esz.nls
index 960230c318..7e5d4aeaf1 100644
--- a/dlls/kernel32/nls/esz.nls
+++ b/dlls/kernel32/nls/esz.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH,
SUBLANG_SPANISH_PARAGUAY
LOCALE_SOPENTYPELANGUAGETAG "ESP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "es"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/eti.nls b/dlls/kernel32/nls/eti.nls
index 1d7738eb72..2a04fabb10 100644
--- a/dlls/kernel32/nls/eti.nls
+++ b/dlls/kernel32/nls/eti.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "ETI "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "et"
LOCALE_SSHORTDATE "d.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "E"
LOCALE_SSHORTESTDAYNAME2 "T"
diff --git a/dlls/kernel32/nls/euq.nls b/dlls/kernel32/nls/euq.nls
index ba344f6413..ede760e1dc 100644
--- a/dlls/kernel32/nls/euq.nls
+++ b/dlls/kernel32/nls/euq.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_BASQUE, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "EUQ "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "eu"
LOCALE_SSHORTDATE "yyyy/MM/dd"
LOCALE_SSHORTESTDAYNAME1 "al"
LOCALE_SSHORTESTDAYNAME2 "as"
diff --git a/dlls/kernel32/nls/far.nls b/dlls/kernel32/nls/far.nls
index e1f169f070..4b598b4ad8 100644
--- a/dlls/kernel32/nls/far.nls
+++ b/dlls/kernel32/nls/far.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_PERSIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "FAR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "fa"
LOCALE_SSHORTDATE "yyyy/MM/dd"
LOCALE_SSHORTESTDAYNAME1 "د"
LOCALE_SSHORTESTDAYNAME2 "س"
diff --git a/dlls/kernel32/nls/fin.nls b/dlls/kernel32/nls/fin.nls
index 23cb8aa72e..ab6d4e1140 100644
--- a/dlls/kernel32/nls/fin.nls
+++ b/dlls/kernel32/nls/fin.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "FIN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fi"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "ti"
diff --git a/dlls/kernel32/nls/fos.nls b/dlls/kernel32/nls/fos.nls
index 0d57c4cf82..eaca95cb28 100644
--- a/dlls/kernel32/nls/fos.nls
+++ b/dlls/kernel32/nls/fos.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FAEROESE, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "FOS "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fo"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "má"
LOCALE_SSHORTESTDAYNAME2 "tý"
diff --git a/dlls/kernel32/nls/fra.nls b/dlls/kernel32/nls/fra.nls
index 626cc627ee..d0046a34f6 100644
--- a/dlls/kernel32/nls/fra.nls
+++ b/dlls/kernel32/nls/fra.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/frb.nls b/dlls/kernel32/nls/frb.nls
index 3453035fa1..a4732e33b7 100644
--- a/dlls/kernel32/nls/frb.nls
+++ b/dlls/kernel32/nls/frb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_BELGIAN
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "d/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/frc.nls b/dlls/kernel32/nls/frc.nls
index 4ddad7810a..9a617b1af7 100644
--- a/dlls/kernel32/nls/frc.nls
+++ b/dlls/kernel32/nls/frc.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH,
SUBLANG_FRENCH_CANADIAN
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "yyyy-MM-dd"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/frl.nls b/dlls/kernel32/nls/frl.nls
index ec73cd3675..d3b5e8ff2a 100644
--- a/dlls/kernel32/nls/frl.nls
+++ b/dlls/kernel32/nls/frl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH,
SUBLANG_FRENCH_LUXEMBOURG
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/frm.nls b/dlls/kernel32/nls/frm.nls
index 82c69d73e3..cf917ebc48 100644
--- a/dlls/kernel32/nls/frm.nls
+++ b/dlls/kernel32/nls/frm.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_MONACO
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/frs.nls b/dlls/kernel32/nls/frs.nls
index 0deddc0092..4249939da9 100644
--- a/dlls/kernel32/nls/frs.nls
+++ b/dlls/kernel32/nls/frs.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_SWISS
LOCALE_SOPENTYPELANGUAGETAG "FRA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "fr"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/gae.nls b/dlls/kernel32/nls/gae.nls
index ff0de1483a..1d551048c2 100644
--- a/dlls/kernel32/nls/gae.nls
+++ b/dlls/kernel32/nls/gae.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_IRISH, SUBLANG_IRISH_IRELAND
LOCALE_SOPENTYPELANGUAGETAG "IRI "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "ga"
LOCALE_SSHORTDATE "d/M/yy"
LOCALE_SSHORTESTDAYNAME1 "Lu"
LOCALE_SSHORTESTDAYNAME2 "Má"
diff --git a/dlls/kernel32/nls/gdh.nls b/dlls/kernel32/nls/gdh.nls
index 75941111f7..5718482efe 100644
--- a/dlls/kernel32/nls/gdh.nls
+++ b/dlls/kernel32/nls/gdh.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_SCOTTISH_GAELIC,
SUBLANG_SCOTTISH_GAELIC
LOCALE_SOPENTYPELANGUAGETAG "GAE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "gd"
LOCALE_SSHORTDATE "dd/MM/yy"
LOCALE_SSHORTESTDAYNAME1 "Lu"
LOCALE_SSHORTESTDAYNAME2 "Mà"
diff --git a/dlls/kernel32/nls/gdv.nls b/dlls/kernel32/nls/gdv.nls
index 5e6d08fbed..5410325738 100644
--- a/dlls/kernel32/nls/gdv.nls
+++ b/dlls/kernel32/nls/gdv.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_MANX_GAELIC,
SUBLANG_MANX_GAELIC
LOCALE_SOPENTYPELANGUAGETAG "GAE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "gv"
LOCALE_SSHORTDATE "dd/MM/yy"
LOCALE_SSHORTESTDAYNAME1 "Jelu"
LOCALE_SSHORTESTDAYNAME2 "Jema"
diff --git a/dlls/kernel32/nls/glc.nls b/dlls/kernel32/nls/glc.nls
index ce2d0b2470..8d960cb16f 100644
--- a/dlls/kernel32/nls/glc.nls
+++ b/dlls/kernel32/nls/glc.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GALICIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "GAL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "gl"
LOCALE_SSHORTDATE "dd/MM/yy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/guj.nls b/dlls/kernel32/nls/guj.nls
index 354265f3dd..1f2b5f77d8 100644
--- a/dlls/kernel32/nls/guj.nls
+++ b/dlls/kernel32/nls/guj.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GUJARATI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "GUJ "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Gujr;"
+ LOCALE_SPARENT "gu"
LOCALE_SSHORTDATE "dd-MM-yy"
LOCALE_SSHORTESTDAYNAME1 "સો"
LOCALE_SSHORTESTDAYNAME2 "મં"
diff --git a/dlls/kernel32/nls/heb.nls b/dlls/kernel32/nls/heb.nls
index eb93db35ba..8f11521502 100644
--- a/dlls/kernel32/nls/heb.nls
+++ b/dlls/kernel32/nls/heb.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "IWR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hebr;"
+ LOCALE_SPARENT "he"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ב"
LOCALE_SSHORTESTDAYNAME2 "ג"
diff --git a/dlls/kernel32/nls/hin.nls b/dlls/kernel32/nls/hin.nls
index 5ffe01a187..a37fb1ab2d 100644
--- a/dlls/kernel32/nls/hin.nls
+++ b/dlls/kernel32/nls/hin.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_HINDI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "HIN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Deva;"
+ LOCALE_SPARENT "hi"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "स"
LOCALE_SSHORTESTDAYNAME2 "म"
diff --git a/dlls/kernel32/nls/hrv.nls b/dlls/kernel32/nls/hrv.nls
index 421de824f0..a67d0c4dde 100644
--- a/dlls/kernel32/nls/hrv.nls
+++ b/dlls/kernel32/nls/hrv.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "HRV "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "hr"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "po"
LOCALE_SSHORTESTDAYNAME2 "ut"
diff --git a/dlls/kernel32/nls/hun.nls b/dlls/kernel32/nls/hun.nls
index 00f5b68463..8a5e41d5c7 100644
--- a/dlls/kernel32/nls/hun.nls
+++ b/dlls/kernel32/nls/hun.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "HUN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "hu"
LOCALE_SSHORTDATE "yyyy. MM. dd."
LOCALE_SSHORTESTDAYNAME1 "H"
LOCALE_SSHORTESTDAYNAME2 "K"
diff --git a/dlls/kernel32/nls/hye.nls b/dlls/kernel32/nls/hye.nls
index 1a4c6a9722..6dfe6b5802 100644
--- a/dlls/kernel32/nls/hye.nls
+++ b/dlls/kernel32/nls/hye.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ARMENIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "HYE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Armn;"
+ LOCALE_SPARENT "hy"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Ե"
LOCALE_SSHORTESTDAYNAME2 "Ե"
diff --git a/dlls/kernel32/nls/ind.nls b/dlls/kernel32/nls/ind.nls
index e9c8174097..be1e701e47 100644
--- a/dlls/kernel32/nls/ind.nls
+++ b/dlls/kernel32/nls/ind.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "IND "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "id"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "S"
LOCALE_SSHORTESTDAYNAME2 "S"
diff --git a/dlls/kernel32/nls/isl.nls b/dlls/kernel32/nls/isl.nls
index 435d4de876..254ddefe03 100644
--- a/dlls/kernel32/nls/isl.nls
+++ b/dlls/kernel32/nls/isl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ICELANDIC, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "ISL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "is"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "má"
LOCALE_SSHORTESTDAYNAME2 "þr"
diff --git a/dlls/kernel32/nls/ita.nls b/dlls/kernel32/nls/ita.nls
index 9a697d7b5e..43b9418f2e 100644
--- a/dlls/kernel32/nls/ita.nls
+++ b/dlls/kernel32/nls/ita.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN
LOCALE_SOPENTYPELANGUAGETAG "ITA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "it"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/its.nls b/dlls/kernel32/nls/its.nls
index 5c83df9198..9307175b4b 100644
--- a/dlls/kernel32/nls/its.nls
+++ b/dlls/kernel32/nls/its.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN_SWISS
LOCALE_SOPENTYPELANGUAGETAG "ITA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "it"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "lu"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/ivl.nls b/dlls/kernel32/nls/ivl.nls
index ef941c6851..c1f689f7e7 100644
--- a/dlls/kernel32/nls/ivl.nls
+++ b/dlls/kernel32/nls/ivl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_INVARIANT, SUBLANG_NEUTRAL
LOCALE_SOPENTYPELANGUAGETAG "dflt"
LOCALE_SPOSITIVESIGN "+"
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "iv"
LOCALE_SSHORTDATE "MM/dd/yyyy"
LOCALE_SSHORTESTDAYNAME1 "Mo"
LOCALE_SSHORTESTDAYNAME2 "Tu"
diff --git a/dlls/kernel32/nls/jpn.nls b/dlls/kernel32/nls/jpn.nls
index 1a0372e32b..8025f6b265 100644
--- a/dlls/kernel32/nls/jpn.nls
+++ b/dlls/kernel32/nls/jpn.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "JAN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hani;Hira;Kana;"
+ LOCALE_SPARENT "ja"
LOCALE_SSHORTDATE "yyyy/MM/dd"
LOCALE_SSHORTESTDAYNAME1 "月"
LOCALE_SSHORTESTDAYNAME2 "火"
diff --git a/dlls/kernel32/nls/kan.nls b/dlls/kernel32/nls/kan.nls
index 038541d8f2..15a45cbf20 100644
--- a/dlls/kernel32/nls/kan.nls
+++ b/dlls/kernel32/nls/kan.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_KANNADA, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "KAN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Knda;"
+ LOCALE_SPARENT "kn"
LOCALE_SSHORTDATE "dd-MM-yy"
LOCALE_SSHORTESTDAYNAME1 "ಸ"
LOCALE_SSHORTESTDAYNAME2 "ಮ"
diff --git a/dlls/kernel32/nls/kat.nls b/dlls/kernel32/nls/kat.nls
index 86b74411b8..0d366acc93 100644
--- a/dlls/kernel32/nls/kat.nls
+++ b/dlls/kernel32/nls/kat.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_GEORGIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "KAT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Geor;"
+ LOCALE_SPARENT "ka"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "ორ"
LOCALE_SSHORTESTDAYNAME2 "სმ"
diff --git a/dlls/kernel32/nls/kkz.nls b/dlls/kernel32/nls/kkz.nls
index f6d0f58572..65808f53c1 100644
--- a/dlls/kernel32/nls/kkz.nls
+++ b/dlls/kernel32/nls/kkz.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_KAZAK, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "KAZ "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "kk"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Дс"
LOCALE_SSHORTESTDAYNAME2 "Сс"
diff --git a/dlls/kernel32/nls/knk.nls b/dlls/kernel32/nls/knk.nls
index 06e2af76e8..ac09939eaf 100644
--- a/dlls/kernel32/nls/knk.nls
+++ b/dlls/kernel32/nls/knk.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_KONKANI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "KOK "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Deva;"
+ LOCALE_SPARENT "kok"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "स"
LOCALE_SSHORTESTDAYNAME2 "म"
diff --git a/dlls/kernel32/nls/kor.nls b/dlls/kernel32/nls/kor.nls
index 36fa3bf887..aceeb83a9c 100644
--- a/dlls/kernel32/nls/kor.nls
+++ b/dlls/kernel32/nls/kor.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_KOREAN, SUBLANG_KOREAN
LOCALE_SOPENTYPELANGUAGETAG "KOR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hang;Hani;"
+ LOCALE_SPARENT "ko"
LOCALE_SSHORTDATE "yyyy-MM-dd"
LOCALE_SSHORTESTDAYNAME1 "월"
LOCALE_SSHORTESTDAYNAME2 "화"
diff --git a/dlls/kernel32/nls/kyr.nls b/dlls/kernel32/nls/kyr.nls
index 26322b0d85..a4939e0a56 100644
--- a/dlls/kernel32/nls/kyr.nls
+++ b/dlls/kernel32/nls/kyr.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_KYRGYZ, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "KIR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "ky"
LOCALE_SSHORTDATE "dd.MM.yy"
LOCALE_SSHORTESTDAYNAME1 "Дш"
LOCALE_SSHORTESTDAYNAME2 "Шш"
diff --git a/dlls/kernel32/nls/lth.nls b/dlls/kernel32/nls/lth.nls
index e3d551441f..21332f7df1 100644
--- a/dlls/kernel32/nls/lth.nls
+++ b/dlls/kernel32/nls/lth.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_LITHUANIAN, SUBLANG_LITHUANIAN
LOCALE_SOPENTYPELANGUAGETAG "LTH "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "lt"
LOCALE_SSHORTDATE "yyyy.MM.dd"
LOCALE_SSHORTESTDAYNAME1 "P"
LOCALE_SSHORTESTDAYNAME2 "A"
diff --git a/dlls/kernel32/nls/lvi.nls b/dlls/kernel32/nls/lvi.nls
index 649f9d9a11..226e0fd7f3 100644
--- a/dlls/kernel32/nls/lvi.nls
+++ b/dlls/kernel32/nls/lvi.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_LATVIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "LVI "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "lv"
LOCALE_SSHORTDATE "yyyy.MM.dd."
LOCALE_SSHORTESTDAYNAME1 "pr"
LOCALE_SSHORTESTDAYNAME2 "ot"
diff --git a/dlls/kernel32/nls/mar.nls b/dlls/kernel32/nls/mar.nls
index e56da36f18..49e847c600 100644
--- a/dlls/kernel32/nls/mar.nls
+++ b/dlls/kernel32/nls/mar.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_MARATHI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "MAR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Mlym;"
+ LOCALE_SPARENT "mr"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "सो"
LOCALE_SSHORTESTDAYNAME2 "मं"
diff --git a/dlls/kernel32/nls/mki.nls b/dlls/kernel32/nls/mki.nls
index 3c7f3d3a7c..979430a78b 100644
--- a/dlls/kernel32/nls/mki.nls
+++ b/dlls/kernel32/nls/mki.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_MACEDONIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "MKD "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "mk"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "по"
LOCALE_SSHORTESTDAYNAME2 "вт"
diff --git a/dlls/kernel32/nls/mon.nls b/dlls/kernel32/nls/mon.nls
index fa983d8d02..b67e4b8243 100644
--- a/dlls/kernel32/nls/mon.nls
+++ b/dlls/kernel32/nls/mon.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_MONGOLIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "MNG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "mn-Cyrl"
LOCALE_SSHORTDATE "yy.MM.dd"
LOCALE_SSHORTESTDAYNAME1 "Да"
LOCALE_SSHORTESTDAYNAME2 "Мя"
diff --git a/dlls/kernel32/nls/msb.nls b/dlls/kernel32/nls/msb.nls
index abb3665af5..f665bb7531 100644
--- a/dlls/kernel32/nls/msb.nls
+++ b/dlls/kernel32/nls/msb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_MALAY,
SUBLANG_MALAY_BRUNEI_DARUSSALAM
LOCALE_SOPENTYPELANGUAGETAG "MLY "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "ms"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "I"
LOCALE_SSHORTESTDAYNAME2 "S"
diff --git a/dlls/kernel32/nls/msl.nls b/dlls/kernel32/nls/msl.nls
index 136618ac2f..53054c2131 100644
--- a/dlls/kernel32/nls/msl.nls
+++ b/dlls/kernel32/nls/msl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_MALAY, SUBLANG_MALAY_MALAYSIA
LOCALE_SOPENTYPELANGUAGETAG "MLY "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "ms"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "I"
LOCALE_SSHORTESTDAYNAME2 "S"
diff --git a/dlls/kernel32/nls/nep.nls b/dlls/kernel32/nls/nep.nls
index 4273c0caad..0f6d0ee176 100644
--- a/dlls/kernel32/nls/nep.nls
+++ b/dlls/kernel32/nls/nep.nls
@@ -128,6 +128,7 @@ STRINGTABLE LANGUAGE LANG_NEPALI, SUBLANG_NEPALI_NEPAL
LOCALE_SOPENTYPELANGUAGETAG "NEP "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Deva;"
+ LOCALE_SPARENT "ne"
LOCALE_SSHORTDATE "M/d/yyyy"
LOCALE_SSHORTESTDAYNAME1 "सो"
LOCALE_SSHORTESTDAYNAME2 "म"
diff --git a/dlls/kernel32/nls/nlb.nls b/dlls/kernel32/nls/nlb.nls
index cb227c1d45..9b66b32a76 100644
--- a/dlls/kernel32/nls/nlb.nls
+++ b/dlls/kernel32/nls/nlb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH_BELGIAN
LOCALE_SOPENTYPELANGUAGETAG "NLD "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "nl"
LOCALE_SSHORTDATE "d/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "di"
diff --git a/dlls/kernel32/nls/nld.nls b/dlls/kernel32/nls/nld.nls
index 693ebf3aea..8f28f59960 100644
--- a/dlls/kernel32/nls/nld.nls
+++ b/dlls/kernel32/nls/nld.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
LOCALE_SOPENTYPELANGUAGETAG "NLD "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "nl"
LOCALE_SSHORTDATE "d-M-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "di"
diff --git a/dlls/kernel32/nls/nls.nls b/dlls/kernel32/nls/nls.nls
index db76cdce76..47c1260d1e 100644
--- a/dlls/kernel32/nls/nls.nls
+++ b/dlls/kernel32/nls/nls.nls
@@ -140,6 +140,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH_SURINAM
LOCALE_SOPENTYPELANGUAGETAG "NLD "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "nl"
LOCALE_SSHORTDATE "d-M-yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "di"
diff --git a/dlls/kernel32/nls/non.nls b/dlls/kernel32/nls/non.nls
index 800ada68a1..e328404168 100644
--- a/dlls/kernel32/nls/non.nls
+++ b/dlls/kernel32/nls/non.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_NORWEGIAN,
SUBLANG_NORWEGIAN_NYNORSK
LOCALE_SOPENTYPELANGUAGETAG "NYN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "nn"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "må"
LOCALE_SSHORTESTDAYNAME2 "ty"
diff --git a/dlls/kernel32/nls/nor.nls b/dlls/kernel32/nls/nor.nls
index 7d271aab39..f887978aab 100644
--- a/dlls/kernel32/nls/nor.nls
+++ b/dlls/kernel32/nls/nor.nls
@@ -135,6 +135,7 @@ STRINGTABLE LANGUAGE LANG_NORWEGIAN,
SUBLANG_NORWEGIAN_BOKMAL
LOCALE_SOPENTYPELANGUAGETAG "NOR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "nb"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "ma"
LOCALE_SSHORTESTDAYNAME2 "ti"
diff --git a/dlls/kernel32/nls/pan.nls b/dlls/kernel32/nls/pan.nls
index a967147046..b562e5e600 100644
--- a/dlls/kernel32/nls/pan.nls
+++ b/dlls/kernel32/nls/pan.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_PUNJABI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "PAN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Guru;"
+ LOCALE_SPARENT "pa"
LOCALE_SSHORTDATE "dd-MM-yy"
LOCALE_SSHORTESTDAYNAME1 "ਸ"
LOCALE_SSHORTESTDAYNAME2 "ਮ"
diff --git a/dlls/kernel32/nls/plk.nls b/dlls/kernel32/nls/plk.nls
index ecae165e24..8f0808ce2c 100644
--- a/dlls/kernel32/nls/plk.nls
+++ b/dlls/kernel32/nls/plk.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "PLK "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "pl"
LOCALE_SSHORTDATE "yyyy-MM-dd"
LOCALE_SSHORTESTDAYNAME1 "Pn"
LOCALE_SSHORTESTDAYNAME2 "Wt"
diff --git a/dlls/kernel32/nls/ptb.nls b/dlls/kernel32/nls/ptb.nls
index 7aef9d9f39..eb6fc513cb 100644
--- a/dlls/kernel32/nls/ptb.nls
+++ b/dlls/kernel32/nls/ptb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE,
SUBLANG_PORTUGUESE_BRAZILIAN
LOCALE_SOPENTYPELANGUAGETAG "PTG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "pt"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "S"
LOCALE_SSHORTESTDAYNAME2 "T"
diff --git a/dlls/kernel32/nls/ptg.nls b/dlls/kernel32/nls/ptg.nls
index ac6b6196a7..ec71704f94 100644
--- a/dlls/kernel32/nls/ptg.nls
+++ b/dlls/kernel32/nls/ptg.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
LOCALE_SOPENTYPELANGUAGETAG "PTG "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "pt"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "S"
LOCALE_SSHORTESTDAYNAME2 "T"
diff --git a/dlls/kernel32/nls/rmc.nls b/dlls/kernel32/nls/rmc.nls
index f6d812d8e0..0277b5f5fe 100644
--- a/dlls/kernel32/nls/rmc.nls
+++ b/dlls/kernel32/nls/rmc.nls
@@ -145,6 +145,7 @@ STRINGTABLE LANGUAGE LANG_ROMANSH,
SUBLANG_ROMANSH_SWITZERLAND
LOCALE_SOPENTYPELANGUAGETAG "RMS "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "rm"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "gli"
LOCALE_SSHORTESTDAYNAME2 "ma"
diff --git a/dlls/kernel32/nls/rom.nls b/dlls/kernel32/nls/rom.nls
index f4e4184355..8cc965c567 100644
--- a/dlls/kernel32/nls/rom.nls
+++ b/dlls/kernel32/nls/rom.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "ROM "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "ro"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "L"
LOCALE_SSHORTESTDAYNAME2 "Ma"
diff --git a/dlls/kernel32/nls/rus.nls b/dlls/kernel32/nls/rus.nls
index c7ad110f7b..fcb55bb80a 100644
--- a/dlls/kernel32/nls/rus.nls
+++ b/dlls/kernel32/nls/rus.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "RUS "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "ru"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Пн"
LOCALE_SSHORTESTDAYNAME2 "Вт"
diff --git a/dlls/kernel32/nls/san.nls b/dlls/kernel32/nls/san.nls
index bf3a3c0bc0..992d80cc18 100644
--- a/dlls/kernel32/nls/san.nls
+++ b/dlls/kernel32/nls/san.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SANSKRIT, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SAN "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Deva;"
+ LOCALE_SPARENT "sa"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "सो"
LOCALE_SSHORTESTDAYNAME2 "म"
diff --git a/dlls/kernel32/nls/sky.nls b/dlls/kernel32/nls/sky.nls
index 4e277fe1d4..ec04973f9c 100644
--- a/dlls/kernel32/nls/sky.nls
+++ b/dlls/kernel32/nls/sky.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SKY "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sk"
LOCALE_SSHORTDATE "d. M. yyyy"
LOCALE_SSHORTESTDAYNAME1 "po"
LOCALE_SSHORTESTDAYNAME2 "ut"
diff --git a/dlls/kernel32/nls/slv.nls b/dlls/kernel32/nls/slv.nls
index aae89b1c7a..3d0790c0e7 100644
--- a/dlls/kernel32/nls/slv.nls
+++ b/dlls/kernel32/nls/slv.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SLV "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sl"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "po"
LOCALE_SSHORTESTDAYNAME2 "to"
diff --git a/dlls/kernel32/nls/sqi.nls b/dlls/kernel32/nls/sqi.nls
index 7d97bcd446..7fda7bd589 100644
--- a/dlls/kernel32/nls/sqi.nls
+++ b/dlls/kernel32/nls/sqi.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_ALBANIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SQI "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sq"
LOCALE_SSHORTDATE "yyyy-MM-dd"
LOCALE_SSHORTESTDAYNAME1 "H"
LOCALE_SSHORTESTDAYNAME2 "M"
diff --git a/dlls/kernel32/nls/srb.nls b/dlls/kernel32/nls/srb.nls
index 73e727c4bf..4a3e006cc6 100644
--- a/dlls/kernel32/nls/srb.nls
+++ b/dlls/kernel32/nls/srb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN,
SUBLANG_SERBIAN_CYRILLIC
LOCALE_SOPENTYPELANGUAGETAG "SRB "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "sr-Cyrl"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "по"
LOCALE_SSHORTESTDAYNAME2 "ут"
diff --git a/dlls/kernel32/nls/srl.nls b/dlls/kernel32/nls/srl.nls
index b2da12f119..2566b17b48 100644
--- a/dlls/kernel32/nls/srl.nls
+++ b/dlls/kernel32/nls/srl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
LOCALE_SOPENTYPELANGUAGETAG "SRB "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sr-Latn"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "po"
LOCALE_SSHORTESTDAYNAME2 "ut"
diff --git a/dlls/kernel32/nls/sve.nls b/dlls/kernel32/nls/sve.nls
index e4beabcdf4..52db021b19 100644
--- a/dlls/kernel32/nls/sve.nls
+++ b/dlls/kernel32/nls/sve.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SWEDISH, SUBLANG_SWEDISH
LOCALE_SOPENTYPELANGUAGETAG "SVE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sv"
LOCALE_SSHORTDATE "yyyy-MM-dd"
LOCALE_SSHORTESTDAYNAME1 "må"
LOCALE_SSHORTESTDAYNAME2 "ti"
diff --git a/dlls/kernel32/nls/svf.nls b/dlls/kernel32/nls/svf.nls
index b5de8f8543..e92fc6ab17 100644
--- a/dlls/kernel32/nls/svf.nls
+++ b/dlls/kernel32/nls/svf.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SWEDISH,
SUBLANG_SWEDISH_FINLAND
LOCALE_SOPENTYPELANGUAGETAG "SVE "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sv"
LOCALE_SSHORTDATE "d.M.yyyy"
LOCALE_SSHORTESTDAYNAME1 "må"
LOCALE_SSHORTESTDAYNAME2 "ti"
diff --git a/dlls/kernel32/nls/swk.nls b/dlls/kernel32/nls/swk.nls
index 3923a05de9..b5c32e4b18 100644
--- a/dlls/kernel32/nls/swk.nls
+++ b/dlls/kernel32/nls/swk.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SWAHILI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SWK "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "sw"
LOCALE_SSHORTDATE "M/d/yyyy"
LOCALE_SSHORTESTDAYNAME1 "T"
LOCALE_SSHORTESTDAYNAME2 "N"
diff --git a/dlls/kernel32/nls/syr.nls b/dlls/kernel32/nls/syr.nls
index 3c229d7788..4f84b8dc5e 100644
--- a/dlls/kernel32/nls/syr.nls
+++ b/dlls/kernel32/nls/syr.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_SYRIAC, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "SYR "
LOCALE_SPOSITIVESIGN "+"
LOCALE_SSCRIPTS "Syrc;"
+ LOCALE_SPARENT "syr"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "ܒ"
LOCALE_SSHORTESTDAYNAME2 "ܓ"
diff --git a/dlls/kernel32/nls/tam.nls b/dlls/kernel32/nls/tam.nls
index 99030386f1..c860016cd0 100644
--- a/dlls/kernel32/nls/tam.nls
+++ b/dlls/kernel32/nls/tam.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_TAMIL, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "TAM "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Taml;"
+ LOCALE_SPARENT "ta"
LOCALE_SSHORTDATE "dd-MM-yyyy"
LOCALE_SSHORTESTDAYNAME1 "தி"
LOCALE_SSHORTESTDAYNAME2 "செ"
diff --git a/dlls/kernel32/nls/tel.nls b/dlls/kernel32/nls/tel.nls
index e75f31fa69..6c96d3e018 100644
--- a/dlls/kernel32/nls/tel.nls
+++ b/dlls/kernel32/nls/tel.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_TELUGU, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "TEL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Telu;"
+ LOCALE_SPARENT "te"
LOCALE_SSHORTDATE "dd-MM-yy"
LOCALE_SSHORTESTDAYNAME1 "సో"
LOCALE_SSHORTESTDAYNAME2 "మం"
diff --git a/dlls/kernel32/nls/tha.nls b/dlls/kernel32/nls/tha.nls
index ee4caf147e..9ffce8c329 100644
--- a/dlls/kernel32/nls/tha.nls
+++ b/dlls/kernel32/nls/tha.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_THAI, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "THA "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Thai;"
+ LOCALE_SPARENT "th"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "จ"
LOCALE_SSHORTESTDAYNAME2 "อ"
diff --git a/dlls/kernel32/nls/trk.nls b/dlls/kernel32/nls/trk.nls
index 8a5b798876..57184e5f25 100644
--- a/dlls/kernel32/nls/trk.nls
+++ b/dlls/kernel32/nls/trk.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "TRK "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "tr"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Pt"
LOCALE_SSHORTESTDAYNAME2 "Sa"
diff --git a/dlls/kernel32/nls/ttt.nls b/dlls/kernel32/nls/ttt.nls
index 4890b3c27d..43b6fe54fd 100644
--- a/dlls/kernel32/nls/ttt.nls
+++ b/dlls/kernel32/nls/ttt.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_TATAR, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "TAT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;" /* FIXME? */
+ LOCALE_SPARENT "tt"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "д"
LOCALE_SSHORTESTDAYNAME2 "с"
diff --git a/dlls/kernel32/nls/ukr.nls b/dlls/kernel32/nls/ukr.nls
index 4c6acc9f9c..b5e608015f 100644
--- a/dlls/kernel32/nls/ukr.nls
+++ b/dlls/kernel32/nls/ukr.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "UKR "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "uk"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "Пн"
LOCALE_SSHORTESTDAYNAME2 "Вт"
diff --git a/dlls/kernel32/nls/urd.nls b/dlls/kernel32/nls/urd.nls
index 9deb77e210..08e8a8deae 100644
--- a/dlls/kernel32/nls/urd.nls
+++ b/dlls/kernel32/nls/urd.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_URDU, SUBLANG_URDU_PAKISTAN
LOCALE_SOPENTYPELANGUAGETAG "URD "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Arab;"
+ LOCALE_SPARENT "ur"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "پ"
LOCALE_SSHORTESTDAYNAME2 "م"
diff --git a/dlls/kernel32/nls/uzb.nls b/dlls/kernel32/nls/uzb.nls
index c57b826f80..2d4cf3f30c 100644
--- a/dlls/kernel32/nls/uzb.nls
+++ b/dlls/kernel32/nls/uzb.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_UZBEK, SUBLANG_UZBEK_CYRILLIC
LOCALE_SOPENTYPELANGUAGETAG "UZB "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Cyrl;"
+ LOCALE_SPARENT "uz-Cyrl"
LOCALE_SSHORTDATE "dd.MM.yyyy"
LOCALE_SSHORTESTDAYNAME1 "д"
LOCALE_SSHORTESTDAYNAME2 "с"
diff --git a/dlls/kernel32/nls/uzl.nls b/dlls/kernel32/nls/uzl.nls
index 52294afde3..1989bd7cb7 100644
--- a/dlls/kernel32/nls/uzl.nls
+++ b/dlls/kernel32/nls/uzl.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_UZBEK, SUBLANG_UZBEK_LATIN
LOCALE_SOPENTYPELANGUAGETAG "UZB "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "uz-Latn"
LOCALE_SSHORTDATE "dd/MM yyyy"
LOCALE_SSHORTESTDAYNAME1 "D"
LOCALE_SSHORTESTDAYNAME2 "S"
diff --git a/dlls/kernel32/nls/vit.nls b/dlls/kernel32/nls/vit.nls
index 42a00d6979..a2574b6b03 100644
--- a/dlls/kernel32/nls/vit.nls
+++ b/dlls/kernel32/nls/vit.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_VIETNAMESE, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "VIT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "vi"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "H"
LOCALE_SSHORTESTDAYNAME2 "B"
diff --git a/dlls/kernel32/nls/wal.nls b/dlls/kernel32/nls/wal.nls
index 4644beef8e..e39c5bf4a6 100644
--- a/dlls/kernel32/nls/wal.nls
+++ b/dlls/kernel32/nls/wal.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_WALON, SUBLANG_DEFAULT
LOCALE_SOPENTYPELANGUAGETAG "BEL "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Latn;"
+ LOCALE_SPARENT "wa"
LOCALE_SSHORTDATE "dd/MM/yyyy"
LOCALE_SSHORTESTDAYNAME1 "lon"
LOCALE_SSHORTESTDAYNAME2 "mår"
diff --git a/dlls/kernel32/nls/zhh.nls b/dlls/kernel32/nls/zhh.nls
index f0ea14ea6a..2d49998ef5 100644
--- a/dlls/kernel32/nls/zhh.nls
+++ b/dlls/kernel32/nls/zhh.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG
LOCALE_SOPENTYPELANGUAGETAG "ZHH "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hant;"
+ LOCALE_SPARENT "zh-Hant"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "一"
LOCALE_SSHORTESTDAYNAME2 "二"
diff --git a/dlls/kernel32/nls/zhi.nls b/dlls/kernel32/nls/zhi.nls
index 8e888cd6f8..d8013dcc1c 100644
--- a/dlls/kernel32/nls/zhi.nls
+++ b/dlls/kernel32/nls/zhi.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE,
SUBLANG_CHINESE_SINGAPORE
LOCALE_SOPENTYPELANGUAGETAG "ZHS "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hans;"
+ LOCALE_SPARENT "zh-Hans"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "一"
LOCALE_SSHORTESTDAYNAME2 "二"
diff --git a/dlls/kernel32/nls/zhm.nls b/dlls/kernel32/nls/zhm.nls
index 5fc1fa16f6..956008dabb 100644
--- a/dlls/kernel32/nls/zhm.nls
+++ b/dlls/kernel32/nls/zhm.nls
@@ -134,6 +134,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_MACAU
LOCALE_SOPENTYPELANGUAGETAG "ZHT "
LOCALE_SPOSITIVESIGN ""
LOCALE_SSCRIPTS "Hant;"
+ LOCALE_SPARENT "zh-Hant"
LOCALE_SSHORTDATE "d/M/yyyy"
LOCALE_SSHORTESTDAYNAME1 "一"
LOCALE_SSHORTESTDAYNAME2 "二"
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 11a57889bf..013f6833d2 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -2781,36 +2781,36 @@ static void test_LocaleNameToLCID(void)
/* zh-Hant has LCID 0x7c04, but LocaleNameToLCID actually
returns 0x0c04, which is the LCID of zh-HK */
lcid = pLocaleNameToLCID(zhHantW, 0);
- todo_wine ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG), SORT_DEFAULT),
+ ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG), SORT_DEFAULT),
"%s: got wrong lcid 0x%04x\n", wine_dbgstr_w(zhHantW), lcid);
ret = pLCIDToLocaleName(lcid, buffer,
sizeof(buffer)/sizeof(WCHAR), 0);
ok(ret > 0, "%s: got %d\n", wine_dbgstr_w(zhHantW), ret);
- todo_wine ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale
name %s\n",
+ ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale name %s\n",
wine_dbgstr_w(zhHantW), wine_dbgstr_w(buffer));
/* check that 0x7c04 also works and is mapped to zh-HK */
ret = pLCIDToLocaleName(MAKELANGID(LANG_CHINESE_TRADITIONAL,
SUBLANG_CHINESE_TRADITIONAL), buffer, sizeof(buffer)/sizeof(WCHAR), 0);
todo_wine ok(ret > 0, "%s: got %d\n", wine_dbgstr_w(zhHantW),
ret);
- todo_wine ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale
name %s\n",
+ ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale name %s\n",
wine_dbgstr_w(zhHantW), wine_dbgstr_w(buffer));
/* zh-hant */
lcid = pLocaleNameToLCID(zhhantW, 0);
- todo_wine ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG), SORT_DEFAULT),
+ ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG), SORT_DEFAULT),
"%s: got wrong lcid 0x%04x\n", wine_dbgstr_w(zhhantW),
MAKELCID(MAKELANGID(LANG_CHINESE,
SUBLANG_CHINESE_HONGKONG), SORT_DEFAULT));
ret = pLCIDToLocaleName(lcid, buffer,
sizeof(buffer)/sizeof(WCHAR), 0);
ok(ret > 0, "%s: got %d\n", wine_dbgstr_w(zhhantW), ret);
- todo_wine ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale
name %s\n",
+ ok(!lstrcmpW(zhhkW, buffer), "%s: got wrong locale name %s\n",
wine_dbgstr_w(zhhantW), wine_dbgstr_w(buffer));
/* zh-Hans has LCID 0x0004, but LocaleNameToLCID actually
returns 0x0804, which is the LCID of zh-CN */
lcid = pLocaleNameToLCID(zhHansW, 0);
/* check that LocaleNameToLCID actually returns 0x0804 */
- todo_wine ok(lcid ==
MAKELCID(MAKELANGID(LANG_CHINESE_SIMPLIFIED,
SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT),
+ ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE_SIMPLIFIED,
SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT),
"%s: got wrong lcid 0x%04x\n", wine_dbgstr_w(zhHansW), lcid);
ret = pLCIDToLocaleName(lcid, buffer,
sizeof(buffer)/sizeof(WCHAR), 0);
ok(ret > 0, "%s: got %d\n", wine_dbgstr_w(zhHansW), ret);
- todo_wine ok(!lstrcmpW(zhcnW, buffer), "%s: got wrong locale
name %s\n",
+ ok(!lstrcmpW(zhcnW, buffer), "%s: got wrong locale name %s\n",
wine_dbgstr_w(zhHansW), wine_dbgstr_w(buffer));
/* check that 0x0004 also works and is mapped to zh-CN */
ret = pLCIDToLocaleName(MAKELANGID(LANG_CHINESE,
SUBLANG_NEUTRAL), buffer, sizeof(buffer)/sizeof(WCHAR), 0);
@@ -2820,12 +2820,12 @@ static void test_LocaleNameToLCID(void)
/* zh-hans */
lcid = pLocaleNameToLCID(zhhansW, 0);
- todo_wine ok(lcid ==
MAKELCID(MAKELANGID(LANG_CHINESE_SIMPLIFIED,
SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT),
+ ok(lcid == MAKELCID(MAKELANGID(LANG_CHINESE_SIMPLIFIED,
SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT),
"%s: got wrong lcid 0x%04x\n", wine_dbgstr_w(zhhansW),
MAKELCID(MAKELANGID(LANG_CHINESE_SIMPLIFIED,
SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT));
ret = pLCIDToLocaleName(lcid, buffer,
sizeof(buffer)/sizeof(WCHAR), 0);
ok(ret > 0, "%s: got %d\n", wine_dbgstr_w(zhhansW), ret);
- todo_wine ok(!lstrcmpW(zhcnW, buffer), "%s: got wrong locale
name %s\n",
+ ok(!lstrcmpW(zhcnW, buffer), "%s: got wrong locale name %s\n",
wine_dbgstr_w(zhhansW), wine_dbgstr_w(buffer));
}
}
--
2.11.0
More information about the wine-patches
mailing list