From 13801e35405841cfb8ff0af65023e341ba3dca34 Mon Sep 17 00:00:00 2001 From: AngryGamer Date: Sat, 24 Feb 2018 14:04:59 -0800 Subject: [PATCH] Make column names translatable in Window->Window... Close #4219 --- PowerEditor/installer/nativeLang/english.xml | 5 +++ .../nativeLang/english_customizable.xml | 5 +++ .../src/WinControls/WindowsDlg/WindowsDlg.cpp | 45 ++++++++++++++----- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/PowerEditor/installer/nativeLang/english.xml b/PowerEditor/installer/nativeLang/english.xml index 8784bc903..1eede1fd7 100644 --- a/PowerEditor/installer/nativeLang/english.xml +++ b/PowerEditor/installer/nativeLang/english.xml @@ -1025,6 +1025,11 @@ please give another one."/> + + + + + diff --git a/PowerEditor/installer/nativeLang/english_customizable.xml b/PowerEditor/installer/nativeLang/english_customizable.xml index 3b8593195..6444d0d47 100644 --- a/PowerEditor/installer/nativeLang/english_customizable.xml +++ b/PowerEditor/installer/nativeLang/english_customizable.xml @@ -1025,6 +1025,11 @@ please give another one."/> + + + + + diff --git a/PowerEditor/src/WinControls/WindowsDlg/WindowsDlg.cpp b/PowerEditor/src/WinControls/WindowsDlg/WindowsDlg.cpp index 201cee1bb..8b3b2c8c0 100644 --- a/PowerEditor/src/WinControls/WindowsDlg/WindowsDlg.cpp +++ b/PowerEditor/src/WinControls/WindowsDlg/WindowsDlg.cpp @@ -32,6 +32,7 @@ #include "WindowsDlgRc.h" #include "DocTabView.h" #include "EncodingMapper.h" +#include "localization.h" using namespace std; @@ -43,6 +44,11 @@ using namespace std; #define LVS_EX_DOUBLEBUFFER 0x00010000 #endif +#define WD_ROOTNODE "WindowsDlg" +#define WD_CLMNNAME "ColumnName" +#define WD_CLMNPATH "ColumnPath" +#define WD_CLMNTYPE "ColumnType" + static const TCHAR *readonlyString = TEXT(" [Read Only]"); const UINT WDN_NOTIFY = RegisterWindowMessage(TEXT("WDN_NOTIFY")); @@ -533,17 +539,23 @@ BOOL WindowsDlg::onInitDialog() memset(&lvColumn, 0, sizeof(lvColumn)); lvColumn.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_FMT; lvColumn.fmt = LVCFMT_LEFT; + + generic_string columnText; + NativeLangSpeaker *pNativeSpeaker = (NppParameters::getInstance())->getNativeLangSpeaker(); - lvColumn.pszText = TEXT("\u21F5 Name"); + columnText = TEXT("\u21F5 ") + pNativeSpeaker->getAttrNameStr(TEXT("Name"), WD_ROOTNODE, WD_CLMNNAME); + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = width / 4; SendMessage(_hList, LVM_INSERTCOLUMN, 0, LPARAM(&lvColumn)); - lvColumn.pszText = TEXT("\u21F5 Path"); + columnText = TEXT("\u21F5 ") + pNativeSpeaker->getAttrNameStr(TEXT("Path"), WD_ROOTNODE, WD_CLMNPATH); + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = 300; SendMessage(_hList, LVM_INSERTCOLUMN, 1, LPARAM(&lvColumn)); lvColumn.fmt = LVCFMT_CENTER; - lvColumn.pszText = TEXT("\u21F5 Type"); + columnText = TEXT("\u21F5 ") + pNativeSpeaker->getAttrNameStr(TEXT("Type"), WD_ROOTNODE, WD_CLMNTYPE); + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = 50; SendMessage(_hList, LVM_INSERTCOLUMN, 2, LPARAM(&lvColumn)); @@ -570,49 +582,58 @@ void WindowsDlg::updateColumnNames() lvColumn.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_FMT; lvColumn.fmt = LVCFMT_LEFT; + generic_string columnText; + NativeLangSpeaker *pNativeSpeaker = (NppParameters::getInstance())->getNativeLangSpeaker(); + + columnText = pNativeSpeaker->getAttrNameStr(TEXT("Name"), WD_ROOTNODE, WD_CLMNNAME); if (_currentColumn != 0) { - lvColumn.pszText = TEXT("\u21F5 Name"); + columnText = TEXT("\u21F5 ") + columnText; } else if (_reverseSort) { - lvColumn.pszText = TEXT("\u25B3 Name"); + columnText = TEXT("\u25B3 ") + columnText; } else { - lvColumn.pszText = TEXT("\u25BD Name"); + columnText = TEXT("\u25BD ") + columnText; } + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = static_cast(SendMessage(_hList, LVM_GETCOLUMNWIDTH, 0, 0)); SendMessage(_hList, LVM_SETCOLUMN, 0, LPARAM(&lvColumn)); + columnText = pNativeSpeaker->getAttrNameStr(TEXT("Path"), WD_ROOTNODE, WD_CLMNPATH); if (_currentColumn != 1) { - lvColumn.pszText = TEXT("\u21F5 Path"); + columnText = TEXT("\u21F5 ") + columnText; } else if (_reverseSort) { - lvColumn.pszText = TEXT("\u25B3 Path"); + columnText = TEXT("\u25B3 ") + columnText; } else { - lvColumn.pszText = TEXT("\u25BD Path"); + columnText = TEXT("\u25BD ") + columnText; } + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = static_cast(SendMessage(_hList, LVM_GETCOLUMNWIDTH, 1, 0)); SendMessage(_hList, LVM_SETCOLUMN, 1, LPARAM(&lvColumn)); lvColumn.fmt = LVCFMT_CENTER; + columnText = pNativeSpeaker->getAttrNameStr(TEXT("Type"), WD_ROOTNODE, WD_CLMNTYPE); if (_currentColumn != 2) { - lvColumn.pszText = TEXT("\u21F5 Type"); + columnText = TEXT("\u21F5 ") + columnText; } else if (_reverseSort) { - lvColumn.pszText = TEXT("\u25B3 Type"); + columnText = TEXT("\u25B3 ") + columnText; } else { - lvColumn.pszText = TEXT("\u25BD Type"); + columnText = TEXT("\u25BD ") + columnText; } + lvColumn.pszText = const_cast(columnText.c_str()); lvColumn.cx = static_cast(SendMessage(_hList, LVM_GETCOLUMNWIDTH, 2, 0)); SendMessage(_hList, LVM_SETCOLUMN, 2, LPARAM(&lvColumn)); }