1370b324cSopenharmony_ci// LangUtils.h
2370b324cSopenharmony_ci
3370b324cSopenharmony_ci#ifndef ZIP7_INC_LANG_UTILS_H
4370b324cSopenharmony_ci#define ZIP7_INC_LANG_UTILS_H
5370b324cSopenharmony_ci
6370b324cSopenharmony_ci#include "../../../Common/Lang.h"
7370b324cSopenharmony_ci
8370b324cSopenharmony_ci#include "../../../Windows/ResourceString.h"
9370b324cSopenharmony_ci
10370b324cSopenharmony_ciextern UString g_LangID;
11370b324cSopenharmony_ciextern CLang g_Lang;
12370b324cSopenharmony_ci
13370b324cSopenharmony_ci#ifdef Z7_LANG
14370b324cSopenharmony_ci
15370b324cSopenharmony_cistruct CIDLangPair
16370b324cSopenharmony_ci{
17370b324cSopenharmony_ci  UInt32 ControlID;
18370b324cSopenharmony_ci  UInt32 LangID;
19370b324cSopenharmony_ci};
20370b324cSopenharmony_ci
21370b324cSopenharmony_civoid ReloadLang();
22370b324cSopenharmony_civoid LoadLangOneTime();
23370b324cSopenharmony_ci
24370b324cSopenharmony_civoid LangSetDlgItemText(HWND dialog, UInt32 controlID, UInt32 langID);
25370b324cSopenharmony_civoid LangSetDlgItems(HWND dialog, const UInt32 *ids, unsigned numItems);
26370b324cSopenharmony_civoid LangSetDlgItems_Colon(HWND dialog, const UInt32 *ids, unsigned numItems);
27370b324cSopenharmony_civoid LangSetDlgItems_RemoveColon(HWND dialog, const UInt32 *ids, unsigned numItems);
28370b324cSopenharmony_civoid LangSetWindowText(HWND window, UInt32 langID);
29370b324cSopenharmony_ci
30370b324cSopenharmony_ciUString LangString(UInt32 langID);
31370b324cSopenharmony_civoid AddLangString(UString &s, UInt32 langID);
32370b324cSopenharmony_civoid LangString(UInt32 langID, UString &dest);
33370b324cSopenharmony_civoid LangString_OnlyFromLangFile(UInt32 langID, UString &dest);
34370b324cSopenharmony_ci
35370b324cSopenharmony_ci#else
36370b324cSopenharmony_ci
37370b324cSopenharmony_ciinline UString LangString(UInt32 langID) { return NWindows::MyLoadString(langID); }
38370b324cSopenharmony_ciinline void LangString(UInt32 langID, UString &dest) { NWindows::MyLoadString(langID, dest); }
39370b324cSopenharmony_ciinline void AddLangString(UString &s, UInt32 langID) { s += NWindows::MyLoadString(langID); }
40370b324cSopenharmony_ci
41370b324cSopenharmony_ci#endif
42370b324cSopenharmony_ci
43370b324cSopenharmony_ciFString GetLangDirPrefix();
44370b324cSopenharmony_ci// bool LangOpen(CLang &lang, CFSTR fileName);
45370b324cSopenharmony_ci
46370b324cSopenharmony_civoid Lang_GetShortNames_for_DefaultLang(AStringVector &names, unsigned &subLang);
47370b324cSopenharmony_ci
48370b324cSopenharmony_ci#endif
49