From 593462b3e9fb8b9712cd912a67dacaf1b6d6dfdc Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Mon, 14 May 2018 12:48:28 +0200 Subject: [PATCH] + add: MUI dll "Afrikaans" --- Notepad3.sln | 10 + language/np3_af_af/dllmain.cpp | Bin 0 -> 972 bytes language/np3_af_af/np3_af_af.cpp | Bin 0 -> 216 bytes language/np3_af_af/np3_af_af.rc | Bin 0 -> 3644 bytes language/np3_af_af/np3_af_af.vcxproj | 199 +++++++++++++++++++ language/np3_af_af/np3_af_af.vcxproj.filters | 44 ++++ language/np3_af_af/resource.h | 16 ++ language/np3_af_af/stdafx.cpp | Bin 0 -> 594 bytes language/np3_af_af/stdafx.h | Bin 0 -> 840 bytes language/np3_af_af/targetver.h | Bin 0 -> 630 bytes language/np3_de_de/np3_de_de.rc | Bin 3058 -> 3700 bytes language/np3_de_de/np3_de_de.vcxproj.filters | 26 +-- language/np3_en_us/np3_en_us.rc | Bin 3054 -> 3772 bytes language/np3_en_us/np3_en_us.vcxproj.filters | 28 +-- language/np3_es_es/np3_es_es.rc | Bin 3058 -> 3888 bytes language/np3_es_es/np3_es_es.vcxproj.filters | 28 +-- language/np3_fr_fr/np3_fr_fr.rc | Bin 3058 -> 3692 bytes language/np3_fr_fr/np3_fr_fr.vcxproj.filters | 28 +-- src/Helpers.h | 2 +- src/Notepad3.c | 94 +++++---- 20 files changed, 371 insertions(+), 104 deletions(-) create mode 100644 language/np3_af_af/dllmain.cpp create mode 100644 language/np3_af_af/np3_af_af.cpp create mode 100644 language/np3_af_af/np3_af_af.rc create mode 100644 language/np3_af_af/np3_af_af.vcxproj create mode 100644 language/np3_af_af/np3_af_af.vcxproj.filters create mode 100644 language/np3_af_af/resource.h create mode 100644 language/np3_af_af/stdafx.cpp create mode 100644 language/np3_af_af/stdafx.h create mode 100644 language/np3_af_af/targetver.h diff --git a/Notepad3.sln b/Notepad3.sln index 8f718046c..ee014100b 100644 --- a/Notepad3.sln +++ b/Notepad3.sln @@ -23,6 +23,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_en_us", "language\np3_e EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_es_es", "language\np3_es_es\np3_es_es.vcxproj", "{3B8C289D-FF47-4237-AD7B-0702230F41A3}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_af_af", "language\np3_af_af\np3_af_af.vcxproj", "{C8E80B4C-C0FD-4119-A05A-AB372A61007F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -107,6 +109,14 @@ Global {3B8C289D-FF47-4237-AD7B-0702230F41A3}.Release|Win32.Build.0 = Release|Win32 {3B8C289D-FF47-4237-AD7B-0702230F41A3}.Release|x64.ActiveCfg = Release|x64 {3B8C289D-FF47-4237-AD7B-0702230F41A3}.Release|x64.Build.0 = Release|x64 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Debug|Win32.ActiveCfg = Debug|Win32 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Debug|Win32.Build.0 = Debug|Win32 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Debug|x64.ActiveCfg = Debug|x64 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Debug|x64.Build.0 = Debug|x64 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Release|Win32.ActiveCfg = Release|Win32 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Release|Win32.Build.0 = Release|Win32 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Release|x64.ActiveCfg = Release|x64 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/language/np3_af_af/dllmain.cpp b/language/np3_af_af/dllmain.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d132857e3a101af2a72dd91ef7dde0f16522947f GIT binary patch literal 972 zcmbW0TTjA35QWdPiT|O|7f6h}>l3;dNB~JK8lM`(k{S_6TfD^h*VS*9iv&qTGMVk{ z?Ci{(v(vB7iYf|puOafJo*p#PvHF@Iflg4TL<8?nl(R3C;t9|ZcBVJ%iN-#nz#d>{ zD{)RuBp|ot91_>ZF8Gdpt$pq3(BJNJI;9uOen71PyGOoPI!f_ar0JP15zARsM-A1~ zR-{n3c$`PlnjsD*~A!rdtaL-!xX}hA-qCj&_zfU zPo1eJRs8}?&~Hvj+t literal 0 HcmV?d00001 diff --git a/language/np3_af_af/np3_af_af.cpp b/language/np3_af_af/np3_af_af.cpp new file mode 100644 index 0000000000000000000000000000000000000000..592049184f6cf9fe6ee5bc841be6256a603092d6 GIT binary patch literal 216 zcmYL@K?;K~5Jmr5=pBOHCyVa7cG)|W5)%}P6|3OsTi=9Q36uPpd6PfiPf(E4pivjy z^-%uZUXj{J?@BaEbb7d?H~Fj%<%kvLrHM*XOC@W8isU`@q0qSy$5f*m$KhrUPsoVg hC%jIo*eaCQ^tm`k$ORAct@(FG+rFzj+th#BCN|6lBY*$^ literal 0 HcmV?d00001 diff --git a/language/np3_af_af/np3_af_af.rc b/language/np3_af_af/np3_af_af.rc new file mode 100644 index 0000000000000000000000000000000000000000..a212c5a27d84daf3f63e3b8a7eeebac37816f8f0 GIT binary patch literal 3644 zcmd^?ZI9AG5Xb+oP5chEywPY5A3nhWl@Q=G6fT;O5Im?hB4>DrZ~W})Z??B*xwfeI zrpaZq%>Pj13Ys*Zu19u5-tG(u0v1{uoBhW`JwPtR>?|=(% z8=&#+SzWOX*qO9cU!ghELp|V>rh^TzYrd|aUO3vYz<;Js3LUj^HXL2z_)PY>-YV8u z6Lr+n8_hIQ1h&KaLIb@A6Z1P%3(SDEKi_ny-|*Ub7^sU~?%FuPO4s_r{dZW$>@eom z@A&O;>o)f^dqm)0GVi{~pWon{vv0@mx z^MX{LiM=_u-j=-dHWxRkv&o}__*v*Na$e&(S=_|L$b<-L<2y4vXux=a-0zH_l5>oV z5q>&zvifkCmIHPdU?;$?^F@!z=tlTzpKnGL>lyN6Xj`{@Gw>0ZF|yCWnoOIPGm;~3 zY!PtDJ^FBW97nxgFt3e&O%JQ$*nc-@^99zbig^3p;_h9S3v3tMjPl$%)$^PD8ezH2 zV#Z~e`F~;m`-(ku@!d_*FLec{ ADF6Tf literal 0 HcmV?d00001 diff --git a/language/np3_af_af/np3_af_af.vcxproj b/language/np3_af_af/np3_af_af.vcxproj new file mode 100644 index 000000000..a8323e9aa --- /dev/null +++ b/language/np3_af_af/np3_af_af.vcxproj @@ -0,0 +1,199 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {C8E80B4C-C0FD-4119-A05A-AB372A61007F} + Win32Proj + np3afaf + 10.0.17134.0 + + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + false + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\ + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\ + + + true + false + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\ + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\ + + + false + false + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\ + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\ + + + false + false + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\ + ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\ + + + + Use + Level3 + Disabled + true + _DEBUG;NP3AFAF_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + + + 0x0036 + + + + + Use + Level3 + Disabled + true + WIN32;_DEBUG;NP3AFAF_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + + + 0x0036 + + + + + Use + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;NP3AFAF_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + 0x0036 + + + + + Use + Level3 + MaxSpeed + true + true + true + NDEBUG;NP3AFAF_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + 0x0036 + + + + + + + + + + + + Create + Create + Create + Create + + + + + 0x0036 + 0x0036 + 0x0036 + 0x0036 + + + + + + \ No newline at end of file diff --git a/language/np3_af_af/np3_af_af.vcxproj.filters b/language/np3_af_af/np3_af_af.vcxproj.filters new file mode 100644 index 000000000..0a58172b1 --- /dev/null +++ b/language/np3_af_af/np3_af_af.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/language/np3_af_af/resource.h b/language/np3_af_af/resource.h new file mode 100644 index 000000000..3036f5ad9 --- /dev/null +++ b/language/np3_af_af/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Von Microsoft Visual C++ generierte Includedatei. +// Verwendet durch np3_af_af.rc +// +#define IDS_MUI_UNTITLED 30001 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 30002 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/language/np3_af_af/stdafx.cpp b/language/np3_af_af/stdafx.cpp new file mode 100644 index 0000000000000000000000000000000000000000..733d68c24bb9699d1ddf0dfb7a675c967c3f3dee GIT binary patch literal 594 zcmZ`%F>ZrE5S%(v{&0%x;38eRNS5U;MO>tdhyig30|Kms&)b>V6A)}!Xt}$+-JRLl zyPVfp!=Xcu1TixFBEkU;KZjSlsc}L}U&>PkkJ5HMa>n=cc~rbD8I|y+qo?3r6&)?N zXq{rl38UrzHtP`&WFjsVv0w0IY{EaH=fFx1KZaj&_dT%?uZC4qJTt1sk*B~?IKq#O zS&JEC*>BBi#iF|ERK{7|&3)X*=`j#jT$GV9zaTQ+Qa`6>j1G$I z@s15m^H84|O{;VlqLdwMP1vcQFk?<-seq<4kk5&0#oTn7g~JE-M0vv&pL_$me`XlycnH-tFw{ z?Ee0YF@{5p1_>gh_{KSwv|MrKC=g?XmT#W-l$KS0DpB=*5r4_I;wq$#p?SO?K&Www zV;nKIqIXzpB9wR|eoQt(TH86dxbZKpZiCr_>6T9D=XGgP0E}F%Be3}Mo)<*1xl;x z+}I?%eNkgawLJaBv*LYFMO?*t`|mFJ=WyG1Q_Wu6ug*2`Lj-l^&A&48*~WUoGp3yC yTV;|O8`V4JNnMd}fEfw0WxN;+co0fK2Vs4B9U*sm0{`t1wOo&Foy0~*EXI^K{ z&F{}p2USW{Xp2p>*G`#oJ!s%(q!H-M(Ty4fmG}kNtEQTB%)V1m=}BwwfWPvrT#@e@ zH0NG}74Ao{glS)#QXA|NYdIfY7hrMp+Ji@H`t9kzWx_SD6;~Ri;cvXH)6CO{-I1p_IJPQ#X=r zigZeSqQguJz35q;zt9^Q_C^^>*mmuXUCp&pw^fPoGX+dho4RCrySs7j@9_UipWkA5 OQDt4mH~x-^Z~X_?9czaG literal 0 HcmV?d00001 diff --git a/language/np3_de_de/np3_de_de.rc b/language/np3_de_de/np3_de_de.rc index 199e744d201b894c88d265e9ee451b98edf65c51..f807a04db790d0f8d88705a72e21b751002a06f4 100644 GIT binary patch delta 186 zcmew){zYcPI%auyhE#?khFpe3hCBuZ1`P&eekFtE(Fi+mYAw`Vh$wHiK jCdaWaQdB@O3Ww2?UooGV%*DKD62~=S4Bsro`G5%k=q4@u delta 113 zcmew&^GSTeI%ahjhE#@9h7yKihGd2e1_cHU22_z8hD3%uhLp+m+|rw$F=sJP?%-WC UxrUW*@-(h9#A@DL&;6AN0Hl8%Hvj+t diff --git a/language/np3_de_de/np3_de_de.vcxproj.filters b/language/np3_de_de/np3_de_de.vcxproj.filters index 14aef8f48..ef4d23c70 100644 --- a/language/np3_de_de/np3_de_de.vcxproj.filters +++ b/language/np3_de_de/np3_de_de.vcxproj.filters @@ -1,44 +1,44 @@  - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - + {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + - Headerdateien + Header Files - Headerdateien + Header Files - Headerdateien + Header Files - Quelldateien + Source Files - Quelldateien + Source Files - Quelldateien + Source Files - Ressourcendateien + Resource Files \ No newline at end of file diff --git a/language/np3_en_us/np3_en_us.rc b/language/np3_en_us/np3_en_us.rc index dce22a413cf6ac1398608e08fce95c5c943f2f48..a5805cdcc72d2e44de41b768d49d63fb85f874f5 100644 GIT binary patch delta 352 zcmaDSzDIV$I%aKGhCGIJh8%`WhGK>c1_cHUhESkLCPN8BDnkm89}HwAf_cT0e{x7q z{=l5Y?8@LbIhIA$6i73;Gx#ug0#$i1=zvv+GB^Q69Kka245%vNfo2D9UdytUX|e>n p6p2H delta 169 zcmdlZ`%ZkrI%ahjhE#@9h7yKihGd2e1_cHU22_z8hD3%uhLp*+oUP0*46c(CSyZ*% z8C)5H7)%LK&PGe87BnhIj@f`OUjo)-p}b;#fAhhmmXY6|NIRTez0} K;N}h<6D9zJy(X;y diff --git a/language/np3_en_us/np3_en_us.vcxproj.filters b/language/np3_en_us/np3_en_us.vcxproj.filters index a017a245d..b6df34762 100644 --- a/language/np3_en_us/np3_en_us.vcxproj.filters +++ b/language/np3_en_us/np3_en_us.vcxproj.filters @@ -1,44 +1,44 @@  - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - + {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - Headerdateien + Header Files - Headerdateien + Header Files - Headerdateien + Header Files - Quelldateien + Source Files - Quelldateien + Source Files - Quelldateien + Source Files - Ressourcendateien + Resource Files \ No newline at end of file diff --git a/language/np3_es_es/np3_es_es.rc b/language/np3_es_es/np3_es_es.rc index a6419434db02b9c5ca0f3af695a563c5f96a2474..a195bdf7378a480d2924e06c9771f61ec93f78c4 100644 GIT binary patch delta 484 zcmew)zCmuoI%d~kh608}hCGH$hGK>c1_cHU28c)|P)rBN_XN@<45arE8GIT18C)1#8G<&iW?9cPc@Kva6&)wUxn^=4`yzLcqiNz{TU76Wf{thp V1A~l_dG#cYYt-}bW+Bc8OaK>7Vr2jT delta 172 zcmdlW_ep%iI%ahjhE#@9h7yKihGd2e1_cHU22_z8hD3%uhLp)4nOj+17+e`bCs(s5 zYq|qjK@7eOjtqVbIzU~)451883_f7KJ3~AJTz>OSmi0`N*_fA2?qTGbtiyeV1Pi4n MaV*>XhsT5o03@L&)c^nh diff --git a/language/np3_es_es/np3_es_es.vcxproj.filters b/language/np3_es_es/np3_es_es.vcxproj.filters index 1ce7c3e5e..42f9e85b7 100644 --- a/language/np3_es_es/np3_es_es.vcxproj.filters +++ b/language/np3_es_es/np3_es_es.vcxproj.filters @@ -1,44 +1,44 @@  - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - + {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - Headerdateien + Header Files - Headerdateien + Header Files - Headerdateien + Header Files - Quelldateien + Source Files - Quelldateien + Source Files - Quelldateien + Source Files - Ressourcendateien + Resource Files \ No newline at end of file diff --git a/language/np3_fr_fr/np3_fr_fr.rc b/language/np3_fr_fr/np3_fr_fr.rc index ac3f246aa0393205d6cfd421d93b7255964d6873..50263c377bba6264abc7ae5b17e719a379c1d022 100644 GIT binary patch delta 290 zcmew){zhiQI%Zinh9ZVkhCGI3h71M;1`P%fKM~ANWzd}bkV|;-E9L@LH-;bv$I0<5 z%Gw~7D}x_{GlK_%4p2uhLnwn2gAaovP|Ten9;hEKzj-aoTBgZ+IHZWMM2K_E - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - + {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - Headerdateien + Header Files - Headerdateien + Header Files - Headerdateien + Header Files - Quelldateien + Source Files - Quelldateien + Source Files - Quelldateien + Source Files - Ressourcendateien + Resource Files \ No newline at end of file diff --git a/src/Helpers.h b/src/Helpers.h index a1a4d341a..a6d6d6c87 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -187,7 +187,7 @@ bool IsCmdEnabled(HWND, UINT); if (GetFocus() == hctrl) { SendMessage((hdlg), WM_NEXTDLGCTL, 0, false); } }; EnableWindow(hctrl, (b)); } #define GetString(id,pb,cb) LoadString(g_hInstance,id,pb,cb) -#define GetLngString(id,pb,cb) LoadString((g_hLngResContainer ? g_hLngResContainer : g_hInstance),(id),(pb),(cb)) +#define GetLngString(id,pb,cb) LoadString(g_hLngResContainer,(id),(pb),(cb)) #define StrEnd(pStart) (pStart + lstrlen(pStart)) diff --git a/src/Notepad3.c b/src/Notepad3.c index 5be208cf1..68de7dc14 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -572,45 +572,6 @@ static void __fastcall _SetDocumentModified(bool bModified) //============================================================================== -static bool __fastcall _LngStrToMultiLngStr(WCHAR* pLngStr, WCHAR* pLngMultiStr, size_t lngMultiStrSize) -{ - bool rtnVal = true; - - size_t strLen = (size_t)lstrlenW(pLngStr); - - if ((strLen > 0) && pLngMultiStr && (lngMultiStrSize > 0)) - { - WCHAR* lngMultiStrPtr = pLngMultiStr; - WCHAR* last = pLngStr + (pLngStr[0] == 0xFEFF ? 1 : 0); // if read from unicode (UTF-16 LE) file - while (last && rtnVal) - { - // make sure you validate the user input - WCHAR* next = StrNextTok(last, L",; :"); - if (next) { *next = L'\0'; } - strLen = (size_t)StringCchLenW(last, LOCALE_NAME_MAX_LENGTH); - if ((strLen > 0) && IsValidLocaleName(last)) - { - lngMultiStrPtr[0] = L'\0'; - rtnVal &= SUCCEEDED(StringCchCatW(lngMultiStrPtr, (lngMultiStrSize - (lngMultiStrPtr - pLngMultiStr)), last)); - lngMultiStrPtr += strLen + 1; - } - last = (next ? next + 1 : next); - } - if (rtnVal && (lngMultiStrSize - (lngMultiStrPtr - pLngMultiStr))) // make sure there is a double null term for the multi-string - { - lngMultiStrPtr[0] = L'\0'; - } - else // fail and guard anyone whom might use the multi-string - { - lngMultiStrPtr[0] = L'\0'; - lngMultiStrPtr[1] = L'\0'; - } - } - return rtnVal; -} - - - //============================================================================= // // WinMain() @@ -822,16 +783,54 @@ bool InitApplication(HINSTANCE hInstance) } +//============================================================================= +// +// _LngStrToMultiLngStr +// +// +static bool __fastcall _LngStrToMultiLngStr(WCHAR* pLngStr, WCHAR* pLngMultiStr, size_t lngMultiStrSize) +{ + bool rtnVal = true; + + size_t strLen = (size_t)lstrlenW(pLngStr); + + if ((strLen > 0) && pLngMultiStr && (lngMultiStrSize > 0)) { + WCHAR* lngMultiStrPtr = pLngMultiStr; + WCHAR* last = pLngStr + (pLngStr[0] == 0xFEFF ? 1 : 0); // if read from unicode (UTF-16 LE) file + while (last && rtnVal) { + // make sure you validate the user input + WCHAR* next = StrNextTok(last, L",; :"); + if (next) { *next = L'\0'; } + strLen = (size_t)StringCchLenW(last, LOCALE_NAME_MAX_LENGTH); + if ((strLen > 0) && IsValidLocaleName(last)) { + lngMultiStrPtr[0] = L'\0'; + rtnVal &= SUCCEEDED(StringCchCatW(lngMultiStrPtr, (lngMultiStrSize - (lngMultiStrPtr - pLngMultiStr)), last)); + lngMultiStrPtr += strLen + 1; + } + last = (next ? next + 1 : next); + } + if (rtnVal && (lngMultiStrSize - (lngMultiStrPtr - pLngMultiStr))) // make sure there is a double null term for the multi-string + { + lngMultiStrPtr[0] = L'\0'; + } + else // fail and guard anyone whom might use the multi-string + { + lngMultiStrPtr[0] = L'\0'; + lngMultiStrPtr[1] = L'\0'; + } + } + return rtnVal; +} + + //============================================================================= // // _LoadLanguageResources // // - static HMODULE __fastcall _LoadLanguageResources() { - HMODULE hLangResourceContainer = NULL; - + WCHAR tchUserLangMultiStrg[LARGE_BUFFER]; if (!_LngStrToMultiLngStr(g_tchUserDefinedLanguages, tchUserLangMultiStrg, LARGE_BUFFER)) @@ -849,13 +848,12 @@ static HMODULE __fastcall _LoadLanguageResources() NULL); MessageBox(NULL, (LPCWSTR)lpMsgBuf, L"Notepad3", MB_OK | MB_ICONEXCLAMATION); LocalFree(lpMsgBuf); - return NULL; // exit + return g_hInstance; // default lang } - // set the appropriate fallback list DWORD langCount = 0; - // using SetProcessPreferredUILanguages is recomended for new applications (esp. multi-threaded applications) + // using SetProcessPreferredUILanguages is recommended for new applications (esp. multi-threaded applications) if (!SetProcessPreferredUILanguages(MUI_LANGUAGE_NAME, tchUserLangMultiStrg, &langCount) || (langCount == 0)) { LPVOID lpMsgBuf; @@ -871,7 +869,7 @@ static HMODULE __fastcall _LoadLanguageResources() NULL); MessageBox(NULL, (LPCWSTR)lpMsgBuf, L"Notepad3", MB_OK | MB_ICONEXCLAMATION); LocalFree(lpMsgBuf); - return NULL; // exit + return g_hInstance; // default lang } // NOTES: @@ -885,7 +883,7 @@ static HMODULE __fastcall _LoadLanguageResources() // obtains access to the proper resource container // for standard Win32 resource loading this is normally a PE module - use LoadLibraryEx - hLangResourceContainer = LoadMUILibraryW(L"np3lng.dll", MUI_LANGUAGE_NAME, GetUserDefaultUILanguage()); + HMODULE hLangResourceContainer = LoadMUILibraryW(L"np3lng.dll", MUI_LANGUAGE_NAME, GetUserDefaultUILanguage()); //hLangResourceContainer = LoadMUILibraryW(L"np3lng.dll", MUI_LANGUAGE_NAME, 0x0407); if (!hLangResourceContainer) @@ -903,7 +901,7 @@ static HMODULE __fastcall _LoadLanguageResources() NULL); MessageBox(NULL, (LPCWSTR)lpMsgBuf, L"Notepad3", MB_OK | MB_ICONEXCLAMATION); LocalFree(lpMsgBuf); - return NULL; // exit + return g_hInstance; // default lang } //// 3. Application parses the resource container to find the appropriate item