diff --git a/dll/win32/kernel32/winnls/locale_rc.rc b/dll/win32/kernel32/winnls/locale_rc.rc index 86ababd0900..869ebd5164b 100644 --- a/dll/win32/kernel32/winnls/locale_rc.rc +++ b/dll/win32/kernel32/winnls/locale_rc.rc @@ -23,6 +23,10 @@ #include "winnls.h" #define LGRPID_RES_BASE 0x2000 +#define LGRPID_LANG_BASE 0xA000 + +#undef MAKELANGID +#define MAKELANGID(p, s) (((s) * 0x400) + (p)) /* add languages in numerical order of main language (last two digits) * it is much easier to find the missing holes that way */ diff --git a/dll/win32/kernel32/winnls/nls/afk.nls b/dll/win32/kernel32/winnls/nls/afk.nls index aa33aa06d53..6ef4cfa89b4 100644 Binary files a/dll/win32/kernel32/winnls/nls/afk.nls and b/dll/win32/kernel32/winnls/nls/afk.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ara.nls b/dll/win32/kernel32/winnls/nls/ara.nls index ff63164d472..959253338a3 100644 Binary files a/dll/win32/kernel32/winnls/nls/ara.nls and b/dll/win32/kernel32/winnls/nls/ara.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arb.nls b/dll/win32/kernel32/winnls/nls/arb.nls index fb854ac44cd..7a973c0419e 100644 Binary files a/dll/win32/kernel32/winnls/nls/arb.nls and b/dll/win32/kernel32/winnls/nls/arb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/are.nls b/dll/win32/kernel32/winnls/nls/are.nls index b044d3299b4..609a00303a8 100644 Binary files a/dll/win32/kernel32/winnls/nls/are.nls and b/dll/win32/kernel32/winnls/nls/are.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arg.nls b/dll/win32/kernel32/winnls/nls/arg.nls index 6c10551f012..c25df084c1e 100644 Binary files a/dll/win32/kernel32/winnls/nls/arg.nls and b/dll/win32/kernel32/winnls/nls/arg.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arh.nls b/dll/win32/kernel32/winnls/nls/arh.nls index ce2fe000d43..4d90528b261 100644 Binary files a/dll/win32/kernel32/winnls/nls/arh.nls and b/dll/win32/kernel32/winnls/nls/arh.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ari.nls b/dll/win32/kernel32/winnls/nls/ari.nls index 466fa2540b4..ccec4b486a0 100644 Binary files a/dll/win32/kernel32/winnls/nls/ari.nls and b/dll/win32/kernel32/winnls/nls/ari.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arj.nls b/dll/win32/kernel32/winnls/nls/arj.nls index fc4f15c509f..3889885a719 100644 Binary files a/dll/win32/kernel32/winnls/nls/arj.nls and b/dll/win32/kernel32/winnls/nls/arj.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ark.nls b/dll/win32/kernel32/winnls/nls/ark.nls index 9086b622262..6ff6abb03a9 100644 Binary files a/dll/win32/kernel32/winnls/nls/ark.nls and b/dll/win32/kernel32/winnls/nls/ark.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arl.nls b/dll/win32/kernel32/winnls/nls/arl.nls index 22bde6893fa..03f14fc02ce 100644 Binary files a/dll/win32/kernel32/winnls/nls/arl.nls and b/dll/win32/kernel32/winnls/nls/arl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arm.nls b/dll/win32/kernel32/winnls/nls/arm.nls index 8ac926550a2..f847ca98955 100644 Binary files a/dll/win32/kernel32/winnls/nls/arm.nls and b/dll/win32/kernel32/winnls/nls/arm.nls differ diff --git a/dll/win32/kernel32/winnls/nls/aro.nls b/dll/win32/kernel32/winnls/nls/aro.nls index 953b761de72..ba416be5d14 100644 Binary files a/dll/win32/kernel32/winnls/nls/aro.nls and b/dll/win32/kernel32/winnls/nls/aro.nls differ diff --git a/dll/win32/kernel32/winnls/nls/arq.nls b/dll/win32/kernel32/winnls/nls/arq.nls index 25ac8b91323..7a8e122cb7e 100644 Binary files a/dll/win32/kernel32/winnls/nls/arq.nls and b/dll/win32/kernel32/winnls/nls/arq.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ars.nls b/dll/win32/kernel32/winnls/nls/ars.nls index 803ca071182..e28c1c97197 100644 Binary files a/dll/win32/kernel32/winnls/nls/ars.nls and b/dll/win32/kernel32/winnls/nls/ars.nls differ diff --git a/dll/win32/kernel32/winnls/nls/art.nls b/dll/win32/kernel32/winnls/nls/art.nls index 55e34ac77f1..04844a0852c 100644 Binary files a/dll/win32/kernel32/winnls/nls/art.nls and b/dll/win32/kernel32/winnls/nls/art.nls differ diff --git a/dll/win32/kernel32/winnls/nls/aru.nls b/dll/win32/kernel32/winnls/nls/aru.nls index d519b38bdd5..6a94e4b8418 100644 Binary files a/dll/win32/kernel32/winnls/nls/aru.nls and b/dll/win32/kernel32/winnls/nls/aru.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ary.nls b/dll/win32/kernel32/winnls/nls/ary.nls index 0cb1bb88b64..de52431099c 100644 Binary files a/dll/win32/kernel32/winnls/nls/ary.nls and b/dll/win32/kernel32/winnls/nls/ary.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ast.nls b/dll/win32/kernel32/winnls/nls/ast.nls index 4a6a77aa721..2562c32fa6b 100644 Binary files a/dll/win32/kernel32/winnls/nls/ast.nls and b/dll/win32/kernel32/winnls/nls/ast.nls differ diff --git a/dll/win32/kernel32/winnls/nls/aze.nls b/dll/win32/kernel32/winnls/nls/aze.nls index e2860d088f0..017128f8596 100644 Binary files a/dll/win32/kernel32/winnls/nls/aze.nls and b/dll/win32/kernel32/winnls/nls/aze.nls differ diff --git a/dll/win32/kernel32/winnls/nls/azl.nls b/dll/win32/kernel32/winnls/nls/azl.nls index 86d49a6b5fc..c27ae0dd6a4 100644 Binary files a/dll/win32/kernel32/winnls/nls/azl.nls and b/dll/win32/kernel32/winnls/nls/azl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/bel.nls b/dll/win32/kernel32/winnls/nls/bel.nls index e6cc7a58df8..741a9c3fa69 100644 Binary files a/dll/win32/kernel32/winnls/nls/bel.nls and b/dll/win32/kernel32/winnls/nls/bel.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ben.nls b/dll/win32/kernel32/winnls/nls/ben.nls index bead15abaf4..77a532bec0d 100644 Binary files a/dll/win32/kernel32/winnls/nls/ben.nls and b/dll/win32/kernel32/winnls/nls/ben.nls differ diff --git a/dll/win32/kernel32/winnls/nls/bgr.nls b/dll/win32/kernel32/winnls/nls/bgr.nls index 5f1f0e66974..62266cae2dd 100644 Binary files a/dll/win32/kernel32/winnls/nls/bgr.nls and b/dll/win32/kernel32/winnls/nls/bgr.nls differ diff --git a/dll/win32/kernel32/winnls/nls/brf.nls b/dll/win32/kernel32/winnls/nls/brf.nls index 06862e665c6..37fe41bc54e 100644 Binary files a/dll/win32/kernel32/winnls/nls/brf.nls and b/dll/win32/kernel32/winnls/nls/brf.nls differ diff --git a/dll/win32/kernel32/winnls/nls/cat.nls b/dll/win32/kernel32/winnls/nls/cat.nls index 5f1fa43e025..1984c1b7f5b 100644 Binary files a/dll/win32/kernel32/winnls/nls/cat.nls and b/dll/win32/kernel32/winnls/nls/cat.nls differ diff --git a/dll/win32/kernel32/winnls/nls/chs.nls b/dll/win32/kernel32/winnls/nls/chs.nls index c7f6114768b..9d88dd4fd44 100644 Binary files a/dll/win32/kernel32/winnls/nls/chs.nls and b/dll/win32/kernel32/winnls/nls/chs.nls differ diff --git a/dll/win32/kernel32/winnls/nls/cht.nls b/dll/win32/kernel32/winnls/nls/cht.nls index 77d1db0d040..df162124f0b 100644 Binary files a/dll/win32/kernel32/winnls/nls/cht.nls and b/dll/win32/kernel32/winnls/nls/cht.nls differ diff --git a/dll/win32/kernel32/winnls/nls/cor.nls b/dll/win32/kernel32/winnls/nls/cor.nls index 36c7e7f234f..0b75cf32c25 100644 Binary files a/dll/win32/kernel32/winnls/nls/cor.nls and b/dll/win32/kernel32/winnls/nls/cor.nls differ diff --git a/dll/win32/kernel32/winnls/nls/csy.nls b/dll/win32/kernel32/winnls/nls/csy.nls index d03494e4cde..695a59a036d 100644 Binary files a/dll/win32/kernel32/winnls/nls/csy.nls and b/dll/win32/kernel32/winnls/nls/csy.nls differ diff --git a/dll/win32/kernel32/winnls/nls/cym.nls b/dll/win32/kernel32/winnls/nls/cym.nls index 41a25c415b8..66e7cc66e45 100644 Binary files a/dll/win32/kernel32/winnls/nls/cym.nls and b/dll/win32/kernel32/winnls/nls/cym.nls differ diff --git a/dll/win32/kernel32/winnls/nls/dan.nls b/dll/win32/kernel32/winnls/nls/dan.nls index 3e567cd3337..62da0a8c46e 100644 Binary files a/dll/win32/kernel32/winnls/nls/dan.nls and b/dll/win32/kernel32/winnls/nls/dan.nls differ diff --git a/dll/win32/kernel32/winnls/nls/dea.nls b/dll/win32/kernel32/winnls/nls/dea.nls index f97ae8ebe3e..5843f7725c0 100644 Binary files a/dll/win32/kernel32/winnls/nls/dea.nls and b/dll/win32/kernel32/winnls/nls/dea.nls differ diff --git a/dll/win32/kernel32/winnls/nls/dec.nls b/dll/win32/kernel32/winnls/nls/dec.nls index b6b492b84d4..e9dba2a788d 100644 Binary files a/dll/win32/kernel32/winnls/nls/dec.nls and b/dll/win32/kernel32/winnls/nls/dec.nls differ diff --git a/dll/win32/kernel32/winnls/nls/del.nls b/dll/win32/kernel32/winnls/nls/del.nls index 6a7258d9fe4..2048df77863 100644 Binary files a/dll/win32/kernel32/winnls/nls/del.nls and b/dll/win32/kernel32/winnls/nls/del.nls differ diff --git a/dll/win32/kernel32/winnls/nls/des.nls b/dll/win32/kernel32/winnls/nls/des.nls index bb6fed059cb..16d38b948ee 100644 Binary files a/dll/win32/kernel32/winnls/nls/des.nls and b/dll/win32/kernel32/winnls/nls/des.nls differ diff --git a/dll/win32/kernel32/winnls/nls/deu.nls b/dll/win32/kernel32/winnls/nls/deu.nls index b02639801bf..a571a6863da 100644 Binary files a/dll/win32/kernel32/winnls/nls/deu.nls and b/dll/win32/kernel32/winnls/nls/deu.nls differ diff --git a/dll/win32/kernel32/winnls/nls/div.nls b/dll/win32/kernel32/winnls/nls/div.nls index 1c7989e0068..0a2c2878d9a 100644 Binary files a/dll/win32/kernel32/winnls/nls/div.nls and b/dll/win32/kernel32/winnls/nls/div.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ell.nls b/dll/win32/kernel32/winnls/nls/ell.nls index d86fe9e473d..408d41f02bf 100644 Binary files a/dll/win32/kernel32/winnls/nls/ell.nls and b/dll/win32/kernel32/winnls/nls/ell.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ena.nls b/dll/win32/kernel32/winnls/nls/ena.nls index f34a20b96d2..8de230f8653 100644 Binary files a/dll/win32/kernel32/winnls/nls/ena.nls and b/dll/win32/kernel32/winnls/nls/ena.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enb.nls b/dll/win32/kernel32/winnls/nls/enb.nls index 8b09c536c23..a5f36b4c8f7 100644 Binary files a/dll/win32/kernel32/winnls/nls/enb.nls and b/dll/win32/kernel32/winnls/nls/enb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enc.nls b/dll/win32/kernel32/winnls/nls/enc.nls index 0f3a394263d..7ce2f6cf132 100644 Binary files a/dll/win32/kernel32/winnls/nls/enc.nls and b/dll/win32/kernel32/winnls/nls/enc.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eng.nls b/dll/win32/kernel32/winnls/nls/eng.nls index 779bd0ae6d9..85bbf4119f3 100644 Binary files a/dll/win32/kernel32/winnls/nls/eng.nls and b/dll/win32/kernel32/winnls/nls/eng.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eni.nls b/dll/win32/kernel32/winnls/nls/eni.nls index 9796b0f6cda..e7d8e4cbf52 100644 Binary files a/dll/win32/kernel32/winnls/nls/eni.nls and b/dll/win32/kernel32/winnls/nls/eni.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enj.nls b/dll/win32/kernel32/winnls/nls/enj.nls index 36134691efe..ce347753b5a 100644 Binary files a/dll/win32/kernel32/winnls/nls/enj.nls and b/dll/win32/kernel32/winnls/nls/enj.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enl.nls b/dll/win32/kernel32/winnls/nls/enl.nls index ee78870cc89..19b6cb8aa91 100644 Binary files a/dll/win32/kernel32/winnls/nls/enl.nls and b/dll/win32/kernel32/winnls/nls/enl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enp.nls b/dll/win32/kernel32/winnls/nls/enp.nls index 5af8b97efcc..dd573919c97 100644 Binary files a/dll/win32/kernel32/winnls/nls/enp.nls and b/dll/win32/kernel32/winnls/nls/enp.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ens.nls b/dll/win32/kernel32/winnls/nls/ens.nls index ee2403196f2..cfd7de70641 100644 Binary files a/dll/win32/kernel32/winnls/nls/ens.nls and b/dll/win32/kernel32/winnls/nls/ens.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ent.nls b/dll/win32/kernel32/winnls/nls/ent.nls index 48bfb26b15c..4e7eb86e70f 100644 Binary files a/dll/win32/kernel32/winnls/nls/ent.nls and b/dll/win32/kernel32/winnls/nls/ent.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enu.nls b/dll/win32/kernel32/winnls/nls/enu.nls index 527d6430f0b..45078e850a7 100644 Binary files a/dll/win32/kernel32/winnls/nls/enu.nls and b/dll/win32/kernel32/winnls/nls/enu.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enw.nls b/dll/win32/kernel32/winnls/nls/enw.nls index 1ba782fc32e..f23c96ff507 100644 Binary files a/dll/win32/kernel32/winnls/nls/enw.nls and b/dll/win32/kernel32/winnls/nls/enw.nls differ diff --git a/dll/win32/kernel32/winnls/nls/enz.nls b/dll/win32/kernel32/winnls/nls/enz.nls index e4571a765b5..6866b684dd8 100644 Binary files a/dll/win32/kernel32/winnls/nls/enz.nls and b/dll/win32/kernel32/winnls/nls/enz.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eoa.nls b/dll/win32/kernel32/winnls/nls/eoa.nls index 26692c53eee..f746e8d7c9f 100644 Binary files a/dll/win32/kernel32/winnls/nls/eoa.nls and b/dll/win32/kernel32/winnls/nls/eoa.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eox.nls b/dll/win32/kernel32/winnls/nls/eox.nls index bbd617eac48..220f6e8e9e4 100644 Binary files a/dll/win32/kernel32/winnls/nls/eox.nls and b/dll/win32/kernel32/winnls/nls/eox.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esa.nls b/dll/win32/kernel32/winnls/nls/esa.nls index a311d796eb7..8f895773a25 100644 Binary files a/dll/win32/kernel32/winnls/nls/esa.nls and b/dll/win32/kernel32/winnls/nls/esa.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esb.nls b/dll/win32/kernel32/winnls/nls/esb.nls index ce95402300d..17e350cb31f 100644 Binary files a/dll/win32/kernel32/winnls/nls/esb.nls and b/dll/win32/kernel32/winnls/nls/esb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esc.nls b/dll/win32/kernel32/winnls/nls/esc.nls index 60ed24e7067..21d21d2f118 100644 Binary files a/dll/win32/kernel32/winnls/nls/esc.nls and b/dll/win32/kernel32/winnls/nls/esc.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esd.nls b/dll/win32/kernel32/winnls/nls/esd.nls index 93b6bb0005b..7a31d219ac7 100644 Binary files a/dll/win32/kernel32/winnls/nls/esd.nls and b/dll/win32/kernel32/winnls/nls/esd.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ese.nls b/dll/win32/kernel32/winnls/nls/ese.nls index a68c027440b..f6d6734179c 100644 Binary files a/dll/win32/kernel32/winnls/nls/ese.nls and b/dll/win32/kernel32/winnls/nls/ese.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esf.nls b/dll/win32/kernel32/winnls/nls/esf.nls index 65f47d73a20..e9a5934f7c0 100644 Binary files a/dll/win32/kernel32/winnls/nls/esf.nls and b/dll/win32/kernel32/winnls/nls/esf.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esg.nls b/dll/win32/kernel32/winnls/nls/esg.nls index a9c9a8a8603..027e5bd9428 100644 Binary files a/dll/win32/kernel32/winnls/nls/esg.nls and b/dll/win32/kernel32/winnls/nls/esg.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esh.nls b/dll/win32/kernel32/winnls/nls/esh.nls index 5593836b44b..c22e136553c 100644 Binary files a/dll/win32/kernel32/winnls/nls/esh.nls and b/dll/win32/kernel32/winnls/nls/esh.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esi.nls b/dll/win32/kernel32/winnls/nls/esi.nls index ac4bdb79d0f..739b354c16a 100644 Binary files a/dll/win32/kernel32/winnls/nls/esi.nls and b/dll/win32/kernel32/winnls/nls/esi.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esl.nls b/dll/win32/kernel32/winnls/nls/esl.nls index 57f35643b62..000f0b57a51 100644 Binary files a/dll/win32/kernel32/winnls/nls/esl.nls and b/dll/win32/kernel32/winnls/nls/esl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esm.nls b/dll/win32/kernel32/winnls/nls/esm.nls index 8c404f1733b..792a9fc0a57 100644 Binary files a/dll/win32/kernel32/winnls/nls/esm.nls and b/dll/win32/kernel32/winnls/nls/esm.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esn.nls b/dll/win32/kernel32/winnls/nls/esn.nls index 0cb88fa3666..c5b1caec3bd 100644 Binary files a/dll/win32/kernel32/winnls/nls/esn.nls and b/dll/win32/kernel32/winnls/nls/esn.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eso.nls b/dll/win32/kernel32/winnls/nls/eso.nls index 9f7131066a5..dd8184c2f6e 100644 Binary files a/dll/win32/kernel32/winnls/nls/eso.nls and b/dll/win32/kernel32/winnls/nls/eso.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esp.nls b/dll/win32/kernel32/winnls/nls/esp.nls index a557a52b7d4..c88ba2daff0 100644 Binary files a/dll/win32/kernel32/winnls/nls/esp.nls and b/dll/win32/kernel32/winnls/nls/esp.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esr.nls b/dll/win32/kernel32/winnls/nls/esr.nls index 752120dadf1..c7c60eb5ded 100644 Binary files a/dll/win32/kernel32/winnls/nls/esr.nls and b/dll/win32/kernel32/winnls/nls/esr.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ess.nls b/dll/win32/kernel32/winnls/nls/ess.nls index 30c96a0bf78..c5f457a31c8 100644 Binary files a/dll/win32/kernel32/winnls/nls/ess.nls and b/dll/win32/kernel32/winnls/nls/ess.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esu.nls b/dll/win32/kernel32/winnls/nls/esu.nls index eb2ec3b04a5..ebdb1fc1a63 100644 Binary files a/dll/win32/kernel32/winnls/nls/esu.nls and b/dll/win32/kernel32/winnls/nls/esu.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esv.nls b/dll/win32/kernel32/winnls/nls/esv.nls index 155ebef33c3..324f04ea652 100644 Binary files a/dll/win32/kernel32/winnls/nls/esv.nls and b/dll/win32/kernel32/winnls/nls/esv.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esy.nls b/dll/win32/kernel32/winnls/nls/esy.nls index 9444f436a11..68b1a8ada65 100644 Binary files a/dll/win32/kernel32/winnls/nls/esy.nls and b/dll/win32/kernel32/winnls/nls/esy.nls differ diff --git a/dll/win32/kernel32/winnls/nls/esz.nls b/dll/win32/kernel32/winnls/nls/esz.nls index 82eb4241b2f..768217c39ea 100644 Binary files a/dll/win32/kernel32/winnls/nls/esz.nls and b/dll/win32/kernel32/winnls/nls/esz.nls differ diff --git a/dll/win32/kernel32/winnls/nls/eti.nls b/dll/win32/kernel32/winnls/nls/eti.nls index 8d7f0fe39c3..e1b2f8bb75b 100644 Binary files a/dll/win32/kernel32/winnls/nls/eti.nls and b/dll/win32/kernel32/winnls/nls/eti.nls differ diff --git a/dll/win32/kernel32/winnls/nls/euq.nls b/dll/win32/kernel32/winnls/nls/euq.nls index 38d34312eab..f0f0e68aad7 100644 Binary files a/dll/win32/kernel32/winnls/nls/euq.nls and b/dll/win32/kernel32/winnls/nls/euq.nls differ diff --git a/dll/win32/kernel32/winnls/nls/far.nls b/dll/win32/kernel32/winnls/nls/far.nls index ddc4495f77d..3c05fd9283b 100644 Binary files a/dll/win32/kernel32/winnls/nls/far.nls and b/dll/win32/kernel32/winnls/nls/far.nls differ diff --git a/dll/win32/kernel32/winnls/nls/fin.nls b/dll/win32/kernel32/winnls/nls/fin.nls index 29b7d2e8979..d2016bfc7ab 100644 Binary files a/dll/win32/kernel32/winnls/nls/fin.nls and b/dll/win32/kernel32/winnls/nls/fin.nls differ diff --git a/dll/win32/kernel32/winnls/nls/fos.nls b/dll/win32/kernel32/winnls/nls/fos.nls index 5d53bcc81f4..2c885f81f1c 100644 Binary files a/dll/win32/kernel32/winnls/nls/fos.nls and b/dll/win32/kernel32/winnls/nls/fos.nls differ diff --git a/dll/win32/kernel32/winnls/nls/fra.nls b/dll/win32/kernel32/winnls/nls/fra.nls index 9a588a932e6..86b2e785e43 100644 Binary files a/dll/win32/kernel32/winnls/nls/fra.nls and b/dll/win32/kernel32/winnls/nls/fra.nls differ diff --git a/dll/win32/kernel32/winnls/nls/frb.nls b/dll/win32/kernel32/winnls/nls/frb.nls index 7ee0b297515..ad27676110c 100644 Binary files a/dll/win32/kernel32/winnls/nls/frb.nls and b/dll/win32/kernel32/winnls/nls/frb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/frc.nls b/dll/win32/kernel32/winnls/nls/frc.nls index 79eac11d96b..437ace28b1d 100644 Binary files a/dll/win32/kernel32/winnls/nls/frc.nls and b/dll/win32/kernel32/winnls/nls/frc.nls differ diff --git a/dll/win32/kernel32/winnls/nls/frl.nls b/dll/win32/kernel32/winnls/nls/frl.nls index 29d2ad0c9cf..9ee7e082791 100644 Binary files a/dll/win32/kernel32/winnls/nls/frl.nls and b/dll/win32/kernel32/winnls/nls/frl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/frm.nls b/dll/win32/kernel32/winnls/nls/frm.nls index fa38552812c..c67be13fd6f 100644 Binary files a/dll/win32/kernel32/winnls/nls/frm.nls and b/dll/win32/kernel32/winnls/nls/frm.nls differ diff --git a/dll/win32/kernel32/winnls/nls/frs.nls b/dll/win32/kernel32/winnls/nls/frs.nls index cefb9d36db0..76e4d786e30 100644 Binary files a/dll/win32/kernel32/winnls/nls/frs.nls and b/dll/win32/kernel32/winnls/nls/frs.nls differ diff --git a/dll/win32/kernel32/winnls/nls/gae.nls b/dll/win32/kernel32/winnls/nls/gae.nls index e817403c431..7e4c0be4b3b 100644 Binary files a/dll/win32/kernel32/winnls/nls/gae.nls and b/dll/win32/kernel32/winnls/nls/gae.nls differ diff --git a/dll/win32/kernel32/winnls/nls/gdh.nls b/dll/win32/kernel32/winnls/nls/gdh.nls index 0cd5699120c..914f98a64ea 100644 Binary files a/dll/win32/kernel32/winnls/nls/gdh.nls and b/dll/win32/kernel32/winnls/nls/gdh.nls differ diff --git a/dll/win32/kernel32/winnls/nls/gdv.nls b/dll/win32/kernel32/winnls/nls/gdv.nls index 0723813c148..8e2165bf21a 100644 Binary files a/dll/win32/kernel32/winnls/nls/gdv.nls and b/dll/win32/kernel32/winnls/nls/gdv.nls differ diff --git a/dll/win32/kernel32/winnls/nls/glc.nls b/dll/win32/kernel32/winnls/nls/glc.nls index f60a0aac69b..678c22ff210 100644 Binary files a/dll/win32/kernel32/winnls/nls/glc.nls and b/dll/win32/kernel32/winnls/nls/glc.nls differ diff --git a/dll/win32/kernel32/winnls/nls/guj.nls b/dll/win32/kernel32/winnls/nls/guj.nls index e24ba5e43f4..4cd3b5291bb 100644 Binary files a/dll/win32/kernel32/winnls/nls/guj.nls and b/dll/win32/kernel32/winnls/nls/guj.nls differ diff --git a/dll/win32/kernel32/winnls/nls/heb.nls b/dll/win32/kernel32/winnls/nls/heb.nls index 2d69ffd4676..1a6e37b4207 100644 Binary files a/dll/win32/kernel32/winnls/nls/heb.nls and b/dll/win32/kernel32/winnls/nls/heb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/hin.nls b/dll/win32/kernel32/winnls/nls/hin.nls index b32a0572654..3a8dae9575f 100644 Binary files a/dll/win32/kernel32/winnls/nls/hin.nls and b/dll/win32/kernel32/winnls/nls/hin.nls differ diff --git a/dll/win32/kernel32/winnls/nls/hrv.nls b/dll/win32/kernel32/winnls/nls/hrv.nls index 958e15e59e4..79ef040bf60 100644 Binary files a/dll/win32/kernel32/winnls/nls/hrv.nls and b/dll/win32/kernel32/winnls/nls/hrv.nls differ diff --git a/dll/win32/kernel32/winnls/nls/hun.nls b/dll/win32/kernel32/winnls/nls/hun.nls index c3dbb9773f9..8ac8454f4c2 100644 Binary files a/dll/win32/kernel32/winnls/nls/hun.nls and b/dll/win32/kernel32/winnls/nls/hun.nls differ diff --git a/dll/win32/kernel32/winnls/nls/hye.nls b/dll/win32/kernel32/winnls/nls/hye.nls index 2000280fe1e..e30235933d0 100644 Binary files a/dll/win32/kernel32/winnls/nls/hye.nls and b/dll/win32/kernel32/winnls/nls/hye.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ind.nls b/dll/win32/kernel32/winnls/nls/ind.nls index c33acb8a3e4..667619e3d59 100644 Binary files a/dll/win32/kernel32/winnls/nls/ind.nls and b/dll/win32/kernel32/winnls/nls/ind.nls differ diff --git a/dll/win32/kernel32/winnls/nls/isl.nls b/dll/win32/kernel32/winnls/nls/isl.nls index 5a6c3d67e34..03e173aacbe 100644 Binary files a/dll/win32/kernel32/winnls/nls/isl.nls and b/dll/win32/kernel32/winnls/nls/isl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ita.nls b/dll/win32/kernel32/winnls/nls/ita.nls index 256d5468199..5ebf49bd613 100644 Binary files a/dll/win32/kernel32/winnls/nls/ita.nls and b/dll/win32/kernel32/winnls/nls/ita.nls differ diff --git a/dll/win32/kernel32/winnls/nls/its.nls b/dll/win32/kernel32/winnls/nls/its.nls index c9a6c1744ca..aa1c94a244c 100644 Binary files a/dll/win32/kernel32/winnls/nls/its.nls and b/dll/win32/kernel32/winnls/nls/its.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ivl.nls b/dll/win32/kernel32/winnls/nls/ivl.nls index 6bfaf0f950d..ca2810dd827 100644 Binary files a/dll/win32/kernel32/winnls/nls/ivl.nls and b/dll/win32/kernel32/winnls/nls/ivl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/jpn.nls b/dll/win32/kernel32/winnls/nls/jpn.nls index 39507dee84f..932d97130da 100644 Binary files a/dll/win32/kernel32/winnls/nls/jpn.nls and b/dll/win32/kernel32/winnls/nls/jpn.nls differ diff --git a/dll/win32/kernel32/winnls/nls/kan.nls b/dll/win32/kernel32/winnls/nls/kan.nls index e6934d1a428..0eacbd0ea7b 100644 Binary files a/dll/win32/kernel32/winnls/nls/kan.nls and b/dll/win32/kernel32/winnls/nls/kan.nls differ diff --git a/dll/win32/kernel32/winnls/nls/kat.nls b/dll/win32/kernel32/winnls/nls/kat.nls index 26e165001e6..fc00ea05fa0 100644 Binary files a/dll/win32/kernel32/winnls/nls/kat.nls and b/dll/win32/kernel32/winnls/nls/kat.nls differ diff --git a/dll/win32/kernel32/winnls/nls/kkz.nls b/dll/win32/kernel32/winnls/nls/kkz.nls index 5a8451563bd..4d8653964b4 100644 Binary files a/dll/win32/kernel32/winnls/nls/kkz.nls and b/dll/win32/kernel32/winnls/nls/kkz.nls differ diff --git a/dll/win32/kernel32/winnls/nls/knk.nls b/dll/win32/kernel32/winnls/nls/knk.nls index c2526d2c813..e564f67e392 100644 Binary files a/dll/win32/kernel32/winnls/nls/knk.nls and b/dll/win32/kernel32/winnls/nls/knk.nls differ diff --git a/dll/win32/kernel32/winnls/nls/kor.nls b/dll/win32/kernel32/winnls/nls/kor.nls index 9d44870b390..40ac8543c27 100644 Binary files a/dll/win32/kernel32/winnls/nls/kor.nls and b/dll/win32/kernel32/winnls/nls/kor.nls differ diff --git a/dll/win32/kernel32/winnls/nls/kyr.nls b/dll/win32/kernel32/winnls/nls/kyr.nls index 7ab2a4d0b64..3f3c1645c82 100644 Binary files a/dll/win32/kernel32/winnls/nls/kyr.nls and b/dll/win32/kernel32/winnls/nls/kyr.nls differ diff --git a/dll/win32/kernel32/winnls/nls/lth.nls b/dll/win32/kernel32/winnls/nls/lth.nls index fa1417357a0..2fccdc56745 100644 Binary files a/dll/win32/kernel32/winnls/nls/lth.nls and b/dll/win32/kernel32/winnls/nls/lth.nls differ diff --git a/dll/win32/kernel32/winnls/nls/lvi.nls b/dll/win32/kernel32/winnls/nls/lvi.nls index 3faa56bf548..2b37e2b8475 100644 Binary files a/dll/win32/kernel32/winnls/nls/lvi.nls and b/dll/win32/kernel32/winnls/nls/lvi.nls differ diff --git a/dll/win32/kernel32/winnls/nls/mar.nls b/dll/win32/kernel32/winnls/nls/mar.nls index 3069a59070b..8155b9de175 100644 Binary files a/dll/win32/kernel32/winnls/nls/mar.nls and b/dll/win32/kernel32/winnls/nls/mar.nls differ diff --git a/dll/win32/kernel32/winnls/nls/mki.nls b/dll/win32/kernel32/winnls/nls/mki.nls index 30efc19b37c..8b974f03594 100644 Binary files a/dll/win32/kernel32/winnls/nls/mki.nls and b/dll/win32/kernel32/winnls/nls/mki.nls differ diff --git a/dll/win32/kernel32/winnls/nls/mon.nls b/dll/win32/kernel32/winnls/nls/mon.nls index c60ec86c91c..ae3e0f9f976 100644 Binary files a/dll/win32/kernel32/winnls/nls/mon.nls and b/dll/win32/kernel32/winnls/nls/mon.nls differ diff --git a/dll/win32/kernel32/winnls/nls/msb.nls b/dll/win32/kernel32/winnls/nls/msb.nls index 0e232cfcb04..918cfbf7945 100644 Binary files a/dll/win32/kernel32/winnls/nls/msb.nls and b/dll/win32/kernel32/winnls/nls/msb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/msl.nls b/dll/win32/kernel32/winnls/nls/msl.nls index 1df52003c28..7fe19081134 100644 Binary files a/dll/win32/kernel32/winnls/nls/msl.nls and b/dll/win32/kernel32/winnls/nls/msl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/nep.nls b/dll/win32/kernel32/winnls/nls/nep.nls index 63946744cb3..f6d86baccaf 100644 Binary files a/dll/win32/kernel32/winnls/nls/nep.nls and b/dll/win32/kernel32/winnls/nls/nep.nls differ diff --git a/dll/win32/kernel32/winnls/nls/nlb.nls b/dll/win32/kernel32/winnls/nls/nlb.nls index 17fd3790de2..88e706ed5cf 100644 Binary files a/dll/win32/kernel32/winnls/nls/nlb.nls and b/dll/win32/kernel32/winnls/nls/nlb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/nld.nls b/dll/win32/kernel32/winnls/nls/nld.nls index 47de663dec6..c30fd7d87e8 100644 Binary files a/dll/win32/kernel32/winnls/nls/nld.nls and b/dll/win32/kernel32/winnls/nls/nld.nls differ diff --git a/dll/win32/kernel32/winnls/nls/nls.nls b/dll/win32/kernel32/winnls/nls/nls.nls index b29f0bc3a1a..10c6efc5dc2 100644 Binary files a/dll/win32/kernel32/winnls/nls/nls.nls and b/dll/win32/kernel32/winnls/nls/nls.nls differ diff --git a/dll/win32/kernel32/winnls/nls/non.nls b/dll/win32/kernel32/winnls/nls/non.nls index ac6827536f6..c6fc800e2bb 100644 Binary files a/dll/win32/kernel32/winnls/nls/non.nls and b/dll/win32/kernel32/winnls/nls/non.nls differ diff --git a/dll/win32/kernel32/winnls/nls/nor.nls b/dll/win32/kernel32/winnls/nls/nor.nls index bd783905419..d5cfb59b0bd 100644 Binary files a/dll/win32/kernel32/winnls/nls/nor.nls and b/dll/win32/kernel32/winnls/nls/nor.nls differ diff --git a/dll/win32/kernel32/winnls/nls/pan.nls b/dll/win32/kernel32/winnls/nls/pan.nls index bd8aeb883fb..4b7bbcfdee6 100644 Binary files a/dll/win32/kernel32/winnls/nls/pan.nls and b/dll/win32/kernel32/winnls/nls/pan.nls differ diff --git a/dll/win32/kernel32/winnls/nls/plk.nls b/dll/win32/kernel32/winnls/nls/plk.nls index b79020ecb03..e15ea7c97c2 100644 Binary files a/dll/win32/kernel32/winnls/nls/plk.nls and b/dll/win32/kernel32/winnls/nls/plk.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ptb.nls b/dll/win32/kernel32/winnls/nls/ptb.nls index 66cc65be837..3bf20bcdaab 100644 Binary files a/dll/win32/kernel32/winnls/nls/ptb.nls and b/dll/win32/kernel32/winnls/nls/ptb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ptg.nls b/dll/win32/kernel32/winnls/nls/ptg.nls index 392b940c236..27d8bcee020 100644 Binary files a/dll/win32/kernel32/winnls/nls/ptg.nls and b/dll/win32/kernel32/winnls/nls/ptg.nls differ diff --git a/dll/win32/kernel32/winnls/nls/rmc.nls b/dll/win32/kernel32/winnls/nls/rmc.nls index f54db3585ac..f587e14ec46 100644 Binary files a/dll/win32/kernel32/winnls/nls/rmc.nls and b/dll/win32/kernel32/winnls/nls/rmc.nls differ diff --git a/dll/win32/kernel32/winnls/nls/rom.nls b/dll/win32/kernel32/winnls/nls/rom.nls index fd519238dda..2900d59929e 100644 Binary files a/dll/win32/kernel32/winnls/nls/rom.nls and b/dll/win32/kernel32/winnls/nls/rom.nls differ diff --git a/dll/win32/kernel32/winnls/nls/rus.nls b/dll/win32/kernel32/winnls/nls/rus.nls index 5c78460f668..aeaa8d2927a 100644 Binary files a/dll/win32/kernel32/winnls/nls/rus.nls and b/dll/win32/kernel32/winnls/nls/rus.nls differ diff --git a/dll/win32/kernel32/winnls/nls/san.nls b/dll/win32/kernel32/winnls/nls/san.nls index 4f44f3e3d9b..6a1b9cca514 100644 Binary files a/dll/win32/kernel32/winnls/nls/san.nls and b/dll/win32/kernel32/winnls/nls/san.nls differ diff --git a/dll/win32/kernel32/winnls/nls/sin.nls b/dll/win32/kernel32/winnls/nls/sin.nls index 31d258b673d..c893da7e414 100644 Binary files a/dll/win32/kernel32/winnls/nls/sin.nls and b/dll/win32/kernel32/winnls/nls/sin.nls differ diff --git a/dll/win32/kernel32/winnls/nls/sky.nls b/dll/win32/kernel32/winnls/nls/sky.nls index 29647b2b1b4..fdbbbbb4886 100644 Binary files a/dll/win32/kernel32/winnls/nls/sky.nls and b/dll/win32/kernel32/winnls/nls/sky.nls differ diff --git a/dll/win32/kernel32/winnls/nls/slv.nls b/dll/win32/kernel32/winnls/nls/slv.nls index 8f7fc66ac7f..6400d407814 100644 Binary files a/dll/win32/kernel32/winnls/nls/slv.nls and b/dll/win32/kernel32/winnls/nls/slv.nls differ diff --git a/dll/win32/kernel32/winnls/nls/sqi.nls b/dll/win32/kernel32/winnls/nls/sqi.nls index 6f4048230ea..e480334aa9f 100644 Binary files a/dll/win32/kernel32/winnls/nls/sqi.nls and b/dll/win32/kernel32/winnls/nls/sqi.nls differ diff --git a/dll/win32/kernel32/winnls/nls/srb.nls b/dll/win32/kernel32/winnls/nls/srb.nls index eb500cf0fd8..af99a3f910f 100644 Binary files a/dll/win32/kernel32/winnls/nls/srb.nls and b/dll/win32/kernel32/winnls/nls/srb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/srl.nls b/dll/win32/kernel32/winnls/nls/srl.nls index 516bb512aae..cebe7ae3853 100644 Binary files a/dll/win32/kernel32/winnls/nls/srl.nls and b/dll/win32/kernel32/winnls/nls/srl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/srm.nls b/dll/win32/kernel32/winnls/nls/srm.nls index f4b1169943a..8c308ff70ca 100644 Binary files a/dll/win32/kernel32/winnls/nls/srm.nls and b/dll/win32/kernel32/winnls/nls/srm.nls differ diff --git a/dll/win32/kernel32/winnls/nls/sve.nls b/dll/win32/kernel32/winnls/nls/sve.nls index 6c8db124a6e..accd8d07888 100644 Binary files a/dll/win32/kernel32/winnls/nls/sve.nls and b/dll/win32/kernel32/winnls/nls/sve.nls differ diff --git a/dll/win32/kernel32/winnls/nls/svf.nls b/dll/win32/kernel32/winnls/nls/svf.nls index 59982e8a39b..d53cf780a64 100644 Binary files a/dll/win32/kernel32/winnls/nls/svf.nls and b/dll/win32/kernel32/winnls/nls/svf.nls differ diff --git a/dll/win32/kernel32/winnls/nls/swk.nls b/dll/win32/kernel32/winnls/nls/swk.nls index 63085629911..a054411c45d 100644 Binary files a/dll/win32/kernel32/winnls/nls/swk.nls and b/dll/win32/kernel32/winnls/nls/swk.nls differ diff --git a/dll/win32/kernel32/winnls/nls/syr.nls b/dll/win32/kernel32/winnls/nls/syr.nls index 6f8aa766027..134cdaa7208 100644 Binary files a/dll/win32/kernel32/winnls/nls/syr.nls and b/dll/win32/kernel32/winnls/nls/syr.nls differ diff --git a/dll/win32/kernel32/winnls/nls/tam.nls b/dll/win32/kernel32/winnls/nls/tam.nls index 8db932bf651..7f129ad6cc2 100644 Binary files a/dll/win32/kernel32/winnls/nls/tam.nls and b/dll/win32/kernel32/winnls/nls/tam.nls differ diff --git a/dll/win32/kernel32/winnls/nls/tel.nls b/dll/win32/kernel32/winnls/nls/tel.nls index 37586776ea7..0f0e5dcfd9d 100644 Binary files a/dll/win32/kernel32/winnls/nls/tel.nls and b/dll/win32/kernel32/winnls/nls/tel.nls differ diff --git a/dll/win32/kernel32/winnls/nls/tha.nls b/dll/win32/kernel32/winnls/nls/tha.nls index 2097b3728da..84e379e5f55 100644 Binary files a/dll/win32/kernel32/winnls/nls/tha.nls and b/dll/win32/kernel32/winnls/nls/tha.nls differ diff --git a/dll/win32/kernel32/winnls/nls/trk.nls b/dll/win32/kernel32/winnls/nls/trk.nls index 3954b4b63e4..13c3eca85a9 100644 Binary files a/dll/win32/kernel32/winnls/nls/trk.nls and b/dll/win32/kernel32/winnls/nls/trk.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ttt.nls b/dll/win32/kernel32/winnls/nls/ttt.nls index 64cdb3d1022..46d8c4c7b0f 100644 Binary files a/dll/win32/kernel32/winnls/nls/ttt.nls and b/dll/win32/kernel32/winnls/nls/ttt.nls differ diff --git a/dll/win32/kernel32/winnls/nls/ukr.nls b/dll/win32/kernel32/winnls/nls/ukr.nls index e13ac684fc3..b408f028631 100644 Binary files a/dll/win32/kernel32/winnls/nls/ukr.nls and b/dll/win32/kernel32/winnls/nls/ukr.nls differ diff --git a/dll/win32/kernel32/winnls/nls/urd.nls b/dll/win32/kernel32/winnls/nls/urd.nls index 1bebe46e747..c37eedab2f5 100644 Binary files a/dll/win32/kernel32/winnls/nls/urd.nls and b/dll/win32/kernel32/winnls/nls/urd.nls differ diff --git a/dll/win32/kernel32/winnls/nls/uzb.nls b/dll/win32/kernel32/winnls/nls/uzb.nls index 1257f39f2fd..8341fe0c672 100644 Binary files a/dll/win32/kernel32/winnls/nls/uzb.nls and b/dll/win32/kernel32/winnls/nls/uzb.nls differ diff --git a/dll/win32/kernel32/winnls/nls/uzl.nls b/dll/win32/kernel32/winnls/nls/uzl.nls index b03cfb6fb10..a577dc8df6e 100644 Binary files a/dll/win32/kernel32/winnls/nls/uzl.nls and b/dll/win32/kernel32/winnls/nls/uzl.nls differ diff --git a/dll/win32/kernel32/winnls/nls/vit.nls b/dll/win32/kernel32/winnls/nls/vit.nls index 17389243dc6..adb5d556454 100644 Binary files a/dll/win32/kernel32/winnls/nls/vit.nls and b/dll/win32/kernel32/winnls/nls/vit.nls differ diff --git a/dll/win32/kernel32/winnls/nls/wal.nls b/dll/win32/kernel32/winnls/nls/wal.nls index 3e5f9585d71..780696348be 100644 Binary files a/dll/win32/kernel32/winnls/nls/wal.nls and b/dll/win32/kernel32/winnls/nls/wal.nls differ diff --git a/dll/win32/kernel32/winnls/nls/zhh.nls b/dll/win32/kernel32/winnls/nls/zhh.nls index 00280d3469b..5fa5da153db 100644 Binary files a/dll/win32/kernel32/winnls/nls/zhh.nls and b/dll/win32/kernel32/winnls/nls/zhh.nls differ diff --git a/dll/win32/kernel32/winnls/nls/zhi.nls b/dll/win32/kernel32/winnls/nls/zhi.nls index 8b304d7514e..a1e17b48699 100644 Binary files a/dll/win32/kernel32/winnls/nls/zhi.nls and b/dll/win32/kernel32/winnls/nls/zhi.nls differ diff --git a/dll/win32/kernel32/winnls/nls/zhm.nls b/dll/win32/kernel32/winnls/nls/zhm.nls index 1a915bda16f..05a494a421a 100644 Binary files a/dll/win32/kernel32/winnls/nls/zhm.nls and b/dll/win32/kernel32/winnls/nls/zhm.nls differ diff --git a/dll/win32/kernel32/winnls/string/locale.c b/dll/win32/kernel32/winnls/string/locale.c index 2eff3d10b07..d3e93741f76 100644 --- a/dll/win32/kernel32/winnls/string/locale.c +++ b/dll/win32/kernel32/winnls/string/locale.c @@ -30,6 +30,7 @@ DEBUG_CHANNEL(nls); #include "lcformat_private.h" #ifdef __REACTOS__ #include "japanese.h" + #include /* for _alloca */ #endif INT WINAPI CompareStringEx(LPCWSTR locale, DWORD flags, LPCWSTR str1, INT len1, @@ -1671,6 +1672,9 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len ) UINT lcflags; const WCHAR *p; unsigned int i; +#ifdef __REACTOS__ + INT nNativeName = 0; +#endif if (len < 0 || (len && !buffer)) { @@ -1738,6 +1742,14 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len ) /* replace SUBLANG_NEUTRAL by SUBLANG_DEFAULT */ if (SUBLANGID(lang_id) == SUBLANG_NEUTRAL) lang_id = get_default_sublang( lang_id ); +#ifdef __REACTOS__ +#define LGRPID_LANG_BASE 0xA000 + if (lctype == LOCALE_SLANGUAGE || lctype == LOCALE_SCOUNTRY) + { + lctype = LGRPID_LANG_BASE + lang_id; + nNativeName = 1 + (lctype == LOCALE_SCOUNTRY); + } +#endif if (!(hrsrc = FindResourceExW( kernel32_handle, (LPWSTR)RT_STRING, ULongToPtr((lctype >> 4) + 1), lang_id ))) { @@ -1768,6 +1780,42 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len ) if (!buffer) return ret; +#ifdef __REACTOS__ + if (nNativeName == 2) // LOCALE_SCOUNTRY + { + const WCHAR *pch = wcschr(p + 1, L'$'); + if (!pch) + return 0; + ret -= (pch + 1) - (p + 1); + p = pch - 1; + } + else if (nNativeName == 1) // LOCALE_SLANGUAGE + { + WCHAR *pszBuff, *pszRet; + LPWSTR pch; + + pszBuff = _alloca(ret * sizeof(WCHAR)); + memcpy(pszBuff, p + 1, ret * sizeof(WCHAR)); + pszBuff[ret - 1] = 0; + + pch = wcschr(pszBuff, L'$'); + if (!pch) + return 0; + *pch = UNICODE_NULL; + + ret += 4; + pszRet = _alloca(ret * sizeof(WCHAR)); + pszRet[0] = L'$'; + p = pszRet; + + /* "Language (Country)" */ + RtlStringCchCopyW(&pszRet[1], ret - 1, pszBuff); + RtlStringCchCatW(&pszRet[1], ret - 1, L" ("); + RtlStringCchCatW(&pszRet[1], ret - 1, pch + 1); + RtlStringCchCatW(&pszRet[1], ret - 1, L")"); + } +#endif + if (ret > len) { SetLastError( ERROR_INSUFFICIENT_BUFFER );