1 // LangUtils.h
2
3 #ifndef ZIP7_INC_LANG_UTILS_H
4 #define ZIP7_INC_LANG_UTILS_H
5
6 #include "../../../Common/Lang.h"
7
8 #include "../../../Windows/ResourceString.h"
9
10 extern UString g_LangID;
11 extern CLang g_Lang;
12
13 #ifdef Z7_LANG
14
15 struct CIDLangPair
16 {
17 UInt32 ControlID;
18 UInt32 LangID;
19 };
20
21 void ReloadLang();
22 void LoadLangOneTime();
23
24 void LangSetDlgItemText(HWND dialog, UInt32 controlID, UInt32 langID);
25 void LangSetDlgItems(HWND dialog, const UInt32 *ids, unsigned numItems);
26 void LangSetDlgItems_Colon(HWND dialog, const UInt32 *ids, unsigned numItems);
27 void LangSetDlgItems_RemoveColon(HWND dialog, const UInt32 *ids, unsigned numItems);
28 void LangSetWindowText(HWND window, UInt32 langID);
29
30 UString LangString(UInt32 langID);
31 void AddLangString(UString &s, UInt32 langID);
32 void LangString(UInt32 langID, UString &dest);
33 void LangString_OnlyFromLangFile(UInt32 langID, UString &dest);
34
35 #else
36
LangString(UInt32 langID)37 inline UString LangString(UInt32 langID) { return NWindows::MyLoadString(langID); }
LangString(UInt32 langID,UString & dest)38 inline void LangString(UInt32 langID, UString &dest) { NWindows::MyLoadString(langID, dest); }
AddLangString(UString & s,UInt32 langID)39 inline void AddLangString(UString &s, UInt32 langID) { s += NWindows::MyLoadString(langID); }
40
41 #endif
42
43 FString GetLangDirPrefix();
44 // bool LangOpen(CLang &lang, CFSTR fileName);
45
46 void Lang_GetShortNames_for_DefaultLang(AStringVector &names, unsigned &subLang);
47
48 #endif
49