diff --git a/Src/DiffFileData.cpp b/Src/DiffFileData.cpp index 09e4ee529e8..f9ab132f1e2 100644 --- a/Src/DiffFileData.cpp +++ b/Src/DiffFileData.cpp @@ -126,8 +126,8 @@ void DiffFileData::Reset() * return false if anything fails * caller has to DeleteFile filepathTransformed, if it differs from filepath */ -bool DiffFileData::Filepath_Transform(bool bForceUTF8, - const FileTextEncoding & encoding, const String & filepath, String & filepathTransformed, +bool DiffFileData::Filepath_Transform(int target, bool bForceUTF8, + const FileTextEncoding& encoding, const String& filepath, String& filepathTransformed, const String& filteredFilenames, PrediffingInfo& infoPrediffer) { // third step : prediff (plugins) @@ -138,7 +138,7 @@ bool DiffFileData::Filepath_Transform(bool bForceUTF8, // if a prediffer fails, we consider it is not the good one, that's all // FileTransform_Prediffing returns `false` only if the prediffer works, // but the data can not be saved to disk (no more place ??) - if (!infoPrediffer.Prediffing(filepathTransformed, filteredFilenames, bMayOverwrite, { filepath })) + if (!infoPrediffer.Prediffing(target, filepathTransformed, filteredFilenames, bMayOverwrite, { filepath })) return false; if ((encoding.m_unicoding && encoding.m_unicoding != ucr::UTF8) || bForceUTF8) diff --git a/Src/DiffFileData.h b/Src/DiffFileData.h index daebd107530..34328784fd4 100644 --- a/Src/DiffFileData.h +++ b/Src/DiffFileData.h @@ -33,7 +33,7 @@ struct DiffFileData void Close() { Reset(); } void SetDisplayFilepaths(const String& szTrueFilepath1, const String& szTrueFilepath2); - bool Filepath_Transform(bool bForceUTF8, const FileTextEncoding & encoding, const String & filepath, String & filepathTransformed, + bool Filepath_Transform(int target, bool bForceUTF8, const FileTextEncoding & encoding, const String & filepath, String & filepathTransformed, const String& filteredFilenames, PrediffingInfo& infoPrediffer); // Data (public) diff --git a/Src/DiffTextBuffer.cpp b/Src/DiffTextBuffer.cpp index bcc6faa39d0..abe1a93ea84 100644 --- a/Src/DiffTextBuffer.cpp +++ b/Src/DiffTextBuffer.cpp @@ -205,7 +205,7 @@ int CDiffTextBuffer::LoadFromFile(const tchar_t* pszFileNameInit, // Unpacking the file here, save the result in a temporary file m_strTempFileName = pszFileNameInit; - if (!infoUnpacker.Unpacking(&m_unpackerSubcodes, m_strTempFileName, sToFindUnpacker, { m_strTempFileName })) + if (!infoUnpacker.Unpacking(m_nThisPane, &m_unpackerSubcodes, m_strTempFileName, sToFindUnpacker, { m_strTempFileName })) { InitNew(); // leave crystal editor in valid, empty state return FileLoadResult::FRESULT_ERROR_UNPACK; @@ -516,7 +516,7 @@ int CDiffTextBuffer::SaveToFile (const String& pszFileName, // If we are saving user files // we need an unpacker/packer, at least a "do nothing" one // repack the file here, overwrite the temporary file we did save in - bSaveSuccess = infoUnpacker.Packing(sIntermediateFilename, pszFileName, m_unpackerSubcodes, { pszFileName }); + bSaveSuccess = infoUnpacker.Packing(m_nThisPane, sIntermediateFilename, pszFileName, m_unpackerSubcodes, { pszFileName }); if (!bSaveSuccess) sError = GetSysError(); try diff --git a/Src/DiffWrapper.cpp b/Src/DiffWrapper.cpp index 4ca3ea015b8..8f60d112af0 100644 --- a/Src/DiffWrapper.cpp +++ b/Src/DiffWrapper.cpp @@ -751,7 +751,7 @@ bool CDiffWrapper::RunFileDiff() // this can only fail if the data can not be saved back (no more // place on disk ???) What to do then ?? - if (m_infoPrediffer && !m_infoPrediffer->Prediffing(strFileTemp[file], m_sToFindPrediffer, m_bPathsAreTemp, { strFileTemp[file] })) + if (m_infoPrediffer && !m_infoPrediffer->Prediffing(file, strFileTemp[file], m_sToFindPrediffer, m_bPathsAreTemp, { strFileTemp[file] })) { // display a message box String sError = strutils::format_string2( diff --git a/Src/FileTransform.cpp b/Src/FileTransform.cpp index 77517b74edc..2f6d5b6d8e5 100644 --- a/Src/FileTransform.cpp +++ b/Src/FileTransform.cpp @@ -26,6 +26,53 @@ using Poco::Exception; static Poco::FastMutex g_mutex; +static std::pair parseNameAndTargetFlags(const String& token) +{ + String name; + unsigned char targetFlags = 0; + const auto pos = token.find_first_of(':'); + if (pos != String::npos) + { + name = token.substr(0, pos); + targetFlags = 0; + for (size_t i = pos + 1; i < token.length(); ++i) + { + const tchar_t ch = token[i]; + if (ch >= '1' && ch <= '3') + targetFlags |= 1 << (ch - '1'); + } + if (targetFlags == 0) + targetFlags = 0xff; + } + else + { + name = token; + targetFlags = 0xff; + } + return { name, targetFlags }; +} + +static String makeTargetsPrefix(unsigned char targetFlags) +{ + if (targetFlags == 0xff) + return _T(""); + std::vector targets; + for (int pos = 0; pos < 3; ++pos) + { + if (targetFlags & (1 << pos)) + { + tchar_t ch = '1' + static_cast(pos); + targets.push_back(String(&ch, 1)); + } + } + return _T(":") + strutils::join(targets.begin(), targets.end(), _T(",")); +} + +static inline bool isTargetInFlags(int target, unsigned targetFlags) +{ + return ((1 << target) & targetFlags) != 0; +} + //////////////////////////////////////////////////////////////////////////////// // transformations : packing unpacking @@ -41,6 +88,7 @@ std::vector PluginForFile::ParsePluginPipeline(cons bool inQuotes = false; tchar_t quoteChar = 0; std::vector args; + unsigned char targetFlags = 0xff; String token, name; errorMessage.clear(); const tchar_t* p = pluginPipeline.c_str(); @@ -93,7 +141,7 @@ std::vector PluginForFile::ParsePluginPipeline(cons } if (name.empty()) { - name = token; + std::tie(name, targetFlags) = parseNameAndTargetFlags(token); } else { @@ -112,7 +160,7 @@ std::vector PluginForFile::ParsePluginPipeline(cons errorMessage = strutils::format_string1(_("Missing plugin name in plugin pipeline: %1"), pluginPipeline); break; } - result.push_back({ name, args, quoteChar }); + result.push_back({ name, targetFlags, args, quoteChar }); name.clear(); args.clear(); quoteChar = 0; @@ -127,7 +175,7 @@ String PluginForFile::MakePluginPipeline(const std::vector, bool>>& plugins, + std::vector, bool>>& plugins, String *pPluginPipelineResolved, String *pURLHandlerResolved, String& errorMessage) const { auto result = ExpandAliases(this->m_PluginPipeline, filteredFilenames, L"ALIAS_PACK_UNPACK", errorMessage); @@ -266,12 +315,12 @@ bool PackingInfo::GetPackUnpackPlugin(const String& filteredFilenames, bool bUrl else plugin = CAllThreadsScripts::GetActiveSet()->GetPluginByName(L"URL_PACK_UNPACK", m_URLHandler); if (plugin) - plugins.push_back({ plugin, args, bWithFile }); + plugins.push_back({ plugin, 0xff, args, bWithFile }); if (pURLHandlerResolved) *pURLHandlerResolved = plugin ? plugin->m_name : _T(""); } std::vector pipelineResolved; - for (auto& [pluginName, args, quoteChar] : result) + for (auto& [pluginName, targetFlags, args, quoteChar] : result) { PluginInfo* plugin = nullptr; bool bWithFile = true; @@ -317,11 +366,11 @@ bool PackingInfo::GetPackUnpackPlugin(const String& filteredFilenames, bool bUrl } if (plugin) { - pipelineResolved.push_back({plugin->m_name, args, quoteChar }); + pipelineResolved.push_back({ plugin->m_name, targetFlags, args, quoteChar }); if (bReverse) - plugins.insert(plugins.begin(), { plugin, args, bWithFile }); + plugins.insert(plugins.begin(), { plugin, targetFlags, args, bWithFile }); else - plugins.push_back({ plugin, args, bWithFile }); + plugins.push_back({ plugin, targetFlags, args, bWithFile }); } } if (pPluginPipelineResolved) @@ -330,7 +379,7 @@ bool PackingInfo::GetPackUnpackPlugin(const String& filteredFilenames, bool bUrl } // known handler -bool PackingInfo::pack(String & filepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const +bool PackingInfo::pack(int target, String& filepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const { // no handler : return true bool bUrl = paths::IsURL(dstFilepath); @@ -339,7 +388,7 @@ bool PackingInfo::pack(String & filepath, const String& dstFilepath, const std:: // control value String errorMessage; - std::vector, bool>> plugins; + std::vector, bool>> plugins; if (!GetPackUnpackPlugin(_T(""), bUrl, true, plugins, nullptr, nullptr, errorMessage)) { AppErrorMessageBox(errorMessage); @@ -350,8 +399,11 @@ bool PackingInfo::pack(String & filepath, const String& dstFilepath, const std:: return true; auto itSubcode = handlerSubcodes.rbegin(); - for (auto& [plugin, args, bWithFile] : plugins) + for (auto& [plugin, targetFlags, args, bWithFile] : plugins) { + if (!isTargetInFlags(target, targetFlags)) + continue; + bool bHandled = false; storageForPlugins bufferData; bufferData.SetDataFileAnsi(filepath); @@ -408,10 +460,10 @@ bool PackingInfo::pack(String & filepath, const String& dstFilepath, const std:: return true; } -bool PackingInfo::Packing(const String& srcFilepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const +bool PackingInfo::Packing(int target, const String& srcFilepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const { String csTempFileName = srcFilepath; - if (!pack(csTempFileName, dstFilepath, handlerSubcodes, variables)) + if (!pack(target, csTempFileName, dstFilepath, handlerSubcodes, variables)) return false; try { @@ -433,7 +485,7 @@ bool PackingInfo::Packing(const String& srcFilepath, const String& dstFilepath, } } -bool PackingInfo::Unpacking(std::vector * handlerSubcodes, String & filepath, const String& filteredText, const std::vector& variables) +bool PackingInfo::Unpacking(int target, std::vector* handlerSubcodes, String& filepath, const String& filteredText, const std::vector& variables) { if (handlerSubcodes) handlerSubcodes->clear(); @@ -445,7 +497,7 @@ bool PackingInfo::Unpacking(std::vector * handlerSubcodes, String & filepat // control value String errorMessage; - std::vector, bool>> plugins; + std::vector, bool>> plugins; if (!GetPackUnpackPlugin(filteredText, bUrl, false, plugins, &m_PluginPipeline, &m_URLHandler, errorMessage)) { AppErrorMessageBox(errorMessage); @@ -455,8 +507,11 @@ bool PackingInfo::Unpacking(std::vector * handlerSubcodes, String & filepat if (m_bWebBrowser && m_PluginPipeline.empty()) return true; - for (auto& [plugin, args, bWithFile] : plugins) + for (auto& [plugin, targetFlags, args, bWithFile] : plugins) { + if (!isTargetInFlags(target, targetFlags)) + continue; + bool bHandled = false; storageForPlugins bufferData; bufferData.SetDataFileAnsi(filepath); @@ -519,16 +574,19 @@ bool PackingInfo::Unpacking(std::vector * handlerSubcodes, String & filepat return true; } -String PackingInfo::GetUnpackedFileExtension(const String& filteredFilenames, int& preferredWindowType) const +String PackingInfo::GetUnpackedFileExtension(int target, const String& filteredFilenames, int& preferredWindowType) const { preferredWindowType = -1; String ext; String errorMessage; - std::vector, bool>> plugins; + std::vector, bool>> plugins; if (GetPackUnpackPlugin(filteredFilenames, false, false, plugins, nullptr, nullptr, errorMessage)) { - for (auto& [plugin, args, bWithFile] : plugins) + for (auto& [plugin, targetFlags, args, bWithFile] : plugins) { + if (!isTargetInFlags(target, targetFlags)) + continue; + ext += plugin->m_ext; auto preferredWindowTypeStr = plugin->GetExtendedPropertyValue(_T("PreferredWindowType")); if (preferredWindowTypeStr.has_value()) @@ -553,14 +611,14 @@ String PackingInfo::GetUnpackedFileExtension(const String& filteredFilenames, in // transformation prediffing bool PrediffingInfo::GetPrediffPlugin(const String& filteredFilenames, bool bReverse, - std::vector, bool>>& plugins, + std::vector, bool>>& plugins, String *pPluginPipelineResolved, String& errorMessage) const { auto result = ExpandAliases(this->m_PluginPipeline, filteredFilenames, L"ALIAS_PREDIFF", errorMessage); if (!errorMessage.empty()) return false; std::vector pipelineResolved; - for (auto& [pluginName, args, quoteChar] : result) + for (auto& [pluginName, targetFlags, args, quoteChar] : result) { PluginInfo* plugin = nullptr; bool bWithFile = true; @@ -600,11 +658,11 @@ bool PrediffingInfo::GetPrediffPlugin(const String& filteredFilenames, bool bRev } if (plugin) { - pipelineResolved.push_back({ plugin->m_name, args, quoteChar }); + pipelineResolved.push_back({ plugin->m_name, targetFlags, args, quoteChar }); if (bReverse) - plugins.insert(plugins.begin(), { plugin, args, bWithFile }); + plugins.insert(plugins.begin(), { plugin, targetFlags, args, bWithFile }); else - plugins.push_back({ plugin, args, bWithFile }); + plugins.push_back({ plugin, targetFlags, args, bWithFile }); } } if (pPluginPipelineResolved) @@ -612,7 +670,7 @@ bool PrediffingInfo::GetPrediffPlugin(const String& filteredFilenames, bool bRev return true; } -bool PrediffingInfo::Prediffing(String & filepath, const String& filteredText, bool bMayOverwrite, const std::vector& variables) +bool PrediffingInfo::Prediffing(int target, String & filepath, const String& filteredText, bool bMayOverwrite, const std::vector& variables) { // no handler : return true if (m_PluginPipeline.empty()) @@ -621,15 +679,18 @@ bool PrediffingInfo::Prediffing(String & filepath, const String& filteredText, b // control value bool bHandled = false; String errorMessage; - std::vector, bool>> plugins; + std::vector, bool>> plugins; if (!GetPrediffPlugin(filteredText, false, plugins, &m_PluginPipeline, errorMessage)) { AppErrorMessageBox(errorMessage); return false; } - for (const auto& [plugin, args, bWithFile] : plugins) + for (const auto& [plugin, targetFlags, args, bWithFile] : plugins) { + if (!isTargetInFlags(target, targetFlags)) + continue; + storageForPlugins bufferData; // detect Ansi or Unicode file bufferData.SetDataFileUnknown(filepath, bMayOverwrite); @@ -691,13 +752,13 @@ bool PrediffingInfo::Prediffing(String & filepath, const String& filteredText, b //////////////////////////////////////////////////////////////////////////////// // transformation text -bool EditorScriptInfo::GetEditorScriptPlugin(std::vector, int>>& plugins, +bool EditorScriptInfo::GetEditorScriptPlugin(std::vector, int>>& plugins, String& errorMessage) const { auto result = ExpandAliases(this->m_PluginPipeline, _T(""), L"ALIAS_EDITOR_SCRIPT", errorMessage); if (!errorMessage.empty()) return false; - for (auto& [pluginName, args, quoteChar] : result) + for (auto& [pluginName, targetFlags, args, quoteChar] : result) { bool found = false; PluginArray *pluginInfoArray = CAllThreadsScripts::GetActiveSet()->GetAvailableScripts(L"EDITOR_SCRIPT"); @@ -710,7 +771,7 @@ bool EditorScriptInfo::GetEditorScriptPlugin(std::vector& variables, bool& changed) +bool EditorScriptInfo::TransformText(int target, String& text, const std::vector& variables, bool& changed) { changed = false; // no handler : return true @@ -736,15 +797,18 @@ bool EditorScriptInfo::TransformText(String & text, const std::vector, int>> plugins; + std::vector, int>> plugins; if (!GetEditorScriptPlugin(plugins, errorMessage)) { AppErrorMessageBox(errorMessage); return false; } - for (const auto& [plugin, args, fncID] : plugins) + for (const auto& [plugin, targetFlags, args, fncID] : plugins) { + if (!isTargetInFlags(target, targetFlags)) + continue; + LPDISPATCH piScript = plugin->m_lpDispatch; Poco::FastMutex::ScopedLock lock(g_mutex); diff --git a/Src/FileTransform.h b/Src/FileTransform.h index 5d44ddcad36..b8307d30151 100644 --- a/Src/FileTransform.h +++ b/Src/FileTransform.h @@ -33,6 +33,7 @@ class PluginForFile struct PipelineItem { String name; + unsigned char targetFlags; std::vector args; tchar_t quoteChar; }; @@ -88,7 +89,7 @@ class PackingInfo : public PluginForFile } bool GetPackUnpackPlugin(const String& filteredFilenames, bool bUrl, bool bReverse, - std::vector, bool>>& plugins, + std::vector, bool>>& plugins, String *pPluginPipelineResolved, String *pURLHandlerResolved, String& errorMessage) const; // Events handler @@ -107,7 +108,7 @@ class PackingInfo : public PluginForFile * @note Event FILE_UNPACK * Apply only the first correct handler */ - bool Unpacking(std::vector * handlerSubcodes, String & filepath, const String& filteredText, const std::vector& variables); + bool Unpacking(int target, std::vector * handlerSubcodes, String & filepath, const String& filteredText, const std::vector& variables); /** * @brief Prepare one file for saving, known handler @@ -119,11 +120,11 @@ class PackingInfo : public PluginForFile * @note Event FILE_PACK * Never do Unicode conversion, it was done in SaveFromFile */ - bool pack(String & filepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const; + bool pack(int target, String & filepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const; - bool Packing(const String& srcFilepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const; + bool Packing(int target, const String& srcFilepath, const String& dstFilepath, const std::vector& handlerSubcodes, const std::vector& variables) const; - String GetUnpackedFileExtension(const String& filteredFilenames, int& preferredWindowType) const; + String GetUnpackedFileExtension(int target, const String& filteredFilenames, int& preferredWindowType) const; void EnableWebBrowserMode() { m_bWebBrowser = true; } private: @@ -150,7 +151,7 @@ class PrediffingInfo : public PluginForFile } bool GetPrediffPlugin(const String& filteredFilenames, bool bReverse, - std::vector, bool>>& plugins, + std::vector, bool>>& plugins, String* pPluginPipelineResolved, String& errorMessage) const; /** @@ -164,7 +165,7 @@ class PrediffingInfo : public PluginForFile * @note Event FILE_PREDIFF BUFFER_PREDIFF * Apply only the first correct handler */ - bool Prediffing(String & filepath, const String& filteredText, bool bMayOverwrite, const std::vector& variables); + bool Prediffing(int target, String & filepath, const String& filteredText, bool bMayOverwrite, const std::vector& variables); }; /** @@ -180,10 +181,10 @@ class EditorScriptInfo : public PluginForFile { } - bool GetEditorScriptPlugin(std::vector, int>>& plugins, + bool GetEditorScriptPlugin(std::vector, int>>& plugins, String& errorMessage) const; - bool TransformText(String & text, const std::vector& variables, bool& changed); + bool TransformText(int target, String & text, const std::vector& variables, bool& changed); }; namespace FileTransform diff --git a/Src/FolderCmp.cpp b/Src/FolderCmp.cpp index cb8cc6f1298..d2ae8745170 100644 --- a/Src/FolderCmp.cpp +++ b/Src/FolderCmp.cpp @@ -138,7 +138,7 @@ int FolderCmp::prepAndCompareFiles(DIFFITEM &di) // Invoke unpacking plugins if (infoUnpacker && !paths::IsNullDeviceName(filepathUnpacked[nIndex])) { - if (!infoUnpacker->Unpacking(nullptr, filepathUnpacked[nIndex], filteredFilenames, { tFiles[nIndex] })) + if (!infoUnpacker->Unpacking(nIndex, nullptr, filepathUnpacked[nIndex], filteredFilenames, { tFiles[nIndex] })) goto exitPrepAndCompare; } @@ -156,7 +156,7 @@ int FolderCmp::prepAndCompareFiles(DIFFITEM &di) for (nIndex = 0; nIndex < nDirs; nIndex++) { // Invoke prediff'ing plugins - if (infoPrediffer && !m_diffFileData.Filepath_Transform(bForceUTF8, encoding[nIndex], filepathUnpacked[nIndex], filepathTransformed[nIndex], filteredFilenames, *infoPrediffer)) + if (infoPrediffer && !m_diffFileData.Filepath_Transform(nIndex, bForceUTF8, encoding[nIndex], filepathUnpacked[nIndex], filepathTransformed[nIndex], filteredFilenames, *infoPrediffer)) goto exitPrepAndCompare; } diff --git a/Src/HexMergeView.cpp b/Src/HexMergeView.cpp index deb4607068e..4f32e1ecef3 100644 --- a/Src/HexMergeView.cpp +++ b/Src/HexMergeView.cpp @@ -272,7 +272,7 @@ HRESULT CHexMergeView::LoadFile(const tchar_t* path) { CHexMergeDoc *pDoc = static_cast(GetDocument()); String strTempFileName = path; - if (!pDoc->GetUnpacker()->Unpacking(&m_unpackerSubcodes, strTempFileName, path, { strTempFileName })) + if (!pDoc->GetUnpacker()->Unpacking(m_nThisPane, &m_unpackerSubcodes, strTempFileName, path, { strTempFileName })) return E_FAIL; HANDLE h = CreateFile(strTempFileName.c_str(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -350,7 +350,7 @@ HRESULT CHexMergeView::SaveFile(const tchar_t* path, bool packing) CHexMergeDoc* pDoc = static_cast(GetDocument()); if (packing && !m_unpackerSubcodes.empty()) { - if (!pDoc->GetUnpacker()->Packing(sIntermediateFilename, path, m_unpackerSubcodes, { path })) + if (!pDoc->GetUnpacker()->Packing(m_nThisPane, sIntermediateFilename, path, m_unpackerSubcodes, { path })) { String str = CMergeApp::GetPackingErrorMessage(m_nThisPane, pDoc->m_nBuffers, path, *pDoc->GetUnpacker()); int answer = AfxMessageBox(str.c_str(), MB_OKCANCEL | MB_ICONWARNING); diff --git a/Src/ImgMergeFrm.cpp b/Src/ImgMergeFrm.cpp index cd20ba8775f..ecc3d048ba3 100644 --- a/Src/ImgMergeFrm.cpp +++ b/Src/ImgMergeFrm.cpp @@ -755,7 +755,7 @@ bool CImgMergeFrame::DoFileSave(int pane) m_filePaths[pane] = m_strSaveAsPath; if (filename != m_filePaths[pane]) { - if (!m_infoUnpacker.Packing(filename, m_filePaths[pane], m_unpackerSubcodes[pane], { m_filePaths[pane] })) + if (!m_infoUnpacker.Packing(pane, filename, m_filePaths[pane], m_unpackerSubcodes[pane], { m_filePaths[pane] })) { // Restore save point m_pImgMergeWindow->SetSavePoint(pane, savepoint); @@ -815,7 +815,7 @@ bool CImgMergeFrame::DoFileSaveAs(int pane, bool packing) } if (filename != strPath) { - if (!m_infoUnpacker.Packing(filename, strPath, m_unpackerSubcodes[pane], { strPath })) + if (!m_infoUnpacker.Packing(pane, filename, strPath, m_unpackerSubcodes[pane], { strPath })) { // Restore save point m_pImgMergeWindow->SetSavePoint(pane, savepoint); @@ -1176,7 +1176,7 @@ bool CImgMergeFrame::OpenImages() for (int pane = 0; pane < m_filePaths.GetSize(); ++pane) { strTempFileName[pane] = m_filePaths[pane]; - if (!m_infoUnpacker.Unpacking(&m_unpackerSubcodes[pane], strTempFileName[pane], filteredFilenames, { strTempFileName[pane] })) + if (!m_infoUnpacker.Unpacking(pane, &m_unpackerSubcodes[pane], strTempFileName[pane], filteredFilenames, { strTempFileName[pane] })) { //return false; } diff --git a/Src/MainFrm.cpp b/Src/MainFrm.cpp index 50737ecf4bc..ca2fd064ad3 100644 --- a/Src/MainFrm.cpp +++ b/Src/MainFrm.cpp @@ -820,7 +820,7 @@ bool CMainFrame::ShowAutoMergeDoc(UINT nID, IDirDoc * pDirDoc, int preferredWindowType = -1; PackingInfo infoUnpacker2; unpackedFileExtension = (infoUnpacker ? infoUnpacker : &infoUnpacker2) - ->GetUnpackedFileExtension(filteredFilenames, preferredWindowType); + ->GetUnpackedFileExtension(0, filteredFilenames, preferredWindowType); if (static_cast(nID) <= 0 && preferredWindowType >= 0) nID = ID_MERGE_COMPARE_TEXT + preferredWindowType; } @@ -3031,7 +3031,7 @@ bool CMainFrame::DoSelfCompare(UINT nID, const String& file, const String strDes CWaitCursor wait; copiedFile = file; PackingInfo infoUnpacker2 = infoUnpacker ? *infoUnpacker : PackingInfo{}; - if (!infoUnpacker2.Unpacking(nullptr, copiedFile, copiedFile, { copiedFile })) + if (!infoUnpacker2.Unpacking(0, nullptr, copiedFile, copiedFile, { copiedFile })) { String sError = strutils::format_string1(_("File not unpacked: %1"), file); AfxMessageBox(sError.c_str(), MB_OK | MB_ICONSTOP | MB_MODELESS); diff --git a/Src/Merge.rc b/Src/Merge.rc index 545e12ddcb0..fd63bacff29 100644 --- a/Src/Merge.rc +++ b/Src/Merge.rc @@ -1874,30 +1874,32 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,275,143,50,14 END -IDD_PLUGINS_SELECTPLUGIN DIALOGEX 0, 0, 318, 152 +IDD_PLUGINS_SELECTPLUGIN DIALOGEX 0, 0, 318, 169 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME CAPTION "Select Plugin" FONT 8, FONTNAME, 0, 0, 0x1 BEGIN - LTEXT "Plugin &Name:",IDC_STATIC,7,9,83,10 + LTEXT "Plugin &name:",IDC_STATIC,7,9,83,10 CONTROL "",IDC_PLUGIN_NAME,"ComboBoxEx32",CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,92,7,220,200 - LTEXT "Extensions list:",IDC_STATIC,7,26,83,10 - EDITTEXT IDC_PLUGIN_SUPPORTED_EXTENSIONS,92,24,220,12,ES_AUTOHSCROLL | ES_READONLY - LTEXT "Description:",IDC_STATIC,7,43,83,10 - EDITTEXT IDC_PLUGIN_DESCRIPTION,92,38,220,36,ES_MULTILINE | ES_READONLY | WS_VSCROLL - LTEXT "Default arguments:",IDC_STATIC,7,78,83,10 - EDITTEXT IDC_PLUGIN_ARGUMENTS,92,76,220,12,ES_AUTOHSCROLL | ES_READONLY + LTEXT "&Target files:",IDC_STATIC,7,26,83,10 + COMBOBOX IDC_PLUGIN_TARGETS,92,24,220,200,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Extensions list:",IDC_STATIC,7,43,83,10 + EDITTEXT IDC_PLUGIN_SUPPORTED_EXTENSIONS,92,41,220,12,ES_AUTOHSCROLL | ES_READONLY + LTEXT "Description:",IDC_STATIC,7,60,83,10 + EDITTEXT IDC_PLUGIN_DESCRIPTION,92,55,220,36,ES_MULTILINE | ES_READONLY | WS_VSCROLL + LTEXT "Default arguments:",IDC_STATIC,7,95,83,10 + EDITTEXT IDC_PLUGIN_ARGUMENTS,92,93,220,12,ES_AUTOHSCROLL | ES_READONLY CONTROL "Display all plugins, don't check the extension",IDC_PLUGIN_ALLOW_ALL, - "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,7,92,300,12 + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,7,109,300,12 CONTROL "&Open files in the same window type after unpacking",IDC_PLUGIN_OPEN_IN_SAME_FRAME_TYPE, - "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,7,104,300,12 - LTEXT "&Plugin Pipeline:",IDC_STATIC,7,118,83,10 - CONTROL "",IDC_PLUGIN_PIPELINE,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP,92,116,220,95 - PUSHBUTTON "P&lugin Settings...",IDC_PLUGIN_SETTINGS,7,134,95,14 - PUSHBUTTON "&Alias...",IDC_PLUGIN_ALIAS,106,134,76,14 - PUSHBUTTON "|",IDC_PLUGIN_ADDPIPE,186,134,20,14 - DEFPUSHBUTTON "OK",IDOK,210,134,50,14 - PUSHBUTTON "Cancel",IDCANCEL,264,134,50,14 + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,7,121,300,12 + LTEXT "&Plugin pipeline:",IDC_STATIC,7,135,83,10 + CONTROL "",IDC_PLUGIN_PIPELINE,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP,92,133,220,95 + PUSHBUTTON "P&lugin Settings...",IDC_PLUGIN_SETTINGS,7,151,95,14 + PUSHBUTTON "&Alias...",IDC_PLUGIN_ALIAS,106,151,76,14 + PUSHBUTTON "|",IDC_PLUGIN_ADDPIPE,186,151,20,14 + DEFPUSHBUTTON "OK",IDOK,210,151,50,14 + PUSHBUTTON "Cancel",IDCANCEL,264,151,50,14 END IDD_DIRCOMP_PROGRESS DIALOGEX 0, 0, 256, 60 @@ -2539,7 +2541,7 @@ FONT 8, FONTNAME, 0, 0, 0x1 BEGIN LTEXT "Plugin &type:",IDC_STATIC,8,4,98,10 COMBOBOX IDC_PLUGIN_TYPE,108,4,220,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Plugin &Name:",IDC_STATIC,8,20,98,10 + LTEXT "Plugin &name:",IDC_STATIC,8,20,98,10 EDITTEXT IDC_PLUGIN_NAME,108,20,220,12,ES_AUTOHSCROLL LTEXT "Extensions list:",IDC_STATIC,8,36,98,10 EDITTEXT IDC_PLUGIN_SUPPORTED_EXTENSIONS,108,36,220,12,ES_AUTOHSCROLL @@ -2553,7 +2555,7 @@ BEGIN EDITTEXT IDC_PLUGIN_MENUCAPTION,108,124,220,12,ES_AUTOHSCROLL LTEXT "&Window type:",IDC_PLUGIN_WINDOWTYPE_STATIC,8,140,98,10 COMBOBOX IDC_PLUGIN_WINDOWTYPE,108,140,220,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "&Plugin Pipeline:",IDC_PLUGIN_PIPELINE_STATIC,8,140,98,10 + LTEXT "&Plugin pipeline:",IDC_PLUGIN_PIPELINE_STATIC,8,140,98,10 EDITTEXT IDC_PLUGIN_PIPELINE,108,140,208,12,ES_AUTOHSCROLL PUSHBUTTON "=",IDC_PLUGIN_PIPELINE_MENU,316,140,12,12 LTEXT "&Unpacked file extension:",IDC_PLUGIN_UNPACKEDFILEEXTENSION_STATIC,8,156,98,10 @@ -3299,6 +3301,8 @@ BEGIN 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 0, 0, 100, 0, + 0, 0, 0, 0, 0, 0, 100, 100, 0, 100, 0, 0, 0, 100, 100, 0, @@ -4517,6 +4521,13 @@ BEGIN IDS_PLUGIN_TYPE7 "Alias for Editor script" IDS_PLUGIN_ALIAS_DESC "Alias for plugin pipeline '%1'" IDS_PLUGIN_NEW_DESC "New plugin description" + IDS_PLUGIN_TARGETS_ALL "All" + IDS_PLUGIN_TARGETS_1ST "1st" + IDS_PLUGIN_TARGETS_2ND "2nd" + IDS_PLUGIN_TARGETS_3RD "3rd" + IDS_PLUGIN_TARGETS_1ST_2ND "1st and 2nd" + IDS_PLUGIN_TARGETS_1ST_3RD "1st and 3rd" + IDS_PLUGIN_TARGETS_2ND_3RD "2nd and 3rd" END STRINGTABLE diff --git a/Src/MergeDocDiffCopy.cpp b/Src/MergeDocDiffCopy.cpp index 2951aefa31d..3226a27b8d2 100644 --- a/Src/MergeDocDiffCopy.cpp +++ b/Src/MergeDocDiffCopy.cpp @@ -438,7 +438,7 @@ bool CMergeDoc::TransformText(String& text) return false; const int nActivePane = pwndActiveWindow->m_nThisPane; bool bChanged = false; - m_editorScriptInfo.TransformText(text, { m_filePaths[nActivePane] }, bChanged); + m_editorScriptInfo.TransformText(nActivePane, text, { m_filePaths[nActivePane] }, bChanged); return bChanged; } diff --git a/Src/MergeEditView.cpp b/Src/MergeEditView.cpp index 0b70cd5af17..e989ee512e1 100644 --- a/Src/MergeEditView.cpp +++ b/Src/MergeEditView.cpp @@ -3486,7 +3486,7 @@ void CMergeEditView::OnScripts(UINT nID) CMainFrame::GetPluginPipelineByMenuId(nID, FileTransform::EditorScriptEventNames, ID_SCRIPT_FIRST)); // transform the text with a script/ActiveX function, event=EDITOR_SCRIPT bool bChanged = false; - scriptInfo.TransformText(text, { GetDocument()->m_filePaths[m_nThisPane] }, bChanged); + scriptInfo.TransformText(m_nThisPane, text, { GetDocument()->m_filePaths[m_nThisPane] }, bChanged); if (bChanged) // now replace the text ReplaceSelection(text.c_str(), text.length(), 0); @@ -3504,7 +3504,7 @@ void CMergeEditView::OnTransformWithScript() CString ctext = GetSelectedText(); String text{ ctext, static_cast(ctext.GetLength()) }; bool bChanged = false; - scriptInfo.TransformText(text, { GetDocument()->m_filePaths[m_nThisPane] }, bChanged); + scriptInfo.TransformText(m_nThisPane, text, { GetDocument()->m_filePaths[m_nThisPane] }, bChanged); if (bChanged) // now replace the text ReplaceSelection(text.c_str(), text.length(), 0); diff --git a/Src/SelectPluginDlg.cpp b/Src/SelectPluginDlg.cpp index 2772b721451..0fe4012ce46 100644 --- a/Src/SelectPluginDlg.cpp +++ b/Src/SelectPluginDlg.cpp @@ -77,6 +77,7 @@ void CSelectPluginDlg::DoDataExchange(CDataExchange* pDX) CTrDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSelectPluginDlg) DDX_Control(pDX, IDC_PLUGIN_NAME, m_cboPluginName); + DDX_Control(pDX, IDC_PLUGIN_TARGETS, m_cboTargetFiles); DDX_Check(pDX, IDC_PLUGIN_ALLOW_ALL, m_bNoExtensionCheck); DDX_Check(pDX, IDC_PLUGIN_OPEN_IN_SAME_FRAME_TYPE, m_bOpenInSameFrameType); DDX_Text(pDX, IDC_PLUGIN_DESCRIPTION, m_strDescription); @@ -91,8 +92,9 @@ void CSelectPluginDlg::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(CSelectPluginDlg, CTrDialog) //{{AFX_MSG_MAP(CSelectPluginDlg) ON_BN_CLICKED(IDC_PLUGIN_ALLOW_ALL, OnUnpackerAllowAll) - ON_CBN_SELCHANGE(IDC_PLUGIN_NAME, OnSelchangeUnpackerName) - ON_CBN_SELENDOK(IDC_PLUGIN_NAME, OnSelchangeUnpackerName) + ON_CBN_SELCHANGE(IDC_PLUGIN_NAME, OnSelchangePluginName) + ON_CBN_SELENDOK(IDC_PLUGIN_NAME, OnSelchangePluginName) + ON_CBN_SELCHANGE(IDC_PLUGIN_TARGETS, OnSelchangeTargets) ON_BN_CLICKED(IDC_PLUGIN_ALIAS, OnClickedAlias) ON_BN_CLICKED(IDC_PLUGIN_ADDPIPE, OnClickedAddPipe) ON_CBN_EDITCHANGE(IDC_PLUGIN_PIPELINE, OnChangePipeline) @@ -159,21 +161,36 @@ BOOL CSelectPluginDlg::OnInitDialog() // EXCEPTION: OCX Property Pages should return FALSE } -void CSelectPluginDlg::prepareListbox() +void CSelectPluginDlg::prepareListbox() { int sel = -1; PluginInfo* pSelPlugin = nullptr; String errorMessage; auto parseResult = PluginForFile::ParsePluginPipeline(m_strPluginPipeline, errorMessage); String lastPluginName = parseResult.empty() ? _T("") : parseResult.back().name; + unsigned char targetFlags = parseResult.empty() ? 0xff : parseResult.back().targetFlags; INT_PTR nameCount = 0; + // Target files combobox + SetDlgItemComboBoxList(IDC_PLUGIN_TARGETS, + { + { _("All"), _T("255") }, + { _("1st"), _T("1") }, + { _("2nd"), _T("2") }, + { _("3rd"), _T("4") }, + { _("1st and 2nd"), _T("3") }, + { _("1st and 3rd"), _T("5") }, + { _("2nd and 3rd"), _T("6") }, + }, strutils::format(_T("%d"), targetFlags) + ); + + // Plugin name combobox m_cboPluginName.SetRedraw(false); m_cboPluginName.ResetContent(); if (m_pluginType != PluginType::EditorScript) { - COMBOBOXEXITEM item{CBEIF_TEXT}; + COMBOBOXEXITEM item{ CBEIF_TEXT }; item.iItem = nameCount++; item.pszText = const_cast(noPlugin->m_name.c_str()); m_cboPluginName.InsertItem(&item); @@ -183,7 +200,7 @@ void CSelectPluginDlg::prepareListbox() } else { - COMBOBOXEXITEM item{CBEIF_TEXT}; + COMBOBOXEXITEM item{ CBEIF_TEXT }; item.iItem = nameCount++; item.pszText = const_cast(noPlugin->m_name.c_str()); m_cboPluginName.InsertItem(&item); @@ -207,7 +224,7 @@ void CSelectPluginDlg::prepareListbox() if (!processType2.empty()) { String text = (_T("[") + processType2 + _T("]")); - COMBOBOXEXITEM item{CBEIF_TEXT}; + COMBOBOXEXITEM item{ CBEIF_TEXT }; item.iItem = nameCount++; item.pszText = const_cast(text.c_str()); m_cboPluginName.InsertItem(&item); @@ -219,7 +236,7 @@ void CSelectPluginDlg::prepareListbox() bool match = plugin->TestAgainstRegList(m_filteredFilenames); if (m_bNoExtensionCheck || match || lastPluginName == name) { - COMBOBOXEXITEM item{CBEIF_TEXT|CBEIF_INDENT|CBEIF_LPARAM}; + COMBOBOXEXITEM item{ CBEIF_TEXT | CBEIF_INDENT | CBEIF_LPARAM }; item.iItem = nameCount++; item.iIndent = 1; item.pszText = const_cast(name.c_str()); @@ -253,9 +270,9 @@ void CSelectPluginDlg::prepareListbox() else { m_cboPluginName.SetCurSel(sel); - OnSelchangeUnpackerName(); + OnSelchangePluginName(); } - + m_cboPluginName.SetRedraw(true); } @@ -327,7 +344,7 @@ void CSelectPluginDlg::OnChangePipeline() UpdateData(TRUE); } -void CSelectPluginDlg::OnSelchangeUnpackerName() +void CSelectPluginDlg::OnSelchangePluginName() { PluginInfo* pPlugin = nullptr; String pluginName; @@ -353,6 +370,11 @@ void CSelectPluginDlg::OnSelchangeUnpackerName() m_cboPluginName.GetItem(&item); CString cstrPluginName = item.pszText; pluginName = cstrPluginName.Trim(); + + unsigned char targetFlags = + static_cast(tc::ttoi( + reinterpret_cast(m_cboTargetFiles.GetItemDataPtr(m_cboTargetFiles.GetCurSel())))); + for (const auto& [processType, pluginList] : m_Plugins) { for (const auto& [caption, name, id, plugin] : pluginList) @@ -365,8 +387,9 @@ void CSelectPluginDlg::OnSelchangeUnpackerName() String errorMessage; auto parseResult = PluginForFile::ParsePluginPipeline(pluginPipeline, errorMessage); if (parseResult.empty()) - parseResult.push_back({ name, {}, '\0' }); + parseResult.push_back({ name, targetFlags, {}, '\0' }); parseResult.back().name = name; + parseResult.back().targetFlags = targetFlags; m_strPluginPipeline = PluginForFile::MakePluginPipeline(parseResult); pPlugin = plugin; break; @@ -394,6 +417,11 @@ void CSelectPluginDlg::OnSelchangeUnpackerName() UpdateData (FALSE); } +void CSelectPluginDlg::OnSelchangeTargets() +{ + OnSelchangePluginName(); +} + void CSelectPluginDlg::OnClickedSettings() { COMBOBOXEXITEM item{CBEIF_LPARAM}; diff --git a/Src/SelectPluginDlg.h b/Src/SelectPluginDlg.h index 681c3af6047..4dd75b4bd85 100644 --- a/Src/SelectPluginDlg.h +++ b/Src/SelectPluginDlg.h @@ -42,6 +42,7 @@ class CSelectPluginDlg : public CTrDialog //{{AFX_DATA(CSelectPluginDlg) enum { IDD = IDD_PLUGINS_SELECTPLUGIN }; CComboBoxEx m_cboPluginName; + CComboBox m_cboTargetFiles; bool m_bNoExtensionCheck; bool m_bOpenInSameFrameType; String m_strDescription; @@ -83,7 +84,8 @@ class CSelectPluginDlg : public CTrDialog virtual void OnOK(); virtual BOOL OnInitDialog() override; afx_msg void OnUnpackerAllowAll(); - afx_msg void OnSelchangeUnpackerName(); + afx_msg void OnSelchangePluginName(); + afx_msg void OnSelchangeTargets(); afx_msg void OnClickedAlias(); afx_msg void OnClickedAddPipe(); afx_msg void OnChangePipeline(); diff --git a/Src/WebPageDiffFrm.cpp b/Src/WebPageDiffFrm.cpp index 4ac60ad4850..b4e88f4720e 100644 --- a/Src/WebPageDiffFrm.cpp +++ b/Src/WebPageDiffFrm.cpp @@ -894,7 +894,7 @@ bool CWebPageDiffFrame::OpenUrls(IWebDiffCallback* callback) for (int pane = 0; pane < m_filePaths.GetSize(); ++pane) { strTempFileName[pane] = m_filePaths[pane]; - if (!m_infoUnpacker.Unpacking(&m_unpackerSubcodes[pane], strTempFileName[pane], filteredFilenames, {strTempFileName[pane]})) + if (!m_infoUnpacker.Unpacking(pane, &m_unpackerSubcodes[pane], strTempFileName[pane], filteredFilenames, {strTempFileName[pane]})) { // return false; } diff --git a/Src/resource.h b/Src/resource.h index 9890f4709ae..1b1b4c88d68 100644 --- a/Src/resource.h +++ b/Src/resource.h @@ -620,10 +620,11 @@ #define IDC_INPUTBOX_PROMPT 1633 #define IDC_INPUTBOX_EDIT 1634 #define IDC_COPY_GRANULARITY 1635 -#define IDC_PLUGIN_NAME 1636 -#define IDC_PLUGIN_ALLOW_ALL 1637 -#define IDC_PLUGIN_EVENT_TYPE 1638 -#define IDC_PLUGIN_SUPPORTED_EXTENSIONS 1639 +#define IDC_PLUGIN_TARGETS 1636 +#define IDC_PLUGIN_NAME 1637 +#define IDC_PLUGIN_ALLOW_ALL 1638 +#define IDC_PLUGIN_EVENT_TYPE 1639 +#define IDC_PLUGIN_SUPPORTED_EXTENSIONS 1640 #define IDC_PLUGIN_ARGUMENTS 1641 #define IDC_PLUGIN_PIPELINE 1642 #define IDC_PLUGIN_ADDPIPE 1643 @@ -1752,47 +1753,54 @@ #define IDS_PLUGIN_CIRCULAR_REFERENCE 44497 #define IDS_PLUGIN_NAME_ALREADY_EXISTS 44498 #define IDS_PLUGIN_NEW_DESC 44499 -#define IDS_L2M 44500 -#define IDS_R2M 44501 -#define IDS_COPY_FROM_MIDDLE_R 44502 -#define IDS_COPY_FROM_MIDDLE_L 44503 -#define IDS_L2MNEXT 44504 -#define IDS_R2MNEXT 44505 -#define IDS_ALL_MIDDLE 44506 -#define IDS_FILTER_APPLIED 44507 -#define IDS_CLIPBOARDHISTORY_TIME 44510 -#define IDS_CLIPBOARDHISTORY_DISABLED 44511 -#define IDS_CLIPBOARDHISTORY_NOT_SUPPORTED1 44512 -#define IDS_CLIPBOARDHISTORY_NOT_SUPPORTED2 44513 -#define IDS_WEBVIEW2_RUNTIME_NOT_INSTALLED 44514 -#define IDS_PROJECT_ITEM_HIDDEN_ITEMS 44515 -#define IDS_CONFIRM_COPY_ALL_DIFFS 44516 -#define IDS_JUMPLIST_NEW_TEXT_COMPARE 44520 -#define IDS_JUMPLIST_NEW_TABLE_COMPARE 44521 -#define IDS_JUMPLIST_NEW_BINARY_COMPARE 44522 -#define IDS_JUMPLIST_NEW_IMAGE_COMPARE 44523 -#define IDS_JUMPLIST_NEW_WEBPAGE_COMPARE 44524 -#define IDS_JUMPLIST_CLIPBOARD_COMPARE 44525 -#define IDS_ITEMS_PER_SEC 44526 -#define IDS_EXPANDSUBDIRS_DONOTEXPAND 44527 -#define IDS_EXPANDSUBDIRS_ALL 44528 -#define IDS_EXPANDSUBDIRS_DIFFERENT 44529 -#define IDS_EXPANDSUBDIRS_IDENTICAL 44530 -#define IDS_PREVIEWBAR_PRINT 44531 -#define IDS_PREVIEWBAR_NEXTPAGE 44532 -#define IDS_PREVIEWBAR_PREVPAGE 44533 -#define IDS_PREVIEWBAR_TWOPAGE 44534 -#define IDS_PREVIEWBAR_ONEPAGE 44535 -#define IDS_PREVIEWBAR_ZOOMIN 44536 -#define IDS_PREVIEWBAR_ZOOMOUT 44537 -#define IDS_PREVIEWBAR_CLOSE 44538 -#define IDS_WEBPAGE_COMPARING 44539 -#define IDS_WEBPAGE_ZOOM 44540 -#define IDS_COPY_GRANULARITY_DIFFHUNK 44541 -#define IDS_COPY_GRANULARITY_INLINE 44542 -#define IDS_COPY_GRANULARITY_LINE 44543 -#define IDS_COPY_GRANULARITY_Character 44544 -#define IDS_VIEW_MENU_BAR 44545 +#define IDS_PLUGIN_TARGETS_ALL 44500 +#define IDS_PLUGIN_TARGETS_1ST 44501 +#define IDS_PLUGIN_TARGETS_2ND 44502 +#define IDS_PLUGIN_TARGETS_3RD 44503 +#define IDS_PLUGIN_TARGETS_1ST_2ND 44504 +#define IDS_PLUGIN_TARGETS_1ST_3RD 44505 +#define IDS_PLUGIN_TARGETS_2ND_3RD 44506 +#define IDS_L2M 44600 +#define IDS_R2M 44601 +#define IDS_COPY_FROM_MIDDLE_R 44602 +#define IDS_COPY_FROM_MIDDLE_L 44603 +#define IDS_L2MNEXT 44604 +#define IDS_R2MNEXT 44605 +#define IDS_ALL_MIDDLE 44606 +#define IDS_FILTER_APPLIED 44607 +#define IDS_CLIPBOARDHISTORY_TIME 44610 +#define IDS_CLIPBOARDHISTORY_DISABLED 44611 +#define IDS_CLIPBOARDHISTORY_NOT_SUPPORTED1 44612 +#define IDS_CLIPBOARDHISTORY_NOT_SUPPORTED2 44613 +#define IDS_WEBVIEW2_RUNTIME_NOT_INSTALLED 44614 +#define IDS_PROJECT_ITEM_HIDDEN_ITEMS 44615 +#define IDS_CONFIRM_COPY_ALL_DIFFS 44616 +#define IDS_JUMPLIST_NEW_TEXT_COMPARE 44620 +#define IDS_JUMPLIST_NEW_TABLE_COMPARE 44621 +#define IDS_JUMPLIST_NEW_BINARY_COMPARE 44622 +#define IDS_JUMPLIST_NEW_IMAGE_COMPARE 44623 +#define IDS_JUMPLIST_NEW_WEBPAGE_COMPARE 44624 +#define IDS_JUMPLIST_CLIPBOARD_COMPARE 44625 +#define IDS_ITEMS_PER_SEC 44626 +#define IDS_EXPANDSUBDIRS_DONOTEXPAND 44627 +#define IDS_EXPANDSUBDIRS_ALL 44628 +#define IDS_EXPANDSUBDIRS_DIFFERENT 44629 +#define IDS_EXPANDSUBDIRS_IDENTICAL 44630 +#define IDS_PREVIEWBAR_PRINT 44631 +#define IDS_PREVIEWBAR_NEXTPAGE 44632 +#define IDS_PREVIEWBAR_PREVPAGE 44633 +#define IDS_PREVIEWBAR_TWOPAGE 44634 +#define IDS_PREVIEWBAR_ONEPAGE 44635 +#define IDS_PREVIEWBAR_ZOOMIN 44636 +#define IDS_PREVIEWBAR_ZOOMOUT 44637 +#define IDS_PREVIEWBAR_CLOSE 44638 +#define IDS_WEBPAGE_COMPARING 44639 +#define IDS_WEBPAGE_ZOOM 44640 +#define IDS_COPY_GRANULARITY_DIFFHUNK 44641 +#define IDS_COPY_GRANULARITY_INLINE 44642 +#define IDS_COPY_GRANULARITY_LINE 44643 +#define IDS_COPY_GRANULARITY_Character 44644 +#define IDS_VIEW_MENU_BAR 44645 // Next default values for new objects // diff --git a/Testing/GoogleTest/Plugins/Plugins_test.cpp b/Testing/GoogleTest/Plugins/Plugins_test.cpp index bdc3de99d0f..92d74c7de08 100644 --- a/Testing/GoogleTest/Plugins/Plugins_test.cpp +++ b/Testing/GoogleTest/Plugins/Plugins_test.cpp @@ -58,7 +58,7 @@ namespace std::vector subcodes; ppi->FetchPluginInfos(_T("../../Data/Office/excel.xls|../../Data/Office/excel.xls"), &iu, &ip); String file = paths::ConcatPath(oldModulePath, _T("..\\..\\Data\\Office\\excel.xls")); - iu->Unpacking(&subcodes, file, _T(".*\\.xls"), { file }); + iu->Unpacking(0, &subcodes, file, _T(".*\\.xls"), { file }); } TEST_F(PluginsTest, ParsePluginPipeline) diff --git a/Translations/WinMerge/Arabic.po b/Translations/WinMerge/Arabic.po index 7b8827990c7..824f744dbc4 100644 --- a/Translations/WinMerge/Arabic.po +++ b/Translations/WinMerge/Arabic.po @@ -1626,7 +1626,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" msgid "Extensions list:" @@ -1644,7 +1647,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4184,6 +4187,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Basque.po b/Translations/WinMerge/Basque.po index 52e821ec40d..baea05f7665 100644 --- a/Translations/WinMerge/Basque.po +++ b/Translations/WinMerge/Basque.po @@ -1969,7 +1969,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1989,7 +1992,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4789,6 +4792,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Brazilian.po b/Translations/WinMerge/Brazilian.po index 48ae6239cd6..db7c107bb5e 100644 --- a/Translations/WinMerge/Brazilian.po +++ b/Translations/WinMerge/Brazilian.po @@ -1623,9 +1623,12 @@ msgstr "Propriedades Adicionais" msgid "Select Plugin" msgstr "Selecionar Plugin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Nome do &Plugin:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lista das extensões:" @@ -1641,7 +1644,7 @@ msgstr "Exibir todos os plugins, não verificar a extensão" msgid "&Open files in the same window type after unpacking" msgstr "&Abrir arquivos no mesmo tipo de janela após desempacotar" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Tubulação dos Plugins:" msgid "&Alias..." @@ -3866,6 +3869,27 @@ msgstr "Apelido para o encadeamento de plugin '%1'" msgid "New plugin description" msgstr "Descrição de novo plugin" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtro aplicado" diff --git a/Translations/WinMerge/Bulgarian.po b/Translations/WinMerge/Bulgarian.po index 715f3d7760d..18b1fca1a50 100644 --- a/Translations/WinMerge/Bulgarian.po +++ b/Translations/WinMerge/Bulgarian.po @@ -1620,9 +1620,12 @@ msgstr "Разширени настройки" msgid "Select Plugin" msgstr "Избиране на добавка" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Д&обавка:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Разширения:" @@ -1638,7 +1641,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Кон&вейер:" msgid "&Alias..." @@ -4243,6 +4246,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Catalan.po b/Translations/WinMerge/Catalan.po index 547ca04d46f..0e2cb0a879b 100644 --- a/Translations/WinMerge/Catalan.po +++ b/Translations/WinMerge/Catalan.po @@ -1967,9 +1967,12 @@ msgstr "Propietats addicionals" msgid "Select Plugin" msgstr "Selecciona el connector" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Nom del connector:" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "Llistat d'extensions:" @@ -1987,7 +1990,7 @@ msgstr "&Visualitza tots els connectors, sense verificar l'extensió" msgid "&Open files in the same window type after unpacking" msgstr "Obre els fitxers al mateix tipus de finestra després de desempaquetar" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Etapes del connector:" msgid "&Alias..." @@ -4963,6 +4966,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtre aplicat" diff --git a/Translations/WinMerge/ChineseSimplified.po b/Translations/WinMerge/ChineseSimplified.po index c99cd8d6850..64c02907bf1 100644 --- a/Translations/WinMerge/ChineseSimplified.po +++ b/Translations/WinMerge/ChineseSimplified.po @@ -1629,9 +1629,12 @@ msgstr "附加属性" msgid "Select Plugin" msgstr "选择插件" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "插件名称(&N):" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "扩展名列表:" @@ -1647,7 +1650,7 @@ msgstr "显示所有插件, 不检查文件扩展名" msgid "&Open files in the same window type after unpacking" msgstr "解包后在同一窗口类型中打开文件(&O)" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "插件流水线(&P):" msgid "&Alias..." @@ -4294,6 +4297,27 @@ msgstr "插件流水线 '%1' 别名" msgid "New plugin description" msgstr "新的插件描述" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "过滤器已应用" diff --git a/Translations/WinMerge/ChineseTraditional.po b/Translations/WinMerge/ChineseTraditional.po index 8d22bfb0943..5e223d85a8a 100644 --- a/Translations/WinMerge/ChineseTraditional.po +++ b/Translations/WinMerge/ChineseTraditional.po @@ -1977,9 +1977,12 @@ msgstr "額外屬性" msgid "Select Plugin" msgstr "選擇外掛程式" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "外掛程式名稱 (&N):" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "副檔名清單:" @@ -1997,7 +2000,7 @@ msgstr "顯示所有外掛,不檢查副檔名" msgid "&Open files in the same window type after unpacking" msgstr "解壓縮後以相同視窗類型開啟檔案(&O)" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "外掛程式管線 (&P):" msgid "&Alias..." @@ -4944,6 +4947,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "已套用篩選器" diff --git a/Translations/WinMerge/Corsican.po b/Translations/WinMerge/Corsican.po index b9425b498b9..8bb9c91c0cb 100644 --- a/Translations/WinMerge/Corsican.po +++ b/Translations/WinMerge/Corsican.po @@ -1625,9 +1625,12 @@ msgstr "Pruprietà addiziunale" msgid "Select Plugin" msgstr "Selezziunà u modulu d’estensione" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Nome di u modulu :" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lista di l’estensioni :" @@ -1643,7 +1646,7 @@ msgstr "Affissà tutti i moduli d’estensione, ùn cuntrollà micca l’estensi msgid "&Open files in the same window type after unpacking" msgstr "&Apre i schedarii in u listessu tipu di finestra dopu à a spacchittera" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Cundottu di modulu :" msgid "&Alias..." @@ -4250,6 +4253,27 @@ msgstr "Cugnome di u cundottu di modulu d’estensione « %1 »" msgid "New plugin description" msgstr "Discrizzione nova di u modulu d’estensione" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtru appiecatu" diff --git a/Translations/WinMerge/Croatian.po b/Translations/WinMerge/Croatian.po index a13d5fa1eee..7da38288ba1 100644 --- a/Translations/WinMerge/Croatian.po +++ b/Translations/WinMerge/Croatian.po @@ -1966,7 +1966,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1986,7 +1989,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4788,6 +4791,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Czech.po b/Translations/WinMerge/Czech.po index 9cd25c52151..fb18f2393d0 100644 --- a/Translations/WinMerge/Czech.po +++ b/Translations/WinMerge/Czech.po @@ -1966,7 +1966,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1986,7 +1989,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4721,6 +4724,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Danish.po b/Translations/WinMerge/Danish.po index e36594d0328..d7b5a4f670f 100644 --- a/Translations/WinMerge/Danish.po +++ b/Translations/WinMerge/Danish.po @@ -1967,7 +1967,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1987,7 +1990,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4826,6 +4829,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Dutch.po b/Translations/WinMerge/Dutch.po index f935c8a7caa..923b355c279 100644 --- a/Translations/WinMerge/Dutch.po +++ b/Translations/WinMerge/Dutch.po @@ -1626,9 +1626,12 @@ msgstr "Extra eigenschappen" msgid "Select Plugin" msgstr "Plugin selecteren" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Naam plugin:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lijst extensies:" @@ -1644,7 +1647,7 @@ msgstr "Alle plugins weergeven zonder de extensie te controleren" msgid "&Open files in the same window type after unpacking" msgstr "Bestanden openen in hetzelfde venstertype na uitpakken" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Plugin pipeline:" msgid "&Alias..." @@ -4312,6 +4315,27 @@ msgstr "Alias voor plugin-pijplijn '%1'" msgid "New plugin description" msgstr "Beschrijving nieuwe plugin" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filter toegepast" diff --git a/Translations/WinMerge/English.pot b/Translations/WinMerge/English.pot index 8fec3710e91..d3ddbbf40b4 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: 2024-12-10 09:03+0000\n" +"POT-Creation-Date: 2025-01-01 15:10+0000\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: English \n" @@ -1617,7 +1617,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" msgid "Extensions list:" @@ -1635,7 +1638,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -3861,6 +3864,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Finnish.po b/Translations/WinMerge/Finnish.po index 9847bc5671d..d3c6984a32e 100644 --- a/Translations/WinMerge/Finnish.po +++ b/Translations/WinMerge/Finnish.po @@ -1627,9 +1627,12 @@ msgstr "Lisäominaisuudet" msgid "Select Plugin" msgstr "Valitse laajennus (Plugin)" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Laajennuksen &nimi:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Päätelista:" @@ -1646,7 +1649,7 @@ msgid "&Open files in the same window type after unpacking" msgstr "" "Avaa tied&ostot samassa ikkunatyypissä pakkauksen purkamisen jälkeen" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Laajennusputki:" msgid "&Alias..." @@ -4280,6 +4283,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Sovellettu suodatin" diff --git a/Translations/WinMerge/French.po b/Translations/WinMerge/French.po index cf99425a97b..7dca5f713f0 100644 --- a/Translations/WinMerge/French.po +++ b/Translations/WinMerge/French.po @@ -1974,9 +1974,12 @@ msgstr "Propriétés supplémentaires" msgid "Select Plugin" msgstr "Sélectionner le plugin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nom du plugin :" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "Liste des extensions :" @@ -1994,7 +1997,7 @@ msgstr "Afficher tous les plugins, sans vérification de l'extension" msgid "&Open files in the same window type after unpacking" msgstr "&Ouvrir les fichiers dans le même type de fenêtre après décompression" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Plugin Chaîne '|' :" msgid "&Alias..." @@ -4974,6 +4977,27 @@ msgstr "Alias pour le plugin chaine '%1'" msgid "New plugin description" msgstr "Description du nouveau plugin" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtre appliqué" diff --git a/Translations/WinMerge/Galician.po b/Translations/WinMerge/Galician.po index d1ad6a9cc45..a167774c581 100644 --- a/Translations/WinMerge/Galician.po +++ b/Translations/WinMerge/Galician.po @@ -1624,9 +1624,12 @@ msgstr "Propiedades adicionais" msgid "Select Plugin" msgstr "Escolla complemento" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nome:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Listaxe de extensións:" @@ -1642,7 +1645,7 @@ msgstr "Mostrar todos os complementos, non comprobar a extensión" msgid "&Open files in the same window type after unpacking" msgstr "Abrir ficheir&os na mesma ventá despois de desempaquetar" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Canais de com&plementos:" msgid "&Alias..." @@ -4249,6 +4252,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtro aplicado" diff --git a/Translations/WinMerge/German.po b/Translations/WinMerge/German.po index 7fcea6701c8..c103d67eb92 100644 --- a/Translations/WinMerge/German.po +++ b/Translations/WinMerge/German.po @@ -1970,9 +1970,12 @@ msgstr "Zusätzliche Eigenschaften" msgid "Select Plugin" msgstr "Plugin auswählen" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Plugin-Name:" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "Erweiterungsliste:" @@ -1990,7 +1993,7 @@ msgstr "Alle Plugins anzeigen, die Erweiterung nicht überprüfen" msgid "&Open files in the same window type after unpacking" msgstr "Dateien nach dem Entpacken im gleichen Fenstertyp öffnen" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Plugin-Pipeline:" msgid "&Alias..." @@ -4584,6 +4587,27 @@ msgstr "Alias für Plug-in Pipeline '%1'" msgid "New plugin description" msgstr "Neue Plug-in Beschreibung" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Angewandter Filter" diff --git a/Translations/WinMerge/Greek.po b/Translations/WinMerge/Greek.po index bf0a73b2bca..2a318e2bf0d 100644 --- a/Translations/WinMerge/Greek.po +++ b/Translations/WinMerge/Greek.po @@ -1965,7 +1965,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1985,7 +1988,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4766,6 +4769,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Hungarian.po b/Translations/WinMerge/Hungarian.po index 6b6d4803915..ae89ca5140f 100644 --- a/Translations/WinMerge/Hungarian.po +++ b/Translations/WinMerge/Hungarian.po @@ -1968,9 +1968,12 @@ msgstr "További tulajdonságok" msgid "Select Plugin" msgstr "Bővítmény kiválasztása" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Bővítmény neve:" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "Kiterjesztések listája:" @@ -1988,7 +1991,7 @@ msgstr "Az összes bővítmény megjelenítése, ne ellenőrizze a kiterjesztés msgid "&Open files in the same window type after unpacking" msgstr "Kicsomagolás után a fájlok megnyitása ugyanabban az ablakban" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Bővítmény pipeline" msgid "&Alias..." @@ -4920,6 +4923,27 @@ msgstr "'%1' bővítmény pipeline alias" msgid "New plugin description" msgstr "Új bővítmény leírás" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Szűrő alkalmazva" diff --git a/Translations/WinMerge/Italian.po b/Translations/WinMerge/Italian.po index 8ac430882ee..764ce3ba556 100644 --- a/Translations/WinMerge/Italian.po +++ b/Translations/WinMerge/Italian.po @@ -1631,9 +1631,12 @@ msgstr "Proprietà aggiuntive" msgid "Select Plugin" msgstr "Seleziona plugin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nome plugin:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Elenco estensioni:" @@ -1649,7 +1652,7 @@ msgstr "Visualizza tutti i plugin, senza verificare l'estensione" msgid "&Open files in the same window type after unpacking" msgstr "Dopo aver scompatto i file &aprili nello stesso tipo di finestra" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Pipeline &plugin:" msgid "&Alias..." @@ -4313,6 +4316,27 @@ msgstr "Alias pipeline plugin '%1'" msgid "New plugin description" msgstr "Nuova descrizione plugin" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtro applicato" diff --git a/Translations/WinMerge/Japanese.po b/Translations/WinMerge/Japanese.po index 7d20f5fd53b..aba30401948 100644 --- a/Translations/WinMerge/Japanese.po +++ b/Translations/WinMerge/Japanese.po @@ -1626,9 +1626,12 @@ msgstr "追加プロパティ" msgid "Select Plugin" msgstr "プラグインの選択" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "プラグイン名(&N):" +msgid "&Target files:" +msgstr "対象ファイル(&T)" + msgid "Extensions list:" msgstr "拡張子一覧:" @@ -1644,7 +1647,7 @@ msgstr "拡張子を無視してすべてのプラグインを表示する" msgid "&Open files in the same window type after unpacking" msgstr "展開プラグイン適用後、ファイルを同じウインドウ タイプで開く(&O)" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "プラグイン パイプライン(&P):" msgid "&Alias..." @@ -4250,6 +4253,27 @@ msgstr "プラグインパイプライン '%1' のエイリアス" msgid "New plugin description" msgstr "新しいプラグインの説明" +msgid "All" +msgstr "すべて" + +msgid "1st" +msgstr "1番目" + +msgid "2nd" +msgstr "2番目" + +msgid "3rd" +msgstr "3番目" + +msgid "1st and 2nd" +msgstr "1番目と2番目" + +msgid "1st and 3rd" +msgstr "1番目と3番目" + +msgid "2nd and 3rd" +msgstr "2番目と3番目" + msgid "Filter applied" msgstr "フィルター適用" diff --git a/Translations/WinMerge/Korean.po b/Translations/WinMerge/Korean.po index 57eb72d17ae..958d27b6598 100644 --- a/Translations/WinMerge/Korean.po +++ b/Translations/WinMerge/Korean.po @@ -1975,9 +1975,12 @@ msgstr "추가 속성" msgid "Select Plugin" msgstr "플러그인 선택" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "플러그인 이름(&N):" +msgid "&Target files:" +msgstr "" + #, c-format msgid "Extensions list:" msgstr "확장자 목록:" @@ -1995,7 +1998,7 @@ msgstr "모든 플러그인을 표시하고, 확장을 확인하지 않음" msgid "&Open files in the same window type after unpacking" msgstr "압축을 푼 후 동일한 창 유형의 파일 열기(&O)" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "플러그인 파이프라인(&P):" msgid "&Alias..." @@ -4969,6 +4972,27 @@ msgstr "플러그인 파이프라인 '%1'의 별칭" msgid "New plugin description" msgstr "새 플러그인 설명" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "필터 적용됨" diff --git a/Translations/WinMerge/Lithuanian.po b/Translations/WinMerge/Lithuanian.po index 2e41c68a896..b4d12aa7c08 100644 --- a/Translations/WinMerge/Lithuanian.po +++ b/Translations/WinMerge/Lithuanian.po @@ -1623,9 +1623,12 @@ msgstr "Papildomos savybės" msgid "Select Plugin" msgstr "Pasirinkite papildinį" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Papildinio pavadini&mas:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Plėtinių sąrašas:" @@ -1641,7 +1644,7 @@ msgstr "Rodyti visus papildinius netikrinant plėtinių" msgid "&Open files in the same window type after unpacking" msgstr "P&o išpakavimo atidaryti failus to paties tipo lange" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Papildinio komandų grandinė:" msgid "&Alias..." @@ -3866,6 +3869,27 @@ msgstr "Papildinio komandų grandinės '%1' pseudonimas" msgid "New plugin description" msgstr "Naujo papildinio aprašas" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Pritaikytas filtras" diff --git a/Translations/WinMerge/Norwegian.po b/Translations/WinMerge/Norwegian.po index 3b8c0e728a6..1ca692507ba 100644 --- a/Translations/WinMerge/Norwegian.po +++ b/Translations/WinMerge/Norwegian.po @@ -1624,7 +1624,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" msgid "Extensions list:" @@ -1642,7 +1645,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4253,6 +4256,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Persian.po b/Translations/WinMerge/Persian.po index e2f16397d74..4635e8e2769 100644 --- a/Translations/WinMerge/Persian.po +++ b/Translations/WinMerge/Persian.po @@ -1969,7 +1969,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1989,7 +1992,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4835,6 +4838,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Polish.po b/Translations/WinMerge/Polish.po index f4718c02f17..40ee00e8b15 100644 --- a/Translations/WinMerge/Polish.po +++ b/Translations/WinMerge/Polish.po @@ -1624,9 +1624,12 @@ msgstr "Dodatkowe właściwości" msgid "Select Plugin" msgstr "Wybierz wtyczkę" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Nazwa wtyczki:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lista rozszerzeń:" @@ -1642,7 +1645,7 @@ msgstr "Wyświetl wszystkie wtyczki (nie sprawdzaj po rozszerzeniu)" msgid "&Open files in the same window type after unpacking" msgstr "Po rozpakowaniu otwórz pliki w tym samym typie okna" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Wtyczka pipeline:" msgid "&Alias..." @@ -3867,6 +3870,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Zastosowano filtr" diff --git a/Translations/WinMerge/Portuguese.po b/Translations/WinMerge/Portuguese.po index 331b0353173..4d9d8d23909 100644 --- a/Translations/WinMerge/Portuguese.po +++ b/Translations/WinMerge/Portuguese.po @@ -1628,9 +1628,12 @@ msgstr "Propriedades adicionais" msgid "Select Plugin" msgstr "Selecionar plugin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nome do plugin:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lista de extensões:" @@ -1646,8 +1649,8 @@ msgstr "Mostrar todos os plugins, não verifica a extensão" msgid "&Open files in the same window type after unpacking" msgstr "Abrir ficheiros no mesmo tipo de janela depois de desempacotar" -msgid "&Plugin Pipeline:" -msgstr "&Plugin Pipeline:" +msgid "&Plugin pipeline:" +msgstr "&Plugin pipeline:" msgid "&Alias..." msgstr "&Abreviatura..." @@ -4294,6 +4297,27 @@ msgstr "Abreviatura para pipeline do plugin '%1'" msgid "New plugin description" msgstr "Nova descrição do plugin" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtro aplicado" diff --git a/Translations/WinMerge/Romanian.po b/Translations/WinMerge/Romanian.po index 8dcee449563..fa2d2d7563b 100644 --- a/Translations/WinMerge/Romanian.po +++ b/Translations/WinMerge/Romanian.po @@ -1628,9 +1628,12 @@ msgstr "Proprietăți suplimentare" msgid "Select Plugin" msgstr "Selectează plugin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nume plugin:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Listă extensii:" @@ -1646,7 +1649,7 @@ msgstr "Afișează toate plugin-urile, nu verifica extensia" msgid "&Open files in the same window type after unpacking" msgstr "Deschide fișierele în același tip de fereastră după dezarhivare" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Lanțul de &plugin-uri:" msgid "&Alias..." @@ -4337,6 +4340,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtru aplicat" diff --git a/Translations/WinMerge/Russian.po b/Translations/WinMerge/Russian.po index c4b0cddf070..966370332ff 100644 --- a/Translations/WinMerge/Russian.po +++ b/Translations/WinMerge/Russian.po @@ -1625,9 +1625,12 @@ msgstr "Дополнительные свойства" msgid "Select Plugin" msgstr "Выбрать плагин" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Имя плагина:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Список расширений:" @@ -1643,7 +1646,7 @@ msgstr "Отображать все плагины, не проверяя рас msgid "&Open files in the same window type after unpacking" msgstr "Открыть файлы в том же типе окна после распаковки" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Конвейер плагинов:" msgid "&Alias..." @@ -3868,6 +3871,27 @@ msgstr "Псевдоним для конвейера плагина '%1'" msgid "New plugin description" msgstr "Создать описание плагина" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Фильтр применен" diff --git a/Translations/WinMerge/Serbian.po b/Translations/WinMerge/Serbian.po index cadbaa03317..ecc0b811147 100644 --- a/Translations/WinMerge/Serbian.po +++ b/Translations/WinMerge/Serbian.po @@ -1951,7 +1951,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1971,7 +1974,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4760,6 +4763,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Sinhala.po b/Translations/WinMerge/Sinhala.po index 2cfa10f5969..e3d639acc75 100644 --- a/Translations/WinMerge/Sinhala.po +++ b/Translations/WinMerge/Sinhala.po @@ -1966,7 +1966,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, fuzzy, c-format @@ -1986,7 +1989,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4789,6 +4792,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "" diff --git a/Translations/WinMerge/Slovak.po b/Translations/WinMerge/Slovak.po index 03d6f9a75c1..47e3f352bbd 100644 --- a/Translations/WinMerge/Slovak.po +++ b/Translations/WinMerge/Slovak.po @@ -1623,9 +1623,12 @@ msgstr "Prídavné vlastnosti" msgid "Select Plugin" msgstr "Vybrať rozšírenie" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Názov rozšírenia:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Zoznam prípon:" @@ -1641,7 +1644,7 @@ msgstr "Zobrazí všetky rozšírenia, nekontroluje príponu" msgid "&Open files in the same window type after unpacking" msgstr "Po rozbalení &otvoriť súbory v rovnakom type okna" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Rozšírenie &potrubia:" msgid "&Alias..." @@ -4224,6 +4227,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Použitý filter" diff --git a/Translations/WinMerge/Slovenian.po b/Translations/WinMerge/Slovenian.po index f0c6aeae621..0c8f18c404d 100644 --- a/Translations/WinMerge/Slovenian.po +++ b/Translations/WinMerge/Slovenian.po @@ -1623,9 +1623,12 @@ msgstr "Dodatne lastnosti" msgid "Select Plugin" msgstr "Izberi vtičnik" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "I&me vtičnita:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Seznam končnic:" @@ -1641,7 +1644,7 @@ msgstr "Prikaži vse vtičnike, ne preverjaj končnico" msgid "&Open files in the same window type after unpacking" msgstr "P&o razpakiranju odpri datoteke v isti vrsti okna" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Cevovo&d vtičnika:" msgid "&Alias..." @@ -4247,6 +4250,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filter je uporabljen" diff --git a/Translations/WinMerge/Spanish.po b/Translations/WinMerge/Spanish.po index 7b1ab258a86..6f9fbd00369 100644 --- a/Translations/WinMerge/Spanish.po +++ b/Translations/WinMerge/Spanish.po @@ -1626,9 +1626,12 @@ msgstr "Propiedades adicionales" msgid "Select Plugin" msgstr "Elija complemento" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "&Nombre:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Lista de extensiones:" @@ -1644,7 +1647,7 @@ msgstr "Mostrar todos los complementos, no comprobar extensión" msgid "&Open files in the same window type after unpacking" msgstr "Abrir archiv&os en la misma ventana después de desempaquetar" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "Canales de com&plementos:" msgid "&Alias..." @@ -4251,6 +4254,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filtro aplicado" diff --git a/Translations/WinMerge/Swedish.po b/Translations/WinMerge/Swedish.po index 701a1eb0bcc..5419d18992a 100644 --- a/Translations/WinMerge/Swedish.po +++ b/Translations/WinMerge/Swedish.po @@ -1632,9 +1632,12 @@ msgstr "Övriga egenskaper" msgid "Select Plugin" msgstr "Välj programtillägg" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Programtilläggets namn:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Filändelser:" @@ -1650,7 +1653,7 @@ msgstr "Visa alla programtillägg, kontrollera inte filändelse" msgid "&Open files in the same window type after unpacking" msgstr "Öppna filer i samma fönstertyp efter extrahering" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Programtillägg kommandoslinga:" msgid "&Alias..." @@ -4326,6 +4329,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Filter verkställt" diff --git a/Translations/WinMerge/Tamil.po b/Translations/WinMerge/Tamil.po index 4a758c04dd2..0a16e78a29f 100644 --- a/Translations/WinMerge/Tamil.po +++ b/Translations/WinMerge/Tamil.po @@ -1621,9 +1621,12 @@ msgstr "கூடுதல் பண்புகள்" msgid "Select Plugin" msgstr "செருகுநிரலை தேர்ந்தெடு" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "சொருகி &பெயர்:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "நீட்டிப்பு பட்டியல்:" @@ -1639,8 +1642,8 @@ msgstr "எல்லா செருகுநிரல்களையும் msgid "&Open files in the same window type after unpacking" msgstr "&திறந்த பிறகு அதே சாளர வகை கோப்புகளை திறக்கவும்" -msgid "&Plugin Pipeline:" -msgstr "&Plugin Pipeline:" +msgid "&Plugin pipeline:" +msgstr "&Plugin pipeline:" msgid "&Alias..." msgstr "" @@ -4246,6 +4249,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "வடிகட்டி பயன்படுத்தப்பட்டது" diff --git a/Translations/WinMerge/Turkish.po b/Translations/WinMerge/Turkish.po index fbf4d211fd3..b7ef802e2f3 100644 --- a/Translations/WinMerge/Turkish.po +++ b/Translations/WinMerge/Turkish.po @@ -1622,9 +1622,12 @@ msgstr "Ek özellikler" msgid "Select Plugin" msgstr "Eklenti seçin" -msgid "Plugin &Name:" +msgid "Plugin &name:" msgstr "Eklenti &adı:" +msgid "&Target files:" +msgstr "" + msgid "Extensions list:" msgstr "Uzantı Listesi:" @@ -1640,7 +1643,7 @@ msgstr "Uzantıya bakılmadan tüm eklentiler görüntülensin" msgid "&Open files in the same window type after unpacking" msgstr "Dosyalar &ayıklandıktan sonra aynı pencerede açılsın" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "&Eklenti bağlantı yolu:" msgid "&Alias..." @@ -3865,6 +3868,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr "Süzgeç uygulandı" diff --git a/Translations/WinMerge/Ukrainian.po b/Translations/WinMerge/Ukrainian.po index e29ee5f5880..433415f8c5f 100644 --- a/Translations/WinMerge/Ukrainian.po +++ b/Translations/WinMerge/Ukrainian.po @@ -1950,7 +1950,10 @@ msgstr "" msgid "Select Plugin" msgstr "" -msgid "Plugin &Name:" +msgid "Plugin &name:" +msgstr "" + +msgid "&Target files:" msgstr "" #, c-format @@ -1970,7 +1973,7 @@ msgstr "" msgid "&Open files in the same window type after unpacking" msgstr "" -msgid "&Plugin Pipeline:" +msgid "&Plugin pipeline:" msgstr "" msgid "&Alias..." @@ -4775,6 +4778,27 @@ msgstr "" msgid "New plugin description" msgstr "" +msgid "All" +msgstr "" + +msgid "1st" +msgstr "" + +msgid "2nd" +msgstr "" + +msgid "3rd" +msgstr "" + +msgid "1st and 2nd" +msgstr "" + +msgid "1st and 3rd" +msgstr "" + +msgid "2nd and 3rd" +msgstr "" + msgid "Filter applied" msgstr ""