From 75583a474e2a7aca80085e0106bf695f68a1a1a1 Mon Sep 17 00:00:00 2001 From: Matthew Yang <141765903+matthewyang204@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:37:08 -0700 Subject: [PATCH 01/24] Update updates.json --- updates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/updates.json b/updates.json index 8b7cf11c3..7ac88d8ea 100644 --- a/updates.json +++ b/updates.json @@ -2,8 +2,8 @@ "updates": { "windows": { "open-url": "", - "latest-version": "0.11", - "download-url": "https://github.com/dail8859/NotepadNext/releases/download/v0.11/NotepadNext-v0.11-Installer.exe", + "latest-version": "0.12", + "download-url": "https://github.com/dail8859/NotepadNext/releases/download/v0.12/NotepadNext-v0.12-Installer.exe", "changelog": "", "mandatory": false } From 550ec397b3fdd2c53de6974289611bc4dfb3bdf4 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 06:58:37 -0700 Subject: [PATCH 02/24] Need to ignore EVERY build folder --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index cb950a30d..4607493e4 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,8 @@ CMakeLists.txt.user* /build /build* +build/ +build*/ /icon/*.png /icon/ImageMagick From 6d104b9d23558d49e9f35c7b82d8b150c1ad7300 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 07:07:41 -0700 Subject: [PATCH 03/24] Add Replace In Files elements --- src/NotepadNext/dialogs/FindReplaceDialog.ui | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index cdcddd654..9556eaf0c 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -6,8 +6,8 @@ 0 0 - 600 - 325 + 605 + 381 @@ -328,7 +328,7 @@ - + 11 @@ -418,6 +418,16 @@ + + + + Replace in Files: + + + + + + From af9a72fd4e36aacea6f7f33b096742134309e644 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 14:52:59 -0700 Subject: [PATCH 04/24] Fix labels --- src/NotepadNext/dialogs/FindReplaceDialog.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index 9556eaf0c..d6253076b 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -421,7 +421,7 @@ - Replace in Files: + PATH of directory containing files to be replaced: From b79d4c7cd11942b00d7821cf9761e1894d9f3719 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 15:19:18 -0700 Subject: [PATCH 05/24] Only show the replace in files options in Replace tab --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index a8d8d5ad6..48c26b346 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -435,6 +435,8 @@ void FindReplaceDialog::changeTab(int index) ui->buttonReplace->hide(); ui->buttonReplaceAll->hide(); ui->buttonReplaceAllInDocuments->hide(); + ui->comboReplaceInFiles->hide(); + ui->labelReplaceinFiles->hide(); ui->buttonCount->show(); ui->buttonFindAllInCurrent->show(); @@ -448,6 +450,10 @@ void FindReplaceDialog::changeTab(int index) ui->buttonReplace->show(); ui->buttonReplaceAll->show(); ui->buttonReplaceAllInDocuments->show(); + ui->comboReplaceInFiles->hide(); + ui->labelReplaceinFiles->hide(); + ui->comboReplaceInFiles->hide(); + ui->labelReplaceinFiles->hide(); ui->buttonCount->hide(); ui->buttonFindAllInCurrent->hide(); From 7a964c040c078865814c2825e1852e04c9c1c030 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 15:23:07 -0700 Subject: [PATCH 06/24] Add new button for replacing all in files --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 48c26b346..7ea9957c0 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -437,6 +437,7 @@ void FindReplaceDialog::changeTab(int index) ui->buttonReplaceAllInDocuments->hide(); ui->comboReplaceInFiles->hide(); ui->labelReplaceinFiles->hide(); + ui->buttonReplaceAllInFiles->hide(); ui->buttonCount->show(); ui->buttonFindAllInCurrent->show(); @@ -454,6 +455,7 @@ void FindReplaceDialog::changeTab(int index) ui->labelReplaceinFiles->hide(); ui->comboReplaceInFiles->hide(); ui->labelReplaceinFiles->hide(); + ui->buttonReplaceAllInFiles->hide(); ui->buttonCount->hide(); ui->buttonFindAllInCurrent->hide(); From 3aabe228768ba03532c057df36d190daecc20c09 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 15:54:48 -0700 Subject: [PATCH 07/24] Update the .ui file for the FindReplaceDialog --- src/NotepadNext/dialogs/FindReplaceDialog.ui | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index d6253076b..0911ae327 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -282,6 +282,13 @@ + + + + Replace All in Files + + + @@ -493,7 +500,6 @@ buttonCount buttonReplace buttonReplaceAll - buttonReplaceAllInDocuments buttonFindAllInDocuments buttonFindAllInCurrent buttonClose From 1a4d1b543109e510d315f066ba1b6fc7ab039c86 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 16:12:17 -0700 Subject: [PATCH 08/24] Show on second index & make comboReplaceInFiles editable --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 10 +++++----- src/NotepadNext/dialogs/FindReplaceDialog.ui | 10 +++++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 7ea9957c0..2790a14ff 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -451,11 +451,11 @@ void FindReplaceDialog::changeTab(int index) ui->buttonReplace->show(); ui->buttonReplaceAll->show(); ui->buttonReplaceAllInDocuments->show(); - ui->comboReplaceInFiles->hide(); - ui->labelReplaceinFiles->hide(); - ui->comboReplaceInFiles->hide(); - ui->labelReplaceinFiles->hide(); - ui->buttonReplaceAllInFiles->hide(); + ui->comboReplaceInFiles->show(); + ui->labelReplaceinFiles->show(); + ui->comboReplaceInFiles->show(); + ui->labelReplaceinFiles->show(); + ui->buttonReplaceAllInFiles->show(); ui->buttonCount->hide(); ui->buttonFindAllInCurrent->hide(); diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index 0911ae327..c2e707566 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -6,8 +6,8 @@ 0 0 - 605 - 381 + 614 + 410 @@ -433,7 +433,11 @@ - + + + true + + From 25963d8c3406fdb67c4482ceadb805a7133ab189 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:00:08 -0700 Subject: [PATCH 09/24] Include some more files for find and replace --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 2790a14ff..dcdb3907a 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -24,6 +24,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "ScintillaNext.h" #include "MainWindow.h" From 4a8d65d6d8e4859171c773036df38d9b93118338 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:15:14 -0700 Subject: [PATCH 10/24] Add button to select directory --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 2 ++ src/NotepadNext/dialogs/FindReplaceDialog.ui | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index dcdb3907a..3c223d8aa 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -443,6 +443,7 @@ void FindReplaceDialog::changeTab(int index) ui->comboReplaceInFiles->hide(); ui->labelReplaceinFiles->hide(); ui->buttonReplaceAllInFiles->hide(); + ui->buttonFindInFilesSelector->hide(); ui->buttonCount->show(); ui->buttonFindAllInCurrent->show(); @@ -461,6 +462,7 @@ void FindReplaceDialog::changeTab(int index) ui->comboReplaceInFiles->show(); ui->labelReplaceinFiles->show(); ui->buttonReplaceAllInFiles->show(); + ui->buttonFindInFilesSelector->show(); ui->buttonCount->hide(); ui->buttonFindAllInCurrent->hide(); diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index c2e707566..a4d2fc583 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -335,7 +335,7 @@ - + 11 @@ -428,7 +428,7 @@ - PATH of directory containing files to be replaced: + Path of directory containing files to be replaced: @@ -439,6 +439,13 @@ + + + + Select Containing Directory + + + From e0f582eaa218a0b41a643101e2d581a979e3a668 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:20:34 -0700 Subject: [PATCH 11/24] Allow user to select directory to search in --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 17 +++++++++++++++++ src/NotepadNext/dialogs/FindReplaceDialog.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 3c223d8aa..f65107733 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include "ScintillaNext.h" #include "MainWindow.h" @@ -642,3 +643,19 @@ void FindReplaceDialog::showMessage(const QString &message, const QString &color statusBar->setStyleSheet(QStringLiteral("color: %1").arg(color)); statusBar->showMessage(message); } + +void FindReplaceDialog::on_buttonFindInFilesSelector_clicked() +{ + QString dir = QFileDialog::getExistingDirectory( + this, + tr("Select Directory"), + "", + QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks + ); + + int currentIndex = ui->comboReplaceInFiles->currentIndex(); + if (currentIndex != -1) { + comboBox->setItemText(currentIndex, dir); + } +} + diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.h b/src/NotepadNext/dialogs/FindReplaceDialog.h index a85b3ea0a..d21288a02 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.h +++ b/src/NotepadNext/dialogs/FindReplaceDialog.h @@ -86,6 +86,8 @@ private slots: void changeTab(int index); + void on_buttonFindInFilesSelector_clicked(); + private: QString findString(); void prepareToPerformSearch(bool replace=false); From 8c508410f97d87b554941abf97e19ffae4f3e203 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:21:06 -0700 Subject: [PATCH 12/24] Accidentally directly pasted from a directory Still learning Qt C++ --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index f65107733..bddc036bc 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -655,7 +655,7 @@ void FindReplaceDialog::on_buttonFindInFilesSelector_clicked() int currentIndex = ui->comboReplaceInFiles->currentIndex(); if (currentIndex != -1) { - comboBox->setItemText(currentIndex, dir); + ui->comboReplaceInFiles->setItemText(currentIndex, dir); } } From 8eeeac60538724f2568fe324c5fab6a91992ddf2 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:24:09 -0700 Subject: [PATCH 13/24] Otherwise, create another item --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index bddc036bc..64bdc2c63 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -656,6 +656,9 @@ void FindReplaceDialog::on_buttonFindInFilesSelector_clicked() int currentIndex = ui->comboReplaceInFiles->currentIndex(); if (currentIndex != -1) { ui->comboReplaceInFiles->setItemText(currentIndex, dir); + } else { + ui->comboReplaceInFiles->addItem(dir); + ui->comboReplaceInFiles->setCurrentIndex(ui->comboReplaceInFiles->count() - 1); } } From 478c637fed3d164ed29dcda56a6706e4314a6f27 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:45:36 -0700 Subject: [PATCH 14/24] Add function to check if file is binary --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 64bdc2c63..3e59923eb 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -644,6 +644,16 @@ void FindReplaceDialog::showMessage(const QString &message, const QString &color statusBar->showMessage(message); } +bool isBinary(QString filename){ + QFile mfile(filename); + if (!mfile.open(QFile::ReadOnly)) { + qDebug() << "File " << filename << " is binary"; + return true; + } else { + return false; + } +} + void FindReplaceDialog::on_buttonFindInFilesSelector_clicked() { QString dir = QFileDialog::getExistingDirectory( From bd7a346578dfe5fc45cde3d8c75fa6aa438e56de Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:54:10 -0700 Subject: [PATCH 15/24] Move isBinary to top --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 3e59923eb..fb18fdbe7 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -45,6 +45,16 @@ static void convertToExtended(QString &str) // TODO: more } +bool isBinary(QString filename){ + QFile mfile(filename); + if (!mfile.open(QFile::ReadOnly)) { + qDebug() << "File " << filename << " is binary"; + return true; + } else { + return false; + } +} + FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainWindow *window) : QDialog(window, Qt::Dialog), ui(new Ui::FindReplaceDialog), @@ -644,16 +654,6 @@ void FindReplaceDialog::showMessage(const QString &message, const QString &color statusBar->showMessage(message); } -bool isBinary(QString filename){ - QFile mfile(filename); - if (!mfile.open(QFile::ReadOnly)) { - qDebug() << "File " << filename << " is binary"; - return true; - } else { - return false; - } -} - void FindReplaceDialog::on_buttonFindInFilesSelector_clicked() { QString dir = QFileDialog::getExistingDirectory( From 3879438b9a999a6815ca79aa4f4886724e1a9ef1 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 17:54:25 -0700 Subject: [PATCH 16/24] Write function to replace in files --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index fb18fdbe7..e04136ee3 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -159,6 +159,37 @@ FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainW showMessage(tr("Replaced %Ln matches", "", count), "green"); }); + connect(ui->buttonReplaceAllInFiles, &QPushButton::clicked, this, [=]() { + QString dirname = ui->comboReplaceInFiles->currentText(); + QString toFind = ui->comboFind->currentText(); + QString toReplace = ui->comboReplace->currentText(); + QStringList fileList; + + QDirIterator it(dirname, QDir::Files, QDirIterator::Subdirectories); + while (it.hasNext()) { + fileList.append(it.next()); // Add file path to the list + } + + qDebug() << "Obtained filelist for replacement from user:"; + for (const QString &file : fileList){ + qDebug() << file; + } + + for (const QString &file : fileList){ + if (isBinary(file)){ + qDebug() << "Skipping likely binary file: " << file; + continue; + } + + QFile toModifyFile(file); + toModifyFile.open(QIODevice::ReadWrite); + QByteArray text = toModifyFile.readAll(); + text.replace(toFind.toUtf8(), toReplace.toUtf8()); + toModifyFile.seek(0); + toModifyFile.write(text); + toModifyFile.close(); + } + }); connect(ui->buttonClose, &QPushButton::clicked, this, &FindReplaceDialog::close); loadSettings(); From 2182cb81d5b4da391010afeb5847c3baac9d3617 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 18:30:21 -0700 Subject: [PATCH 17/24] Show match count --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index e04136ee3..a388d4a92 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -160,6 +160,7 @@ FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainW showMessage(tr("Replaced %Ln matches", "", count), "green"); }); connect(ui->buttonReplaceAllInFiles, &QPushButton::clicked, this, [=]() { + int count = 0; QString dirname = ui->comboReplaceInFiles->currentText(); QString toFind = ui->comboFind->currentText(); QString toReplace = ui->comboReplace->currentText(); @@ -188,7 +189,11 @@ FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainW toModifyFile.seek(0); toModifyFile.write(text); toModifyFile.close(); + + count += 1; } + + showMessage(tr("Replaced %Ln matches", "", count), "green"); }); connect(ui->buttonClose, &QPushButton::clicked, this, &FindReplaceDialog::close); From 65e4ffd78f69a5df94ce71782e8d27287252ba6f Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 18:31:29 -0700 Subject: [PATCH 18/24] This is only for files --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index a388d4a92..60f34cd7d 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -193,7 +193,7 @@ FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainW count += 1; } - showMessage(tr("Replaced %Ln matches", "", count), "green"); + showMessage(tr("Replaced matches in %Ln files", "", count), "green"); }); connect(ui->buttonClose, &QPushButton::clicked, this, &FindReplaceDialog::close); From 52a2d8d579a567658e2eed9a7f60b0a4e8c9af35 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 19:13:11 -0700 Subject: [PATCH 19/24] check binary files *properly* --- src/NotepadNext/dialogs/FindReplaceDialog.cpp | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.cpp b/src/NotepadNext/dialogs/FindReplaceDialog.cpp index 60f34cd7d..cb29307ad 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.cpp +++ b/src/NotepadNext/dialogs/FindReplaceDialog.cpp @@ -45,14 +45,24 @@ static void convertToExtended(QString &str) // TODO: more } -bool isBinary(QString filename){ - QFile mfile(filename); - if (!mfile.open(QFile::ReadOnly)) { +bool isBinary(QString filename, int maxBytesToCheck = 1024){ + QFile file(filename); + if (!file.open(QFile::ReadOnly)) { qDebug() << "File " << filename << " is binary"; return true; - } else { - return false; } + + QByteArray data = file.read(maxBytesToCheck); + file.close(); + + for (char c : data) { + if ((c < 0x09) || (c > 0x0D && c < 0x20) || c == 0x7F) { + qDebug() << "File" << filename << "is binary (non-text bytes detected)"; + return true; + } + } + + return false; } FindReplaceDialog::FindReplaceDialog(ISearchResultsHandler *searchResults, MainWindow *window) : From c7f117f21686d15afd9a0d91e1aa5af472f54738 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 19:13:31 -0700 Subject: [PATCH 20/24] This should become ReplaceInFiles --- src/NotepadNext/dialogs/MainWindow.cpp | 4 ++++ src/NotepadNext/dialogs/MainWindow.ui | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/NotepadNext/dialogs/MainWindow.cpp b/src/NotepadNext/dialogs/MainWindow.cpp index 84be9ebbb..13bbc6296 100644 --- a/src/NotepadNext/dialogs/MainWindow.cpp +++ b/src/NotepadNext/dialogs/MainWindow.cpp @@ -355,6 +355,10 @@ MainWindow::MainWindow(NotepadNextApplication *app) : showFindReplaceDialog(FindReplaceDialog::REPLACE_TAB); }); + connect(ui->actionFindInFiles, &QAction::triggered, this, [=]() { + showFindReplaceDialog(FindReplaceDialog::REPLACE_TAB); + }); + connect(ui->actionGoToLine, &QAction::triggered, this, [=]() { ScintillaNext *editor = currentEditor(); const int currentLine = editor->lineFromPosition(editor->currentPos()) + 1; diff --git a/src/NotepadNext/dialogs/MainWindow.ui b/src/NotepadNext/dialogs/MainWindow.ui index dc02b156e..c2f5689ae 100644 --- a/src/NotepadNext/dialogs/MainWindow.ui +++ b/src/NotepadNext/dialogs/MainWindow.ui @@ -40,7 +40,7 @@ 0 0 855 - 21 + 23 @@ -884,7 +884,7 @@ - Find in Files... + Replace in Files... From 5395d064c1878f3adc0badca9927fd66104ab114 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 19:14:10 -0700 Subject: [PATCH 21/24] This goes after Replace --- src/NotepadNext/dialogs/MainWindow.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/MainWindow.ui b/src/NotepadNext/dialogs/MainWindow.ui index c2f5689ae..032574ad5 100644 --- a/src/NotepadNext/dialogs/MainWindow.ui +++ b/src/NotepadNext/dialogs/MainWindow.ui @@ -222,10 +222,10 @@ - + From d40ae6a620edd9ce739b5d3cdf41afcc30d245e6 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 20:41:16 -0700 Subject: [PATCH 22/24] Heighten a little bit Should fix problems with squeezing --- src/NotepadNext/dialogs/FindReplaceDialog.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index a4d2fc583..127b06929 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -7,7 +7,7 @@ 0 0 614 - 410 + 440 From 7cc9fb2ed822e89ec21b36a1e99a6503787dd025 Mon Sep 17 00:00:00 2001 From: Matthew Yang Date: Thu, 16 Oct 2025 21:03:12 -0700 Subject: [PATCH 23/24] Set more reasonable size along with setting a minimumSize property --- src/NotepadNext/dialogs/FindReplaceDialog.ui | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/NotepadNext/dialogs/FindReplaceDialog.ui b/src/NotepadNext/dialogs/FindReplaceDialog.ui index 127b06929..5d18604fe 100644 --- a/src/NotepadNext/dialogs/FindReplaceDialog.ui +++ b/src/NotepadNext/dialogs/FindReplaceDialog.ui @@ -6,10 +6,16 @@ 0 0 - 614 - 440 + 600 + 350 + + + 600 + 350 + + Find From 32a6be7da255fe96f5d368d97d47f0a4c09e7851 Mon Sep 17 00:00:00 2001 From: matthewyang204 <141765903+matthewyang204@users.noreply.github.com> Date: Sun, 19 Oct 2025 03:06:47 +0000 Subject: [PATCH 24/24] Update translation files --- i18n/NotepadNext_cs.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_es.ts | 160 ++++++++++++++++++++++--------------- i18n/NotepadNext_pl.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_pt_BR.ts | 160 ++++++++++++++++++++++--------------- i18n/NotepadNext_pt_PT.ts | 160 ++++++++++++++++++++++--------------- i18n/NotepadNext_ru.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_sv.ts | 162 +++++++++++++++++++++++--------------- i18n/NotepadNext_tr.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_uk.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_zh_CN.ts | 161 ++++++++++++++++++++++--------------- i18n/NotepadNext_zh_TW.ts | 161 ++++++++++++++++++++++--------------- 11 files changed, 1061 insertions(+), 708 deletions(-) diff --git a/i18n/NotepadNext_cs.ts b/i18n/NotepadNext_cs.ts index b792fa86e..b1dd49d1c 100644 --- a/i18n/NotepadNext_cs.ts +++ b/i18n/NotepadNext_cs.ts @@ -503,125 +503,140 @@ FindReplaceDialog - - - + + + Find Najít - + Search Mode Režim vyhledávání - + &Normal &Normální - + E&xtended (\n, \r, \t, \0, \x...) E&rozšířené (\n, \r, \t, \0, \x...) - + Re&gular expression Re&gulární výraz - + &. matches newline &. odpovídá novému řádku - + Transparenc&y Průh&lednost - + On losing focus Při ztrátě fokusu - + Always Vždy - + Coun&t Po&čet - + &Replace Nah&radit - + Replace &All Na&hradit vše - + Replace All in &Opened Documents Nahradit ve všech v &otevřených dokumentech - + + Replace All in Files + + + + Find All in All &Opened Documents Najít vše ve všech &otevřených dokumentech - + Find All in Current Document Najít vše v aktuálním dokumentu - + Close Zavřít - + &Find: &Najít: - + Replace: Nahradit: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Zpětný směr - + Match &whole word only Hledat pouze &celá slova - + Match &case Rozlišovat malá a &VELKÁ písmena - + Wra&p Around Na konci znovu od &začátku - + Replace Nahradit - - + + Replaced %Ln matches Nahrazeno %Ln shod @@ -629,28 +644,37 @@ Nahrazeno %Ln shod + + + Replaced matches in %Ln files + + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Bylo dosaženo konce dokumentu. Nalezeno 1. výskyt shora. - + No matches found. Nebyly nalezeny žádné shody. - + 1 occurrence was replaced 1 výskyt byl nahrazen - + No more occurrences were found Nebyly nalezeny žádné další výskyty - + Found %Ln matches Nalezeno %Ln shod @@ -658,6 +682,11 @@ Nalezeno %Ln shod + + + Select Directory + + FolderAsWorkspaceDock @@ -929,7 +958,7 @@ - + Export As Exportovat jako @@ -1455,8 +1484,12 @@ + Replace in Files... + + + Find in Files... - Najít v souboru... + Najít v souboru... @@ -1495,7 +1528,7 @@ - + Start Recording Začít nahrávání @@ -2022,131 +2055,131 @@ - + Go to line Přejít na řádek - + Line Number (1 - %1) Číslo řádku (1 – %1) - + Stop Recording Zastavit nahrávání - + Debug Info Debug Info - + New %1 Nový %1 - + Create File Vytvořit soubor - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> neexistuje. Chcete jej vytvořit? - - + + Save file <b>%1</b>? Uložit soubor <b>%1</b>? - - + + Save File Uložit soubor - + Open Folder as Workspace Otevřít složku jako pracovní prostor - - + + Reload File Znovu načíst soubor - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Opravdu chcete znovu načíst <b>%1</b>? Všechny neuložené změny budou ztraceny. - + Save a Copy As Uložit kopii jako - - + + Rename Přejmenovat - + Name: Jméno: - + Delete File Smazat soubor - + Are you sure you want to move <b>%1</b> to the trash? Opravdu chcete přesunout <b>%1</b> do koše? - + Error Deleting File Chyba při mazání souboru - + Something went wrong deleting <b>%1</b>? Při mazání <b>%1</b> se něco pokazilo? - + Administrator Administrator - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Chyba při ukládání souboru - + An error occurred when saving <b>%1</b><br><br>Error: %2 Při ukládání <b>%1</b><br><br>Chyba: %2 došlo k chybě - + Zoom: %1% Lupa: %1% - + No updates are available at this time. V tuto chvíli nejsou k dispozici žádné aktualizace. diff --git a/i18n/NotepadNext_es.ts b/i18n/NotepadNext_es.ts index d727d9392..54ef0ac3b 100644 --- a/i18n/NotepadNext_es.ts +++ b/i18n/NotepadNext_es.ts @@ -499,159 +499,187 @@ FindReplaceDialog - - - + + + Find Buscar - + Search Mode Modo de búsqueda - + &Normal &Normal - + E&xtended (\n, \r, \t, \0, \x...) E&xtendida (\n, \r, \t, \0, \x...) - + Re&gular expression Expresión re&gular - + &. matches newline &. coincide con una nueva línea - + Transparenc&y Transparenc&ia - + On losing focus Al perder el enfoque - + Always Siempre - + Coun&t Con&tar - + &Replace &Reemplazar - + Replace &All Reemplazar &todo - + Replace All in &Opened Documents Reemplazar todo en documentos &abiertos - + + Replace All in Files + + + + Find All in All &Opened Documents Buscar todo en todos los documentos &abiertos - + Find All in Current Document Buscar todo en el documento actual - + Close Cerrar - + &Find: &Buscar: - + Replace: Reemplazar: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Sentido inverso - + Match &whole word only Coincidir solo &palabra completa - + Match &case Coincidir &minúsculas/mayúsculas - + Wra&p Around Búsqueda circular - + Replace Reemplazar - - + + Replaced %Ln matches Se ha reemplazado %Ln incidencia Se han reemplazado %Ln incidencias + + + Replaced matches in %Ln files + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Se ha alcanzado el fin del documento. Se encontró la 1ª incidencia desde arriba. - + No matches found. Ninguna incidencia encontrada - + 1 occurrence was replaced Se reemplazó 1 incidencia - + No more occurrences were found No se encontraron más incidencias - + Found %Ln matches Se ha encontrado %Ln incidencia Se han encontrado %Ln incidencias + + + Select Directory + + FolderAsWorkspaceDock @@ -922,7 +950,7 @@ - + Export As Exportar como @@ -1448,8 +1476,12 @@ + Replace in Files... + + + Find in Files... - Buscar en archivos... + Buscar en archivos... @@ -1488,7 +1520,7 @@ - + Start Recording Iniciar grabación @@ -2017,131 +2049,131 @@ Borrar líneas marcadas - + Go to line Ir a la línea - + Line Number (1 - %1) Número de línea (1 - %1) - + Stop Recording Parar grabación - + Debug Info Información de depuración - + New %1 Nuevo %1 - + Create File Crear archivo - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> no existe. ¿Desea crearlo? - - + + Save file <b>%1</b>? ¿Guardar archivo <b>%1</b>? - - + + Save File Guardar archivo - + Open Folder as Workspace Abrir carpeta como área de trabajo - - + + Reload File Volver a cargar archivo - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. ¿Está seguro de que desea volver a cargar <b>%1</b>? Todos los cambios sin guardar se perderán. - + Save a Copy As Guardar una copia como - - + + Rename Renombrar - + Name: Nombre: - + Delete File Borrar archivo - + Are you sure you want to move <b>%1</b> to the trash? ¿Está seguro de que desea mover <b>%1</b> a la papelera? - + Error Deleting File Error al eliminar archivo - + Something went wrong deleting <b>%1</b>? Algo salió mal al eliminar <b>%1</b>? - + Administrator Administrador - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Error al guardar archivo - + An error occurred when saving <b>%1</b><br><br>Error: %2 Ocurrió un error al guardar <b>%1</b><br><br>Error: %2 - + Zoom: %1% Zoom: %1% - + No updates are available at this time. No hay actualizaciones disponibles en este momento. diff --git a/i18n/NotepadNext_pl.ts b/i18n/NotepadNext_pl.ts index ce0fea218..46e975d5f 100644 --- a/i18n/NotepadNext_pl.ts +++ b/i18n/NotepadNext_pl.ts @@ -499,125 +499,140 @@ FindReplaceDialog - - - + + + Find Znajdź - + Search Mode Tryb wyszukiwania - + &Normal &Normalny - + E&xtended (\n, \r, \t, \0, \x...) Rozsz&erzony (\n, \r, \t, \0, \x...) - + Re&gular expression Wyrażenia re&gularne - + &. matches newline &. nowy wiersz - + Transparenc&y Przeźrocz&ystość - + On losing focus Po utracie skupienia - + Always Zawsze - + Coun&t Policz - + &Replace Zamień - + Replace &All Zamień wszystko - + Replace All in &Opened Documents Zamień wszystko w &otwartych plikach - + + Replace All in Files + + + + Find All in All &Opened Documents Znajdź wszystko w &otwartych plikach - + Find All in Current Document Znajdź wszystko w bieżącym pliku - + Close Zamknij - + &Find: Znajdź: - + Replace: Zamień: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Wstecz - + Match &whole word only Całe sło&wa - + Match &case Wielkość liter - + Wra&p Around Zawijanie dokumentu - + Replace Zamień - - + + Replaced %Ln matches Zamieniono %Ln wystąpienie @@ -625,28 +640,37 @@ Zamieniono %Ln wystąpień + + + Replaced matches in %Ln files + + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Osiągnięto koniec dokumentu. Znaleziono pierwsze wystąpienie od góry. - + No matches found. Nie znaleziono żadnego wystąpienia. - + 1 occurrence was replaced 1 wystąpienie zostało zamienione - + No more occurrences were found Nie znaleziono więcej wystąpień - + Found %Ln matches Znaleziono %Ln wystąpienie @@ -654,6 +678,11 @@ Znaleziono %Ln wystąpień + + + Select Directory + + FolderAsWorkspaceDock @@ -924,7 +953,7 @@ - + Export As Eksportuj jako @@ -1450,8 +1479,12 @@ + Replace in Files... + + + Find in Files... - Znajdź w plikach... + Znajdź w plikach... @@ -1490,7 +1523,7 @@ - + Start Recording Rozpocznij nagrywanie @@ -2017,132 +2050,132 @@ - + Go to line Idź do wiersza - + Line Number (1 - %1) Numer wiersza (1-%1) - + Stop Recording Zakończ nagrywanie - + Debug Info - + New %1 Nowy %1 - + Create File Utwórz plik - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> nie istnieje. Czy chcesz go utworzyć? <b>%1</b> nie istnieje. Czy chcesz go utworzyć? - - + + Save file <b>%1</b>? Zapisać plik <b>%1</b>? - - + + Save File Zapisz plik - + Open Folder as Workspace Otwórz folder jako obszar roboczy - - + + Reload File Wczytaj plik ponownie - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Czy na pewno chcesz ponownie wczytać<b>%1</b>? Niezapisane zmiany zostaną utracone. - + Save a Copy As Zapisz kopię jako - - + + Rename Zmień nazwę - + Name: Nazwa: - + Delete File Usuń plik - + Are you sure you want to move <b>%1</b> to the trash? Czy na pewno chcesz przenieść <b>%1</b> do kosza? - + Error Deleting File Błąd podczas usuwania pliku - + Something went wrong deleting <b>%1</b>? Coś poszło nie tak przy próbie usunięcia <b>%1</b>? - + Administrator Administrator - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Błąd podczas zapisywania pliku - + An error occurred when saving <b>%1</b><br><br>Error: %2 Pojawił się błąd podczas próby zapisania <b>%1</b><br><br>Błąd: %2 - + Zoom: %1% Powiększenie: %1% - + No updates are available at this time. Brak dostępnych aktualizacji. diff --git a/i18n/NotepadNext_pt_BR.ts b/i18n/NotepadNext_pt_BR.ts index 9a496d847..787d821aa 100644 --- a/i18n/NotepadNext_pt_BR.ts +++ b/i18n/NotepadNext_pt_BR.ts @@ -499,159 +499,187 @@ FindReplaceDialog - - - + + + Find Localizar - + Search Mode Modo de pesquisa - + &Normal &Normal - + E&xtended (\n, \r, \t, \0, \x...) E&stendida (\n, \r, \t, \0, \x...) - + Re&gular expression Expressão re&gular - + &. matches newline &. corresponde a uma nova linha - + Transparenc&y Transparênc&ia - + On losing focus Ao perder o foco - + Always Sempre - + Coun&t Con&tar - + &Replace &Substituir - + Replace &All Substituir &tudo - + Replace All in &Opened Documents Substituir tudo nos arquivos &abertos - + + Replace All in Files + + + + Find All in All &Opened Documents Localizar tudo em todos os arquivos &abertos - + Find All in Current Document Localizar tudo no arquivo atual - + Close Fechar - + &Find: &Localizar: - + Replace: Substituir: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction No sentido inverso - + Match &whole word only Corresponder apenas à palavra &inteira - + Match &case Corresponder as letras &minúsculas/maiúsculas - + Wra&p Around Pesquisar e circular - + Replace Substituir - - + + Replaced %Ln matches Foi substituída %Ln correspondência Foram substituídas %Ln correspondências + + + Replaced matches in %Ln files + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. O fim do arquivo foi alcançado. Foi localizada a 1ª ocorrência de cima para baixo. - + No matches found. Nenhuma correspondência foi encontrada - + 1 occurrence was replaced Uma ocorrência foi substituída - + No more occurrences were found Não foram localizadas outras ocorrências - + Found %Ln matches Foi localizada %Ln correspondência Foram localizadas %Ln correspondências + + + Select Directory + + FolderAsWorkspaceDock @@ -922,7 +950,7 @@ - + Export As Exportar como @@ -1448,8 +1476,12 @@ + Replace in Files... + + + Find in Files... - Localizar nos arquivos... + Localizar nos arquivos... @@ -1488,7 +1520,7 @@ - + Start Recording Iniciar a gravação @@ -2017,131 +2049,131 @@ Apagar as linhas dos favoritos - + Go to line Ir para a linha - + Line Number (1 - %1) Número da linha (1 - %1) - + Stop Recording Parar a gravação - + Debug Info Informações da depuração - + New %1 Novo %1 - + Create File Criar um arquivo - + <b>%1</b> does not exist. Do you want to create it? O <b>%1</b> não existe. Você quer criá-lo agora? - - + + Save file <b>%1</b>? Salvar o arquivo <b>%1</b>? - - + + Save File Salvar o arquivo - + Open Folder as Workspace Abrir a pasta como área de trabalho - - + + Reload File Recarregar o arquivo - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Você tem certeza de que quer recarregar o <b>%1</b>? Todas as alterações que não foram salvas serão perdidas. - + Save a Copy As Salvar uma cópia como - - + + Rename Renomear - + Name: Nome: - + Delete File Apagar o arquivo - + Are you sure you want to move <b>%1</b> to the trash? Você tem a certeza de que quer mover o <b>%1</b> para a lixeira? - + Error Deleting File Ocorreu um erro ao apagar o arquivo - + Something went wrong deleting <b>%1</b>? Ocorreu um problema ao tentar apagar o <b>%1</b>. - + Administrator Administrador - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Ocorreu um erro ao tentar salvar o arquivo - + An error occurred when saving <b>%1</b><br><br>Error: %2 Ocorreu um erro ao tentar salvar o <b>%1</b><br><br>. Ocorreu o erro: %2 - + Zoom: %1% Ampliar ou reduzir: %1% - + No updates are available at this time. Não existem atualizações disponíveis neste exato momento diff --git a/i18n/NotepadNext_pt_PT.ts b/i18n/NotepadNext_pt_PT.ts index d1a062695..c3e6df534 100644 --- a/i18n/NotepadNext_pt_PT.ts +++ b/i18n/NotepadNext_pt_PT.ts @@ -501,159 +501,187 @@ FindReplaceDialog - - - + + + Find Localizar - + Search Mode Modo de pesquisa - + &Normal &Normal - + E&xtended (\n, \r, \t, \0, \x...) A&largada (\n, \r, \t, \0, \x...) - + Re&gular expression Expressão re&gular - + &. matches newline &. corresponde a uma nova linha - + Transparenc&y Transparênc&ia - + On losing focus Sobre perder o foco - + Always Sempre - + Coun&t Con&tar - + &Replace &Substituir - + Replace &All Substituir &tudo - + Replace All in &Opened Documents Substituir tudo em documentos &abertos - + + Replace All in Files + + + + Find All in All &Opened Documents Localizar tudo em todos os documentos &abertos - + Find All in Current Document Localizar tudo no documento atual - + Close Fechar - + &Find: &Localizar: - + Replace: Substituir: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Sentido inverso - + Match &whole word only Corresponder apenas à palavra &inteira - + Match &case Corresponder &minúsculas/maiúsculas - + Wra&p Around En&volvente - + Replace Substituir - - + + Replaced %Ln matches Substituído %Ln correspondência Substituído %Ln correspondências + + + Replaced matches in %Ln files + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. O fim do documento foi atingido. Localizada a 1ª ocorrência a partir do topo. - + No matches found. Não foram localizadas correspondências. - + 1 occurrence was replaced 1 ocorrência foi substituída - + No more occurrences were found - + Found %Ln matches Localizado %Ln correspondência Localizado %Ln correspondências + + + Select Directory + + FolderAsWorkspaceDock @@ -924,7 +952,7 @@ - + Export As Exportar como @@ -1450,8 +1478,12 @@ + Replace in Files... + + + Find in Files... - Localizar em Ficheiros... + Localizar em Ficheiros... @@ -1490,7 +1522,7 @@ - + Start Recording Iniciar gravação @@ -2019,131 +2051,131 @@ Eliminar linhas com marcadores - + Go to line Ir para a linha - + Line Number (1 - %1) Número da linha (1 - %1) - + Stop Recording Parar gravação - + Debug Info Informações de depuração - + New %1 Novo %1 - + Create File Criar ficheiro - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> não existe. Pretende criá-lo? - - + + Save file <b>%1</b>? Guardar ficheiro <b>%1</b>? - - + + Save File Guardar ficheiro - + Open Folder as Workspace Abrir pasta como área de trabalho - - + + Reload File Recarregar ficheiro - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Tem certeza de que pretende recarregar o <b>%1</b>? Todas as alterações não guardadas serão perdidas. - + Save a Copy As Guardar uma cópia como - - + + Rename Renomear - + Name: Nome: - + Delete File Eliminar ficheiro - + Are you sure you want to move <b>%1</b> to the trash? Tem a certeza de que pretende mover <b>%1</b> para o lixo? - + Error Deleting File Erro ao eliminar ficheiro - + Something went wrong deleting <b>%1</b>? Algo correu mal ao eliminar <b>%1</b>? - + Administrator Administrador - + <b>%1</b> has been modified by another program. Do you want to reload it? <b>%1</b> foi modificado por outro programa. Deseja recarregá-lo? - + Error Saving File Erro ao guardar ficheiro - + An error occurred when saving <b>%1</b><br><br>Error: %2 Ocorreu um erro ao guardar <b>%1</b><br><br>Erro: %2 - + Zoom: %1% Zoom: %1% - + No updates are available at this time. De momento, não há atualizações disponíveis. diff --git a/i18n/NotepadNext_ru.ts b/i18n/NotepadNext_ru.ts index 95273a764..aba98e597 100644 --- a/i18n/NotepadNext_ru.ts +++ b/i18n/NotepadNext_ru.ts @@ -495,125 +495,140 @@ FindReplaceDialog - - - + + + Find Поиск - + Search Mode Режим поиска - + &Normal &Нормальный - + E&xtended (\n, \r, \t, \0, \x...) Р&асширенный (\n, \r, \t, \0, \x...) - + Re&gular expression &Регулярное выражение - + &. matches newline &. - новая строка - + Transparenc&y Про&зрачность - + On losing focus При потере фокуса - + Always Всегда - + Coun&t &Подсчитать - + &Replace &Заменить - + Replace &All Заменить &все - + Replace All in &Opened Documents Заменить все во всех о&ткрытых документах - + + Replace All in Files + + + + Find All in All &Opened Documents Найти все во всех откр&ытых документах - + Find All in Current Document Найти все в текущем документе - + Close Закрыть - + &Find: &Найти: - + Replace: Заменить: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Обратное направление поиска - + Match &whole word only Только целые &слова - + Match &case Учитывать &регистр - + Wra&p Around За&циклить поиск - + Replace Замена - - + + Replaced %Ln matches Заменено %Ln соответствие @@ -621,28 +636,37 @@ Заменено %Ln соответствий + + + Replaced matches in %Ln files + + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Достигнут конец документа. Обнаружено первое соответствие сверху. - + No matches found. Не найдено соответствий. - + 1 occurrence was replaced 1 совпадение заменено - + No more occurrences were found Больше совпадений не обнаружено - + Found %Ln matches Найдено %Ln соответствие @@ -650,6 +674,11 @@ Найдено %Ln соответствий + + + Select Directory + + FolderAsWorkspaceDock @@ -920,7 +949,7 @@ - + Export As Экспортировать как @@ -1446,8 +1475,12 @@ + Replace in Files... + + + Find in Files... - Найти в файлах... + Найти в файлах... @@ -1486,7 +1519,7 @@ - + Start Recording Начать запись @@ -2013,131 +2046,131 @@ - + Go to line Перейти к строке - + Line Number (1 - %1) Номер строки (1 - %1) - + Stop Recording Остановить запись - + Debug Info - + New %1 Новый %1 - + Create File Создать файл - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> не существует. Хотите создать его? - - + + Save file <b>%1</b>? Сохранить файл <b>%1</b>? - - + + Save File Сохранить файл - + Open Folder as Workspace Открыть папку как Проект - - + + Reload File Перезагрузить файл - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Уверены, что хотите перезагрузить <b>%1</b>? Все несохраненные изменения будут потеряны. - + Save a Copy As Сохранить копию как - - + + Rename Переименовать - + Name: Имя: - + Delete File Удалить файл - + Are you sure you want to move <b>%1</b> to the trash? Вы действительно хотите переместить <b>%1</b> в корзину? - + Error Deleting File Ошибка при удалении файла - + Something went wrong deleting <b>%1</b>? Что-то пошло не так при удалении <b>%1</b>? - + Administrator Администратор - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Ошибка при сохранении файла - + An error occurred when saving <b>%1</b><br><br>Error: %2 Произошла ошибка при сохранении <b>%1</b><br><br>Ошибка: %2 - + Zoom: %1% Масштаб: %1% - + No updates are available at this time. В настоящее время обновлений нет. diff --git a/i18n/NotepadNext_sv.ts b/i18n/NotepadNext_sv.ts index ec2e92aa5..ce28846d1 100644 --- a/i18n/NotepadNext_sv.ts +++ b/i18n/NotepadNext_sv.ts @@ -511,97 +511,112 @@ FindReplaceDialog - - - + + + Find Sök - + Search Mode Sökläge - + &Normal &Normal - + E&xtended (\n, \r, \t, \0, \x...) &Utökat (\n, \r, \t, \0, \x...) - + Re&gular expression &Regular expression - + &. matches newline &. matchar ny rad - + Transparenc&y &Transparens - + On losing focus Vid förlorat fokus - + Always Alltid - + Coun&t &Räkna - + &Replace &Ersätt - + Replace &All Ersätt &alla - + Replace All in &Opened Documents Ersätt alla i &öppna dokument - + + Replace All in Files + + + + Find All in All &Opened Documents Sök alla i &öppna dokument - + Find All in Current Document Sök alla i aktuellt dokument - + Close Stäng - + &Find: &Sök: - + Replace: Ersätt: + + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + &Find what: &Sök vad: @@ -611,27 +626,27 @@ Ersätt med: - + Backward direction Bakåtriktning - + Match &whole word only Matcha endast &hela ord - + Match &case Matcha &skiftläge - + Wra&p Around &Radbryt - + Replace Ersätt @@ -640,42 +655,55 @@ Ersatte %L1 träffar - - + + Replaced %Ln matches Ersatte %Ln träff Ersatte %Ln träffar + + + Replaced matches in %Ln files + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Slutet på dokumentet har nåtts. Hittade 1:a förekomsten från toppen. - + No matches found. Inga träffar. - + 1 occurrence was replaced 1 förekomst ersattes - + No more occurrences were found Inga fler förekomster hittades - + Found %Ln matches Hittade %Ln träff Hittade %Ln träffar + + + Select Directory + + Found %L1 matches Hittade %L1 träffar @@ -1387,6 +1415,11 @@ Ctrl+0 Ctrl+0 + + + Replace in Files... + + Toggle Single Line Comment @@ -1835,7 +1868,7 @@ - + Export As Exportera som @@ -1940,9 +1973,8 @@ Ctrl+F - Find in Files... - Sök i filer... + Sök i filer... @@ -1981,7 +2013,7 @@ - + Start Recording Starta inspelning @@ -2075,131 +2107,131 @@ Öppen mapp som arbetsyta... - + Go to line Gå till rad - + Line Number (1 - %1) Radnummer (1 - %1) - + Stop Recording Stoppa inspelning - + Debug Info - + New %1 Ny %1 - + Create File Skapa fil - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> finns inte. Vill du skapa den? - - + + Save file <b>%1</b>? Vill du spara <b>%1</b>? - - + + Save File Spara fil - + Open Folder as Workspace Öppen mapp som arbetsyta - - + + Reload File Läs om fil - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Vill du verkligen läsa om <b>%1</b> från disk? Alla osparade ändringar kommer att förloras. - + Administrator Administratör - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Kunde inte spara fil - + Save a Copy As Spara en kopia som - - + + Rename Byt namn - + Name: Namn: - + Delete File Ta bort fil - + Are you sure you want to move <b>%1</b> to the trash? Vill du verkligen flytta <b>%1</b> till papperskorgen? - + Error Deleting File Kunde inte ta bort fil - + Something went wrong deleting <b>%1</b>? Gick något fel vid borttagning av <b>%1</b>? - + An error occurred when saving <b>%1</b><br><br>Error: %2 Ett fel uppstod när <b>%1</b> skulle sparas.<br><br>Fel: %2 - + Zoom: %1% Zoom: %1% - + No updates are available at this time. Inga uppdateringar tillgängliga den här gången. diff --git a/i18n/NotepadNext_tr.ts b/i18n/NotepadNext_tr.ts index a4a56b507..4051315e0 100644 --- a/i18n/NotepadNext_tr.ts +++ b/i18n/NotepadNext_tr.ts @@ -500,157 +500,184 @@ FindReplaceDialog - - - + + + Find Bul - + Search Mode Arama Modu - + &Normal &Normal - + E&xtended (\n, \r, \t, \0, \x...) G&eliştirilmiş (\n, \r, \t, \0, \x..) - + Re&gular expression RE&GEX - + &. matches newline &. satırsonu satırıyla eşleşir - + Transparenc&y Şeffaflı&k - + On losing focus Fokus kaybolduğunda - + Always Her Zaman - + Coun&t Sa&y - + &Replace &Değiştir - + Replace &All &Tümünü Değiştir - + Replace All in &Opened Documents &Açık Olan Tüm Dosyalardakileri Değiştir - + + Replace All in Files + + + + Find All in All &Opened Documents &Açık Olan Tüm Dosyalardakileri Bul - + Find All in Current Document Aktif Dosyadaki Hepsini Bul - + Close Kapat - + &Find: &Değiştir: - + Replace: Değiştir: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Geriye doğru yön - + Match &whole word only Sadece &tüm kelimeyi eşleştir - + Match &case Eşleşme &durumu - + Wra&p Around E&trafını Sat - + Replace Değiştir - - + + Replaced %Ln matches %Ln eşleşme değiştirildi + + + Replaced matches in %Ln files + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Belgenin sonuna ulaşıldı. Üstten 1. eşleşme bulundu. - + No matches found. Eşleşme Bulunamadı. - + 1 occurrence was replaced 1 eşleşen değiştirildi - + No more occurrences were found Başka eşleşen bulunamadı - + Found %Ln matches %Ln eşleşme bulundu + + + Select Directory + + FolderAsWorkspaceDock @@ -921,7 +948,7 @@ - + Export As ... olarak Dışa Aktar @@ -1450,9 +1477,13 @@ Ctrl+F - Find in Files... - Dosyalarda Ara... + Dosyalarda Ara... + + + + Replace in Files... + @@ -1491,7 +1522,7 @@ - + Start Recording Kaydetmeye Başla @@ -2022,131 +2053,131 @@ Yer İmlerini Tersine Çevir - + Go to line Satıra Git - + Line Number (1 - %1) Satır Numarası (1 - %1) - + Stop Recording Kaydetmeyi Durdur - + Debug Info - + New %1 Yeni %1 - + Create File Dosya Oluştur - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> mevcut değil. Oluşturmak istiyor musunuz? - - + + Save file <b>%1</b>? Dosyayı kaydetmek istiyor musunuz: <b>%1</b>? - - + + Save File Dosyayı Kaydet - + Open Folder as Workspace Klasörü Çalışma Alanı Olarak Aç - - + + Reload File Dosyayı Yeniden Yükle - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. <b>%1</b>'i yeniden yüklemek istediğinizden emin misiniz? Kaydedilmemiş değişiklikler kaybolacak. - + Save a Copy As Bir Kopyayı Farklı Kaydet - - + + Rename Yeniden Adlandır - + Name: İsim: - + Delete File Dosyayı Sil - + Are you sure you want to move <b>%1</b> to the trash? <b>%1</b>'i çöp kutusuna taşımak istediğinizden emin misiniz? - + Error Deleting File Dosya Silme Hatası - + Something went wrong deleting <b>%1</b>? <b>%1</b> silinirken bir hata oluştu? - + Administrator - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File Dosyayı Kaydetme Hatası - + An error occurred when saving <b>%1</b><br><br>Error: %2 Bir hata oluştu. <b>%1</b> kaydedilirken hata oluştu. <br><br>Hata: %2 - + Zoom: %1% - + No updates are available at this time. Şu anda kullanılabilir güncellemeler bulunmuyor. diff --git a/i18n/NotepadNext_uk.ts b/i18n/NotepadNext_uk.ts index b77b46788..b16c5be48 100644 --- a/i18n/NotepadNext_uk.ts +++ b/i18n/NotepadNext_uk.ts @@ -495,119 +495,134 @@ FindReplaceDialog - - - + + + Find Шукати - + Search Mode Режим пошуку - + &Normal З&а замовчуванням - + E&xtended (\n, \r, \t, \0, \x...) Р&озширений(\n, \r, \t, \0, \x...) - + Re&gular expression Р&егулярні вирази - + &. matches newline &. - новий рядок - + Transparenc&y &Прозорість вікна - + On losing focus При втраті фокусу - + Always Завжди - + Coun&t &Кількість - + &Replace &Замінити - + Replace &All Замінити &всі - + Replace All in &Opened Documents За&мінити всі у відкритих документах - + + Replace All in Files + + + + Find All in All &Opened Documents З&найти всі у всіх відкритих документах - + Find All in Current Document Знайти всі у поточному документі - + Close Закрити - + &Find: &Шукати: - + Replace: Замінити: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction Зворотній напрям - + Match &whole word only Ш&укати ціле слово - + Match &case Враховувати рег&істр - + Wra&p Around &Циклічний пошук - + Replace Замінити @@ -616,8 +631,8 @@ Замінено %L1 відповідність - - + + Replaced %Ln matches Замінено %Ln співпадінь @@ -625,28 +640,37 @@ + + + Replaced matches in %Ln files + + + + + + - + The end of the document has been reached. Found 1st occurrence from the top. Досягнуто кінець документу. Знайдено 1 збіг. - + No matches found. Нічого не знайдено. - + 1 occurrence was replaced Був замінений 1 збіг - + No more occurrences were found Більше збігів не знайдено - + Found %Ln matches Знайдено %Ln співпадінь @@ -654,6 +678,11 @@ + + + Select Directory + + Found %L1 matches Знайдено %L1 збігів @@ -928,7 +957,7 @@ - + Export As Експортувати як @@ -1454,8 +1483,12 @@ + Replace in Files... + + + Find in Files... - Знайти в файлах... + Знайти в файлах... @@ -1494,7 +1527,7 @@ - + Start Recording Почати запис @@ -2021,131 +2054,131 @@ Видалити рядки з закладок - + Go to line Перейти до рядку - + Line Number (1 - %1) Номер рядку (1 - %1) - + Stop Recording Зупинити запис - + Debug Info Інформація про налагодження - + New %1 Новий %1 - + Create File Створити файл - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> не існує. Бажаєте створити його ? - - + + Save file <b>%1</b>? Зберегти файл <b>%1</b>? - - + + Save File Зберегти файл - + Open Folder as Workspace Відкрити каталог як робочий простір - - + + Reload File Перезавантажити файл - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. Ви дійсно хочете перезавантажити файл<b>%1</b>? Всі не збережені зміни будут втрачені. - + Save a Copy As Зберегти копію як - - + + Rename Перейменувати - + Name: Назва: - + Delete File Видалити файл - + Are you sure you want to move <b>%1</b> to the trash? Ви дійсно хочете перемістити файл <b>%1</b> до смітника ? - + Error Deleting File Помилка видалення файлу - + Something went wrong deleting <b>%1</b>? Під час видалення щось пішло не так <b>%1</b>? - + Administrator Адміністратор - + <b>%1</b> has been modified by another program. Do you want to reload it? <b>%1</b> був змінений. Бажаєте завантажити актуальну версію? - + Error Saving File Помилка збереження файлу - + An error occurred when saving <b>%1</b><br><br>Error: %2 Під час збереження виникла помилка<b>%1</b><br><br>Помилка: %2 - + Zoom: %1% Масштаб: %1% - + No updates are available at this time. На цю мить не має ніяких оновлень. diff --git a/i18n/NotepadNext_zh_CN.ts b/i18n/NotepadNext_zh_CN.ts index df87e742a..363132176 100644 --- a/i18n/NotepadNext_zh_CN.ts +++ b/i18n/NotepadNext_zh_CN.ts @@ -512,120 +512,135 @@ FindReplaceDialog - - - + + + Find 查找 - + Search Mode 搜索模式 - + &Normal 正常模式(&N) - + E&xtended (\n, \r, \t, \0, \x...) 扩展模式(&E) (\n, \r, \t, \0, \x...) - + Re&gular expression 正则表达式 (&g) - + &. matches newline &. 匹配换行 - + Transparenc&y 透明度(&y) - + On losing focus 失去焦点时 - + Always 总是 - + Coun&t 计数(&t) - + &Replace 替换(&R) - + Replace &All 全部替换(&A) - + Replace All in &Opened Documents 替换所有打开文件(&O) - + + Replace All in Files + + + + Find All in All &Opened Documents 查找所有打开文件(&O) - + Find All in Current Document 查找当前文档 - + Close 关闭 - + &Find: &查找: - + Replace: 替换: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction 反向搜索 - + Match &whole word only 全词匹配(&w) - + Match &case 匹配大小写(&c) - + Wra&p Around 开启此选项,搜索达到文件末尾后,会自动从头继续搜索。 循环搜索(&p) - + Replace 替换 @@ -634,40 +649,52 @@ 已替换 %L1 个匹配项 - - + + Replaced %Ln matches 已替换 %Ln 个匹配项 + + + Replaced matches in %Ln files + + + + - + The end of the document has been reached. Found 1st occurrence from the top. 已经到达文档的末尾。从顶部找到第一个匹配项。 - + No matches found. 没有找到匹配项。 - + 1 occurrence was replaced 已替换 1 个匹配项 - + No more occurrences were found 没有找到更多匹配项 - + Found %Ln matches 找到 %Ln 个匹配项 + + + Select Directory + + Found %L1 matches 查找了 %L1 个匹配项 @@ -1389,6 +1416,11 @@ Ctrl+0 + + + Replace in Files... + + Toggle Single Line Comment @@ -1834,7 +1866,7 @@ - + Export As 导出为 @@ -1916,9 +1948,8 @@ - Find in Files... - 在文件中查找... + 在文件中查找... @@ -1957,7 +1988,7 @@ - + Start Recording 开始录制 @@ -2048,132 +2079,132 @@ 打开文件夹为工作区... - + Go to line 转跳到行 - + Line Number (1 - %1) 行号(1 - %1) - + Stop Recording 停止录制 - + Debug Info - + New %1 用作新建空白文件的标题 新文件 %1 - + Create File 新建文件 - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> 尚不存在,你想要新建一个吗? - - + + Save file <b>%1</b>? 保存文件 <b>%1</b>? - - + + Save File 保存文件 - + Open Folder as Workspace 打开文件夹作为工作区 - - + + Reload File 重新加载文件 - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. 你确定要重新加载 <b>%1</b>?任何未保存的修改都会丢失。 - + Administrator - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File 保存文件时出错 - + Save a Copy As 副本另存为 - - + + Rename 重命名 - + Name: 宏名: - + Delete File 删除文件 - + Are you sure you want to move <b>%1</b> to the trash? 你确定要将 <b>%1</b> 移至回收站? - + Error Deleting File 删除文件时出错 - + Something went wrong deleting <b>%1</b>? 删除 <b>%1</b> 时出错了? - + An error occurred when saving <b>%1</b><br><br>Error: %2 保存 <b>%1</b> 时发生了错误<br><br>错误:%2 - + Zoom: %1% - + No updates are available at this time. 本次无可用更新。 diff --git a/i18n/NotepadNext_zh_TW.ts b/i18n/NotepadNext_zh_TW.ts index 47264ef85..5f9197be6 100644 --- a/i18n/NotepadNext_zh_TW.ts +++ b/i18n/NotepadNext_zh_TW.ts @@ -499,157 +499,184 @@ FindReplaceDialog - - - + + + Find 查詢 - + Search Mode 搜尋模式 - + &Normal 正常模式(&N) - + E&xtended (\n, \r, \t, \0, \x...) 擴充套件模式(&E) (\n, \r, \t, \0, \x...) - + Re&gular expression 正則表達式 (&g) - + &. matches newline &. 符合換行符號 - + Transparenc&y 透明度(&y) - + On losing focus 失去焦點時 - + Always 總是 - + Coun&t 計數(&t) - + &Replace 取代(&R) - + Replace &All 全部取代(&A) - + Replace All in &Opened Documents 取代所有開啟檔案(&O) - + + Replace All in Files + + + + Find All in All &Opened Documents 查詢所有開啟檔案(&O) - + Find All in Current Document 查詢目前文件 - + Close 關閉 - + &Find: &查詢: - + Replace: 取代: - + + Path of directory containing files to be replaced: + + + + + Select Containing Directory + + + + Backward direction 反向搜尋 - + Match &whole word only 全詞符合(&w) - + Match &case 大小寫相符(&c) - + Wra&p Around 迴圈搜尋(&p) - + Replace 取代 - - + + Replaced %Ln matches 已取代 %Ln 個符合項目 + + + Replaced matches in %Ln files + + + + - + The end of the document has been reached. Found 1st occurrence from the top. 已經到達文件的末尾。從頂端找到第一個符合項目。 - + No matches found. 沒有找到符合項目。 - + 1 occurrence was replaced 已取代 1 個符合項目 - + No more occurrences were found 沒有找到更多符合項目 - + Found %Ln matches 找到 %Ln 個符合項目 + + + Select Directory + + FolderAsWorkspaceDock @@ -1358,6 +1385,11 @@ Ctrl+0 Ctrl+0 + + + Replace in Files... + + Toggle Single Line Comment @@ -1802,7 +1834,7 @@ - + Export As 匯出為 @@ -1882,9 +1914,8 @@ Ctrl+F - Find in Files... - 在檔案中尋找... + 在檔案中尋找... @@ -1923,7 +1954,7 @@ - + Start Recording 開始錄製 @@ -2013,131 +2044,131 @@ 以工作區方式開啟資料夾... - + Go to line 跳轉到行 - + Line Number (1 - %1) 行號(1 - %1) - + Stop Recording 停止錄製 - + Debug Info - + New %1 新檔案 %1 - + Create File 建立檔案 - + <b>%1</b> does not exist. Do you want to create it? <b>%1</b> 目前不存在,你想要建立一個嗎? - - + + Save file <b>%1</b>? 儲存檔案 <b>%1</b>? - - + + Save File 儲存檔案 - + Open Folder as Workspace 以工作區方式開啟資料夾 - - + + Reload File 重新載入檔案 - + Are you sure you want to reload <b>%1</b>? Any unsaved changes will be lost. 你確定要重新載入 <b>%1</b>?任何未儲存的修改都會遺失。 - + Administrator Administrator - + <b>%1</b> has been modified by another program. Do you want to reload it? - + Error Saving File 儲存檔案時出錯 - + Save a Copy As 副本另存為 - - + + Rename 重新命名 - + Name: 巨集名稱: - + Delete File 刪除檔案 - + Are you sure you want to move <b>%1</b> to the trash? 你確定要將 <b>%1</b> 移至垃圾桶? - + Error Deleting File 刪除檔案時出錯 - + Something went wrong deleting <b>%1</b>? 刪除 <b>%1</b> 時出錯了? - + An error occurred when saving <b>%1</b><br><br>Error: %2 儲存 <b>%1</b> 時發生了錯誤<br><br>錯誤:%2 - + Zoom: %1% - + No updates are available at this time. 目前沒有可用的更新。