m_pTextBuffer->InsertText (nullptr, ptCursorPos.y, ptCursorPos.x,
pszInsertStr, nPos, y, x, CE_ACTION_AUTOINDENT);
CPoint pt (x, y);
- SetCursorPos (pt);
SetSelection (pt, pt);
SetAnchor (pt);
+ SetCursorPos (pt);
EnsureVisible (pt);
// m_pTextBuffer->FlushUndoGroup (this);
}
m_pTextBuffer->InsertText (nullptr, ptCursorPos.y, ptCursorPos.x,
pszInsertStr, nPos, y, x, CE_ACTION_AUTOINDENT);
CPoint pt (x, y);
- SetCursorPos (pt);
SetSelection (pt, pt);
SetAnchor (pt);
+ SetCursorPos (pt);
EnsureVisible (pt);
// m_pTextBuffer->FlushUndoGroup (this);
}
pszInsertStr, 1, y, x, CE_ACTION_AUTOINDENT);
ptCursorPos.x = x + 1;
ptCursorPos.y = y;
- SetCursorPos (ptCursorPos);
SetSelection (ptCursorPos, ptCursorPos);
SetAnchor (ptCursorPos);
+ SetCursorPos (ptCursorPos);
EnsureVisible (ptCursorPos);
// m_pTextBuffer->FlushUndoGroup (this);
}
m_pTextBuffer->InsertText (nullptr, ptCursorPos.y, ptCursorPos.x - 1,
pszInsertStr, nPos, y, x, CE_ACTION_AUTOINDENT);
CPoint pt (x + 1, y);
- SetCursorPos (pt);
SetSelection (pt, pt);
SetAnchor (pt);
+ SetCursorPos (pt);
EnsureVisible (pt);
// m_pTextBuffer->FlushUndoGroup (this);
}
ptCursorPos.x = x;
ptCursorPos.y = y;
ASSERT_VALIDTEXTPOS (ptCursorPos);
- SetCursorPos (ptCursorPos);
SetSelection (ptCursorPos, ptCursorPos);
SetAnchor (ptCursorPos);
+ SetCursorPos (ptCursorPos);
OnEditOperation (CE_ACTION_TYPING, pszExpand, _tcslen(pszExpand));
ptCursorPos = GetCursorPos ();
if (pszSlash == nullptr)
return;
// goto last change
- SetCursorPos( ptLastChange );
SetSelection( ptLastChange, ptLastChange );
+ SetCursorPos( ptLastChange );
EnsureVisible( ptLastChange );
}
//END SW
bool IsInsideSelection (const CPoint & ptTextPos);
bool GetColumnSelection (int nLine, int & nLeftTextPos, int & nRightTextPos);
void GetSelection (CPoint & ptStart, CPoint & ptEnd);
+ std::pair<CPoint, CPoint> GetSelection ()
+ { CPoint ptStart, ptEnd; GetSelection(ptStart, ptEnd); return { ptStart, ptEnd }; }
void GetFullySelectedLines(int & firstLine, int & lastLine);
virtual void SetSelection (const CPoint & ptStart, const CPoint & ptEnd, bool bUpdateView = true);
}
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
}
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_ptCursorPos.x = GetLineLength (m_ptCursorPos.y);
}
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_ptCursorPos.x = GetLineLength (m_ptCursorPos.y);
}
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_ptCursorPos.x = nHomePos;
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
*///END SW
m_nIdealCharPos = INT_MAX;
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos); //todo: no vertical scroll
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos); //todo: no vertical scroll
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_ptCursorPos.y = 0;
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
m_ptCursorPos.x = GetLineLength (m_ptCursorPos.y);
m_nIdealCharPos = CalculateActualOffset (m_ptCursorPos.y, m_ptCursorPos.x);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
if (!bSelect)
m_ptAnchor = m_ptCursorPos;
SetSelection (m_ptAnchor, m_ptCursorPos);
+ UpdateCaret ();
}
void CCrystalTextView::
}
m_ptCursorPos = ptEnd;
- UpdateCaret ();
EnsureVisible (m_ptCursorPos);
SetSelection (ptStart, ptEnd);
+ UpdateCaret ();
startDragging();
m_ptAnchor = ptStart;
m_ptCursorPos = ptEnd;
- UpdateCaret ();
EnsureVisible (m_ptCursorPos);
SetSelection (ptStart, ptEnd);
+ UpdateCaret ();
startDragging();
m_ptCursorPos = ptNewCursorPos;
}
EnsureVisible(m_ptCursorPos);
- UpdateCaret ();
SetSelection (ptNewCursorPos, ptEnd);
+ UpdateCaret ();
return;
}
m_ptCursorPos = ptEnd;
EnsureVisible(m_ptCursorPos);
- UpdateCaret ();
SetSelection (ptStart, ptEnd);
+ UpdateCaret ();
}
if (m_bPreparingToDrag)
AdjustTextPoint (point);
m_ptCursorPos = ClientToText (point);
EnsureVisible (m_ptCursorPos);
- UpdateCaret ();
SetSelection (m_ptCursorPos, m_ptCursorPos);
+ UpdateCaret ();
}
ASSERT_VALIDTEXTPOS (m_ptCursorPos);
m_ptAnchor = ptStart;
m_ptCursorPos = ptEnd;
- UpdateCaret ();
EnsureVisible (m_ptCursorPos);
SetSelection (ptStart, ptEnd);
+ UpdateCaret ();
SetCapture ();
m_nDragSelTimer = SetTimer (CRYSTAL_TIMER_DRAGSEL, 100, nullptr);
ASSERT (m_nDragSelTimer != 0);
"Ln: %s Col: %d/%d Ch: %d/%d EOL: %s"\r
IDS_EMPTY_LINE_STATUS_INFO "Line: %s"\r
IDS_LINE_STATUS_INFO "Ln: %s Col: %d/%d Ch: %d/%d"\r
+ IDS_LINE_STATUS_INFO_SEL " Sel: %d | %d"\r
IDS_MERGEMODE_MERGING "Merge"\r
IDS_DIFF_NUMBER_STATUS_FMT "Difference %1 of %2"\r
IDS_NO_DIFF_SEL_FMT "%1 Differences Found"\r
{
public:
virtual void SetLineInfo(LPCTSTR szLine, int nChar, int nChars, int nColumn,
- int nColumns, LPCTSTR szEol, int nCodepage, bool bHasBom) = 0;
+ int nColumns, int nSelectedLines, int nSelectedChars, LPCTSTR szEol, int nCodepage, bool bHasBom) = 0;
};
}
/**
+ * @brief Return number of selected characters
+ */
+std::pair<int, int> CMergeEditView::GetSelectedLineAndCharacterCount()
+{
+ auto [ptStart, ptEnd] = GetSelection();
+ int nCharsOrColumns =0;
+ int nSelectedLines = 0;
+ for (int nLine = ptStart.y; nLine <= ptEnd.y; ++nLine)
+ {
+ if ((GetLineFlags(nLine) & (LF_GHOST | LF_INVISIBLE)) == 0)
+ {
+ int nLineLength = GetLineLength(nLine) + (m_pTextBuffer->GetLineEol(nLine)[0] ? 1 : 0);
+ nCharsOrColumns += (nLine == ptEnd.y) ? ptEnd.x : nLineLength;
+ if (nLine == ptStart.y)
+ nCharsOrColumns -= ptStart.x;
+ if (nLine < ptEnd.y || (ptStart != ptEnd && ptEnd.x > 0))
+ ++nSelectedLines;
+ }
+ }
+ if (m_bRectangularSelection)
+ {
+ int nStartLeft, nStartRight, nEndLeft, nEndRight;
+ GetColumnSelection(ptStart.y, nStartLeft, nStartRight);
+ GetColumnSelection(ptEnd.y, nEndLeft, nEndRight);
+ nCharsOrColumns = (std::max)(nStartRight, nEndRight) - (std::min)(nStartLeft, nEndLeft);
+ }
+ return { nSelectedLines, nCharsOrColumns };
+}
+
+/**
* @brief Get diffs inside selection.
* @param [out] firstDiff First diff inside selection
* @param [out] lastDiff Last diff inside selection
int column = -1;
int columns = -1;
int curChar = -1;
+ auto [selectedLines, selectedChars] = GetSelectedLineAndCharacterCount();
DWORD dwLineFlags = 0;
dwLineFlags = m_pTextBuffer->GetLineFlags(nScreenLine);
sEol = _T("hidden");
}
m_piMergeEditStatus->SetLineInfo(sLine, column, columns,
- curChar, chars, sEol, GetDocument()->m_ptBuf[m_nThisPane]->getCodepage(), GetDocument()->m_ptBuf[m_nThisPane]->getHasBom());
+ curChar, chars, selectedLines, selectedChars,
+ sEol, GetDocument()->m_ptBuf[m_nThisPane]->getCodepage(), GetDocument()->m_ptBuf[m_nThisPane]->getHasBom());
// Is cursor inside difference?
if (dwLineFlags & LF_NONTRIVIAL_DIFF)
void GetSelectedDiffs(int & firstDiff, int & lastDiff);
std::map<int, std::vector<int>> GetColumnSelectedWordDiffIndice();
CString GetSelectedText();
+ std::pair<int, int> GetSelectedLineAndCharacterCount();
CString GetLineText(int idx);
CMergeDoc* GetDocument();
const CMergeDoc *GetDocument() const { return const_cast<CMergeEditView *>(this)->GetDocument(); }
// Implementation
protected:
virtual ~CMergeEditView();
- virtual void OnUpdateSibling (CCrystalTextView * pUpdateSource, bool bHorz);
- virtual void OnUpdateCaret();
+ virtual void OnUpdateSibling (CCrystalTextView * pUpdateSource, bool bHorz) override;
+ virtual void OnUpdateCaret() override;
bool MergeModeKeyDown(MSG* pMsg);
int FindPrediffer(LPCTSTR prediffer) const;
bool IsDiffVisible(const DIFFRANGE& diff, int nLinesBelow = 0);
, m_nChars(0)
, m_nCodepage(-1)
, m_bHasBom(false)
+, m_nSelectedLines(0)
+, m_nSelectedChars(0)
, m_pWndStatusBar(nullptr)
, m_base(0)
{
strInfo.Format(_("Ln: %s Col: %d/%d Ch: %d/%d EOL: %s").c_str(),
m_sLine.c_str(), m_nColumn, m_nColumns, m_nChar, m_nChars, m_sEolDisplay.c_str(), m_nCodepage, m_sCodepageName.c_str());
}
+ if (m_nSelectedLines > 0)
+ {
+ CString strSelected;
+ strSelected.Format(_(" Sel: %d | %d").c_str(), m_nSelectedLines, m_nSelectedChars);
+ strInfo += strSelected;
+ }
if (m_nCodepage > 0)
strEncoding.Format(_("%s").c_str(), m_sCodepageName.c_str());
/// Receive status line info from crystal window and display
void CMergeStatusBar::MergeStatus::SetLineInfo(LPCTSTR szLine, int nColumn,
- int nColumns, int nChar, int nChars, LPCTSTR szEol, int nCodepage, bool bHasBom)
+ int nColumns, int nChar, int nChars, int nSelectedLines, int nSelectedChars, LPCTSTR szEol, int nCodepage, bool bHasBom)
{
if (m_sLine != szLine || m_nColumn != nColumn || m_nColumns != nColumns ||
- m_nChar != nChar || m_nChars != nChars || m_sEol != szEol != 0 || m_nCodepage != nCodepage || m_bHasBom != bHasBom)
+ m_nChar != nChar || m_nChars != nChars ||
+ m_nSelectedLines != nSelectedLines || m_nSelectedChars != nSelectedChars ||
+ m_sEol != szEol != 0 || m_nCodepage != nCodepage || m_bHasBom != bHasBom)
{
USES_CONVERSION;
m_sLine = szLine;
m_nColumns = nColumns;
m_nChar = nChar;
m_nChars = nChars;
+ m_nSelectedLines = nSelectedLines;
+ m_nSelectedChars = nSelectedChars;
m_sEol = szEol;
m_sEolDisplay = EolString(m_sEol);
if (m_nCodepage != nCodepage || m_bHasBom != bHasBom)
MergeStatus();
// Implement MergeEditStatus
void SetLineInfo(LPCTSTR szLine, int nColumn, int nColumns,
- int nChar, int nChars, LPCTSTR szEol, int nCodepage, bool bHasBom);
+ int nChar, int nChars, int nSelectedLines, int nSelectedChars, LPCTSTR szEol, int nCodepage, bool bHasBom) override;
void UpdateResources();
protected:
void Update();
int m_nChar; /**< Current char */
int m_nChars; /**< Amount of chars in line */
int m_nCodepage;
+ int m_nSelectedLines;
+ int m_nSelectedChars;
bool m_bHasBom;
String m_sEol;
String m_sEolDisplay;
#define IDS_CONFLICT_THEIRS_FILE 40806\r
#define IDS_CONFLICT_MINE_FILE 40807\r
#define IDS_SELFCOMPARE_ORIGINAL_FILE 40808\r
+#define IDS_LINE_STATUS_INFO_SEL 40831\r
#define IDS_LINE_STATUS_INFO_EOL 40832\r
#define IDS_EMPTY_LINE_STATUS_INFO 40833\r
#define IDS_LINE_STATUS_INFO 40834\r
</head>
<body>
<h1>Translations Status</h1>
-<p>Status from <strong>2021-04-15</strong>:</p>
+<p>Status from <strong>2021-04-18</strong>:</p>
<h2>WinMerge</h2>
<table class="status">
<tr>
</tr>
<tr>
<td class="left">Arabic</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">914</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">115</td>
+ <td class="right untranslated">116</td>
<td class="right">89 %</td>
<td class="center">2019-12-30</td>
</tr>
<tr>
<td class="left">Basque</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">650</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">379</td>
+ <td class="right untranslated">380</td>
<td class="right">63 %</td>
<td class="center">2013-02-03</td>
</tr>
<tr>
<td class="left">Brazilian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-02-14</td>
</tr>
<tr>
<td class="left">Bulgarian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">955</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">74</td>
+ <td class="right untranslated">75</td>
<td class="right">93 %</td>
<td class="center">2021-02-11</td>
</tr>
<tr>
<td class="left">Catalan</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">575</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">454</td>
+ <td class="right untranslated">455</td>
<td class="right">56 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">ChineseSimplified</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">987</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">42</td>
+ <td class="right untranslated">43</td>
<td class="right">96 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">ChineseTraditional</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">867</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">162</td>
+ <td class="right untranslated">163</td>
<td class="right">84 %</td>
<td class="center">2010-02-19</td>
</tr>
<tr>
<td class="left">Croatian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">641</td>
<td class="right fuzzy">1</td>
- <td class="right untranslated">387</td>
+ <td class="right untranslated">388</td>
<td class="right">62 %</td>
<td class="center">2009-02-13</td>
</tr>
<tr>
<td class="left">Czech</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">613</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">416</td>
+ <td class="right untranslated">417</td>
<td class="right">60 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Danish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">650</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">379</td>
+ <td class="right untranslated">380</td>
<td class="right">63 %</td>
<td class="center">2013-01-13</td>
</tr>
<tr>
<td class="left">Dutch</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1027</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">2</td>
+ <td class="right untranslated">3</td>
<td class="right">100 %</td>
<td class="center">2018-09-06</td>
</tr>
<tr>
<td class="left">English</td>
- <td class="right">1030</td>
- <td class="right translated">1030</td>
+ <td class="right">1031</td>
+ <td class="right translated">1031</td>
<td class="right fuzzy">0</td>
<td class="right untranslated">0</td>
<td class="right">100 %</td>
- <td class="center">2021-04-15</td>
+ <td class="center">2021-04-18</td>
</tr>
<tr>
<td class="left">Finnish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">914</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">115</td>
+ <td class="right untranslated">116</td>
<td class="right">89 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">French</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1027</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">2</td>
+ <td class="right untranslated">3</td>
<td class="right">100 %</td>
<td class="center">2021-02-10</td>
</tr>
<tr>
<td class="left">Galician</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-04-01</td>
</tr>
<tr>
<td class="left">German</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-04-04</td>
</tr>
<tr>
<td class="left">Greek</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">613</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">416</td>
+ <td class="right untranslated">417</td>
<td class="right">60 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Hungarian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1027</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">2</td>
+ <td class="right untranslated">3</td>
<td class="right">100 %</td>
<td class="center">2021-03-15</td>
</tr>
<tr>
<td class="left">Italian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">917</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">112</td>
+ <td class="right untranslated">113</td>
<td class="right">89 %</td>
<td class="center">2019-07-12</td>
</tr>
<tr>
<td class="left">Japanese</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-03-31</td>
</tr>
<tr>
<td class="left">Korean</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">998</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">31</td>
+ <td class="right untranslated">32</td>
<td class="right">97 %</td>
<td class="center">2021-03-30</td>
</tr>
<tr>
<td class="left">Lithuanian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-04-01</td>
</tr>
<tr>
<td class="left">Norwegian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">642</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">387</td>
+ <td class="right untranslated">388</td>
<td class="right">62 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Persian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">653</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">376</td>
+ <td class="right untranslated">377</td>
<td class="right">63 %</td>
<td class="center">2013-08-15</td>
</tr>
<tr>
<td class="left">Polish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1018</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">11</td>
+ <td class="right untranslated">12</td>
<td class="right">99 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Portuguese</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-04-10</td>
</tr>
<tr>
<td class="left">Romanian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">571</td>
<td class="right fuzzy">44</td>
- <td class="right untranslated">414</td>
+ <td class="right untranslated">415</td>
<td class="right">60 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Russian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1016</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">13</td>
+ <td class="right untranslated">14</td>
<td class="right">99 %</td>
<td class="center">2021-03-28</td>
</tr>
<tr>
<td class="left">Serbian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">641</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">388</td>
+ <td class="right untranslated">389</td>
<td class="right">62 %</td>
<td class="center"></td>
</tr>
<tr>
<td class="left">Sinhala</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">571</td>
<td class="right fuzzy">63</td>
- <td class="right untranslated">395</td>
+ <td class="right untranslated">396</td>
<td class="right">62 %</td>
<td class="center">2010-12-12</td>
</tr>
<tr>
<td class="left">Slovak</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">987</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">42</td>
+ <td class="right untranslated">43</td>
<td class="right">96 %</td>
<td class="center">2020-11-02</td>
</tr>
<tr>
<td class="left">Slovenian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1027</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">2</td>
+ <td class="right untranslated">3</td>
<td class="right">100 %</td>
<td class="center">2021-03-02</td>
</tr>
<tr>
<td class="left">Spanish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">883</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">146</td>
+ <td class="right untranslated">147</td>
<td class="right">86 %</td>
<td class="center">2020-04-03</td>
</tr>
<tr>
<td class="left">Swedish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">1029</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">0</td>
+ <td class="right untranslated">1</td>
<td class="right">100 %</td>
<td class="center">2021-04-10</td>
</tr>
<tr>
<td class="left">Turkish</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">983</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">46</td>
- <td class="right">96 %</td>
+ <td class="right untranslated">47</td>
+ <td class="right">95 %</td>
<td class="center">2020-09-08</td>
</tr>
<tr>
<td class="left">Ukrainian</td>
- <td class="right">1029</td>
+ <td class="right">1030</td>
<td class="right translated">647</td>
<td class="right fuzzy">0</td>
- <td class="right untranslated">382</td>
+ <td class="right untranslated">383</td>
<td class="right">63 %</td>
<td class="center">2009-06-13</td>
</tr>
# Translations Status
-Status from **2021-04-15**:
+Status from **2021-04-18**:
## WinMerge
| Language | Total | Translated | Fuzzy | Untranslated | Complete | Last Update |
|:---------------------|------:|-----------:|------:|-------------:|---------:|:-----------:|
-| Arabic | 1029 | 914 | 0 | 115 | 89 % | 2019-12-30 |
-| Basque | 1029 | 650 | 0 | 379 | 63 % | 2013-02-03 |
-| Brazilian | 1029 | 1029 | 0 | 0 | 100 % | 2021-02-14 |
-| Bulgarian | 1029 | 955 | 0 | 74 | 93 % | 2021-02-11 |
-| Catalan | 1029 | 575 | 0 | 454 | 56 % | |
-| ChineseSimplified | 1029 | 987 | 0 | 42 | 96 % | |
-| ChineseTraditional | 1029 | 867 | 0 | 162 | 84 % | 2010-02-19 |
-| Croatian | 1029 | 641 | 1 | 387 | 62 % | 2009-02-13 |
-| Czech | 1029 | 613 | 0 | 416 | 60 % | |
-| Danish | 1029 | 650 | 0 | 379 | 63 % | 2013-01-13 |
-| Dutch | 1029 | 1027 | 0 | 2 | 100 % | 2018-09-06 |
-| English | 1030 | 1030 | 0 | 0 | 100 % | 2021-04-15 |
-| Finnish | 1029 | 914 | 0 | 115 | 89 % | |
-| French | 1029 | 1027 | 0 | 2 | 100 % | 2021-02-10 |
-| Galician | 1029 | 1029 | 0 | 0 | 100 % | 2021-04-01 |
-| German | 1029 | 1029 | 0 | 0 | 100 % | 2021-04-04 |
-| Greek | 1029 | 613 | 0 | 416 | 60 % | |
-| Hungarian | 1029 | 1027 | 0 | 2 | 100 % | 2021-03-15 |
-| Italian | 1029 | 917 | 0 | 112 | 89 % | 2019-07-12 |
-| Japanese | 1029 | 1029 | 0 | 0 | 100 % | 2021-03-31 |
-| Korean | 1029 | 998 | 0 | 31 | 97 % | 2021-03-30 |
-| Lithuanian | 1029 | 1029 | 0 | 0 | 100 % | 2021-04-01 |
-| Norwegian | 1029 | 642 | 0 | 387 | 62 % | |
-| Persian | 1029 | 653 | 0 | 376 | 63 % | 2013-08-15 |
-| Polish | 1029 | 1018 | 0 | 11 | 99 % | |
-| Portuguese | 1029 | 1029 | 0 | 0 | 100 % | 2021-04-10 |
-| Romanian | 1029 | 571 | 44 | 414 | 60 % | |
-| Russian | 1029 | 1016 | 0 | 13 | 99 % | 2021-03-28 |
-| Serbian | 1029 | 641 | 0 | 388 | 62 % | |
-| Sinhala | 1029 | 571 | 63 | 395 | 62 % | 2010-12-12 |
-| Slovak | 1029 | 987 | 0 | 42 | 96 % | 2020-11-02 |
-| Slovenian | 1029 | 1027 | 0 | 2 | 100 % | 2021-03-02 |
-| Spanish | 1029 | 883 | 0 | 146 | 86 % | 2020-04-03 |
-| Swedish | 1029 | 1029 | 0 | 0 | 100 % | 2021-04-10 |
-| Turkish | 1029 | 983 | 0 | 46 | 96 % | 2020-09-08 |
-| Ukrainian | 1029 | 647 | 0 | 382 | 63 % | 2009-06-13 |
+| Arabic | 1030 | 914 | 0 | 116 | 89 % | 2019-12-30 |
+| Basque | 1030 | 650 | 0 | 380 | 63 % | 2013-02-03 |
+| Brazilian | 1030 | 1029 | 0 | 1 | 100 % | 2021-02-14 |
+| Bulgarian | 1030 | 955 | 0 | 75 | 93 % | 2021-02-11 |
+| Catalan | 1030 | 575 | 0 | 455 | 56 % | |
+| ChineseSimplified | 1030 | 987 | 0 | 43 | 96 % | |
+| ChineseTraditional | 1030 | 867 | 0 | 163 | 84 % | 2010-02-19 |
+| Croatian | 1030 | 641 | 1 | 388 | 62 % | 2009-02-13 |
+| Czech | 1030 | 613 | 0 | 417 | 60 % | |
+| Danish | 1030 | 650 | 0 | 380 | 63 % | 2013-01-13 |
+| Dutch | 1030 | 1027 | 0 | 3 | 100 % | 2018-09-06 |
+| English | 1031 | 1031 | 0 | 0 | 100 % | 2021-04-18 |
+| Finnish | 1030 | 914 | 0 | 116 | 89 % | |
+| French | 1030 | 1027 | 0 | 3 | 100 % | 2021-02-10 |
+| Galician | 1030 | 1029 | 0 | 1 | 100 % | 2021-04-01 |
+| German | 1030 | 1029 | 0 | 1 | 100 % | 2021-04-04 |
+| Greek | 1030 | 613 | 0 | 417 | 60 % | |
+| Hungarian | 1030 | 1027 | 0 | 3 | 100 % | 2021-03-15 |
+| Italian | 1030 | 917 | 0 | 113 | 89 % | 2019-07-12 |
+| Japanese | 1030 | 1029 | 0 | 1 | 100 % | 2021-03-31 |
+| Korean | 1030 | 998 | 0 | 32 | 97 % | 2021-03-30 |
+| Lithuanian | 1030 | 1029 | 0 | 1 | 100 % | 2021-04-01 |
+| Norwegian | 1030 | 642 | 0 | 388 | 62 % | |
+| Persian | 1030 | 653 | 0 | 377 | 63 % | 2013-08-15 |
+| Polish | 1030 | 1018 | 0 | 12 | 99 % | |
+| Portuguese | 1030 | 1029 | 0 | 1 | 100 % | 2021-04-10 |
+| Romanian | 1030 | 571 | 44 | 415 | 60 % | |
+| Russian | 1030 | 1016 | 0 | 14 | 99 % | 2021-03-28 |
+| Serbian | 1030 | 641 | 0 | 389 | 62 % | |
+| Sinhala | 1030 | 571 | 63 | 396 | 62 % | 2010-12-12 |
+| Slovak | 1030 | 987 | 0 | 43 | 96 % | 2020-11-02 |
+| Slovenian | 1030 | 1027 | 0 | 3 | 100 % | 2021-03-02 |
+| Spanish | 1030 | 883 | 0 | 147 | 86 % | 2020-04-03 |
+| Swedish | 1030 | 1029 | 0 | 1 | 100 % | 2021-04-10 |
+| Turkish | 1030 | 983 | 0 | 47 | 95 % | 2020-09-08 |
+| Ukrainian | 1030 | 647 | 0 | 383 | 63 % | 2009-06-13 |
## ShellExtension
<?xml version="1.0" encoding="UTF-8"?>
<status>
- <update>2021-04-15</update>
+ <update>2021-04-18</update>
<translations project="WinMerge">
<translation>
<language>Arabic</language>
<file>Arabic.po</file>
<update>2019-12-30</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>914</translated>
<fuzzy>0</fuzzy>
- <untranslated>115</untranslated>
+ <untranslated>116</untranslated>
</strings>
</translation>
<translation>
<file>Basque.po</file>
<update>2013-02-03</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>650</translated>
<fuzzy>0</fuzzy>
- <untranslated>379</untranslated>
+ <untranslated>380</untranslated>
</strings>
<translators>
<translator>
<file>Brazilian.po</file>
<update>2021-02-14</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>Bulgarian.po</file>
<update>2021-02-11</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>955</translated>
<fuzzy>0</fuzzy>
- <untranslated>74</untranslated>
+ <untranslated>75</untranslated>
</strings>
<translators>
<translator>
<file>Catalan.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>575</translated>
<fuzzy>0</fuzzy>
- <untranslated>454</untranslated>
+ <untranslated>455</untranslated>
</strings>
<translators>
<translator>
<file>ChineseSimplified.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>987</translated>
<fuzzy>0</fuzzy>
- <untranslated>42</untranslated>
+ <untranslated>43</untranslated>
</strings>
<translators>
<translator>
<file>ChineseTraditional.po</file>
<update>2010-02-19</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>867</translated>
<fuzzy>0</fuzzy>
- <untranslated>162</untranslated>
+ <untranslated>163</untranslated>
</strings>
<translators>
<translator>
<file>Croatian.po</file>
<update>2009-02-13</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>641</translated>
<fuzzy>1</fuzzy>
- <untranslated>387</untranslated>
+ <untranslated>388</untranslated>
</strings>
<translators>
<translator>
<file>Czech.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>613</translated>
<fuzzy>0</fuzzy>
- <untranslated>416</untranslated>
+ <untranslated>417</untranslated>
</strings>
<translators>
<translator>
<file>Danish.po</file>
<update>2013-01-13</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>650</translated>
<fuzzy>0</fuzzy>
- <untranslated>379</untranslated>
+ <untranslated>380</untranslated>
</strings>
<translators>
<translator>
<file>Dutch.po</file>
<update>2018-09-06</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1027</translated>
<fuzzy>0</fuzzy>
- <untranslated>2</untranslated>
+ <untranslated>3</untranslated>
</strings>
<translators>
<translator>
<translation template="1">
<language>English</language>
<file>English.pot</file>
- <update>2021-04-15</update>
+ <update>2021-04-18</update>
<strings>
- <count>1030</count>
- <translated>1030</translated>
+ <count>1031</count>
+ <translated>1031</translated>
<fuzzy>0</fuzzy>
<untranslated>0</untranslated>
</strings>
<file>Finnish.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>914</translated>
<fuzzy>0</fuzzy>
- <untranslated>115</untranslated>
+ <untranslated>116</untranslated>
</strings>
</translation>
<translation>
<file>French.po</file>
<update>2021-02-10</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1027</translated>
<fuzzy>0</fuzzy>
- <untranslated>2</untranslated>
+ <untranslated>3</untranslated>
</strings>
<translators>
<translator maintainer="1">
<file>Galician.po</file>
<update>2021-04-01</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>German.po</file>
<update>2021-04-04</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator maintainer="1">
<file>Greek.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>613</translated>
<fuzzy>0</fuzzy>
- <untranslated>416</untranslated>
+ <untranslated>417</untranslated>
</strings>
<translators>
<translator>
<file>Hungarian.po</file>
<update>2021-03-15</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1027</translated>
<fuzzy>0</fuzzy>
- <untranslated>2</untranslated>
+ <untranslated>3</untranslated>
</strings>
<translators>
<translator>
<file>Italian.po</file>
<update>2019-07-12</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>917</translated>
<fuzzy>0</fuzzy>
- <untranslated>112</untranslated>
+ <untranslated>113</untranslated>
</strings>
<translators>
<translator>
<file>Japanese.po</file>
<update>2021-03-31</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>Korean.po</file>
<update>2021-03-30</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>998</translated>
<fuzzy>0</fuzzy>
- <untranslated>31</untranslated>
+ <untranslated>32</untranslated>
</strings>
<translators>
<translator>
<file>Lithuanian.po</file>
<update>2021-04-01</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>Norwegian.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>642</translated>
<fuzzy>0</fuzzy>
- <untranslated>387</untranslated>
+ <untranslated>388</untranslated>
</strings>
<translators>
<translator>
<file>Persian.po</file>
<update>2013-08-15</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>653</translated>
<fuzzy>0</fuzzy>
- <untranslated>376</untranslated>
+ <untranslated>377</untranslated>
</strings>
<translators>
<translator>
<file>Polish.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1018</translated>
<fuzzy>0</fuzzy>
- <untranslated>11</untranslated>
+ <untranslated>12</untranslated>
</strings>
<translators>
<translator>
<file>Portuguese.po</file>
<update>2021-04-10</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>Romanian.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>571</translated>
<fuzzy>44</fuzzy>
- <untranslated>414</untranslated>
+ <untranslated>415</untranslated>
</strings>
<translators>
<translator>
<file>Russian.po</file>
<update>2021-03-28</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1016</translated>
<fuzzy>0</fuzzy>
- <untranslated>13</untranslated>
+ <untranslated>14</untranslated>
</strings>
<translators>
<translator>
<file>Serbian.po</file>
<update></update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>641</translated>
<fuzzy>0</fuzzy>
- <untranslated>388</untranslated>
+ <untranslated>389</untranslated>
</strings>
<translators>
<translator>
<file>Sinhala.po</file>
<update>2010-12-12</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>571</translated>
<fuzzy>63</fuzzy>
- <untranslated>395</untranslated>
+ <untranslated>396</untranslated>
</strings>
<translators>
<translator>
<file>Slovak.po</file>
<update>2020-11-02</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>987</translated>
<fuzzy>0</fuzzy>
- <untranslated>42</untranslated>
+ <untranslated>43</untranslated>
</strings>
<translators>
<translator>
<file>Slovenian.po</file>
<update>2021-03-02</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1027</translated>
<fuzzy>0</fuzzy>
- <untranslated>2</untranslated>
+ <untranslated>3</untranslated>
</strings>
<translators>
<translator>
<file>Spanish.po</file>
<update>2020-04-03</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>883</translated>
<fuzzy>0</fuzzy>
- <untranslated>146</untranslated>
+ <untranslated>147</untranslated>
</strings>
<translators>
<translator>
<file>Swedish.po</file>
<update>2021-04-10</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>1029</translated>
<fuzzy>0</fuzzy>
- <untranslated>0</untranslated>
+ <untranslated>1</untranslated>
</strings>
<translators>
<translator>
<file>Turkish.po</file>
<update>2020-09-08</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>983</translated>
<fuzzy>0</fuzzy>
- <untranslated>46</untranslated>
+ <untranslated>47</untranslated>
</strings>
<translators>
<translator>
<file>Ukrainian.po</file>
<update>2009-06-13</update>
<strings>
- <count>1029</count>
+ <count>1030</count>
<translated>647</translated>
<fuzzy>0</fuzzy>
- <untranslated>382</untranslated>
+ <untranslated>383</untranslated>
</strings>
<translators>
<translator>
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "دمج"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Batu"
msgstr "Lin: %s Col: %d/%d Car: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Unir"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Ред: %s колона: %d/%d знак: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Сливане"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Combina"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "行: %s 列: %d/%d 字符: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "合并"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "合併"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Usporedo"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Sloučit"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Flet"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Regel: %s Kolom: %d/%d Teken: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Samenvoegen"
msgstr ""
"Project-Id-Version: WinMerge\n"
"Report-Msgid-Bugs-To: https://bugs.winmerge.org/\n"
-"POT-Creation-Date: 2021-04-15 07:51+0000\n"
+"POT-Creation-Date: 2021-04-18 15:21+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: English <winmerge-translate@lists.sourceforge.net>\n"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr ""
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr ""
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Yhdistä"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Fusion"
msgstr "Lñ: %s Col: %d/%d Car: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Mesturar"
msgstr "Zeile: %s Spalte: %d/%d Zeichen: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Merge"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Συγχώνευση"
msgstr "Sor: %s Oszlop: %d/%d Karakter: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Egyesítés"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Ln: %s Col: %d/%d Car: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Unione"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "行: %s 列: %d/%d 文字: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr " 選択: %d | %d"
+
msgid "Merge"
msgstr "マージ"
msgstr "줄: %s 열: %d/%d 문자: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "병합"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Eil.: %s Stlp.: %d/%d Sk.: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Sulieti"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Slå sammen"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr " پيوند زدن "
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Wier: %s Kol: %d/%d Zn: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Scal"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Combinar"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Fuziune"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Стр: %s Стб: %d/%d Симв: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Объединение"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Упореди"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "මුසු කරන්න"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Riad: %s Stĺ: %d/%d Zn: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Zlúčiť"
msgstr "Vr: %s St: %d/%d Zn: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Združi"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr ""
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Combinar"
msgstr "Ln: %s Col: %d/%d Ch: %d/%d"
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Sammanfoga"
msgid "Ln: %s Col: %d/%d Ch: %d/%d"
msgstr "Satır: %s Sütun: %d/%d Karakter: %d/%d"
+#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
msgid "Merge"
msgstr "Birleştir"
msgstr ""
#, c-format
+msgid " Sel: %d | %d"
+msgstr ""
+
+#, c-format
msgid "Merge"
msgstr "Об'єднання"