#include "StdAfx.h"
#include "MDITabBar.h"
+#include "IMDITab.h"
#ifdef _DEBUG
#define new DEBUG_NEW
if (reinterpret_cast<HWND>(tci.lParam) == pFrame->m_hWnd)
{
HWND hFrameWnd = pFrame->m_hWnd;
- CString strTitle;
- CDocument* pDoc = ((CFrameWnd*)FromHandle(hFrameWnd))->GetActiveDocument();
+ CString strTitle, strTooltip;
+ CFrameWnd* pFrameWnd = (CFrameWnd*)FromHandle(hFrameWnd);
+ CDocument* pDoc = pFrameWnd->GetActiveDocument();
+ IMDITab* pITabBar = nullptr;
if (pDoc != nullptr)
+ {
strTitle = pDoc->GetTitle();
+ pITabBar = dynamic_cast<IMDITab*>(pDoc);
+ }
else
- FromHandle(hFrameWnd)->GetWindowText(strTitle);
+ {
+ pFrameWnd->GetWindowText(strTitle);
+ pITabBar = dynamic_cast<IMDITab*>(pFrameWnd);
+ }
+ strTooltip = pITabBar ? pITabBar->GetTooltipString() : _T("");
- if (strTitle.GetLength() <= GetMaxTitleLength())
- strTitle = "";
+ if (strTooltip == strTitle && strTitle.GetLength() <= GetMaxTitleLength())
+ strTooltip = "";
- m_tooltips.UpdateTipText(strTitle, this);
+ m_tooltips.UpdateTipText(strTooltip, this);
+ CRect rc;
+ GetClientRect(&rc);
+ m_tooltips.SetMaxTipWidth(rc.Width() * 60 / 100);
m_nTooltipTabItemIndex = nTabItemIndex;
return;
}
}
}
+/**
+ * @brief A string to display as a tooltip for MDITabbar
+ */
+CString CDirDoc::GetTooltipString() const
+{
+ return CMergeFrameCommon::GetTooltipString(m_pCtxt->GetNormalizedPaths(), m_strDesc, nullptr, nullptr).c_str();
+}
/**
* @brief Checks if current folders are opened from archive file.
#include "PluginManager.h"
#include "FileFilterHelper.h"
#include "DirCmpReport.h"
+#include "IMDITab.h"
class CDirView;
struct IMergeDoc;
* This class also has compare statistics which are updated during compare.
* GUI calls this class to operate with results.
*/
-class CDirDoc : public CDocument
+class CDirDoc : public CDocument, public IMDITab
{
protected:
CDirDoc(); // protected constructor used by dynamic creation
public:
virtual void Serialize(CArchive& ar); // overridden for document i/o
virtual void SetTitle(LPCTSTR lpszTitle);
+ CString GetTooltipString() const;
protected:
virtual BOOL OnNewDocument();
virtual BOOL SaveModified();
}
/**
+ * @brief A string to display as a tooltip for MDITabbar
+ */
+CString CHexMergeDoc::GetTooltipString() const
+{
+ return CMergeFrameCommon::GetTooltipString(m_filePaths, m_strDesc, &m_infoUnpacker, nullptr).c_str();
+}
+
+/**
* @brief Load one file
*/
HRESULT CHexMergeDoc::LoadOneFile(int index, LPCTSTR filename, bool readOnly, const String& strDesc)
int GetFileCount() const override { return m_filePaths.GetSize(); }
String GetPath(int pane) const override { return m_filePaths[pane]; }
bool GetReadOnly(int pane) const override;
+ CString GetTooltipString() const override;
CHexMergeFrame * GetParentFrame() const;
void UpdateHeaderPath(int pane);
void RefreshOptions();
#pragma once\r
\r
#include "UnicodeString.h"\r
+#include "IMDITab.h"\r
\r
class CDirDoc;\r
class PackingInfo;\r
class PrediffingInfo;\r
\r
-struct IMergeDoc\r
+struct IMergeDoc : public IMDITab\r
{\r
enum class FileChange\r
{\r
}
/**
+ * @brief A string to display as a tooltip for MDITabbar
+ */
+CString CImgMergeFrame::GetTooltipString() const
+{
+ return CMergeFrameCommon::GetTooltipString(m_filePaths, m_strDesc, &m_infoUnpacker, nullptr).c_str();
+}
+
+/**
* @brief Update any resources necessary after a GUI language change
*/
void CImgMergeFrame::UpdateResources()
int GetFileCount() const override { return m_filePaths.GetSize(); }
String GetPath(int pane) const override { return m_filePaths[pane]; }
bool GetReadOnly(int pane) const override { return m_bRO[pane]; }
+ CString GetTooltipString() const override;
void DoAutoMerge(int dstPane);
bool IsModified() const;
IMergeDoc::FileChange IsFileChangedOnDisk(int pane) const;
IDS_PLUGIN_DESCRIPTION47 "Basic text functions for the context menu"\r
END\r
\r
+STRINGTABLE\r
+BEGIN\r
+ IDS_FILTER_APPLIED "Filter applied"\r
+END\r
+\r
#endif // English (United States) resources\r
/////////////////////////////////////////////////////////////////////////////\r
\r
<ClInclude Include="7zCommon.h" />\r
<ClInclude Include="AboutDlg.h" />\r
<ClInclude Include="Common\IniOptionsMgr.h" />\r
+ <ClInclude Include="Common\IMDITab.h" />\r
<ClInclude Include="Common\Shell.h" />\r
<ClInclude Include="Concurrent.h" />\r
<ClInclude Include="Common\BCMenu.h" />\r
<ClInclude Include="DirItemIterator.h">\r
<Filter>Header Files</Filter>\r
</ClInclude>\r
+ <ClInclude Include="Common\IMDITab.h">\r
+ <Filter>MFCGui\Common\Header Files</Filter>\r
+ </ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
<None Include="res\binarydiff.ico">\r
m_diffWrapper.SetPrediffer(infoPrediffer);
}
-void CMergeDoc::GetPrediffer(PrediffingInfo * infoPrediffer)
+void CMergeDoc::GetPrediffer(PrediffingInfo * infoPrediffer) const
{
m_diffWrapper.GetPrediffer(infoPrediffer);
}
}
/**
+ * @brief A string to display as a tooltip for MDITabbar
+ */
+CString CMergeDoc::GetTooltipString() const
+{
+ PrediffingInfo infoPrediffer;
+ GetPrediffer(&infoPrediffer);
+ return CMergeFrameCommon::GetTooltipString(m_filePaths, m_strDesc, &m_infoUnpacker, &infoPrediffer, m_nTrivialDiffs > 0).c_str();
+}
+
+/**
* @brief Loads file to buffer and shows load-errors
* @param [in] sFileName File to open
* @param [in] nBuffer Index (0-based) of buffer to load
const PackingInfo* GetUnpacker() const override { return &m_infoUnpacker; }
void SetUnpacker(const PackingInfo * infoUnpacker) override;
void SetPrediffer(const PrediffingInfo * infoPrediffer);
- void GetPrediffer(PrediffingInfo * infoPrediffer);
+ void GetPrediffer(PrediffingInfo * infoPrediffer) const;
const PrediffingInfo *GetPrediffer() const override;
void AddMergeViews(CMergeEditSplitterView* pMergeEditSplitterView, CMergeEditView* pView[3]);
void RemoveMergeViews(CMergeEditSplitterView* pMergeEditSplitterView);
int GetFileCount() const override { return m_filePaths.GetSize(); }
String GetPath(int pane) const override { return m_filePaths[pane]; }
bool GetReadOnly(int pane) const override { return m_ptBuf[pane]->m_bReadOnly; }
+ CString GetTooltipString() const override;
void SwapFiles(int nFromIndex, int nToIndex);
CMergeEditView * GetView(int group, int buffer) const { return m_pView[group][buffer]; }
}\r
\r
String CMergeFrameCommon::GetTitleString(const PathContext& paths, const String desc[],\r
- PackingInfo *pInfoUnpacker, PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs)\r
+ const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs)\r
{\r
const int nBuffers = paths.GetSize();\r
String sFileName[3];\r
return sTitle + (flags.empty() ? _T("") : (_T(" (") + flags + _T(")")));\r
}\r
\r
+String CMergeFrameCommon::GetTooltipString(const PathContext& paths, const String desc[],\r
+ const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs)\r
+{\r
+ const int nBuffers = paths.GetSize();\r
+ String sTitle;\r
+ for (int nBuffer = 0; nBuffer < paths.GetSize(); nBuffer++)\r
+ {\r
+ sTitle += strutils::format(_T("%d: "), nBuffer + 1);\r
+ if (!desc[nBuffer].empty())\r
+ {\r
+ sTitle += desc[nBuffer];\r
+ if (!paths[nBuffer].empty()) \r
+ sTitle += _T(" (") + paths[nBuffer] + _T(")");\r
+ }\r
+ else\r
+ {\r
+ sTitle += paths[nBuffer];\r
+ }\r
+ sTitle += _T("\n");\r
+ }\r
+ String flags;\r
+ if (pInfoUnpacker && !pInfoUnpacker->GetPluginPipeline().empty())\r
+ sTitle += strutils::format(_T("%s: %s\n"), _("Unpacker"), pInfoUnpacker->GetPluginPipeline());\r
+ if (pInfoPrediffer && !pInfoPrediffer->GetPluginPipeline().empty())\r
+ sTitle += strutils::format(_T("%s: %s\n"), _("Prediffer"), pInfoPrediffer->GetPluginPipeline());\r
+ if (hasTrivialDiffs)\r
+ sTitle += _("Filter applied") + _T("\n");\r
+ return sTitle;\r
+}\r
+\r
void CMergeFrameCommon::ChangeMergeMenuText(int srcPane, int dstPane, CCmdUI* pCmdUI)\r
{\r
String text;\r
void ActivateFrame(int nCmdShow);\r
void SetLastCompareResult(int nResult);\r
static void ShowIdenticalMessage(const PathContext& paths, bool bIdenticalAll, std::function<int (LPCTSTR, UINT, UINT)> funcMessageBox);\r
- static String GetTitleString(const PathContext& paths, const String desc[], PackingInfo *pInfoUnpacker, PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs = false);\r
+ static String GetTitleString(const PathContext& paths, const String desc[], const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs = false);\r
+ static String GetTooltipString(const PathContext& paths, const String desc[], const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs = false);\r
static void ChangeMergeMenuText(int srcPane, int dstPane, CCmdUI* pCmdUI);\r
static std::pair<int, int> MenuIDtoXY(UINT nID, int nActivePane, int nBuffers);\r
void SaveWindowState();\r
#define IDS_L2MNEXT 44504\r
#define IDS_R2MNEXT 44505\r
#define IDS_ALL_MIDDLE 44506\r
+#define IDS_FILTER_APPLIED 44507\r
\r
// Next default values for new objects\r
// \r
</head>
<body>
<h1>Translations Status</h1>
-<p>Status from <strong>2022-01-12</strong>:</p>
+<p>Status from <strong>2022-01-16</strong>:</p>
<h2>WinMerge</h2>
<table class="status">
<tr>
</tr>
<tr>
<td class="left">Arabic</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">902</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">291</td>
+ <td class="right untranslated">292</td>
<td class="right">76 %</td>
<td class="center">2019-12-30</td>
</tr>
<tr>
<td class="left">Basque</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">640</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">553</td>
+ <td class="right untranslated">554</td>
<td class="right">54 %</td>
<td class="center">2013-02-03</td>
</tr>
<tr>
<td class="left">Brazilian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1087</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">106</td>
+ <td class="right untranslated">107</td>
<td class="right">91 %</td>
<td class="center">2021-08-09</td>
</tr>
<tr>
<td class="left">Bulgarian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">967</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">226</td>
+ <td class="right untranslated">227</td>
<td class="right">81 %</td>
<td class="center">2021-06-28</td>
</tr>
<tr>
<td class="left">Catalan</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">567</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">626</td>
- <td class="right">48 %</td>
+ <td class="right untranslated">627</td>
+ <td class="right">47 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">ChineseSimplified</td>
- <td class="right">1193</td>
- <td class="right translated">1145</td>
+ <td class="right">1194</td>
+ <td class="right translated">1185</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">48</td>
- <td class="right">96 %</td>
+ <td class="right untranslated">9</td>
+ <td class="right">99 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">ChineseTraditional</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1092</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">101</td>
- <td class="right">92 %</td>
+ <td class="right untranslated">102</td>
+ <td class="right">91 %</td>
<td class="center">2021-12-11</td>
</tr>
<tr>
<td class="left">Corsican</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">Croatian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">632</td>
<td class="right fuzzy">1</td>
- <td class="right untranslated">560</td>
+ <td class="right untranslated">561</td>
<td class="right">53 %</td>
<td class="center">2009-02-13</td>
</tr>
<tr>
<td class="left">Czech</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">606</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">587</td>
+ <td class="right untranslated">588</td>
<td class="right">51 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Danish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">640</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">553</td>
+ <td class="right untranslated">554</td>
<td class="right">54 %</td>
<td class="center">2013-01-13</td>
</tr>
<tr>
<td class="left">Dutch</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">English</td>
- <td class="right">1194</td>
- <td class="right translated">1194</td>
+ <td class="right">1195</td>
+ <td class="right translated">1195</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
- <td class="center">2022-01-05</td>
+ <td class="center">2022-01-16</td>
</tr>
<tr>
<td class="left">Finnish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">902</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">291</td>
+ <td class="right untranslated">292</td>
<td class="right">76 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">French</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">Galician</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1137</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">56</td>
+ <td class="right untranslated">57</td>
<td class="right">95 %</td>
<td class="center">2021-12-18</td>
</tr>
<tr>
<td class="left">German</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">Greek</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">605</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">588</td>
+ <td class="right untranslated">589</td>
<td class="right">51 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Hungarian</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">Italian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">992</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">201</td>
+ <td class="right untranslated">202</td>
<td class="right">83 %</td>
<td class="center">2021-08-09</td>
</tr>
<tr>
<td class="left">Japanese</td>
- <td class="right">1193</td>
- <td class="right translated">1193</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
</tr>
<tr>
<td class="left">Korean</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1035</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">158</td>
+ <td class="right untranslated">159</td>
<td class="right">87 %</td>
<td class="center">2021-12-10</td>
</tr>
<tr>
<td class="left">Lithuanian</td>
- <td class="right">1193</td>
- <td class="right translated">1152</td>
+ <td class="right">1194</td>
+ <td class="right translated">1153</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">41</td>
<td class="right">97 %</td>
</tr>
<tr>
<td class="left">Norwegian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">633</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">560</td>
+ <td class="right untranslated">561</td>
<td class="right">53 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Persian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">643</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">550</td>
+ <td class="right untranslated">551</td>
<td class="right">54 %</td>
<td class="center">2013-08-15</td>
</tr>
<tr>
<td class="left">Polish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1111</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">82</td>
+ <td class="right untranslated">83</td>
<td class="right">93 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Portuguese</td>
- <td class="right">1193</td>
- <td class="right translated">1156</td>
+ <td class="right">1194</td>
+ <td class="right translated">1194</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">37</td>
- <td class="right">97 %</td>
- <td class="center">2021-12-30</td>
+ <td class="right untranslated">0</td>
+ <td class="right">100 %</td>
+ <td class="center">2022-01-15</td>
</tr>
<tr>
<td class="left">Romanian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">562</td>
<td class="right fuzzy">44</td>
- <td class="right untranslated">587</td>
+ <td class="right untranslated">588</td>
<td class="right">51 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Russian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1093</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">100</td>
+ <td class="right untranslated">101</td>
<td class="right">92 %</td>
<td class="center">2021-10-28</td>
</tr>
<tr>
<td class="left">Serbian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">633</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">560</td>
+ <td class="right untranslated">561</td>
<td class="right">53 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Sinhala</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">567</td>
<td class="right fuzzy">59</td>
- <td class="right untranslated">567</td>
+ <td class="right untranslated">568</td>
<td class="right">52 %</td>
<td class="center">2010-12-12</td>
</tr>
<tr>
<td class="left">Slovak</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">975</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">218</td>
+ <td class="right untranslated">219</td>
<td class="right">82 %</td>
<td class="center">2020-11-02</td>
</tr>
<tr>
<td class="left">Slovenian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1156</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">37</td>
+ <td class="right untranslated">38</td>
<td class="right">97 %</td>
<td class="center">2022-01-03</td>
</tr>
<tr>
<td class="left">Spanish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">871</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">322</td>
+ <td class="right untranslated">323</td>
<td class="right">73 %</td>
<td class="center">2020-04-03</td>
</tr>
<tr>
<td class="left">Swedish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1095</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">98</td>
+ <td class="right untranslated">99</td>
<td class="right">92 %</td>
<td class="center">2021-09-15</td>
</tr>
<tr>
<td class="left">Turkish</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">1137</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">56</td>
+ <td class="right untranslated">57</td>
<td class="right">95 %</td>
<td class="center">2021-12-21</td>
</tr>
<tr>
<td class="left">Ukrainian</td>
- <td class="right">1193</td>
+ <td class="right">1194</td>
<td class="right translated">638</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">555</td>
+ <td class="right untranslated">556</td>
<td class="right">53 %</td>
<td class="center">2009-06-13</td>
</tr>
<tr>
<td class="left">ChineseSimplified</td>
<td class="right">9</td>
- <td class="right translated">4</td>
+ <td class="right translated">9</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">5</td>
- <td class="right">44 %</td>
+ <td class="right untranslated">0</td>
+ <td class="right">100 %</td>
<td class="center"></td>
</tr>
<tr>
# Translations Status
-Status from **2022-01-12**:
+Status from **2022-01-16**:
## WinMerge
| Language | Total | Translated | Fuzzy | Untranslated | Complete | Last Update |
|:---------------------|------:|-----------:|------:|-------------:|---------:|:-----------:|
-| Arabic | 1193 | 902 | 0 | 291 | 76 % | 2019-12-30 |
-| Basque | 1193 | 640 | 0 | 553 | 54 % | 2013-02-03 |
-| Brazilian | 1193 | 1087 | 0 | 106 | 91 % | 2021-08-09 |
-| Bulgarian | 1193 | 967 | 0 | 226 | 81 % | 2021-06-28 |
-| Catalan | 1193 | 567 | 0 | 626 | 48 % | |
-| ChineseSimplified | 1193 | 1145 | 0 | 48 | 96 % | |
-| ChineseTraditional | 1193 | 1092 | 0 | 101 | 92 % | 2021-12-11 |
-| Corsican | 1193 | 1193 | 0 | 0 | 100 % | |
-| Croatian | 1193 | 632 | 1 | 560 | 53 % | 2009-02-13 |
-| Czech | 1193 | 606 | 0 | 587 | 51 % | |
-| Danish | 1193 | 640 | 0 | 553 | 54 % | 2013-01-13 |
-| Dutch | 1193 | 1193 | 0 | 0 | 100 % | 2018-09-06 |
-| English | 1194 | 1194 | 0 | 0 | 100 % | 2022-01-05 |
-| Finnish | 1193 | 902 | 0 | 291 | 76 % | |
-| French | 1193 | 1193 | 0 | 0 | 100 % | 2022-01-09 |
-| Galician | 1193 | 1137 | 0 | 56 | 95 % | 2021-12-18 |
-| German | 1193 | 1193 | 0 | 0 | 100 % | 2022-01-05 |
-| Greek | 1193 | 605 | 0 | 588 | 51 % | |
-| Hungarian | 1193 | 1193 | 0 | 0 | 100 % | 2021-03-15 |
-| Italian | 1193 | 992 | 0 | 201 | 83 % | 2021-08-09 |
-| Japanese | 1193 | 1193 | 0 | 0 | 100 % | 2021-11-21 |
-| Korean | 1193 | 1035 | 0 | 158 | 87 % | 2021-12-10 |
-| Lithuanian | 1193 | 1152 | 0 | 41 | 97 % | 2022-01-11 |
-| Norwegian | 1193 | 633 | 0 | 560 | 53 % | |
-| Persian | 1193 | 643 | 0 | 550 | 54 % | 2013-08-15 |
-| Polish | 1193 | 1111 | 0 | 82 | 93 % | |
-| Portuguese | 1193 | 1156 | 0 | 37 | 97 % | 2021-12-30 |
-| Romanian | 1193 | 562 | 44 | 587 | 51 % | |
-| Russian | 1193 | 1093 | 0 | 100 | 92 % | 2021-10-28 |
-| Serbian | 1193 | 633 | 0 | 560 | 53 % | |
-| Sinhala | 1193 | 567 | 59 | 567 | 52 % | 2010-12-12 |
-| Slovak | 1193 | 975 | 0 | 218 | 82 % | 2020-11-02 |
-| Slovenian | 1193 | 1156 | 0 | 37 | 97 % | 2022-01-03 |
-| Spanish | 1193 | 871 | 0 | 322 | 73 % | 2020-04-03 |
-| Swedish | 1193 | 1095 | 0 | 98 | 92 % | 2021-09-15 |
-| Turkish | 1193 | 1137 | 0 | 56 | 95 % | 2021-12-21 |
-| Ukrainian | 1193 | 638 | 0 | 555 | 53 % | 2009-06-13 |
+| Arabic | 1194 | 902 | 0 | 292 | 76 % | 2019-12-30 |
+| Basque | 1194 | 640 | 0 | 554 | 54 % | 2013-02-03 |
+| Brazilian | 1194 | 1087 | 0 | 107 | 91 % | 2021-08-09 |
+| Bulgarian | 1194 | 967 | 0 | 227 | 81 % | 2021-06-28 |
+| Catalan | 1194 | 567 | 0 | 627 | 47 % | |
+| ChineseSimplified | 1194 | 1185 | 0 | 9 | 99 % | |
+| ChineseTraditional | 1194 | 1092 | 0 | 102 | 91 % | 2021-12-11 |
+| Corsican | 1194 | 1194 | 0 | 0 | 100 % | |
+| Croatian | 1194 | 632 | 1 | 561 | 53 % | 2009-02-13 |
+| Czech | 1194 | 606 | 0 | 588 | 51 % | |
+| Danish | 1194 | 640 | 0 | 554 | 54 % | 2013-01-13 |
+| Dutch | 1194 | 1194 | 0 | 0 | 100 % | 2018-09-06 |
+| English | 1195 | 1195 | 0 | 0 | 100 % | 2022-01-16 |
+| Finnish | 1194 | 902 | 0 | 292 | 76 % | |
+| French | 1194 | 1194 | 0 | 0 | 100 % | 2022-01-09 |
+| Galician | 1194 | 1137 | 0 | 57 | 95 % | 2021-12-18 |
+| German | 1194 | 1194 | 0 | 0 | 100 % | 2022-01-05 |
+| Greek | 1194 | 605 | 0 | 589 | 51 % | |
+| Hungarian | 1194 | 1194 | 0 | 0 | 100 % | 2021-03-15 |
+| Italian | 1194 | 992 | 0 | 202 | 83 % | 2021-08-09 |
+| Japanese | 1194 | 1194 | 0 | 0 | 100 % | 2021-11-21 |
+| Korean | 1194 | 1035 | 0 | 159 | 87 % | 2021-12-10 |
+| Lithuanian | 1194 | 1153 | 0 | 41 | 97 % | 2022-01-11 |
+| Norwegian | 1194 | 633 | 0 | 561 | 53 % | |
+| Persian | 1194 | 643 | 0 | 551 | 54 % | 2013-08-15 |
+| Polish | 1194 | 1111 | 0 | 83 | 93 % | |
+| Portuguese | 1194 | 1194 | 0 | 0 | 100 % | 2022-01-15 |
+| Romanian | 1194 | 562 | 44 | 588 | 51 % | |
+| Russian | 1194 | 1093 | 0 | 101 | 92 % | 2021-10-28 |
+| Serbian | 1194 | 633 | 0 | 561 | 53 % | |
+| Sinhala | 1194 | 567 | 59 | 568 | 52 % | 2010-12-12 |
+| Slovak | 1194 | 975 | 0 | 219 | 82 % | 2020-11-02 |
+| Slovenian | 1194 | 1156 | 0 | 38 | 97 % | 2022-01-03 |
+| Spanish | 1194 | 871 | 0 | 323 | 73 % | 2020-04-03 |
+| Swedish | 1194 | 1095 | 0 | 99 | 92 % | 2021-09-15 |
+| Turkish | 1194 | 1137 | 0 | 57 | 95 % | 2021-12-21 |
+| Ukrainian | 1194 | 638 | 0 | 556 | 53 % | 2009-06-13 |
## ShellExtension
| Brazilian | 9 | 4 | 0 | 5 | 44 % | |
| Bulgarian | 9 | 4 | 0 | 5 | 44 % | |
| Catalan | 9 | 4 | 0 | 5 | 44 % | |
-| ChineseSimplified | 9 | 4 | 0 | 5 | 44 % | |
+| ChineseSimplified | 9 | 9 | 0 | 0 | 100 % | |
| ChineseTraditional | 9 | 9 | 0 | 0 | 100 % | |
| Corsican | 9 | 9 | 0 | 0 | 100 % | |
| Croatian | 9 | 4 | 0 | 5 | 44 % | |
<?xml version="1.0" encoding="UTF-8"?>
<status>
- <update>2022-01-12</update>
+ <update>2022-01-16</update>
<translations project="WinMerge">
<translation>
<language>Arabic</language>
<file>Arabic.po</file>
<update>2019-12-30</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>902</translated>
<fuzzy>0</fuzzy>
- <untranslated>291</untranslated>
+ <untranslated>292</untranslated>
</strings>
</translation>
<translation>
<file>Basque.po</file>
<update>2013-02-03</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>640</translated>
<fuzzy>0</fuzzy>
- <untranslated>553</untranslated>
+ <untranslated>554</untranslated>
</strings>
<translators>
<translator>
<file>Brazilian.po</file>
<update>2021-08-09</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1087</translated>
<fuzzy>0</fuzzy>
- <untranslated>106</untranslated>
+ <untranslated>107</untranslated>
</strings>
<translators>
<translator>
<file>Bulgarian.po</file>
<update>2021-06-28</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>967</translated>
<fuzzy>0</fuzzy>
- <untranslated>226</untranslated>
+ <untranslated>227</untranslated>
</strings>
<translators>
<translator>
<file>Catalan.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>567</translated>
<fuzzy>0</fuzzy>
- <untranslated>626</untranslated>
+ <untranslated>627</untranslated>
</strings>
<translators>
<translator>
<file>ChineseSimplified.po</file>
<update></update>
<strings>
- <count>1193</count>
- <translated>1145</translated>
+ <count>1194</count>
+ <translated>1185</translated>
<fuzzy>0</fuzzy>
- <untranslated>48</untranslated>
+ <untranslated>9</untranslated>
</strings>
<translators>
<translator>
<file>ChineseTraditional.po</file>
<update>2021-12-11</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1092</translated>
<fuzzy>0</fuzzy>
- <untranslated>101</untranslated>
+ <untranslated>102</untranslated>
</strings>
<translators>
<translator>
<file>Corsican.po</file>
<update></update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Croatian.po</file>
<update>2009-02-13</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>632</translated>
<fuzzy>1</fuzzy>
- <untranslated>560</untranslated>
+ <untranslated>561</untranslated>
</strings>
<translators>
<translator>
<file>Czech.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>606</translated>
<fuzzy>0</fuzzy>
- <untranslated>587</untranslated>
+ <untranslated>588</untranslated>
</strings>
<translators>
<translator>
<file>Danish.po</file>
<update>2013-01-13</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>640</translated>
<fuzzy>0</fuzzy>
- <untranslated>553</untranslated>
+ <untranslated>554</untranslated>
</strings>
<translators>
<translator>
<file>Dutch.po</file>
<update>2018-09-06</update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<translation template="1">
<language>English</language>
<file>English.pot</file>
- <update>2022-01-05</update>
+ <update>2022-01-16</update>
<strings>
- <count>1194</count>
- <translated>1194</translated>
+ <count>1195</count>
+ <translated>1195</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Finnish.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>902</translated>
<fuzzy>0</fuzzy>
- <untranslated>291</untranslated>
+ <untranslated>292</untranslated>
</strings>
</translation>
<translation>
<file>French.po</file>
<update>2022-01-09</update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Galician.po</file>
<update>2021-12-18</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1137</translated>
<fuzzy>0</fuzzy>
- <untranslated>56</untranslated>
+ <untranslated>57</untranslated>
</strings>
<translators>
<translator>
<file>German.po</file>
<update>2022-01-05</update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Greek.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>605</translated>
<fuzzy>0</fuzzy>
- <untranslated>588</untranslated>
+ <untranslated>589</untranslated>
</strings>
<translators>
<translator>
<file>Hungarian.po</file>
<update>2021-03-15</update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Italian.po</file>
<update>2021-08-09</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>992</translated>
<fuzzy>0</fuzzy>
- <untranslated>201</untranslated>
+ <untranslated>202</untranslated>
</strings>
<translators>
<translator>
<file>Japanese.po</file>
<update>2021-11-21</update>
<strings>
- <count>1193</count>
- <translated>1193</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Korean.po</file>
<update>2021-12-10</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1035</translated>
<fuzzy>0</fuzzy>
- <untranslated>158</untranslated>
+ <untranslated>159</untranslated>
</strings>
<translators>
<translator>
<file>Lithuanian.po</file>
<update>2022-01-11</update>
<strings>
- <count>1193</count>
- <translated>1152</translated>
+ <count>1194</count>
+ <translated>1153</translated>
<fuzzy>0</fuzzy>
<untranslated>41</untranslated>
</strings>
<file>Norwegian.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>633</translated>
<fuzzy>0</fuzzy>
- <untranslated>560</untranslated>
+ <untranslated>561</untranslated>
</strings>
<translators>
<translator>
<file>Persian.po</file>
<update>2013-08-15</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>643</translated>
<fuzzy>0</fuzzy>
- <untranslated>550</untranslated>
+ <untranslated>551</untranslated>
</strings>
<translators>
<translator>
<file>Polish.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1111</translated>
<fuzzy>0</fuzzy>
- <untranslated>82</untranslated>
+ <untranslated>83</untranslated>
</strings>
<translators>
<translator>
<translation>
<language>Portuguese</language>
<file>Portuguese.po</file>
- <update>2021-12-30</update>
+ <update>2022-01-15</update>
<strings>
- <count>1193</count>
- <translated>1156</translated>
+ <count>1194</count>
+ <translated>1194</translated>
<fuzzy>0</fuzzy>
- <untranslated>37</untranslated>
+ <untranslated>0</untranslated>
</strings>
<translators>
<translator>
<file>Romanian.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>562</translated>
<fuzzy>44</fuzzy>
- <untranslated>587</untranslated>
+ <untranslated>588</untranslated>
</strings>
<translators>
<translator>
<file>Russian.po</file>
<update>2021-10-28</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1093</translated>
<fuzzy>0</fuzzy>
- <untranslated>100</untranslated>
+ <untranslated>101</untranslated>
</strings>
<translators>
<translator>
<file>Serbian.po</file>
<update></update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>633</translated>
<fuzzy>0</fuzzy>
- <untranslated>560</untranslated>
+ <untranslated>561</untranslated>
</strings>
<translators>
<translator>
<file>Sinhala.po</file>
<update>2010-12-12</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>567</translated>
<fuzzy>59</fuzzy>
- <untranslated>567</untranslated>
+ <untranslated>568</untranslated>
</strings>
<translators>
<translator>
<file>Slovak.po</file>
<update>2020-11-02</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>975</translated>
<fuzzy>0</fuzzy>
- <untranslated>218</untranslated>
+ <untranslated>219</untranslated>
</strings>
<translators>
<translator>
<file>Slovenian.po</file>
<update>2022-01-03</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1156</translated>
<fuzzy>0</fuzzy>
- <untranslated>37</untranslated>
+ <untranslated>38</untranslated>
</strings>
<translators>
<translator>
<file>Spanish.po</file>
<update>2020-04-03</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>871</translated>
<fuzzy>0</fuzzy>
- <untranslated>322</untranslated>
+ <untranslated>323</untranslated>
</strings>
<translators>
<translator>
<file>Swedish.po</file>
<update>2021-09-15</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1095</translated>
<fuzzy>0</fuzzy>
- <untranslated>98</untranslated>
+ <untranslated>99</untranslated>
</strings>
<translators>
<translator>
<file>Turkish.po</file>
<update>2021-12-21</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>1137</translated>
<fuzzy>0</fuzzy>
- <untranslated>56</untranslated>
+ <untranslated>57</untranslated>
</strings>
<translators>
<translator>
<file>Ukrainian.po</file>
<update>2009-06-13</update>
<strings>
- <count>1193</count>
+ <count>1194</count>
<translated>638</translated>
<fuzzy>0</fuzzy>
- <untranslated>555</untranslated>
+ <untranslated>556</untranslated>
</strings>
<translators>
<translator>
<update></update>
<strings>
<count>9</count>
- <translated>4</translated>
+ <translated>9</translated>
<fuzzy>0</fuzzy>
- <untranslated>5</untranslated>
+ <untranslated>0</untranslated>
</strings>
</translation>
<translation>
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "用于上下文菜单的基本文本功能"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Funzioni basiche di testu per u listinu cuntestuale"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Basis-tekstfuncties voor het contextmenu"
+
+msgid "Filter applied"
+msgstr ""
msgstr ""
"Project-Id-Version: WinMerge\n"
"Report-Msgid-Bugs-To: https://bugs.winmerge.org/\n"
-"POT-Creation-Date: 2022-01-05 21:08+0000\n"
+"POT-Creation-Date: 2022-01-16 09:06+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: English <winmerge-translate@lists.sourceforge.net>\n"
msgid "Basic text functions for the context menu"
msgstr ""
+msgid "Filter applied"
+msgstr ""
+
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Intitulé simplifié pour les fonctions du menu contextuel"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Grundlegende Textfunktionen für das Kontextmenü"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Alapvető szöveges funkciók a helyi menühöz"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "基本的なテキスト処理"
+
+msgid "Filter applied"
+msgstr "フィルタ適用"
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Pagrindinės kontekstinio meniu teksto funkcijos"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr "Funções básicas de texto para o menu de contexto"
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""
msgid "Basic text functions for the context menu"
msgstr ""
+
+msgid "Filter applied"
+msgstr ""