Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/UI/FileManager/LangPage.cpp')
-rwxr-xr-xCPP/7zip/UI/FileManager/LangPage.cpp41
1 files changed, 17 insertions, 24 deletions
diff --git a/CPP/7zip/UI/FileManager/LangPage.cpp b/CPP/7zip/UI/FileManager/LangPage.cpp
index 264872f6..85829368 100755
--- a/CPP/7zip/UI/FileManager/LangPage.cpp
+++ b/CPP/7zip/UI/FileManager/LangPage.cpp
@@ -1,16 +1,16 @@
// LangPage.cpp
#include "StdAfx.h"
-#include "LangPageRes.h"
-#include "LangPage.h"
#include "Common/StringConvert.h"
#include "Windows/ResourceString.h"
-#include "RegistryUtils.h"
#include "HelpUtils.h"
+#include "LangPage.h"
+#include "LangPageRes.h"
#include "LangUtils.h"
+#include "RegistryUtils.h"
static CIDLangPair kIDLangPairs[] =
{
@@ -19,17 +19,19 @@ static CIDLangPair kIDLangPairs[] =
static LPCWSTR kLangTopic = L"fm/options.htm#language";
+static UString NativeLangString(const UString &s)
+{
+ return L" (" + s + L')';
+}
+
bool CLangPage::OnInit()
{
- _langWasChanged = false;
LangSetDlgItemsText(HWND(*this), kIDLangPairs, sizeof(kIDLangPairs) / sizeof(kIDLangPairs[0]));
_langCombo.Attach(GetItem(IDC_LANG_COMBO_LANG));
- UString s = NWindows::MyLoadStringW(IDS_LANG_ENGLISH);
- s += L" (";
- s += NWindows::MyLoadStringW(IDS_LANG_NATIVE);
- s += L")";
+ UString s = NWindows::MyLoadStringW(IDS_LANG_ENGLISH) +
+ NativeLangString(NWindows::MyLoadStringW(IDS_LANG_NATIVE));
int index = (int)_langCombo.AddString(s);
_langCombo.SetItemData(index, _paths.Size());
_paths.Add(L"-");
@@ -40,21 +42,12 @@ bool CLangPage::OnInit()
for (int i = 0; i < langs.Size(); i++)
{
const CLangEx &lang = langs[i];
- UString name;
- UString englishName, nationalName;
- if (lang.Lang.GetMessage(0x00000000, englishName))
- name = englishName;
- else
+ UString name, nationalName;
+ if (!lang.Lang.GetMessage(0, name))
name = lang.ShortName;
- if (lang.Lang.GetMessage(0x00000001, nationalName))
- {
- if (!nationalName.IsEmpty())
- {
- name += L" (";
- name += nationalName;
- name += L")";
- }
- }
+ if (lang.Lang.GetMessage(1, nationalName) && !nationalName.IsEmpty())
+ name += NativeLangString(nationalName);
+
index = (int)_langCombo.AddString(name);
_langCombo.SetItemData(index, _paths.Size());
_paths.Add(lang.ShortName);
@@ -70,13 +63,13 @@ LONG CLangPage::OnApply()
int pathIndex = (int)_langCombo.GetItemData(selectedIndex);
SaveRegLang(_paths[pathIndex]);
ReloadLang();
- _langWasChanged = true;
+ LangWasChanged = true;
return PSNRET_NOERROR;
}
void CLangPage::OnNotifyHelp()
{
- ShowHelpWindow(NULL, kLangTopic); // change it
+ ShowHelpWindow(NULL, kLangTopic);
}
bool CLangPage::OnCommand(int code, int itemID, LPARAM param)