From 482891e1891e906373d2ad95902b34101e13e30c Mon Sep 17 00:00:00 2001 From: Jun Tajima <56220423+tjmprm77@users.noreply.github.com> Date: Sun, 5 Sep 2021 18:31:15 +0900 Subject: [PATCH] Add a feature to set items saved to or restored from the project file. (#953) --- Src/Common/PreferencesDlg.cpp | 5 ++ Src/Common/PreferencesDlg.h | 2 + Src/Merge.cpp | 43 +++++---- Src/Merge.rc | 33 +++++++ Src/Merge.vcxproj | 8 ++ Src/Merge.vcxproj.filters | 12 +++ Src/OpenView.cpp | 84 +++++++++++------ Src/OptionsInit.cpp | 2 + Src/OptionsProject.cpp | 87 ++++++++++++++++++ Src/OptionsProject.h | 32 +++++++ Src/ProjectFile.cpp | 38 +++++--- Src/ProjectFile.h | 110 +++++++++++++++++++++++ Src/PropProject.cpp | 134 ++++++++++++++++++++++++++++ Src/PropProject.h | 55 ++++++++++++ Src/resource.h | 17 +++- Translations/WinMerge/Arabic.po | 21 +++++ Translations/WinMerge/Basque.po | 21 +++++ Translations/WinMerge/Brazilian.po | 21 +++++ Translations/WinMerge/Bulgarian.po | 21 +++++ Translations/WinMerge/Catalan.po | 21 +++++ Translations/WinMerge/ChineseSimplified.po | 21 +++++ Translations/WinMerge/ChineseTraditional.po | 21 +++++ Translations/WinMerge/Croatian.po | 21 +++++ Translations/WinMerge/Czech.po | 21 +++++ Translations/WinMerge/Danish.po | 21 +++++ Translations/WinMerge/Dutch.po | 21 +++++ Translations/WinMerge/English.pot | 23 ++++- Translations/WinMerge/Finnish.po | 21 +++++ Translations/WinMerge/French.po | 21 +++++ Translations/WinMerge/Galician.po | 21 +++++ Translations/WinMerge/German.po | 21 +++++ Translations/WinMerge/Greek.po | 21 +++++ Translations/WinMerge/Hungarian.po | 21 +++++ Translations/WinMerge/Italian.po | 21 +++++ Translations/WinMerge/Japanese.po | 21 +++++ Translations/WinMerge/Korean.po | 21 +++++ Translations/WinMerge/Lithuanian.po | 21 +++++ Translations/WinMerge/Norwegian.po | 21 +++++ Translations/WinMerge/Persian.po | 21 +++++ Translations/WinMerge/Polish.po | 21 +++++ Translations/WinMerge/Portuguese.po | 21 +++++ Translations/WinMerge/Romanian.po | 21 +++++ Translations/WinMerge/Russian.po | 21 +++++ Translations/WinMerge/Serbian.po | 21 +++++ Translations/WinMerge/Sinhala.po | 21 +++++ Translations/WinMerge/Slovak.po | 21 +++++ Translations/WinMerge/Slovenian.po | 21 +++++ Translations/WinMerge/Spanish.po | 21 +++++ Translations/WinMerge/Swedish.po | 21 +++++ Translations/WinMerge/Turkish.po | 21 +++++ Translations/WinMerge/Ukrainian.po | 21 +++++ 51 files changed, 1360 insertions(+), 60 deletions(-) create mode 100644 Src/OptionsProject.cpp create mode 100644 Src/OptionsProject.h create mode 100644 Src/PropProject.cpp create mode 100644 Src/PropProject.h diff --git a/Src/Common/PreferencesDlg.cpp b/Src/Common/PreferencesDlg.cpp index 5d72933a4..c75f116e9 100644 --- a/Src/Common/PreferencesDlg.cpp +++ b/Src/Common/PreferencesDlg.cpp @@ -52,6 +52,7 @@ CPreferencesDlg::CPreferencesDlg(COptionsMgr *regOptions, SyntaxColors *colors, , m_pageCodepage(regOptions) , m_pageEditor(regOptions) , m_pageEditorSyntax(regOptions) +, m_pageProject(regOptions) , m_pageSystem(regOptions) , m_pageBackups(regOptions) , m_pageShell(regOptions) @@ -116,6 +117,7 @@ BOOL CPreferencesDlg::OnInitDialog() AddPage(&m_pageMarkerColors, IDS_OPTIONSPG_COLORS, IDS_OPTIONSPG_MARKERCOLORS); AddPage(&m_pageDirColors, IDS_OPTIONSPG_COLORS, IDS_OPTIONSPG_DIRCOLORS); AddPage(&m_pageArchive, IDS_OPTIONSPG_ARCHIVE); + AddPage(&m_pageProject, IDS_OPTIONSPG_PROJECT); AddPage(&m_pageSystem, IDS_OPTIONSPG_SYSTEM); AddPage(&m_pageBackups, IDS_OPTIONSPG_BACKUPS); AddPage(&m_pageCodepage, IDS_OPTIONSPG_CODEPAGE); @@ -297,6 +299,7 @@ void CPreferencesDlg::ReadOptions(bool bUpdate) m_pageEditorSyntax.ReadOptions(); m_pageCodepage.ReadOptions(); m_pageArchive.ReadOptions(); + m_pageProject.ReadOptions(); m_pageBackups.ReadOptions(); m_pageShell.ReadOptions(); @@ -320,6 +323,7 @@ void CPreferencesDlg::ReadOptions(bool bUpdate) SafeUpdatePage(&m_pageEditorSyntax, false); SafeUpdatePage(&m_pageCodepage, false); SafeUpdatePage(&m_pageArchive, false); + SafeUpdatePage(&m_pageProject, false); SafeUpdatePage(&m_pageBackups, false); SafeUpdatePage(&m_pageShell, false); } @@ -348,6 +352,7 @@ void CPreferencesDlg::SaveOptions() m_pageDirColors.WriteOptions(); m_pageCodepage.WriteOptions(); m_pageArchive.WriteOptions(); + m_pageProject.WriteOptions(); m_pageBackups.WriteOptions(); m_pageShell.WriteOptions(); } diff --git a/Src/Common/PreferencesDlg.h b/Src/Common/PreferencesDlg.h index d49975233..6b90e2617 100644 --- a/Src/Common/PreferencesDlg.h +++ b/Src/Common/PreferencesDlg.h @@ -24,6 +24,7 @@ #include "PropDirColors.h" #include "PropCodepage.h" #include "PropArchive.h" +#include "PropProject.h" #include "PropBackups.h" #include "PropShell.h" #include "PropCompareFolder.h" @@ -71,6 +72,7 @@ protected: PropMarkerColors m_pageMarkerColors; PropDirColors m_pageDirColors; PropArchive m_pageArchive; + PropProject m_pageProject; PropBackups m_pageBackups; PropShell m_pageShell; PropCompareFolder m_pageCompareFolder; diff --git a/Src/Merge.cpp b/Src/Merge.cpp index e8b0ff3af..0ea07f38b 100644 --- a/Src/Merge.cpp +++ b/Src/Merge.cpp @@ -57,6 +57,7 @@ #include "CompareStats.h" #include "TestMain.h" #include "charsets.h" // For shutdown cleanup +#include "OptionsProject.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -1252,8 +1253,8 @@ bool CMergeApp::LoadAndOpenProjectFile(const String& sProject, const String& sRe std::unique_ptr pInfoPrediffer; std::unique_ptr pInfoUnpacker; PathContext tFiles; - bool bRecursive = false; - projItem.GetPaths(tFiles, bRecursive); + bool bDummy = false; + projItem.GetPaths(tFiles, bDummy); for (int i = 0; i < tFiles.GetSize(); ++i) { if (!paths::IsPathAbsolute(tFiles[i])) @@ -1271,15 +1272,16 @@ bool CMergeApp::LoadAndOpenProjectFile(const String& sProject, const String& sRe bool bLeftReadOnly = projItem.GetLeftReadOnly(); bool bMiddleReadOnly = projItem.GetMiddleReadOnly(); bool bRightReadOnly = projItem.GetRightReadOnly(); - if (projItem.HasFilter()) + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Open, Options::Project::Item::FileFilter) && projItem.HasFilter()) { String filter = projItem.GetFilter(); filter = strutils::trim_ws(filter); GetGlobalFileFilter()->SetFilter(filter); } - if (projItem.HasSubfolders()) + bool bRecursive = GetOptionsMgr()->GetBool(OPT_CMP_INCLUDE_SUBDIRS); + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Open, Options::Project::Item::IncludeSubfolders) && projItem.HasSubfolders()) bRecursive = projItem.GetSubfolders() > 0; - if (projItem.HasUnpacker()) + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Open, Options::Project::Item::UnpackerPlugin) && projItem.HasUnpacker()) pInfoUnpacker.reset(new PackingInfo(projItem.GetUnpacker())); if (projItem.HasPrediffer()) pInfoPrediffer.reset(new PrediffingInfo(projItem.GetPrediffer())); @@ -1306,20 +1308,23 @@ bool CMergeApp::LoadAndOpenProjectFile(const String& sProject, const String& sRe GetOptionsMgr()->Set(OPT_CMP_INCLUDE_SUBDIRS, bRecursive); - if (projItem.HasIgnoreWhite()) - GetOptionsMgr()->Set(OPT_CMP_IGNORE_WHITESPACE, projItem.GetIgnoreWhite()); - if (projItem.HasIgnoreBlankLines()) - GetOptionsMgr()->Set(OPT_CMP_IGNORE_BLANKLINES, projItem.GetIgnoreBlankLines()); - if (projItem.HasIgnoreCase()) - GetOptionsMgr()->Set(OPT_CMP_IGNORE_CASE, projItem.GetIgnoreCase()); - if (projItem.HasIgnoreEol()) - GetOptionsMgr()->Set(OPT_CMP_IGNORE_EOL, projItem.GetIgnoreEol()); - if (projItem.HasIgnoreCodepage()) - GetOptionsMgr()->Set(OPT_CMP_IGNORE_CODEPAGE, projItem.GetIgnoreCodepage()); - if (projItem.HasFilterCommentsLines()) - GetOptionsMgr()->Set(OPT_CMP_FILTER_COMMENTLINES, projItem.GetFilterCommentsLines()); - if (projItem.HasCompareMethod()) - GetOptionsMgr()->Set(OPT_CMP_METHOD, projItem.GetCompareMethod()); + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Open, Options::Project::Item::CompareOptions)) + { + if (projItem.HasIgnoreWhite()) + GetOptionsMgr()->Set(OPT_CMP_IGNORE_WHITESPACE, projItem.GetIgnoreWhite()); + if (projItem.HasIgnoreBlankLines()) + GetOptionsMgr()->Set(OPT_CMP_IGNORE_BLANKLINES, projItem.GetIgnoreBlankLines()); + if (projItem.HasIgnoreCase()) + GetOptionsMgr()->Set(OPT_CMP_IGNORE_CASE, projItem.GetIgnoreCase()); + if (projItem.HasIgnoreEol()) + GetOptionsMgr()->Set(OPT_CMP_IGNORE_EOL, projItem.GetIgnoreEol()); + if (projItem.HasIgnoreCodepage()) + GetOptionsMgr()->Set(OPT_CMP_IGNORE_CODEPAGE, projItem.GetIgnoreCodepage()); + if (projItem.HasFilterCommentsLines()) + GetOptionsMgr()->Set(OPT_CMP_FILTER_COMMENTLINES, projItem.GetFilterCommentsLines()); + if (projItem.HasCompareMethod()) + GetOptionsMgr()->Set(OPT_CMP_METHOD, projItem.GetCompareMethod()); + } rtn &= GetMainFrame()->DoFileOrFolderOpen(&tFiles, dwFlags, nullptr, sReportFile, bRecursive, nullptr, pInfoUnpacker.get(), pInfoPrediffer.get()); diff --git a/Src/Merge.rc b/Src/Merge.rc index ce98ef718..101df14bb 100644 --- a/Src/Merge.rc +++ b/Src/Merge.rc @@ -1768,6 +1768,14 @@ BEGIN "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_GROUP | WS_TABSTOP,7,18,241,20 END +IDD_PROPPAGE_PROJECT DIALOGEX 0, 0, 255, 242 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Items saved to or restored from the project file:",IDC_STATIC,7,10,229,10 + CONTROL "", IDC_PROJECT_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 22, 241, 64 +END + IDD_COMPARE_STATISTICS DIALOGEX 0, 0, 257, 174 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Compare Statistics" @@ -2226,6 +2234,10 @@ BEGIN BEGIN END + IDD_PROPPAGE_PROJECT, DIALOG + BEGIN + END + IDD_PROPPAGE_COLORS_TEXT, DIALOG BEGIN END @@ -2717,6 +2729,13 @@ BEGIN 0, 0, 100, 0, END +IDD_PROPPAGE_PROJECT AFX_DIALOG_LAYOUT +BEGIN + 0, + 0, 0, 100, 0, + 0, 0, 100, 0, +END + IDD_PROPPAGE_SYSTEM AFX_DIALOG_LAYOUT BEGIN 0, @@ -2869,6 +2888,7 @@ BEGIN IDS_OPTIONSPG_SYSTEM "System" IDS_OPTIONSPG_CODEPAGE "Codepage" IDS_OPTIONSPG_ARCHIVE "Archive Support" + IDS_OPTIONSPG_PROJECT "Project" IDS_OPTIONSPG_BACKUPS "Backup Files" IDS_OPTIONSPG_SHELL "Shell Integration" IDS_OPTIONSPG_MERGECOLORS "Differences" @@ -2956,6 +2976,19 @@ BEGIN IDS_MESSAGEBOX_ANSWER "Answer" END +// PROJECT OPTIONS +STRINGTABLE +BEGIN + IDS_PROJECT_ITEM "Item" + IDS_PROJECT_OPEN "Open" + IDS_PROJECT_LOAD "Load" + IDS_PROJECT_SAVE "Save" + IDS_PROJECT_ITEM_FILE_FILTER "File Filters" + IDS_PROJECT_ITEM_INCLUDE_SUBFOLDERS "Include Subfolders" + IDS_PROJECT_ITEM_PLUGIN "Plugins" + IDS_PROJECT_ITEM_COMPARE_OPTIONS "Compare Options" +END + // FILTER OPTIONS STRINGTABLE BEGIN diff --git a/Src/Merge.vcxproj b/Src/Merge.vcxproj index c9544e007..806ddf152 100644 --- a/Src/Merge.vcxproj +++ b/Src/Merge.vcxproj @@ -980,6 +980,11 @@ stdafx.h + + Use + pch.h + $(IntDir)$(TargetName)2.pch + Use pch.h @@ -1045,6 +1050,7 @@ + @@ -1274,6 +1280,7 @@ + @@ -1303,6 +1310,7 @@ + diff --git a/Src/Merge.vcxproj.filters b/Src/Merge.vcxproj.filters index 34ecaeff3..2b473a930 100644 --- a/Src/Merge.vcxproj.filters +++ b/Src/Merge.vcxproj.filters @@ -555,6 +555,12 @@ MFCGui\PropertyPages\Source Files + + MFCGui\PropertyPages\Source Files + + + Source Files + MFCGui\MDIChild\FolderCompare\Source Files @@ -1151,6 +1157,12 @@ MFCGui\PropertyPages\Header Files + + MFCGui\PropertyPages\Header Files + + + Header Files + MFCGui\MDIChild\BinaryCompare\Header Files diff --git a/Src/OpenView.cpp b/Src/OpenView.cpp index 6b090d6d1..dc1c82a30 100644 --- a/Src/OpenView.cpp +++ b/Src/OpenView.cpp @@ -33,6 +33,7 @@ #include "BCMenu.h" #include "LanguageSelect.h" #include "Win_VersionHelper.h" +#include "OptionsProject.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -779,6 +780,8 @@ void COpenView::OnCancel() */ void COpenView::OnLoadProject() { + UpdateData(TRUE); + String fileName = AskProjectFileName(true); if (fileName.empty()) return; @@ -790,7 +793,10 @@ void COpenView::OnLoadProject() return; PathContext paths; ProjectFileItem& projItem = *project.Items().begin(); - projItem.GetPaths(paths, m_bRecurse); + bool bRecurse = m_bRecurse; + projItem.GetPaths(paths, bRecurse); + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Load, Options::Project::Item::IncludeSubfolders)) + m_bRecurse = bRecurse; if (paths.GetSize() < 3) { m_strPath[0] = paths[0]; @@ -809,24 +815,28 @@ void COpenView::OnLoadProject() m_bReadOnly[1] = projItem.GetMiddleReadOnly(); m_bReadOnly[2] = projItem.GetRightReadOnly(); } - m_strExt = projItem.GetFilter(); - if (projItem.HasUnpacker()) + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Load, Options::Project::Item::FileFilter) && projItem.HasFilter()) + m_strExt = projItem.GetFilter(); + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Load, Options::Project::Item::UnpackerPlugin) && projItem.HasUnpacker()) m_strUnpackerPipeline = projItem.GetUnpacker(); - if (projItem.HasIgnoreWhite()) - m_nIgnoreWhite = projItem.GetIgnoreWhite(); - if (projItem.HasIgnoreBlankLines()) - m_bIgnoreBlankLines = projItem.GetIgnoreBlankLines(); - if (projItem.HasIgnoreCase()) - m_bIgnoreCase = projItem.GetIgnoreCase(); - if (projItem.HasIgnoreEol()) - m_bIgnoreEol = projItem.GetIgnoreEol(); - if (projItem.HasIgnoreCodepage()) - m_bIgnoreCodepage = projItem.GetIgnoreCodepage(); - if (projItem.HasFilterCommentsLines()) - m_bFilterCommentsLines = projItem.GetFilterCommentsLines(); - if (projItem.HasCompareMethod()) - m_nCompareMethod = projItem.GetCompareMethod(); + if (Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Load, Options::Project::Item::CompareOptions)) + { + if (projItem.HasIgnoreWhite()) + m_nIgnoreWhite = projItem.GetIgnoreWhite(); + if (projItem.HasIgnoreBlankLines()) + m_bIgnoreBlankLines = projItem.GetIgnoreBlankLines(); + if (projItem.HasIgnoreCase()) + m_bIgnoreCase = projItem.GetIgnoreCase(); + if (projItem.HasIgnoreEol()) + m_bIgnoreEol = projItem.GetIgnoreEol(); + if (projItem.HasIgnoreCodepage()) + m_bIgnoreCodepage = projItem.GetIgnoreCodepage(); + if (projItem.HasFilterCommentsLines()) + m_bFilterCommentsLines = projItem.GetFilterCommentsLines(); + if (projItem.HasCompareMethod()) + m_nCompareMethod = projItem.GetCompareMethod(); + } UpdateData(FALSE); UpdateButtonStates(); @@ -847,6 +857,22 @@ void COpenView::OnSaveProject() ProjectFile project; ProjectFileItem projItem; + bool bSaveFileFilter = Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Save, Options::Project::Item::FileFilter); + bool bSaveIncludeSubfolders = Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Save, Options::Project::Item::IncludeSubfolders); + bool bSaveUnpackerPlugin = Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Save, Options::Project::Item::UnpackerPlugin); + bool bSaveCompareOptions = Options::Project::Get(GetOptionsMgr(), Options::Project::Operation::Save, Options::Project::Item::CompareOptions); + + projItem.SetSaveFilter(bSaveFileFilter); + projItem.SetSaveSubfolders(bSaveIncludeSubfolders); + projItem.SetSaveUnpacker(bSaveUnpackerPlugin); + projItem.SetSaveIgnoreWhite(bSaveCompareOptions); + projItem.SetSaveIgnoreBlankLines(bSaveCompareOptions); + projItem.SetSaveIgnoreCase(bSaveCompareOptions); + projItem.SetSaveIgnoreEol(bSaveCompareOptions); + projItem.SetSaveIgnoreCodepage(bSaveCompareOptions); + projItem.SetSaveFilterCommentsLines(bSaveCompareOptions); + projItem.SetSaveCompareMethod(bSaveCompareOptions); + if (!m_strPath[0].empty()) projItem.SetLeft(m_strPath[0], &m_bReadOnly[0]); if (m_strPath[2].empty()) @@ -861,7 +887,7 @@ void COpenView::OnSaveProject() if (!m_strPath[2].empty()) projItem.SetRight(m_strPath[2], &m_bReadOnly[2]); } - if (!m_strExt.empty()) + if (bSaveFileFilter && !m_strExt.empty()) { // Remove possbile prefix from the filter name String prefix = _("[F] "); @@ -874,17 +900,21 @@ void COpenView::OnSaveProject() strExt = strutils::trim_ws_begin(strExt); projItem.SetFilter(strExt); } - projItem.SetSubfolders(m_bRecurse); - if (!m_strUnpackerPipeline.empty()) + if (bSaveIncludeSubfolders) + projItem.SetSubfolders(m_bRecurse); + if (bSaveUnpackerPlugin && !m_strUnpackerPipeline.empty()) projItem.SetUnpacker(m_strUnpackerPipeline); - projItem.SetIgnoreWhite(m_nIgnoreWhite); - projItem.SetIgnoreBlankLines(m_bIgnoreBlankLines); - projItem.SetIgnoreCase(m_bIgnoreCase); - projItem.SetIgnoreEol(m_bIgnoreEol); - projItem.SetIgnoreCodepage(m_bIgnoreCodepage); - projItem.SetFilterCommentsLines(m_bFilterCommentsLines); - projItem.SetCompareMethod(m_nCompareMethod); + if (bSaveCompareOptions) + { + projItem.SetIgnoreWhite(m_nIgnoreWhite); + projItem.SetIgnoreBlankLines(m_bIgnoreBlankLines); + projItem.SetIgnoreCase(m_bIgnoreCase); + projItem.SetIgnoreEol(m_bIgnoreEol); + projItem.SetIgnoreCodepage(m_bIgnoreCodepage); + projItem.SetFilterCommentsLines(m_bFilterCommentsLines); + projItem.SetCompareMethod(m_nCompareMethod); + } project.Items().push_back(projItem); diff --git a/Src/OptionsInit.cpp b/Src/OptionsInit.cpp index 566648988..7cd0fa304 100644 --- a/Src/OptionsInit.cpp +++ b/Src/OptionsInit.cpp @@ -16,6 +16,7 @@ #include "OptionsDirColors.h" #include "OptionsEditorSyntax.h" #include "OptionsFont.h" +#include "OptionsProject.h" #include "DiffWrapper.h" // CMP_CONTENT #include "paths.h" #include "Environment.h" @@ -228,6 +229,7 @@ void Init(COptionsMgr *pOptions) Options::DirColors::Init(pOptions); Options::EditorSyntax::Init(pOptions); Options::Font::Init(pOptions); + Options::Project::Init(pOptions); } /** diff --git a/Src/OptionsProject.cpp b/Src/OptionsProject.cpp new file mode 100644 index 000000000..f3a0810a5 --- /dev/null +++ b/Src/OptionsProject.cpp @@ -0,0 +1,87 @@ +#include "pch.h" +#include "OptionsProject.h" +#include "OptionsMgr.h" + +namespace Options { namespace Project +{ + +/** @brief Setting name for project options. */ +const TCHAR Section[] = _T("Project"); + +/** @brief Setting name for operations */ +const String OperationKeyword[OperationCount] = { _T("Open"), _T("Load"), _T("Save") }; + +/** @brief Setting name for items */ +const String ItemKeyword[ItemCount] = { _T("FileFilter"), _T("IncludeSubfolders"), _T("UnpackerPlugin"), _T("CompareOptions") }; + +/** + * @brief Initialize project settings. + * @param [in] pOptionsMgr Pointer to OptionsMgr + */ +void Init(COptionsMgr *pOptionsMgr) +{ + if (pOptionsMgr == nullptr) + return; + + for (int i = 0; i < OperationCount; i++) + for (int j = 0; j < ItemCount; j++) + { + String name = strutils::format(_T("%s/%s.%s"), Section, OperationKeyword[i], ItemKeyword[j]); + pOptionsMgr->InitOption(name, true); + } +} + +/** + * @brief Load the project settings from OptionsMgr. + * @param [in] pOptionsMgr Pointer to OptionsMgr + * @param [out] settings Loaded project settings + */ +void Load(COptionsMgr *pOptionsMgr, Settings settings) +{ + + if (pOptionsMgr == nullptr || settings == nullptr) + return; + + for (int i = 0; i < OperationCount; i++) + for (int j = 0; j < ItemCount; j++) + { + String name = strutils::format(_T("%s/%s.%s"), Section, OperationKeyword[i], ItemKeyword[j]); + settings[i][j] = pOptionsMgr->GetBool(name); + } +} + +/** + * @brief Save the project settings to OptionsMgr. + * @param [in] pOptionsMgr Pointer to OptionsMgr + * @param [in] settings Project settings + */ +void Save(COptionsMgr* pOptionsMgr, const Settings& settings) +{ + + if (pOptionsMgr == nullptr) + return; + + for (int i = 0; i < OperationCount; i++) + for (int j = 0; j < ItemCount; j++) + { + String name = strutils::format(_T("%s/%s.%s"), Section, OperationKeyword[i], ItemKeyword[j]); + pOptionsMgr->SaveOption(name, settings[i][j]); + } +} + +/** + * @brief Get the project setting from OptionsMgr. + * @param [in] pOptionsMgr Pointer to OptionsMgr + * @param [in] operation Operation for project files + * @param [in] item Item to save to or restore from the project file + */ +bool Get(COptionsMgr* pOptionsMgr, Operation operation, Item item) +{ + if (pOptionsMgr == nullptr) + return false; + + String name = strutils::format(_T("%s/%s.%s"), Section, OperationKeyword[static_cast(operation)], ItemKeyword[static_cast(item)]); + return pOptionsMgr->GetBool(name); +} + +}} \ No newline at end of file diff --git a/Src/OptionsProject.h b/Src/OptionsProject.h new file mode 100644 index 000000000..71a260fcc --- /dev/null +++ b/Src/OptionsProject.h @@ -0,0 +1,32 @@ +#pragma once + +class COptionsMgr; + +namespace Options { namespace Project { + +/** @brief Types of operations for project files */ +enum class Operation +{ + Open, + Load, + Save +}; +constexpr int OperationCount = static_cast(Operation::Save) + 1; + +/** @brief Types of items to save to or restore from the project file */ +enum class Item +{ + FileFilter, + IncludeSubfolders, + UnpackerPlugin, + CompareOptions +}; +constexpr int ItemCount = static_cast(Item::CompareOptions) + 1; + +typedef bool Settings[OperationCount][ItemCount]; + +void Init(COptionsMgr *pOptionsMgr); +void Load(COptionsMgr *pOptionsMgr, Settings settings); +void Save(COptionsMgr *pOptionsMgr, const Settings& settings); +bool Get(COptionsMgr* pOptionsMgr, Operation operation, Item item); +}} diff --git a/Src/ProjectFile.cpp b/Src/ProjectFile.cpp index adef64262..ab5f45c50 100755 --- a/Src/ProjectFile.cpp +++ b/Src/ProjectFile.cpp @@ -219,6 +219,16 @@ const String ProjectFile::PROJECTFILE_EXT = toTString("WinMerge"); , m_bFilterCommentsLines(false) , m_bHasCompareMethod(false) , m_nCompareMethod(0) +, m_bSaveFilter(true) +, m_bSaveSubfolders(true) +, m_bSaveUnpacker(true) +, m_bSaveIgnoreWhite(true) +, m_bSaveIgnoreBlankLines(true) +, m_bSaveIgnoreCase(true) +, m_bSaveIgnoreEol(true) +, m_bSaveIgnoreCodepage(true) +, m_bSaveFilterCommentsLines(true) +, m_bSaveCompareMethod(true) { } @@ -346,24 +356,32 @@ bool ProjectFile::Save(const String& path) const writeElement(writer, Middle_element_name, toUTF8(item.m_paths.GetMiddle())); if (!item.m_paths.GetRight().empty()) writeElement(writer, Right_element_name, toUTF8(item.m_paths.GetRight())); - if (!item.m_filter.empty()) + if (item.m_bSaveFilter && !item.m_filter.empty()) writeElement(writer, Filter_element_name, toUTF8(item.m_filter)); - writeElement(writer, Subfolders_element_name, item.m_subfolders != 0 ? "1" : "0"); + if (item.m_bSaveSubfolders) + writeElement(writer, Subfolders_element_name, item.m_subfolders != 0 ? "1" : "0"); writeElement(writer, Left_ro_element_name, item.m_bLeftReadOnly ? "1" : "0"); if (!item.m_paths.GetMiddle().empty()) writeElement(writer, Middle_ro_element_name, item.m_bMiddleReadOnly ? "1" : "0"); writeElement(writer, Right_ro_element_name, item.m_bRightReadOnly ? "1" : "0"); - if (!item.m_unpacker.empty()) + if (item.m_bSaveUnpacker && !item.m_unpacker.empty()) writeElement(writer, Unpacker_element_name, toUTF8(item.m_unpacker)); if (!item.m_prediffer.empty()) writeElement(writer, Prediffer_element_name, toUTF8(item.m_prediffer)); - writeElement(writer, White_spaces_element_name, std::to_string(item.m_nIgnoreWhite)); - writeElement(writer, Ignore_blank_lines_element_name, item.m_bIgnoreBlankLines ? "1" : "0"); - writeElement(writer, Ignore_case_element_name, item.m_bIgnoreCase ? "1" : "0"); - writeElement(writer, Ignore_cr_diff_element_name, item.m_bIgnoreEol ? "1" : "0"); - writeElement(writer, Ignore_codepage_diff_element_name, item.m_bIgnoreCodepage ? "1" : "0"); - writeElement(writer, Ignore_comment_diff_element_name, item.m_bFilterCommentsLines ? "1" : "0"); - writeElement(writer, Compare_method_element_name, std::to_string(item.m_nCompareMethod)); + if (item.m_bSaveIgnoreWhite) + writeElement(writer, White_spaces_element_name, std::to_string(item.m_nIgnoreWhite)); + if (item.m_bSaveIgnoreBlankLines) + writeElement(writer, Ignore_blank_lines_element_name, item.m_bIgnoreBlankLines ? "1" : "0"); + if (item.m_bSaveIgnoreCase) + writeElement(writer, Ignore_case_element_name, item.m_bIgnoreCase ? "1" : "0"); + if (item.m_bSaveIgnoreEol) + writeElement(writer, Ignore_cr_diff_element_name, item.m_bIgnoreEol ? "1" : "0"); + if (item.m_bSaveIgnoreCodepage) + writeElement(writer, Ignore_codepage_diff_element_name, item.m_bIgnoreCodepage ? "1" : "0"); + if (item.m_bSaveFilterCommentsLines) + writeElement(writer, Ignore_comment_diff_element_name, item.m_bFilterCommentsLines ? "1" : "0"); + if (item.m_bSaveCompareMethod) + writeElement(writer, Compare_method_element_name, std::to_string(item.m_nCompareMethod)); } writer.endElement("", "", Paths_element_name); } diff --git a/Src/ProjectFile.h b/Src/ProjectFile.h index d8b3b7ca4..d74980a18 100755 --- a/Src/ProjectFile.h +++ b/Src/ProjectFile.h @@ -66,6 +66,17 @@ public: void GetPaths(PathContext& files, bool & bSubFolders) const; void SetPaths(const PathContext& files, bool bSubFolders = false); + void SetSaveFilter(bool bSaveFilter); + void SetSaveSubfolders(bool bSaveSubfolders); + void SetSaveUnpacker(bool bSaveUnpacker); + void SetSaveIgnoreWhite(bool bSaveIgnoreWhite); + void SetSaveIgnoreBlankLines(bool bSaveIgnoreBlankLines); + void SetSaveIgnoreCase(bool bSaveIgnoreCase); + void SetSaveIgnoreEol(bool bSaveIgnoreEol); + void SetSaveIgnoreCodepage(bool bSaveIgnoreCodepage); + void SetSaveFilterCommentsLines(bool bSaveFilterCommentsLines); + void SetSaveCompareMethod(bool bSaveCompareMethod); + private: PathContext m_paths; bool m_bHasLeft; /**< Has left path? */ @@ -96,6 +107,16 @@ private: bool m_bFilterCommentsLines; /**< The value of the "Ignore comment differences" setting */ bool m_bHasCompareMethod; /**< Has "Compare method" setting? */ int m_nCompareMethod; /**< The value of the "Compare method" setting */ + bool m_bSaveFilter; /**< Save filter? */ + bool m_bSaveSubfolders; /**< Save subfolders? */ + bool m_bSaveUnpacker; /**< Save unpacker? */ + bool m_bSaveIgnoreWhite; /**< Save "Whitespaces" setting? */ + bool m_bSaveIgnoreBlankLines; /**< Save "Ignore blank lines" setting? */ + bool m_bSaveIgnoreCase; /**< Save "Ignore case" setting? */ + bool m_bSaveIgnoreEol; /**< Save "Ignore carriage return differences" setting? */ + bool m_bSaveIgnoreCodepage; /**< Save "Ignore codepage differences" setting? */ + bool m_bSaveFilterCommentsLines; /**< Save "Ignore comment differences" setting? */ + bool m_bSaveCompareMethod; /**< Save "Compare method" setting? */ }; /** @@ -478,3 +499,92 @@ inline void ProjectFileItem::SetPaths(const PathContext& paths, bool bSubfolders m_subfolders = bSubfolders; } +/** + * @brief Set whether to save filter. + * @param [in] bSaveFilter Whether to save filter. + */ +inline void ProjectFileItem::SetSaveFilter(bool bSaveFilter) +{ + m_bSaveFilter = bSaveFilter; +} + +/** + * @brief Set whether to save subfolders. + * @param [in] bSaveSubfolders Whether to save subfolders. + */ +inline void ProjectFileItem::SetSaveSubfolders(bool bSaveSubfolders) +{ + m_bSaveSubfolders = bSaveSubfolders; +} + +/** + * @brief Set whether to save unpacker. + * @param [in] bSaveUnpacker Whether to save unpacker. + */ +inline void ProjectFileItem::SetSaveUnpacker(bool bSaveUnpacker) +{ + m_bSaveUnpacker = bSaveUnpacker; +} + +/** + * @brief Set whether to save "Whitespaces" setting. + * @param [in] bSaveIgnoreWhite Whether to save "Whitespaces" setting. + */ +inline void ProjectFileItem::SetSaveIgnoreWhite(bool bSaveIgnoreWhite) +{ + m_bSaveIgnoreWhite = bSaveIgnoreWhite; +} + +/** + * @brief Set whether to save "Ignore blank lines" setting. + * @param [in] bSaveIgnoreBlankLines Whether to save "Ignore blank lines" setting. + */ +inline void ProjectFileItem::SetSaveIgnoreBlankLines(bool bSaveIgnoreBlankLines) +{ + m_bSaveIgnoreBlankLines = bSaveIgnoreBlankLines; +} + +/** + * @brief Set whether to save "Ignore case" setting. + * @param [in] bSaveIgnoreCase Whether to save "Ignore case" setting. + */ +inline void ProjectFileItem::SetSaveIgnoreCase(bool bSaveIgnoreCase) +{ + m_bSaveIgnoreCase = bSaveIgnoreCase; +} + +/** + * @brief Set whether to save "Ignore carriage return differences" setting. + * @param [in] bSaveIgnoreEol Whether to save "Ignore carriage return differences" setting. + */ +inline void ProjectFileItem::SetSaveIgnoreEol(bool bSaveIgnoreEol) +{ + m_bSaveIgnoreEol = bSaveIgnoreEol; +} + +/** + * @brief Set whether to save "Ignore codepage differences" setting. + * @param [in] bSaveIgnoreCodepage Whether to save "Ignore codepage differences" setting. + */ +inline void ProjectFileItem::SetSaveIgnoreCodepage(bool bSaveIgnoreCodepage) +{ + m_bSaveIgnoreCodepage = bSaveIgnoreCodepage; +} + +/** + * @brief Set whether to save "Ignore comment differences" setting. + * @param [in] bSaveFilterCommentsLines Whether to save "Ignore comment differences" setting. + */ +inline void ProjectFileItem::SetSaveFilterCommentsLines(bool bSaveFilterCommentsLines) +{ + m_bSaveFilterCommentsLines = bSaveFilterCommentsLines; +} + +/** + * @brief Set whether to save "Compare method" setting. + * @param [in] bSaveCompareMethod Whether to save "Compare method" setting. + */ +inline void ProjectFileItem::SetSaveCompareMethod(bool bSaveCompareMethod) +{ + m_bSaveCompareMethod = bSaveCompareMethod; +} diff --git a/Src/PropProject.cpp b/Src/PropProject.cpp new file mode 100644 index 000000000..428a3df31 --- /dev/null +++ b/Src/PropProject.cpp @@ -0,0 +1,134 @@ +/** + * @file PropProject.cpp + * + * @brief Implementation of PropProject propertysheet + */ + +#include "stdafx.h" +#include "PropProject.h" +#include "OptionsMgr.h" +#include "OptionsPanel.h" +#include "OptionsProject.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + +/** + * @brief Constructor. + * @param [in] optionsMgr Pointer to options manager for handling options. + */ +PropProject::PropProject(COptionsMgr *optionsMgr) +: OptionsPanel(optionsMgr, PropProject::IDD) +{ + for (int i = 0; i < Options::Project::OperationCount; i++) + for (int j = 0; j < Options::Project::ItemCount; j++) + m_settings[i][j] = false; +} + +/** + * @brief Function handling dialog data exchange between GUI and variables. + */ +void PropProject::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + + //{{AFX_DATA_MAP(PropEditor) + DDX_Control(pDX, IDC_PROJECT_LIST, m_list); + //}}AFX_DATA_MAP + + if (!pDX->m_bSaveAndValidate) + { + for (int i = 0; i < Options::Project::OperationCount; i++) + for (int j = 0; j < Options::Project::ItemCount; j++) + m_list.SetItemBooleanValue(j, i + 1, m_settings[i][j]); + + } + else + { + for (int i = 0; i < Options::Project::OperationCount; i++) + for (int j = 0; j < Options::Project::ItemCount; j++) + m_settings[i][j] = m_list.GetItemBooleanValue(j, i + 1); + } + +} + + +BEGIN_MESSAGE_MAP(PropProject, OptionsPanel) + //{{AFX_MSG_MAP(PropEditor) +// ON_BN_CLICKED(IDC_COMPARE_DEFAULTS, OnDefaults) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +/** + * @brief Reads options values from storage to UI. + */ +void PropProject::ReadOptions() +{ + Options::Project::Load(GetOptionsMgr(), m_settings); +} + +/** + * @brief Writes options values from UI to storage. + */ +void PropProject::WriteOptions() +{ + Options::Project::Save(GetOptionsMgr(), m_settings); +} + +/** + * @brief Called before propertysheet is drawn. + */ +BOOL PropProject::OnInitDialog() +{ + OptionsPanel::OnInitDialog(); + + InitList(); + + UpdateData(false); + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + +/** + * @brief Initialize listcontrol containing project settings. + */ +void PropProject::InitList() +{ + // Show selection across entire row. + // Also enable infotips. + m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP); + + const int lpx = CClientDC(this).GetDeviceCaps(LOGPIXELSX); + auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); }; + + String title = _("Item"); + m_list.InsertColumn(0, title.c_str(), LVCFMT_LEFT, pointToPixel(100)); + title = _("Open"); + m_list.InsertColumn(1, title.c_str(), LVCFMT_LEFT, pointToPixel(50)); + title = _("Load"); + m_list.InsertColumn(2, title.c_str(), LVCFMT_LEFT, pointToPixel(50)); + title = _("Save"); + m_list.InsertColumn(3, title.c_str(), LVCFMT_LEFT, pointToPixel(50)); + + m_list.SetReadOnlyColumn(0); + for (int i = 0; i < Options::Project::OperationCount; ++i) + { + m_list.SetEditStyle(i+1, CSubeditList::EditStyle::EDIT_BOX); + m_list.SetBooleanValueColumn(i+1); + } + + int nID[Options::Project::ItemCount] = { + IDS_PROJECT_ITEM_FILE_FILTER, + IDS_PROJECT_ITEM_INCLUDE_SUBFOLDERS, + IDS_PROJECT_ITEM_PLUGIN, + IDS_PROJECT_ITEM_COMPARE_OPTIONS + }; + + for (int i = 0; i < Options::Project::ItemCount; i++) + { + String str = LoadResString(nID[i]); + m_list.InsertItem(i, str.c_str()); + } +} diff --git a/Src/PropProject.h b/Src/PropProject.h new file mode 100644 index 000000000..d3f5d56e2 --- /dev/null +++ b/Src/PropProject.h @@ -0,0 +1,55 @@ +/** + * @file PropProject.h + * + * @brief Declaration file for PropProject propertysheet + * + */ +#pragma once + +#include "OptionsPanel.h" +#include "SubeditList.h" +#include "OptionsProject.h" + +class COptionsMgr; + +/** + * @brief Property page to set project options for WinMerge. + */ +class PropProject : public OptionsPanel +{ +// Construction +public: + explicit PropProject(COptionsMgr *optionsMgr); + +// Implement IOptionsPanel + virtual void ReadOptions() override; + virtual void WriteOptions() override; + +// Dialog Data + //{{AFX_DATA(PropEditor) + enum { IDD = IDD_PROPPAGE_PROJECT }; + CSubeditList m_list; + //}}AFX_DATA + +private: + Options::Project::Settings m_settings; + +// Implementation methods + void InitList(); + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(PropEditor) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(PropEditor) + afx_msg BOOL OnInitDialog() override; + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; diff --git a/Src/resource.h b/Src/resource.h index 093815342..0c51392c0 100644 --- a/Src/resource.h +++ b/Src/resource.h @@ -69,9 +69,10 @@ #define IDD_PROPPAGE_SHELL 277 #define IDD_PROPPAGE_SYSTEM 278 #define IDD_PROPPAGE_MESSAGEBOXES 279 -#define IDD_EDIT_FIND 280 -#define IDD_EDIT_MARKER 281 -#define IDD_EDIT_REPLACE 282 +#define IDD_PROPPAGE_PROJECT 280 +#define IDD_EDIT_FIND 281 +#define IDD_EDIT_MARKER 282 +#define IDD_EDIT_REPLACE 283 #define IDI_ROTATE2 302 #define IDR_LOGO 307 #define IDR_SPLASH 308 @@ -560,6 +561,7 @@ #define IDC_COMPLETELY_BLANK_OUT_IGNORED_DIFFERENCES 1419 #define IDC_LFILTER_CLEARBTN 1420 #define IDC_MESSAGEBOX_LIST 1421 +#define IDC_PROJECT_LIST 1422 #define IDC_EXPAND_SUBDIRS 1600 #define IDC_FILEENCODING 1601 #define IDC_PLUGIN 1602 @@ -1030,6 +1032,7 @@ #define IDS_OPTIONSPG_GENEDITOR 39062 #define IDS_OPTIONSPG_EDITOR_SYNTAX 39063 #define IDS_OPTIONSPG_MESSAGEBOXES 39064 +#define IDS_OPTIONSPG_PROJECT 39065 #define IDS_TO 40000 #define IDS_FROM_LEFT 40001 #define IDS_TO_LEFT 40002 @@ -1388,6 +1391,14 @@ #define IDS_SUGGESTED_PLUGINS 43502 #define IDS_NOT_SUGGESTED_PLUGINS 43503 #define IDS_PRIVATEBUILD_FMT 43504 +#define IDS_PROJECT_ITEM 43505 +#define IDS_PROJECT_OPEN 43506 +#define IDS_PROJECT_LOAD 43507 +#define IDS_PROJECT_SAVE 43508 +#define IDS_PROJECT_ITEM_FILE_FILTER 43509 +#define IDS_PROJECT_ITEM_INCLUDE_SUBFOLDERS 43510 +#define IDS_PROJECT_ITEM_PLUGIN 43511 +#define IDS_PROJECT_ITEM_COMPARE_OPTIONS 43512 #define IDS_CHECKFORUPDATES_UPTODATE 43521 #define IDS_CHECKFORUPDATES_NEWVERSION 43522 #define IDS_CHECKFORUPDATES_FAILED 43523 diff --git a/Translations/WinMerge/Arabic.po b/Translations/WinMerge/Arabic.po index 0503f09a6..e0518fea5 100644 --- a/Translations/WinMerge/Arabic.po +++ b/Translations/WinMerge/Arabic.po @@ -1623,6 +1623,9 @@ msgstr "ت&فعيل دعم ملفات الأرشفة" msgid "&Detect archive type from file signature" msgstr "الت&حقق مكن نوع الإرشيف عبر فحص التوقيع" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "إحصائيات المقارنة" @@ -2067,6 +2070,9 @@ msgstr "" msgid "Folder Compare" msgstr "مقارنة المجلد" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "الاختلافات" @@ -2158,6 +2164,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "الاسم" diff --git a/Translations/WinMerge/Basque.po b/Translations/WinMerge/Basque.po index 54b5325d8..2bb7aac10 100644 --- a/Translations/WinMerge/Basque.po +++ b/Translations/WinMerge/Basque.po @@ -2035,6 +2035,9 @@ msgstr "&Gaitu agirien agiri sostengua" msgid "&Detect archive type from file signature" msgstr "&Atzeman agiri mota agiriaren sinaduratik" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Alderatu Estatistikak" @@ -2550,6 +2553,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Ezberdintasunak" @@ -2654,6 +2660,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Izena" diff --git a/Translations/WinMerge/Brazilian.po b/Translations/WinMerge/Brazilian.po index 23ee5c36e..9d4ee938a 100644 --- a/Translations/WinMerge/Brazilian.po +++ b/Translations/WinMerge/Brazilian.po @@ -1637,6 +1637,9 @@ msgstr "&Ativar o suporte pra arquivos dentro do arquivo compactado" msgid "&Detect archive type from file signature" msgstr "&Detectar o tipo de arquivo compactado pela assinatura do arquivo" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Comparar as Estatísticas" @@ -2091,6 +2094,9 @@ msgstr "Esquemas das Cores" msgid "Folder Compare" msgstr "Comparar Pastas" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Diferenças" @@ -2183,6 +2189,21 @@ msgstr "Mensagem" msgid "Answer" msgstr "Resposta" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Nome" diff --git a/Translations/WinMerge/Bulgarian.po b/Translations/WinMerge/Bulgarian.po index d9ad0e3fa..88b26ba72 100644 --- a/Translations/WinMerge/Bulgarian.po +++ b/Translations/WinMerge/Bulgarian.po @@ -1625,6 +1625,9 @@ msgstr "Включване на &поддръжката на архиви" msgid "&Detect archive type from file signature" msgstr "Откриване на вида на &архива от подписа на файла" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Статистика на сравнението" @@ -2074,6 +2077,9 @@ msgstr "Теми" msgid "Folder Compare" msgstr "Сравняване на папки" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Различия" @@ -2165,6 +2171,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Име" diff --git a/Translations/WinMerge/Catalan.po b/Translations/WinMerge/Catalan.po index 9c0d4e18e..0f8db24f5 100644 --- a/Translations/WinMerge/Catalan.po +++ b/Translations/WinMerge/Catalan.po @@ -2031,6 +2031,9 @@ msgstr "&Habilita el suport de fitxers d'arxivament" msgid "&Detect archive type from file signature" msgstr "&Detecta el tipus d'arxiu a partir de la signatura del fitxer" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Estadístiques de comparació" @@ -2518,6 +2521,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Diferències" @@ -2622,6 +2628,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Nom" diff --git a/Translations/WinMerge/ChineseSimplified.po b/Translations/WinMerge/ChineseSimplified.po index f9f26dff8..5a2d788b9 100644 --- a/Translations/WinMerge/ChineseSimplified.po +++ b/Translations/WinMerge/ChineseSimplified.po @@ -1628,6 +1628,9 @@ msgstr "启用压缩文件支持(&E)" msgid "&Detect archive type from file signature" msgstr "根据文件头检测压缩文件类型(&D)" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "比较结果统计" @@ -2075,6 +2078,9 @@ msgstr "配色方案" msgid "Folder Compare" msgstr "文件夹比较" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "差异" @@ -2166,6 +2172,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "名称" diff --git a/Translations/WinMerge/ChineseTraditional.po b/Translations/WinMerge/ChineseTraditional.po index b7b55ccc3..863acc51c 100644 --- a/Translations/WinMerge/ChineseTraditional.po +++ b/Translations/WinMerge/ChineseTraditional.po @@ -2045,6 +2045,9 @@ msgstr "壓縮檔支援(&E)" msgid "&Detect archive type from file signature" msgstr "偵測檔首資訊以決定壓縮檔類型(&D)" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "比較後的統計" @@ -2560,6 +2563,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "差異" @@ -2664,6 +2670,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "名稱" diff --git a/Translations/WinMerge/Croatian.po b/Translations/WinMerge/Croatian.po index 01553472e..8ae9599a3 100644 --- a/Translations/WinMerge/Croatian.po +++ b/Translations/WinMerge/Croatian.po @@ -2034,6 +2034,9 @@ msgstr "Omogući rad s &arhivima" msgid "&Detect archive type from file signature" msgstr "&Očitaj tip arhiva iz zaglavlja datoteke" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Usporedba statistike" @@ -2549,6 +2552,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Razlike" @@ -2653,6 +2659,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Naziv" diff --git a/Translations/WinMerge/Czech.po b/Translations/WinMerge/Czech.po index fb725e525..b2e51264d 100644 --- a/Translations/WinMerge/Czech.po +++ b/Translations/WinMerge/Czech.po @@ -2034,6 +2034,9 @@ msgstr "&Zapnout podporu archivních souborů" msgid "&Detect archive type from file signature" msgstr "Zjistit &automaticky typ archivu" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Statistika porovnání" @@ -2521,6 +2524,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Rozdíly" @@ -2625,6 +2631,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Název" diff --git a/Translations/WinMerge/Danish.po b/Translations/WinMerge/Danish.po index 02597bf8e..c695e4170 100644 --- a/Translations/WinMerge/Danish.po +++ b/Translations/WinMerge/Danish.po @@ -2039,6 +2039,9 @@ msgstr "&Aktiver arkiv fil support" msgid "&Detect archive type from file signature" msgstr "Bestem arkivtype udfra fil signatur" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Sammenlign Statistik" @@ -2560,6 +2563,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Forskelle" @@ -2668,6 +2674,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Navn" diff --git a/Translations/WinMerge/Dutch.po b/Translations/WinMerge/Dutch.po index a8f853eee..4e6fa37ab 100644 --- a/Translations/WinMerge/Dutch.po +++ b/Translations/WinMerge/Dutch.po @@ -1635,6 +1635,9 @@ msgstr "Archiefbestand-ondersteuning inschakelen" msgid "&Detect archive type from file signature" msgstr "Archieftype detecteren via bestandssignatuur" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Vergelijkingsstatistieken" @@ -2086,6 +2089,9 @@ msgstr "Kleurenschema's" msgid "Folder Compare" msgstr "Mapvergelijking" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Verschillen" @@ -2177,6 +2183,21 @@ msgstr "Bericht" msgid "Answer" msgstr "Antwoord" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Naam" diff --git a/Translations/WinMerge/English.pot b/Translations/WinMerge/English.pot index 96e3fb357..19556df81 100644 --- a/Translations/WinMerge/English.pot +++ b/Translations/WinMerge/English.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: WinMerge\n" "Report-Msgid-Bugs-To: https://bugs.winmerge.org/\n" -"POT-Creation-Date: 2021-08-25 21:30+0000\n" +"POT-Creation-Date: 2021-08-29 20:11+0000\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: English \n" @@ -1608,6 +1608,9 @@ msgstr "" msgid "&Detect archive type from file signature" msgstr "" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "" @@ -1997,6 +2000,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "" @@ -2078,6 +2084,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "" diff --git a/Translations/WinMerge/Finnish.po b/Translations/WinMerge/Finnish.po index 2970b2be2..812c311da 100644 --- a/Translations/WinMerge/Finnish.po +++ b/Translations/WinMerge/Finnish.po @@ -2037,6 +2037,9 @@ msgstr "Käytä arkistotiedostojen tukea" msgid "&Detect archive type from file signature" msgstr "Tunnista arkistotyyppi tiedoston allekirjoituksesta" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Vertaa tilastoja" @@ -2574,6 +2577,9 @@ msgstr "" msgid "Folder Compare" msgstr "Kansiovertailu" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Erilaisuudet" @@ -2678,6 +2684,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Nimi" diff --git a/Translations/WinMerge/French.po b/Translations/WinMerge/French.po index dbd49d7b8..103fffb9f 100644 --- a/Translations/WinMerge/French.po +++ b/Translations/WinMerge/French.po @@ -2047,6 +2047,9 @@ msgstr "&Activer le support d'archives" msgid "&Detect archive type from file signature" msgstr "&Détecter le type d'archives avec un fichier de signature" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Statistiques de comparaison" @@ -2586,6 +2589,9 @@ msgstr "Schémas de couleurs" msgid "Folder Compare" msgstr "Comparaison de dossiers" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Différences" @@ -2690,6 +2696,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Nom" diff --git a/Translations/WinMerge/Galician.po b/Translations/WinMerge/Galician.po index 0313d858b..17b126d14 100644 --- a/Translations/WinMerge/Galician.po +++ b/Translations/WinMerge/Galician.po @@ -2041,6 +2041,9 @@ msgstr "&Activar o soporte de arquivos" msgid "&Detect archive type from file signature" msgstr "&Detectar o tipo de arquivo pola sinatura" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Estatísticas da comparación" @@ -2580,6 +2583,9 @@ msgstr "Esquemas de cores" msgid "Folder Compare" msgstr "Comparar cartafoles" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Diferenzas" @@ -2684,6 +2690,21 @@ msgstr "Mensaxe" msgid "Answer" msgstr "Resposta" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Nome" diff --git a/Translations/WinMerge/German.po b/Translations/WinMerge/German.po index fa814288f..d6a322b07 100644 --- a/Translations/WinMerge/German.po +++ b/Translations/WinMerge/German.po @@ -2032,6 +2032,9 @@ msgstr "&Archivunterstützung aktivieren" msgid "&Detect archive type from file signature" msgstr "Archiv&typ aus der Dateisignatur ermitteln" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Vergleichsstatistik" @@ -2519,6 +2522,9 @@ msgstr "Farbschemas" msgid "Folder Compare" msgstr "Ordnervergleich" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Unterschiede" @@ -2617,6 +2623,21 @@ msgstr "Meldung" msgid "Answer" msgstr "Antwort" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Name" diff --git a/Translations/WinMerge/Greek.po b/Translations/WinMerge/Greek.po index 9c955660a..3a7b8448d 100644 --- a/Translations/WinMerge/Greek.po +++ b/Translations/WinMerge/Greek.po @@ -2031,6 +2031,9 @@ msgstr "&Ενεργοποίηση υποστηρίξεως συμπιεσμέν msgid "&Detect archive type from file signature" msgstr "Ανί&χνευση τύπου συμπιεσμένου αρχείου από την υπογραφή του" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Στατιστικά Συγκρίσεων" @@ -2546,6 +2549,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Διαφορές" @@ -2650,6 +2656,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Όνομα" diff --git a/Translations/WinMerge/Hungarian.po b/Translations/WinMerge/Hungarian.po index 42131ab9d..400612a57 100644 --- a/Translations/WinMerge/Hungarian.po +++ b/Translations/WinMerge/Hungarian.po @@ -2042,6 +2042,9 @@ msgstr "Archív fájlok támogatásának &engedélyezése" msgid "&Detect archive type from file signature" msgstr "Archív fájl típusának megállapítása a fájl &szignatúrája alapján" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Összehasonlítási statisztika" @@ -2581,6 +2584,9 @@ msgstr "Színsémák" msgid "Folder Compare" msgstr "Mappa összehasonlítás" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Eltérések" @@ -2685,6 +2691,21 @@ msgstr "Üzenet" msgid "Answer" msgstr "Válasz" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Név" diff --git a/Translations/WinMerge/Italian.po b/Translations/WinMerge/Italian.po index 3030601b5..2bf22126d 100644 --- a/Translations/WinMerge/Italian.po +++ b/Translations/WinMerge/Italian.po @@ -1622,6 +1622,9 @@ msgstr "&Attiva il supporto per i file archivio" msgid "&Detect archive type from file signature" msgstr "&Rileva il tipo di archivio dalla firma dei file" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Statistiche confronto" @@ -2061,6 +2064,9 @@ msgstr "Schemi colore" msgid "Folder Compare" msgstr "Confronto cartelle" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Differenze" @@ -2148,6 +2154,21 @@ msgstr "Messaggio" msgid "Answer" msgstr "Risposta" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Nome" diff --git a/Translations/WinMerge/Japanese.po b/Translations/WinMerge/Japanese.po index e9705d25e..f2c09e458 100644 --- a/Translations/WinMerge/Japanese.po +++ b/Translations/WinMerge/Japanese.po @@ -1627,6 +1627,9 @@ msgstr "アーカイブ ファイル サポートを有効にする(&E)" msgid "&Detect archive type from file signature" msgstr "ファイルのシグネチャからアーカイブ形式を検出する(&D)" +msgid "Items saved to or restored from the project file:" +msgstr "プロジェクトファイルに保存またはプロジェクトファイルから復元する項目:" + msgid "Compare Statistics" msgstr "比較統計" @@ -2068,6 +2071,9 @@ msgstr "配色" msgid "Folder Compare" msgstr "フォルダー比較" +msgid "Project" +msgstr "プロジェクト" + msgid "Differences" msgstr "差異" @@ -2155,6 +2161,21 @@ msgstr "メッセージ" msgid "Answer" msgstr "回答" +msgid "Item" +msgstr "項目" + +msgid "Load" +msgstr "読み込み" + +msgid "Save" +msgstr "保存" + +msgid "Include Subfolders" +msgstr "サブフォルダーを含める" + +msgid "Compare Options" +msgstr "比較オプション" + msgid "Name" msgstr "名前" diff --git a/Translations/WinMerge/Korean.po b/Translations/WinMerge/Korean.po index 04dca56ce..c89539b67 100644 --- a/Translations/WinMerge/Korean.po +++ b/Translations/WinMerge/Korean.po @@ -2046,6 +2046,9 @@ msgstr "압축 파일 지원 사용하기(&E)" msgid "&Detect archive type from file signature" msgstr "파일 서명에서 압축 형식 감지하기(&D)" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "통계 비교" @@ -2585,6 +2588,9 @@ msgstr "색상 테마" msgid "Folder Compare" msgstr "폴더 비교" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "차이점" @@ -2689,6 +2695,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "이름" diff --git a/Translations/WinMerge/Lithuanian.po b/Translations/WinMerge/Lithuanian.po index 8824babd7..342a78f32 100644 --- a/Translations/WinMerge/Lithuanian.po +++ b/Translations/WinMerge/Lithuanian.po @@ -1617,6 +1617,9 @@ msgstr "Į&jungti archyvo failų palaikymą" msgid "&Detect archive type from file signature" msgstr "&Nustatyti archyvo tipą iš failo parašo" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Lyginimo statistika" @@ -2006,6 +2009,9 @@ msgstr "Schemų" msgid "Folder Compare" msgstr "Katalogų lyginimo" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Skirtumų" @@ -2087,6 +2093,21 @@ msgstr "Pranešimas" msgid "Answer" msgstr "Atsakymas" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Pavadinimas" diff --git a/Translations/WinMerge/Norwegian.po b/Translations/WinMerge/Norwegian.po index c3032ae72..fcfdce11b 100644 --- a/Translations/WinMerge/Norwegian.po +++ b/Translations/WinMerge/Norwegian.po @@ -2034,6 +2034,9 @@ msgstr "&Aktiver arkivfil-støtte" msgid "&Detect archive type from file signature" msgstr "&Detekter arkivtype fra filsignatur" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Sammenlignings-statistikk" @@ -2549,6 +2552,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Forskjeller" @@ -2653,6 +2659,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Navn" diff --git a/Translations/WinMerge/Persian.po b/Translations/WinMerge/Persian.po index 1e41ca1d5..d062ae3a0 100644 --- a/Translations/WinMerge/Persian.po +++ b/Translations/WinMerge/Persian.po @@ -2041,6 +2041,9 @@ msgstr "&E فعال نمودن پشتيباني از پرونده بايگاني msgid "&Detect archive type from file signature" msgstr "&D شناسايي نوع بايگاني از روي امضاء پرونده " +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr " آمار همسنجي / قياس " @@ -2562,6 +2565,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr " تفاوتها " @@ -2671,6 +2677,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr " نام " diff --git a/Translations/WinMerge/Polish.po b/Translations/WinMerge/Polish.po index 1409834f3..cfda0d99b 100644 --- a/Translations/WinMerge/Polish.po +++ b/Translations/WinMerge/Polish.po @@ -1614,6 +1614,9 @@ msgstr "Włącz wsparcie dla archiwów" msgid "&Detect archive type from file signature" msgstr "Wykryj typ archiwum z sygnatury pliku" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Statystyki porównania" @@ -2003,6 +2006,9 @@ msgstr "Schematy kolorów" msgid "Folder Compare" msgstr "Porównaj foldery" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Różnice" @@ -2084,6 +2090,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Nazwa" diff --git a/Translations/WinMerge/Portuguese.po b/Translations/WinMerge/Portuguese.po index 5b348ebc0..0b9fa609a 100644 --- a/Translations/WinMerge/Portuguese.po +++ b/Translations/WinMerge/Portuguese.po @@ -1638,6 +1638,9 @@ msgstr "Ativar suporte de ficheiros" msgid "&Detect archive type from file signature" msgstr "Detetar tipo de ficheiro pela assinatura" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Comparar estatísticas" @@ -2091,6 +2094,9 @@ msgstr "Esquema de cores" msgid "Folder Compare" msgstr "Comparação de pastas" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Diferenças" @@ -2184,6 +2190,21 @@ msgstr "Mensagem" msgid "Answer" msgstr "Resposta" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Nome" diff --git a/Translations/WinMerge/Romanian.po b/Translations/WinMerge/Romanian.po index 07aba7d93..2e4e2481a 100644 --- a/Translations/WinMerge/Romanian.po +++ b/Translations/WinMerge/Romanian.po @@ -2032,6 +2032,9 @@ msgstr "Activ&ează suportul pentru fişierele arhivă" msgid "&Detect archive type from file signature" msgstr "&Detectează tipul arhivei după semnătura fişierului" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Statistici ale comparării" @@ -2547,6 +2550,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Diferenţe" @@ -2651,6 +2657,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Nume" diff --git a/Translations/WinMerge/Russian.po b/Translations/WinMerge/Russian.po index dcf177e4a..bf18f7388 100644 --- a/Translations/WinMerge/Russian.po +++ b/Translations/WinMerge/Russian.po @@ -1616,6 +1616,9 @@ msgstr "&Включить поддержку архивов" msgid "&Detect archive type from file signature" msgstr "&Определять тип архива по сигнатуре/заголовку файла" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Статистика сравнения" @@ -2005,6 +2008,9 @@ msgstr "Цветовая схема" msgid "Folder Compare" msgstr "Сравнение папок" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Отличия" @@ -2086,6 +2092,21 @@ msgstr "Сообщение" msgid "Answer" msgstr "Ответ" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Имя" diff --git a/Translations/WinMerge/Serbian.po b/Translations/WinMerge/Serbian.po index aa26b4fa1..8ce964143 100644 --- a/Translations/WinMerge/Serbian.po +++ b/Translations/WinMerge/Serbian.po @@ -2017,6 +2017,9 @@ msgstr "&Омогући подршку архиви" msgid "&Detect archive type from file signature" msgstr "Откриј врсту архиве из заглавља датотеке" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Упоредна статистика" @@ -2532,6 +2535,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Разлике" @@ -2636,6 +2642,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Име" diff --git a/Translations/WinMerge/Sinhala.po b/Translations/WinMerge/Sinhala.po index c021bb827..78cded6c6 100644 --- a/Translations/WinMerge/Sinhala.po +++ b/Translations/WinMerge/Sinhala.po @@ -2029,6 +2029,9 @@ msgstr "&Enable archive file support" msgid "&Detect archive type from file signature" msgstr "ගොනුවේ ලාංජනය අනුව ලේබණයේ වර්ගය හදුනාගන්න" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "සංඛ්‍යාලේබණ සසඳන්න" @@ -2544,6 +2547,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "වෙනස්කම්" @@ -2648,6 +2654,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "නම" diff --git a/Translations/WinMerge/Slovak.po b/Translations/WinMerge/Slovak.po index 7db973704..5d9bedfcb 100644 --- a/Translations/WinMerge/Slovak.po +++ b/Translations/WinMerge/Slovak.po @@ -1627,6 +1627,9 @@ msgstr "&Zapnúť podporu archívov" msgid "&Detect archive type from file signature" msgstr "&Detekovať typ archívu z hlavičky súboru" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Štatistika porovnania" @@ -2076,6 +2079,9 @@ msgstr "Farebné schémy" msgid "Folder Compare" msgstr "Porovnávanie priečinkov" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Rozdiely" @@ -2167,6 +2173,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Názov" diff --git a/Translations/WinMerge/Slovenian.po b/Translations/WinMerge/Slovenian.po index 038e18547..339ee2969 100644 --- a/Translations/WinMerge/Slovenian.po +++ b/Translations/WinMerge/Slovenian.po @@ -2036,6 +2036,9 @@ msgstr "Omogoči podporo &arhivskih datotek" msgid "&Detect archive type from file signature" msgstr "Zaznaj vrs&to arhiva iz podpisa datoteke" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Statistika primerjave" @@ -2575,6 +2578,9 @@ msgstr "Barvne sheme" msgid "Folder Compare" msgstr "Primerjava map" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Razlike" @@ -2679,6 +2685,21 @@ msgstr "Sporočilo" msgid "Answer" msgstr "Odgovor" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Ime" diff --git a/Translations/WinMerge/Spanish.po b/Translations/WinMerge/Spanish.po index 4b3c4d5a3..30e90b4f6 100644 --- a/Translations/WinMerge/Spanish.po +++ b/Translations/WinMerge/Spanish.po @@ -1626,6 +1626,9 @@ msgstr "Habilitar soport&e de archivos" msgid "&Detect archive type from file signature" msgstr "&Detectar tipo de archivo por su firma" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Estadísticas de comparación" @@ -2072,6 +2075,9 @@ msgstr "" msgid "Folder Compare" msgstr "Comparar de carpetas" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Diferencias" @@ -2165,6 +2171,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Nombre" diff --git a/Translations/WinMerge/Swedish.po b/Translations/WinMerge/Swedish.po index 4f221be67..90c8212cf 100644 --- a/Translations/WinMerge/Swedish.po +++ b/Translations/WinMerge/Swedish.po @@ -2042,6 +2042,9 @@ msgstr "Möjliggör Arkivfilstöd" msgid "&Detect archive type from file signature" msgstr "Urskilj arkivtyp från filsignatur" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "JämförelseStatistik" @@ -2575,6 +2578,9 @@ msgstr "Färgschema" msgid "Folder Compare" msgstr "MappJämförelse" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Skillnader" @@ -2678,6 +2684,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Namn" diff --git a/Translations/WinMerge/Turkish.po b/Translations/WinMerge/Turkish.po index ffd6a391d..5d3289853 100644 --- a/Translations/WinMerge/Turkish.po +++ b/Translations/WinMerge/Turkish.po @@ -1630,6 +1630,9 @@ msgstr "&Sıkıştırılmış dosya desteği kullanılsın" msgid "&Detect archive type from file signature" msgstr "&Arşiv türü dosya imzasından belirlensin" +msgid "Items saved to or restored from the project file:" +msgstr "" + msgid "Compare Statistics" msgstr "Karşılaştırma istatistikleri" @@ -2084,6 +2087,9 @@ msgstr "Renk temaları" msgid "Folder Compare" msgstr "Klasör karşılaştırma" +msgid "Project" +msgstr "" + msgid "Differences" msgstr "Farklar" @@ -2175,6 +2181,21 @@ msgstr "İleti" msgid "Answer" msgstr "Yanıt" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + msgid "Name" msgstr "Ad" diff --git a/Translations/WinMerge/Ukrainian.po b/Translations/WinMerge/Ukrainian.po index 8b80b3575..4e9555148 100644 --- a/Translations/WinMerge/Ukrainian.po +++ b/Translations/WinMerge/Ukrainian.po @@ -2035,6 +2035,9 @@ msgstr "&Ввімкнути підтримку архівів" msgid "&Detect archive type from file signature" msgstr "&Визначати тип архіву за сигнатурою або заголовком файлу" +msgid "Items saved to or restored from the project file:" +msgstr "" + #, c-format msgid "Compare Statistics" msgstr "Порівняння статистики" @@ -2550,6 +2553,9 @@ msgstr "" msgid "Folder Compare" msgstr "" +msgid "Project" +msgstr "" + #, c-format msgid "Differences" msgstr "Відмінності" @@ -2654,6 +2660,21 @@ msgstr "" msgid "Answer" msgstr "" +msgid "Item" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Include Subfolders" +msgstr "" + +msgid "Compare Options" +msgstr "" + #, c-format msgid "Name" msgstr "Ім'я" -- 2.11.0