[NEW] Make Styler dialog of UDL2 translatable.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@962 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2012-10-04 21:21:03 +00:00
parent 60239d517f
commit 2352cb8d52
5 changed files with 117 additions and 25 deletions

View File

@ -363,15 +363,38 @@
<Item id="20011" name="Transparency"/> <Item id="20011" name="Transparency"/>
<Item id="20015" name="Import..."/> <Item id="20015" name="Import..."/>
<Item id="20016" name="Export..."/> <Item id="20016" name="Export..."/>
<Item id="0" name="Colour Style"/> <StylerDialog title="Styler Dialog">
<Item id="1" name="Foreground colour"/> <Item id="25030" name="Font options:"/>
<Item id="2" name="Background colour"/> <Item id="25006" name="Foreground colour"/>
<Item id="3" name="Font Style"/> <Item id="25007" name="Background colour"/>
<Item id="4" name="Font name:"/> <Item id="25031" name="Name:"/>
<Item id="5" name="Font size:"/> <Item id="25032" name="Size:"/>
<Item id="6" name="Bold"/> <Item id="25001" name="Bold"/>
<Item id="7" name="Italic"/> <Item id="25002" name="Italic"/>
<Item id="8" name="Underline"/> <Item id="25003" name="Underline"/>
<Item id="25029" name="Nesting:"/>
<Item id="25008" name="Delimiter 1"/>
<Item id="25009" name="Delimiter 2"/>
<Item id="25010" name="Delimiter 3"/>
<Item id="25011" name="Delimiter 4"/>
<Item id="25012" name="Delimiter 5"/>
<Item id="25013" name="Delimiter 6"/>
<Item id="25014" name="Delimiter 7"/>
<Item id="25015" name="Delimiter 8"/>
<Item id="25018" name="Keyword 1"/>
<Item id="25019" name="Keyword 2"/>
<Item id="25020" name="Keyword 3"/>
<Item id="25021" name="Keyword 4"/>
<Item id="25022" name="Keyword 5"/>
<Item id="25023" name="Keyword 6"/>
<Item id="25024" name="Keyword 7"/>
<Item id="25025" name="Keyword 8"/>
<Item id="25016" name="Comment"/>
<Item id="25017" name="Comment line"/>
<Item id="25026" name="Operator 1"/>
<Item id="25027" name="Operator 2"/>
<Item id="25028" name="Numbers"/>
</StylerDialog>
<Folder title="Folder &amp;&amp; Default"> <Folder title="Folder &amp;&amp; Default">
<Item id="21101" name="Default Style Settings"/> <Item id="21101" name="Default Style Settings"/>
<Item id="21201" name="Folder Open Keywords Settings"/> <Item id="21201" name="Folder Open Keywords Settings"/>

View File

@ -426,15 +426,6 @@
</SubDialog> </SubDialog>
</StyleConfig> </StyleConfig>
<UserDefine title="Langage utilisateur"> <UserDefine title="Langage utilisateur">
<Item id="0" name="Couleurs"/>
<Item id="1" name="Premier plan"/>
<Item id="2" name="Arričre-plan"/>
<Item id="3" name="Police"/>
<Item id="4" name="Famille :"/>
<Item id="5" name="Taille :"/>
<Item id="6" name="Gras"/>
<Item id="7" name="Italique"/>
<Item id="8" name="Souligné"/>
<Item id="20001" name="Ancrer"/> <Item id="20001" name="Ancrer"/>
<Item id="20002" name="Renommer"/> <Item id="20002" name="Renommer"/>
<Item id="20003" name="Nouveau..."/> <Item id="20003" name="Nouveau..."/>
@ -446,6 +437,38 @@
<Item id="20012" name="Ignorer la casse"/> <Item id="20012" name="Ignorer la casse"/>
<Item id="20015" name="Importer..."/> <Item id="20015" name="Importer..."/>
<Item id="20016" name="Exporter..."/> <Item id="20016" name="Exporter..."/>
<StylerDialog title="Styler">
<Item id="25030" name="Police:"/>
<Item id="25006" name="Premier plan"/>
<Item id="25007" name="Arričre-plan"/>
<Item id="25031" name="Nom:"/>
<Item id="25032" name="Taille:"/>
<Item id="25001" name="Gras"/>
<Item id="25002" name="Italique"/>
<Item id="25003" name="Souligné"/>
<Item id="25029" name="Héberge:"/>
<Item id="25008" name="Délimiteur 1"/>
<Item id="25009" name="Délimiteur 2"/>
<Item id="25010" name="Délimiteur 3"/>
<Item id="25011" name="Délimiteur 4"/>
<Item id="25012" name="Délimiteur 5"/>
<Item id="25013" name="Délimiteur 6"/>
<Item id="25014" name="Délimiteur 7"/>
<Item id="25015" name="Délimiteur 8"/>
<Item id="25018" name="Mot clé 1"/>
<Item id="25019" name="Mot clé 2"/>
<Item id="25020" name="Mot clé 3"/>
<Item id="25021" name="Mot clé 4"/>
<Item id="25022" name="Mot clé 5"/>
<Item id="25023" name="Mot clé 6"/>
<Item id="25024" name="Mot clé 7"/>
<Item id="25025" name="Mot clé 8"/>
<Item id="25016" name="Commentaire"/>
<Item id="25017" name="Commentaire sur une ligne"/>
<Item id="25026" name="Opérateur 1"/>
<Item id="25027" name="Opérateur 2"/>
<Item id="25028" name="Nombres"/>
</StylerDialog>
<Folder title="Bloc &amp;&amp; défaut"> <Folder title="Bloc &amp;&amp; défaut">
<Item id="21101" name="Style par défaut"/> <Item id="21101" name="Style par défaut"/>
<Item id="21201" name="Définition de bloc ouvrant"/> <Item id="21201" name="Définition de bloc ouvrant"/>

View File

@ -28,6 +28,7 @@
#include "precompiledHeaders.h" #include "precompiledHeaders.h"
#include "localization.h"
#include "UserDefineDialog.h" #include "UserDefineDialog.h"
#include "ScintillaEditView.h" #include "ScintillaEditView.h"
#include "Parameters.h" #include "Parameters.h"
@ -1486,11 +1487,14 @@ BOOL CALLBACK StylerDlg::dlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
{ {
StylerDlg * dlg = (StylerDlg *)::GetProp(hwnd, TEXT("Styler dialog prop")); StylerDlg * dlg = (StylerDlg *)::GetProp(hwnd, TEXT("Styler dialog prop"));
NppParameters *pNppParam = NppParameters::getInstance(); NppParameters *pNppParam = NppParameters::getInstance();
switch (message) switch (message)
{ {
case WM_INITDIALOG : case WM_INITDIALOG :
{ {
NativeLangSpeaker *pNativeLangSpeaker = pNppParam->getNativeLangSpeaker();
pNativeLangSpeaker->changeUserDefineLangPopupDlg(hwnd);
::SetProp(hwnd, TEXT("Styler dialog prop"), (HANDLE)lParam); ::SetProp(hwnd, TEXT("Styler dialog prop"), (HANDLE)lParam);
dlg = (StylerDlg *)::GetProp(hwnd, TEXT("Styler dialog prop")); dlg = (StylerDlg *)::GetProp(hwnd, TEXT("Styler dialog prop"));
Style & style = SharedParametersDialog::_pUserLang->_styleArray.getStyler(dlg->stylerIndex); Style & style = SharedParametersDialog::_pUserLang->_styleArray.getStyler(dlg->stylerIndex);

View File

@ -585,7 +585,7 @@ void NativeLangSpeaker::changeStyleCtrlsLang(HWND hDlg, int *idArray, const char
} }
} }
void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg) void NativeLangSpeaker::changeUserDefineLangPopupDlg(HWND hDlg)
{ {
if (!_nativeLangA) return; if (!_nativeLangA) return;
@ -595,7 +595,47 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
userDefineDlgNode = userDefineDlgNode->FirstChild("UserDefine"); userDefineDlgNode = userDefineDlgNode->FirstChild("UserDefine");
if (!userDefineDlgNode) return; if (!userDefineDlgNode) return;
//UserDefineDialog *userDefineDlg = _pEditView->getUserDefineDlg(); WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
TiXmlNodeA *stylerDialogNode = userDefineDlgNode->FirstChild("StylerDialog");
if (!stylerDialogNode) return;
const char *titre = (stylerDialogNode->ToElement())->Attribute("title");
if (titre &&titre[0])
{
const wchar_t *nameW = wmc->char2wchar(titre, _nativeLangEncoding);
::SetWindowText(hDlg, nameW);
}
for (TiXmlNodeA *childNode = stylerDialogNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(hDlg, id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
}
}
void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
{
if (!_nativeLangA) return;
TiXmlNodeA *userDefineDlgNode = _nativeLangA->FirstChild("Dialog");
if (!userDefineDlgNode) return;
userDefineDlgNode = userDefineDlgNode->FirstChild("UserDefine");
if (!userDefineDlgNode) return;
HWND hDlg = userDefineDlg->getHSelf(); HWND hDlg = userDefineDlg->getHSelf();
#ifdef UNICODE #ifdef UNICODE
@ -613,7 +653,7 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
::SetWindowText(hDlg, titre); ::SetWindowText(hDlg, titre);
#endif #endif
} }
// pour ses propres controls // for each control
const int nbControl = 9; const int nbControl = 9;
const char *translatedText[nbControl]; const char *translatedText[nbControl];
for (int i = 0 ; i < nbControl ; i++) for (int i = 0 ; i < nbControl ; i++)
@ -654,14 +694,13 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
} }
} }
} }
const int nbDlg = 4; const int nbDlg = 4;
HWND hDlgArrary[nbDlg]; HWND hDlgArrary[nbDlg];
hDlgArrary[0] = userDefineDlg->getFolderHandle(); hDlgArrary[0] = userDefineDlg->getFolderHandle();
hDlgArrary[1] = userDefineDlg->getKeywordsHandle(); hDlgArrary[1] = userDefineDlg->getKeywordsHandle();
hDlgArrary[2] = userDefineDlg->getCommentHandle(); hDlgArrary[2] = userDefineDlg->getCommentHandle();
hDlgArrary[3] = userDefineDlg->getSymbolHandle(); hDlgArrary[3] = userDefineDlg->getSymbolHandle();
/*
const int nbGrpFolder = 3; const int nbGrpFolder = 3;
int folderID[nbGrpFolder][nbControl] = { int folderID[nbGrpFolder][nbControl] = {
//{IDC_DEFAULT_COLORSTYLEGROUP_STATIC, IDC_DEFAULT_FG_STATIC, IDC_DEFAULT_BG_STATIC, IDC_DEFAULT_FONTSTYLEGROUP_STATIC, IDC_DEFAULT_FONTNAME_STATIC, IDC_DEFAULT_FONTSIZE_STATIC, IDC_DEFAULT_BOLD_CHECK, IDC_DEFAULT_ITALIC_CHECK, IDC_DEFAULT_UNDERLINE_CHECK},\ //{IDC_DEFAULT_COLORSTYLEGROUP_STATIC, IDC_DEFAULT_FG_STATIC, IDC_DEFAULT_BG_STATIC, IDC_DEFAULT_FONTSTYLEGROUP_STATIC, IDC_DEFAULT_FONTNAME_STATIC, IDC_DEFAULT_FONTSIZE_STATIC, IDC_DEFAULT_BOLD_CHECK, IDC_DEFAULT_ITALIC_CHECK, IDC_DEFAULT_UNDERLINE_CHECK},\
@ -693,11 +732,12 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
}; };
int nbGpArray[nbDlg] = {nbGrpFolder, nbGrpKeywords, nbGrpComment, nbGrpOperator}; int nbGpArray[nbDlg] = {nbGrpFolder, nbGrpKeywords, nbGrpComment, nbGrpOperator};
*/
const char nodeNameArray[nbDlg][16] = {"Folder", "Keywords", "Comment", "Operator"}; const char nodeNameArray[nbDlg][16] = {"Folder", "Keywords", "Comment", "Operator"};
for (int i = 0 ; i < nbDlg ; i++) for (int i = 0 ; i < nbDlg ; i++)
{ {
/*
for (int j = 0 ; j < nbGpArray[i] ; j++) for (int j = 0 ; j < nbGpArray[i] ; j++)
{ {
switch (i) switch (i)
@ -708,6 +748,7 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
case 3 : changeStyleCtrlsLang(hDlgArrary[i], operatorID[j], translatedText); break; case 3 : changeStyleCtrlsLang(hDlgArrary[i], operatorID[j], translatedText); break;
} }
} }
*/
TiXmlNodeA *node = userDefineDlgNode->FirstChild(nodeNameArray[i]); TiXmlNodeA *node = userDefineDlgNode->FirstChild(nodeNameArray[i]);
if (node) if (node)

View File

@ -54,6 +54,7 @@ public:
void changeShortcutmapperLang(ShortcutMapper * sm); void changeShortcutmapperLang(ShortcutMapper * sm);
void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText); void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText);
void changeUserDefineLang(UserDefineDialog *userDefineDlg); void changeUserDefineLang(UserDefineDialog *userDefineDlg);
void changeUserDefineLangPopupDlg(HWND hDlg);
void changeFindReplaceDlgLang(FindReplaceDlg & findReplaceDlg); void changeFindReplaceDlgLang(FindReplaceDlg & findReplaceDlg);
void changePrefereceDlgLang(PreferenceDlg & preference); void changePrefereceDlgLang(PreferenceDlg & preference);
bool isRTL() const { bool isRTL() const {