OSDN Git Service

ShellExtension: Fix an issue where the Shell Extension menu string did not switch...
[winmerge-jp/winmerge-jp.git] / ShellExtension / LanguageSelect.h
1 /** 
2  * @file  LanguageSelect.h
3  *
4  * @brief Declaration file for CLanguageSelect dialog.
5  */
6 #pragma once
7
8 #include <string>
9 #include <map>
10
11 /////////////////////////////////////////////////////////////////////////////
12 // CLanguageSelect class
13
14 /**
15  * @brief Class for selecting GUI language.
16  *
17  * Language select dialog shows list of installed GUI languages and
18  * allows user to select one for use.
19  */
20 class CLanguageSelect
21 {
22 // Construction
23 public:
24         CLanguageSelect();   // standard constructor
25         bool LoadLanguageFile(LANGID wLangId, const std::wstring& sLanguagesFolder);
26         bool TranslateString(const std::wstring&, std::wstring&) const;
27         LANGID GetLangId() const { return m_langId; }
28
29 // Implementation data
30 private:
31         std::map<std::wstring, std::wstring> m_map_msgid_to_msgstr;
32 // Implementation methods
33 private:
34         static std::wstring GetFileName(LANGID wLangId, const std::wstring& sLanguagesFolder);
35         LANGID m_langId;
36 };