From 77054c2fa3918c9e0735e02b553a7225b5fe1fc7 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 19 Jan 2023 18:16:35 +0100 Subject: [PATCH] LanguageClient: Tr::tr Change-Id: Idbd7c5cdadba4f269b2033df91db0e05bb5281d5 Reviewed-by: Alessandro Portale --- share/qtcreator/translations/qtcreator_de.ts | 52 ++---------------- share/qtcreator/translations/qtcreator_hr.ts | 25 +-------- share/qtcreator/translations/qtcreator_ja.ts | 28 +--------- share/qtcreator/translations/qtcreator_ru.ts | 30 ++--------- .../qtcreator/translations/qtcreator_zh_CN.ts | 54 ++----------------- src/plugins/languageclient/callhierarchy.cpp | 2 +- src/plugins/languageclient/client.cpp | 27 +++++----- .../languageclient/diagnosticmanager.cpp | 3 +- .../languageclienthoverhandler.h | 1 - .../languageclientinterface.cpp | 12 +++-- .../languageclient/languageclientmanager.cpp | 9 +++- .../languageclient/languageclientoutline.cpp | 4 +- .../languageclient/languageclientplugin.cpp | 5 +- .../languageclient/languageclientsettings.cpp | 39 +++++++------- .../languageclient/languageclientsettings.h | 1 - .../languageclientsymbolsupport.cpp | 15 +++--- .../languageclientsymbolsupport.h | 1 - .../languageclient/languageclientutils.cpp | 2 +- src/plugins/languageclient/locatorfilter.cpp | 2 +- src/plugins/languageclient/lspinspector.cpp | 33 ++++++------ 20 files changed, 95 insertions(+), 250 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 7ef9840ba8b..e2390976580 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -41865,7 +41865,7 @@ Was soll %1 tun? - LanguageClient::ResponseError + ::LanguageClient Error %1 Fehler %1 @@ -41919,9 +41919,6 @@ Was soll %1 tun? Functions and Methods in Workspace - - - LanguageClient::LanguageClientManager Unexpectedly finished. Restarting in %1 seconds. Unerwartet beendet. Neustart in %1 Sekunden. @@ -41934,9 +41931,6 @@ Was soll %1 tun? Show available quick fixes - - - LanguageClient::BaseSettingsWidget Name: Name: @@ -41969,9 +41963,6 @@ Was soll %1 tun? Language server-specific JSON to pass via "initializationOptions" field of "initialize" request. - - - LanguageClient::StdIOSettingsWidget Executable: Ausführbare Datei: @@ -42175,7 +42166,7 @@ Was soll %1 tun? - LanguageClientSettingsPage + ::LanguageClient &Add Hinzu&fügen @@ -42188,9 +42179,6 @@ Was soll %1 tun? General Allgemein - - - MimeTypeDialog Select MIME Types MIME-Typen auswählen @@ -43066,7 +43054,7 @@ You might find further explanations in the Application Output view. - LanguageClient::Client + ::LanguageClient %1 for %2 @@ -43095,9 +43083,6 @@ You might find further explanations in the Application Output view. error - - - LanguageClient::StdIOClientInterface Cannot send data to unstarted server %1 Kann keine Daten an den nicht gestarteten Server %1 schicken @@ -46675,7 +46660,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o - SymbolSupport + ::LanguageClient Find References with %1 for: Referenzen mit %1 finden für: @@ -52921,7 +52906,7 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. - LanguageClient::ClientPrivate + ::LanguageClient Invalid parameter in "%1": %2 @@ -52947,23 +52932,14 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. No initialize result. Initialisierung ohne Ergebnis. - - - LanguageClient::DiagnosticManager Copy to Clipboard In die Zwischenablage kopieren - - - LanguageClient::BaseClientInterface Cannot handle MIME type of message %1 - - - LanguageClient::LanguageClientPlugin Generic StdIO Language Server @@ -52972,9 +52948,6 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Inspect Language Clients... - - - LanguageClient::BaseSettings Always On @@ -52987,9 +52960,6 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Start Server per Project - - - LanguageClient::ReplaceWidget Search Again to update results and re-enable Replace @@ -53007,16 +52977,10 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Dateien: %1 - - - LanguageClient::DocumentLocatorFilter Matches all symbols from the current document, based on a language server. - - - LanguageClient::LspInspector Expand All @@ -53037,9 +53001,6 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Log File Logdatei - - - LspCapabilitiesWidget Capabilities: Fähigkeiten: @@ -53060,9 +53021,6 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Server Capabilities - - - LspInspectorWidget Language Client Inspector diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index 9616eecefb8..478f5a66035 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -10851,7 +10851,7 @@ will also disable the following plugins: - LanguageClient::ResponseError + ::LanguageClient Error %1 Greška %1 @@ -25161,7 +25161,7 @@ Rok upotrebe: %3 - LanguageClient::Client + ::LanguageClient Cannot handle content of type: %1 Nije moguće rukovati sadržajem vrste: %1 @@ -25186,16 +25186,10 @@ Rok upotrebe: %3 Initialize result is not valid: Rezultat za inicijaliziranje nije ispravan: - - - ::LanguageClient Language Client Klijent za jezike - - - LanguageClient::StdIOClientInterface Cannot send data to unstarted server %1 @@ -25204,9 +25198,6 @@ Rok upotrebe: %3 Crashed with exit code %1: %2 - - - LanguageClient::LanguageClientManager Unexpectedly finished. Restarting in %1 seconds. @@ -25219,9 +25210,6 @@ Rok upotrebe: %3 Find References with %1 for: - - - LanguageClientSettingsPage &Add Dod&aj @@ -25234,9 +25222,6 @@ Rok upotrebe: %3 General Opće - - - LanguageClient::BaseSettingsWidget Name Naziv @@ -25273,9 +25258,6 @@ Rok upotrebe: %3 Capabilities: Sposobnosti: - - - MimeTypeDialog Select MIME Types Odaberi MIME vrste @@ -25284,9 +25266,6 @@ Rok upotrebe: %3 Filter Filtar - - - LanguageClient::StdIOSettingsWidget Executable: Izvršna datoteka: diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index 602ed2ed869..c74ff7a5023 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -43737,7 +43737,7 @@ Output: - LanguageClient::ResponseError + ::LanguageClient Error %1 エラー: %1 @@ -46089,21 +46089,15 @@ Stepping into the module or setting breakpoints by file and line is expected to ::Ios - LanguageClient::DiagnosticManager + ::LanguageClient Copy to Clipboard クリップボードにコピーする - - - LanguageClient::LanguageClientPlugin Generic StdIO Language Server 汎用 StdIO 言語サーバー - - - LanguageClientSettingsPage &Add 追加(&A) @@ -46116,9 +46110,6 @@ Stepping into the module or setting breakpoints by file and line is expected to General 一般 - - - LanguageClient::BaseSettingsWidget Name 名前 @@ -46135,16 +46126,10 @@ Stepping into the module or setting breakpoints by file and line is expected to Language: 言語: - - - MimeTypeDialog Filter フィルタ - - - LanguageClient::StdIOSettingsWidget Executable: 実行ファイル: @@ -46153,9 +46138,6 @@ Stepping into the module or setting breakpoints by file and line is expected to Arguments: 引数: - - - LanguageClient::LspInspector Expand All すべて展開 @@ -46176,9 +46158,6 @@ Stepping into the module or setting breakpoints by file and line is expected to Log File ログファイル - - - LspCapabilitiesWidget Capabilities: ケイパビリティ: @@ -46199,9 +46178,6 @@ Stepping into the module or setting breakpoints by file and line is expected to Server Capabilities サーバー ケイパビリティ - - - LspInspectorWidget Language Client Inspector 言語クライアントインスペクター diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index c9035a50111..a9203d155ee 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -22519,7 +22519,7 @@ Add, modify, and remove document filters, which determine the documentation set - HoverHandler + ::LanguageClient Got unsupported markup hover content: Получен неподдерживаемый форматированный текст под курсором: @@ -23822,9 +23822,6 @@ Error: %5 Functions and Methods in Workspace Функции и методы сессии - - - LanguageClient::BaseSettings Always On Всегда включено @@ -23837,9 +23834,6 @@ Error: %5 Start Server per Project Запускать сервер на каждый проект - - - LanguageClient::BaseSettingsWidget Name Имя @@ -23892,9 +23886,6 @@ Error: %5 Language server-specific JSON to pass via "initializationOptions" field of "initialize" request. Специфичный для языкового сервера JSON, передаваемый в поле «initializationOptions» запроса «initialize». - - - LanguageClient::Client Cannot handle content of type: %1 Нельзя обработать содержимое типа %1 @@ -23919,9 +23910,6 @@ Error: %5 Initialize result is not valid: Результат инициализации неверен: - - - LanguageClient::LanguageClientManager Unexpectedly finished. Restarting in %1 seconds. Неожиданное завершение. Перезапуск через %1 секунд. @@ -23930,16 +23918,10 @@ Error: %5 Unexpectedly finished. Неожиданное завершение. - - - LanguageClient::ResponseError Error %1 Ошибка %1 - - - LanguageClient::StdIOClientInterface Cannot send data to unstarted server %1 Нельзя отправить данные на незапущенный сервер %1 @@ -23948,9 +23930,6 @@ Error: %5 Crashed with exit code %1: %2 Аварийно завершился с кодом %1: %2 - - - LanguageClient::StdIOSettingsWidget Executable: Программа: @@ -23959,9 +23938,6 @@ Error: %5 Arguments: Параметры: - - - LanguageClientSettingsPage &Add &Добавить @@ -25461,7 +25437,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o - MimeTypeDialog + ::LanguageClient Select MIME Types Выбрать MIME-типы @@ -43066,7 +43042,7 @@ Row: %4, Column: %5 - SymbolSupport + ::LanguageClient Find References with %1 for: Найти ссылки с %1 для: diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index 4c6c1fafb86..46ece18614d 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -23654,16 +23654,10 @@ Error: %5 Functions and Methods in Workspace - - - LanguageClient::BaseClientInterface Cannot handle MIME type of message %1 - - - LanguageClient::BaseSettings Always On @@ -23676,9 +23670,6 @@ Error: %5 Start Server per Project - - - LanguageClient::BaseSettingsWidget Name: 名称: @@ -23711,9 +23702,6 @@ Error: %5 Language server-specific JSON to pass via "initializationOptions" field of "initialize" request. - - - LanguageClient::Client %1 for %2 @@ -23742,9 +23730,6 @@ Error: %5 error - - - LanguageClient::ClientPrivate Invalid parameter in "%1": %2 @@ -23770,23 +23755,14 @@ Error: %5 No initialize result. - - - LanguageClient::DiagnosticManager Copy to Clipboard - - - LanguageClient::DocumentLocatorFilter Matches all symbols from the current document, based on a language server. - - - LanguageClient::LanguageClientManager Unexpectedly finished. Restarting in %1 seconds. @@ -23799,9 +23775,6 @@ Error: %5 Show available quick fixes - - - LanguageClient::LanguageClientPlugin Generic StdIO Language Server @@ -23810,9 +23783,6 @@ Error: %5 Inspect Language Clients... - - - LanguageClient::LspInspector Expand All 展开全部 @@ -23833,9 +23803,6 @@ Error: %5 Log File - - - LanguageClient::ReplaceWidget Search Again to update results and re-enable Replace @@ -23851,23 +23818,14 @@ Error: %5 %1 - - - LanguageClient::ResponseError Error %1 - - - LanguageClient::StdIOClientInterface Cannot send data to unstarted server %1 - - - LanguageClient::StdIOSettingsWidget Executable: 执行档: @@ -23876,9 +23834,6 @@ Error: %5 Arguments: 参数: - - - LanguageClientSettingsPage &Add 添加(&A) @@ -24024,7 +23979,7 @@ Error: %5 - LspCapabilitiesWidget + ::LanguageClient Capabilities: 能力: @@ -24045,9 +24000,6 @@ Error: %5 Server Capabilities - - - LspInspectorWidget Language Client Inspector @@ -25094,7 +25046,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o - MimeTypeDialog + ::LanguageClient Select MIME Types @@ -42096,7 +42048,7 @@ Failed to open file "%1" - SymbolSupport + ::LanguageClient Find References with %1 for: diff --git a/src/plugins/languageclient/callhierarchy.cpp b/src/plugins/languageclient/callhierarchy.cpp index fb2d680e3f6..069e31b163b 100644 --- a/src/plugins/languageclient/callhierarchy.cpp +++ b/src/plugins/languageclient/callhierarchy.cpp @@ -271,7 +271,7 @@ void CallHierarchy::handlePrepareResponse(Client *client, CallHierarchyFactory::CallHierarchyFactory() { - setDisplayName(tr("Call Hierarchy")); + setDisplayName(Tr::tr("Call Hierarchy")); setPriority(650); setId(CALL_HIERARCHY_FACTORY_ID); } diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 70461a86dc3..29f94eef7d7 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -14,6 +14,7 @@ #include "languageclientquickfix.h" #include "languageclientsymbolsupport.h" #include "languageclientutils.h" +#include "languageclienttr.h" #include "progressmanager.h" #include "semantichighlightsupport.h" @@ -350,7 +351,7 @@ void Client::setName(const QString &name) QString Client::name() const { if (d->m_project && !d->m_project->displayName().isEmpty()) - return tr("%1 for %2").arg(d->m_displayName, d->m_project->displayName()); + return Tr::tr("%1 for %2").arg(d->m_displayName, d->m_project->displayName()); return d->m_displayName; } @@ -547,12 +548,12 @@ Client::State Client::state() const QString Client::stateString() const { switch (d->m_state){ - case Uninitialized: return tr("uninitialized"); - case InitializeRequested: return tr("initialize requested"); - case Initialized: return tr("initialized"); - case ShutdownRequested: return tr("shutdown requested"); - case Shutdown: return tr("shutdown"); - case Error: return tr("error"); + case Uninitialized: return Tr::tr("uninitialized"); + case InitializeRequested: return Tr::tr("initialize requested"); + case Initialized: return Tr::tr("initialized"); + case ShutdownRequested: return Tr::tr("shutdown requested"); + case Shutdown: return Tr::tr("shutdown"); + case Error: return Tr::tr("error"); } return {}; } @@ -1754,7 +1755,7 @@ static ResponseError createInvalidParamsError(const QString &message) void ClientPrivate::handleMethod(const QString &method, const MessageId &id, const JsonRpcMessage &message) { auto invalidParamsErrorMessage = [&](const JsonObject ¶ms) { - return tr("Invalid parameter in \"%1\":\n%2") + return Tr::tr("Invalid parameter in \"%1\":\n%2") .arg(method, QString::fromUtf8(QJsonDocument(params).toJson(QJsonDocument::Indented))); }; @@ -1946,7 +1947,7 @@ void ClientPrivate::initializeCallback(const InitializeRequest::Response &initRe if (std::optional> error = initResponse.error()) { if (std::optional data = error->data()) { if (data->retry()) { - const QString title(tr("Language Server \"%1\" Initialize Error").arg(m_displayName)); + const QString title(Tr::tr("Language Server \"%1\" Initialize Error").arg(m_displayName)); auto result = QMessageBox::warning(Core::ICore::dialogParent(), title, error->message(), @@ -1959,20 +1960,20 @@ void ClientPrivate::initializeCallback(const InitializeRequest::Response &initRe } } } - q->setError(tr("Initialize error: ") + error->message()); + q->setError(Tr::tr("Initialize error: ") + error->message()); emit q->finished(); return; } if (const std::optional &result = initResponse.result()) { if (!result->isValid()) { // continue on ill formed result q->log(QJsonDocument(*result).toJson(QJsonDocument::Indented) + '\n' - + tr("Initialize result is invalid.")); + + Tr::tr("Initialize result is invalid.")); } const std::optional serverInfo = result->serverInfo(); if (serverInfo) { if (!serverInfo->isValid()) { q->log(QJsonDocument(*result).toJson(QJsonDocument::Indented) + '\n' - + tr("Server Info is invalid.")); + + Tr::tr("Server Info is invalid.")); } else { m_serverName = serverInfo->name(); if (const std::optional version = serverInfo->version()) @@ -1982,7 +1983,7 @@ void ClientPrivate::initializeCallback(const InitializeRequest::Response &initRe m_serverCapabilities = result->capabilities(); } else { - q->log(tr("No initialize result.")); + q->log(Tr::tr("No initialize result.")); } if (auto completionProvider = qobject_cast( diff --git a/src/plugins/languageclient/diagnosticmanager.cpp b/src/plugins/languageclient/diagnosticmanager.cpp index 6f518c70af8..403f38fb0f5 100644 --- a/src/plugins/languageclient/diagnosticmanager.cpp +++ b/src/plugins/languageclient/diagnosticmanager.cpp @@ -4,6 +4,7 @@ #include "diagnosticmanager.h" #include "client.h" +#include "languageclienttr.h" #include @@ -122,7 +123,7 @@ TextEditor::TextMark *DiagnosticManager::createTextMark(const FilePath &filePath bool /*isProjectFile*/) const { static const auto icon = QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon()); - static const QString tooltip = tr("Copy to Clipboard"); + static const QString tooltip = Tr::tr("Copy to Clipboard"); auto mark = new TextMark(filePath, diagnostic, m_client); mark->setActionsProvider([text = diagnostic.message()] { QAction *action = new QAction(); diff --git a/src/plugins/languageclient/languageclienthoverhandler.h b/src/plugins/languageclient/languageclienthoverhandler.h index d06eb990b51..16b6d29ec12 100644 --- a/src/plugins/languageclient/languageclienthoverhandler.h +++ b/src/plugins/languageclient/languageclienthoverhandler.h @@ -19,7 +19,6 @@ using HelpItemProvider = std::function using namespace LanguageServerProtocol; @@ -69,7 +71,7 @@ void BaseClientInterface::parseCurrentMessage() if (m_currentMessage.mimeType == JsonRpcMessage::jsonRpcMimeType()) { emit messageReceived(JsonRpcMessage(m_currentMessage)); } else { - emit error(tr("Cannot handle MIME type of message %1") + emit error(Tr::tr("Cannot handle MIME type of message %1") .arg(QString::fromUtf8(m_currentMessage.mimeType))); } m_currentMessage = BaseMessage(); @@ -93,7 +95,7 @@ void StdIOClientInterface::startImpl() QTC_CHECK(!m_process->isRunning()); delete m_process; } - m_process = new Utils::QtcProcess; + m_process = new QtcProcess; m_process->setProcessMode(ProcessMode::Writer); connect(m_process, &QtcProcess::readyReadStandardError, this, &StdIOClientInterface::readError); @@ -126,12 +128,12 @@ void StdIOClientInterface::setWorkingDirectory(const FilePath &workingDirectory) m_workingDirectory = workingDirectory; } -void StdIOClientInterface::setEnvironment(const Utils::Environment &environment) +void StdIOClientInterface::setEnvironment(const Environment &environment) { m_env = environment; } -Utils::FilePath StdIOClientInterface::serverDeviceTemplate() const +FilePath StdIOClientInterface::serverDeviceTemplate() const { return m_cmd.executable(); } @@ -139,7 +141,7 @@ Utils::FilePath StdIOClientInterface::serverDeviceTemplate() const void StdIOClientInterface::sendData(const QByteArray &data) { if (!m_process || m_process->state() != QProcess::Running) { - emit error(tr("Cannot send data to unstarted server %1") + emit error(Tr::tr("Cannot send data to unstarted server %1") .arg(m_cmd.toUserOutput())); return; } diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 8c4fca55973..a41c4f01d6a 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -5,19 +5,24 @@ #include "languageclientplugin.h" #include "languageclientsymbolsupport.h" +#include "languageclienttr.h" #include #include #include #include + #include #include + #include #include #include + #include #include #include + #include #include #include @@ -155,7 +160,7 @@ void LanguageClientManager::clientFinished(Client *client) if (client->reset()) { qCDebug(Log) << "restart unexpectedly finished client: " << client->name() << client; client->log( - tr("Unexpectedly finished. Restarting in %1 seconds.").arg(restartTimeoutS)); + Tr::tr("Unexpectedly finished. Restarting in %1 seconds.").arg(restartTimeoutS)); QTimer::singleShot(restartTimeoutS * 1000, client, [client]() { client->start(); }); for (TextEditor::TextDocument *document : clientDocs) { client->deactivateDocument(document); @@ -165,7 +170,7 @@ void LanguageClientManager::clientFinished(Client *client) return; } qCDebug(Log) << "client finished unexpectedly: " << client->name() << client; - client->log(tr("Unexpectedly finished.")); + client->log(Tr::tr("Unexpectedly finished.")); for (TextEditor::TextDocument *document : clientDocs) managerInstance->m_clientForDocument.remove(document); } diff --git a/src/plugins/languageclient/languageclientoutline.cpp b/src/plugins/languageclient/languageclientoutline.cpp index 9f519f72325..9ab057de62f 100644 --- a/src/plugins/languageclient/languageclientoutline.cpp +++ b/src/plugins/languageclient/languageclientoutline.cpp @@ -346,7 +346,6 @@ TextEditor::IOutlineWidget *LanguageClientOutlineWidgetFactory::createWidget(Cor class OutlineComboBox : public Utils::TreeViewComboBox { - Q_DECLARE_TR_FUNCTIONS(LanguageClient::OutlineComboBox) public: OutlineComboBox(Client *client, TextEditor::BaseTextEditor *editor); @@ -390,8 +389,7 @@ OutlineComboBox::OutlineComboBox(Client *client, TextEditor::BaseTextEditor *edi setContextMenuPolicy(Qt::ActionsContextMenu); const QString sortActionText - = QCoreApplication::translate("TextEditor::Internal::OutlineWidgetStack", - "Sort Alphabetically"); + = QCoreApplication::translate("::TextEditor", "Sort Alphabetically"); auto sortAction = new QAction(sortActionText, this); sortAction->setCheckable(true); sortAction->setChecked(sorted); diff --git a/src/plugins/languageclient/languageclientplugin.cpp b/src/plugins/languageclient/languageclientplugin.cpp index cca9db57d40..c44c81fdf40 100644 --- a/src/plugins/languageclient/languageclientplugin.cpp +++ b/src/plugins/languageclient/languageclientplugin.cpp @@ -5,6 +5,7 @@ #include "client.h" #include "languageclientmanager.h" +#include "languageclienttr.h" #include #include @@ -38,14 +39,14 @@ bool LanguageClientPlugin::initialize(const QStringList & /*arguments*/, QString LanguageClientManager::init(); LanguageClientSettings::registerClientType({Constants::LANGUAGECLIENT_STDIO_SETTINGS_ID, - tr("Generic StdIO Language Server"), + Tr::tr("Generic StdIO Language Server"), []() { return new StdIOSettings; }}); //register actions ActionContainer *toolsDebugContainer = ActionManager::actionContainer( Core::Constants::M_TOOLS_DEBUG); - auto inspectAction = new QAction(tr("Inspect Language Clients..."), this); + auto inspectAction = new QAction(Tr::tr("Inspect Language Clients..."), this); connect(inspectAction, &QAction::triggered, this, &LanguageClientManager::showInspector); toolsDebugContainer->addAction( ActionManager::registerAction(inspectAction, "LanguageClient.InspectLanguageClients")); diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp index 92cbc288baa..6f2cf7dafe5 100644 --- a/src/plugins/languageclient/languageclientsettings.cpp +++ b/src/plugins/languageclient/languageclientsettings.cpp @@ -127,7 +127,6 @@ private: class LanguageClientSettingsPage : public Core::IOptionsPage { - Q_DECLARE_TR_FUNCTIONS(LanguageClientSettingsPage) public: LanguageClientSettingsPage(); ~LanguageClientSettingsPage() override; @@ -173,7 +172,7 @@ LanguageClientSettingsPageWidget::LanguageClientSettingsPageWidget(LanguageClien connect(m_view->selectionModel(), &QItemSelectionModel::currentChanged, this, &LanguageClientSettingsPageWidget::currentChanged); auto buttonLayout = new QVBoxLayout(); - auto addButton = new QPushButton(LanguageClientSettingsPage::tr("&Add")); + auto addButton = new QPushButton(Tr::tr("&Add")); auto addMenu = new QMenu; addMenu->clear(); for (const ClientType &type : clientTypes()) { @@ -182,7 +181,7 @@ LanguageClientSettingsPageWidget::LanguageClientSettingsPageWidget(LanguageClien addMenu->addAction(action); } addButton->setMenu(addMenu); - auto deleteButton = new QPushButton(LanguageClientSettingsPage::tr("&Delete")); + auto deleteButton = new QPushButton(Tr::tr("&Delete")); connect(deleteButton, &QPushButton::pressed, this, &LanguageClientSettingsPageWidget::deleteItem); mainLayout->addLayout(layout); setLayout(mainLayout); @@ -268,7 +267,7 @@ void LanguageClientSettingsPageWidget::deleteItem() LanguageClientSettingsPage::LanguageClientSettingsPage() { setId(Constants::LANGUAGECLIENT_SETTINGS_PAGE); - setDisplayName(tr("General")); + setDisplayName(Tr::tr("General")); setCategory(Constants::LANGUAGECLIENT_SETTINGS_CATEGORY); setDisplayCategory(Tr::tr(Constants::LANGUAGECLIENT_SETTINGS_TR)); setCategoryIconPath(":/languageclient/images/settingscategory_languageclient.png"); @@ -791,12 +790,11 @@ static QString startupBehaviorString(BaseSettings::StartBehavior behavior) { switch (behavior) { case BaseSettings::AlwaysOn: - return QCoreApplication::translate("LanguageClient::BaseSettings", "Always On"); + return Tr::tr("Always On"); case BaseSettings::RequiresFile: - return QCoreApplication::translate("LanguageClient::BaseSettings", "Requires an Open File"); + return Tr::tr("Requires an Open File"); case BaseSettings::RequiresProject: - return QCoreApplication::translate("LanguageClient::BaseSettings", - "Start Server per Project"); + return Tr::tr("Start Server per Project"); default: break; } @@ -814,24 +812,24 @@ BaseSettingsWidget::BaseSettingsWidget(const BaseSettings *settings, QWidget *pa int row = 0; auto *mainLayout = new QGridLayout; - mainLayout->addWidget(new QLabel(tr("Name:")), row, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Name:")), row, 0); mainLayout->addWidget(m_name, row, 1); auto chooser = new Utils::VariableChooser(this); chooser->addSupportedWidget(m_name); - mainLayout->addWidget(new QLabel(tr("Language:")), ++row, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Language:")), ++row, 0); auto mimeLayout = new QHBoxLayout; mimeLayout->addWidget(m_mimeTypes); mimeLayout->addStretch(); - auto addMimeTypeButton = new QPushButton(tr("Set MIME Types..."), this); + auto addMimeTypeButton = new QPushButton(Tr::tr("Set MIME Types..."), this); mimeLayout->addWidget(addMimeTypeButton); mainLayout->addLayout(mimeLayout, row, 1); - m_filePattern->setPlaceholderText(tr("File pattern")); + m_filePattern->setPlaceholderText(Tr::tr("File pattern")); m_filePattern->setToolTip( Tr::tr("List of file patterns.\nExample: *.cpp%1*.h").arg(filterSeparator)); mainLayout->addWidget(m_filePattern, ++row, 1); - mainLayout->addWidget(new QLabel(tr("Startup behavior:")), ++row, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Startup behavior:")), ++row, 0); for (int behavior = 0; behavior < BaseSettings::LastSentinel ; ++behavior) m_startupBehavior->addItem(startupBehaviorString(BaseSettings::StartBehavior(behavior))); m_startupBehavior->setCurrentIndex(settings->m_startBehavior); @@ -841,7 +839,7 @@ BaseSettingsWidget::BaseSettingsWidget(const BaseSettings *settings, QWidget *pa connect(addMimeTypeButton, &QPushButton::pressed, this, &BaseSettingsWidget::showAddMimeTypeDialog); - mainLayout->addWidget(new QLabel(tr("Initialization options:")), ++row, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Initialization options:")), ++row, 0); mainLayout->addWidget(m_initializationOptions, row, 1); chooser->addSupportedWidget(m_initializationOptions); m_initializationOptions->setValidationFunction([](Utils::FancyLineEdit *edit, QString *errorMessage) { @@ -855,7 +853,7 @@ BaseSettingsWidget::BaseSettingsWidget(const BaseSettings *settings, QWidget *pa if (json.isNull()) { if (errorMessage) - *errorMessage = tr("Failed to parse JSON at %1: %2") + *errorMessage = Tr::tr("Failed to parse JSON at %1: %2") .arg(parseInfo.offset) .arg(parseInfo.errorString()); return false; @@ -863,7 +861,7 @@ BaseSettingsWidget::BaseSettingsWidget(const BaseSettings *settings, QWidget *pa return true; }); m_initializationOptions->setText(settings->m_initializationOptions); - m_initializationOptions->setPlaceholderText(tr("Language server-specific JSON to pass via " + m_initializationOptions->setPlaceholderText(Tr::tr("Language server-specific JSON to pass via " "\"initializationOptions\" field of \"initialize\" " "request.")); @@ -929,12 +927,11 @@ public: class MimeTypeDialog : public QDialog { - Q_DECLARE_TR_FUNCTIONS(MimeTypeDialog) public: explicit MimeTypeDialog(const QStringList &selectedMimeTypes, QWidget *parent = nullptr) : QDialog(parent) { - setWindowTitle(tr("Select MIME Types")); + setWindowTitle(Tr::tr("Select MIME Types")); auto mainLayout = new QVBoxLayout; auto filter = new Utils::FancyLineEdit(this); filter->setFiltering(true); @@ -945,7 +942,7 @@ public: mainLayout->addWidget(buttons); setLayout(mainLayout); - filter->setPlaceholderText(tr("Filter")); + filter->setPlaceholderText(Tr::tr("Filter")); connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept); connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); auto proxy = new QSortFilterProxyModel(this); @@ -992,9 +989,9 @@ StdIOSettingsWidget::StdIOSettingsWidget(const StdIOSettings *settings, QWidget auto mainLayout = qobject_cast(layout()); QTC_ASSERT(mainLayout, return); const int baseRows = mainLayout->rowCount(); - mainLayout->addWidget(new QLabel(tr("Executable:")), baseRows, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Executable:")), baseRows, 0); mainLayout->addWidget(m_executable, baseRows, 1); - mainLayout->addWidget(new QLabel(tr("Arguments:")), baseRows + 1, 0); + mainLayout->addWidget(new QLabel(Tr::tr("Arguments:")), baseRows + 1, 0); m_executable->setExpectedKind(Utils::PathChooser::ExistingCommand); m_executable->setFilePath(settings->m_executable); mainLayout->addWidget(m_arguments, baseRows + 1, 1); diff --git a/src/plugins/languageclient/languageclientsettings.h b/src/plugins/languageclient/languageclientsettings.h index 774b65e5b77..bb8ebe631f9 100644 --- a/src/plugins/languageclient/languageclientsettings.h +++ b/src/plugins/languageclient/languageclientsettings.h @@ -131,7 +131,6 @@ struct ClientType { class LANGUAGECLIENT_EXPORT LanguageClientSettings { - Q_DECLARE_TR_FUNCTIONS(LanguageClientSettings) public: static void init(); static QList fromSettings(QSettings *settings); diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp index 03350c3fb5e..a70b75b5474 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.cpp +++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp @@ -6,6 +6,7 @@ #include "client.h" #include "dynamiccapabilities.h" #include "languageclientutils.h" +#include "languageclienttr.h" #include #include @@ -33,7 +34,7 @@ class ReplaceWidget : public QWidget public: ReplaceWidget() { - m_infoLabel.setText(tr("Search Again to update results and re-enable Replace")); + m_infoLabel.setText(Tr::tr("Search Again to update results and re-enable Replace")); m_infoLabel.setVisible(false); m_renameFilesCheckBox.setVisible(false); const auto layout = new QHBoxLayout(this); @@ -54,12 +55,12 @@ public: m_renameFilesCheckBox.hide(); return; } - m_renameFilesCheckBox.setText(tr("Re&name %n files", nullptr, filesToRename.size())); + m_renameFilesCheckBox.setText(Tr::tr("Re&name %n files", nullptr, filesToRename.size())); const auto filesForUser = Utils::transform(filesToRename, [](const Utils::FilePath &fp) { return fp.toUserOutput(); }); - m_renameFilesCheckBox.setToolTip(tr("Files:\n%1").arg(filesForUser.join('\n'))); + m_renameFilesCheckBox.setToolTip(Tr::tr("Files:\n%1").arg(filesForUser.join('\n'))); m_renameFilesCheckBox.setVisible(true); } @@ -287,7 +288,7 @@ void SymbolSupport::handleFindReferencesResponse(const FindReferencesRequest::Re } if (result) { Core::SearchResult *search = Core::SearchResultWindow::instance()->startNewSearch( - tr("Find References with %1 for:").arg(m_client->name()), "", wordUnderCursor); + Tr::tr("Find References with %1 for:").arg(m_client->name()), "", wordUnderCursor); search->addResults(generateSearchResultItems(*result, m_client->hostPathMapper()), Core::SearchResult::AddOrdered); connect(search, &Core::SearchResult::activated, [](const Core::SearchResultItem &item) { @@ -373,7 +374,7 @@ void SymbolSupport::renameSymbol(TextEditor::TextDocument *document, bool prepareSupported; if (!LanguageClient::supportsRename(m_client, document, prepareSupported)) { - const QString error = tr("Renaming is not supported with %1").arg(m_client->name()); + const QString error = Tr::tr("Renaming is not supported with %1").arg(m_client->name()); createSearch(params, derivePlaceholder(oldSymbolName, newSymbolName), {}, {})->finishSearch(true, error); } else if (prepareSupported) { @@ -482,7 +483,7 @@ Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams bool preferLowerCaseFileNames) { Core::SearchResult *search = Core::SearchResultWindow::instance()->startNewSearch( - tr("Find References with %1 for:").arg(m_client->name()), + Tr::tr("Find References with %1 for:").arg(m_client->name()), "", placeholder, Core::SearchResultWindow::SearchAndReplace); @@ -504,7 +505,7 @@ Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams auto resetConnection = connect(this, &QObject::destroyed, search, [search, clientName = m_client->name()]() { search->restart(); // clears potential current results - search->finishSearch(true, tr("%1 is not reachable anymore.").arg(clientName)); + search->finishSearch(true, Tr::tr("%1 is not reachable anymore.").arg(clientName)); }); connect(search, &Core::SearchResult::replaceButtonClicked, this, diff --git a/src/plugins/languageclient/languageclientsymbolsupport.h b/src/plugins/languageclient/languageclientsymbolsupport.h index 7add57ba376..864c963b8b9 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.h +++ b/src/plugins/languageclient/languageclientsymbolsupport.h @@ -25,7 +25,6 @@ class Client; class LANGUAGECLIENT_EXPORT SymbolSupport : public QObject { - Q_DECLARE_TR_FUNCTIONS(SymbolSupport) public: explicit SymbolSupport(Client *client); diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp index 64ffa4731ae..44168d1dd25 100644 --- a/src/plugins/languageclient/languageclientutils.cpp +++ b/src/plugins/languageclient/languageclientutils.cpp @@ -150,7 +150,7 @@ void updateCodeActionRefactoringMarker(Client *client, const QTextCursor cursor = endOfLineCursor(range.start().toTextCursor(doc->document())); const auto it = markersAtBlock.find(cursor.blockNumber()); if (it != markersAtBlock.end()) { - it->tooltip = LanguageClientManager::tr("Show available quick fixes"); + it->tooltip = Tr::tr("Show available quick fixes"); it->callback = [cursor](TextEditorWidget *editor) { editor->setTextCursor(cursor); editor->invokeAssist(TextEditor::QuickFix); diff --git a/src/plugins/languageclient/locatorfilter.cpp b/src/plugins/languageclient/locatorfilter.cpp index ae1dd9bbe72..2c933c12204 100644 --- a/src/plugins/languageclient/locatorfilter.cpp +++ b/src/plugins/languageclient/locatorfilter.cpp @@ -32,7 +32,7 @@ DocumentLocatorFilter::DocumentLocatorFilter() setId(Constants::LANGUAGECLIENT_DOCUMENT_FILTER_ID); setDisplayName(Tr::tr(Constants::LANGUAGECLIENT_DOCUMENT_FILTER_DISPLAY_NAME)); setDescription( - tr("Matches all symbols from the current document, based on a language server.")); + Tr::tr("Matches all symbols from the current document, based on a language server.")); setDefaultShortcutString("."); setDefaultIncludedByDefault(false); setPriority(ILocatorFilter::Low); diff --git a/src/plugins/languageclient/lspinspector.cpp b/src/plugins/languageclient/lspinspector.cpp index ef7e9a89c94..09307a06c3e 100644 --- a/src/plugins/languageclient/lspinspector.cpp +++ b/src/plugins/languageclient/lspinspector.cpp @@ -5,11 +5,14 @@ #include "client.h" #include "languageclientmanager.h" +#include "languageclienttr.h" #include #include + #include #include + #include #include @@ -75,7 +78,7 @@ QTreeView *createJsonTreeView() { auto view = new QTreeView; view->setContextMenuPolicy(Qt::ActionsContextMenu); - auto action = new QAction(LspInspector::tr("Expand All"), view); + auto action = new QAction(Tr::tr("Expand All"), view); QObject::connect(action, &QAction::triggered, view, &QTreeView::expandAll); view->addAction(action); view->setAlternatingRowColors(true); @@ -105,7 +108,6 @@ private: class LspCapabilitiesWidget : public QWidget { - Q_DECLARE_TR_FUNCTIONS(LspCapabilitiesWidget) public: LspCapabilitiesWidget(); void setCapabilities(const Capabilities &serverCapabilities); @@ -124,20 +126,20 @@ LspCapabilitiesWidget::LspCapabilitiesWidget() { auto mainLayout = new QHBoxLayout; - auto group = new QGroupBox(tr("Capabilities:")); + auto group = new QGroupBox(Tr::tr("Capabilities:")); QLayout *layout = new QHBoxLayout; m_capabilitiesView = createJsonTreeView(); layout->addWidget(m_capabilitiesView); group->setLayout(layout); mainLayout->addWidget(group); - m_dynamicCapabilitiesGroup = new QGroupBox(tr("Dynamic Capabilities:")); + m_dynamicCapabilitiesGroup = new QGroupBox(Tr::tr("Dynamic Capabilities:")); layout = new QVBoxLayout; - auto label = new QLabel(tr("Method:")); + auto label = new QLabel(Tr::tr("Method:")); layout->addWidget(label); m_dynamicCapabilitiesView = new QListWidget(); layout->addWidget(m_dynamicCapabilitiesView); - label = new QLabel(tr("Options:")); + label = new QLabel(Tr::tr("Options:")); layout->addWidget(label); m_dynamicOptionsView = createJsonTreeView(); layout->addWidget(m_dynamicOptionsView); @@ -155,7 +157,7 @@ LspCapabilitiesWidget::LspCapabilitiesWidget() void LspCapabilitiesWidget::setCapabilities(const Capabilities &serverCapabilities) { m_capabilitiesView->setModel( - createJsonModel(tr("Server Capabilities"), QJsonObject(serverCapabilities.capabilities))); + createJsonModel(Tr::tr("Server Capabilities"), QJsonObject(serverCapabilities.capabilities))); m_dynamicCapabilities = serverCapabilities.dynamicCapabilities; const QStringList &methods = m_dynamicCapabilities.registeredMethods(); if (methods.isEmpty()) { @@ -208,7 +210,7 @@ LspLogWidget::LspLogWidget() m_clientDetails = new MessageDetailWidget; m_clientDetails->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_clientDetails->setTitle(LspInspector::tr("Client Message")); + m_clientDetails->setTitle(Tr::tr("Client Message")); addWidget(m_clientDetails); setStretchFactor(0, 1); @@ -216,7 +218,7 @@ LspLogWidget::LspLogWidget() m_messages = new QListView; m_messages->setModel(&m_model); m_messages->setAlternatingRowColors(true); - m_model.setHeader({LspInspector::tr("Messages")}); + m_model.setHeader({Tr::tr("Messages")}); m_messages->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); m_messages->setSelectionMode(QAbstractItemView::MultiSelection); addWidget(m_messages); @@ -224,7 +226,7 @@ LspLogWidget::LspLogWidget() m_serverDetails = new MessageDetailWidget; m_serverDetails->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_serverDetails->setTitle(LspInspector::tr("Server Message")); + m_serverDetails->setTitle(Tr::tr("Server Message")); addWidget(m_serverDetails); setStretchFactor(2, 1); @@ -306,7 +308,7 @@ void LspLogWidget::saveLog() stream << "\n\n"; }); - const FilePath filePath = FileUtils::getSaveFilePath(this, LspInspector::tr("Log File")); + const FilePath filePath = FileUtils::getSaveFilePath(this, Tr::tr("Log File")); if (filePath.isEmpty()) return; FileSaver saver(filePath, QIODevice::Text); @@ -317,7 +319,6 @@ void LspLogWidget::saveLog() class LspInspectorWidget : public QDialog { - Q_DECLARE_TR_FUNCTIONS(LspInspectorWidget) public: explicit LspInspectorWidget(LspInspector *inspector); @@ -393,7 +394,7 @@ QList LspInspector::clients() const LspInspectorWidget::LspInspectorWidget(LspInspector *inspector) : m_inspector(inspector), m_tabWidget(new QTabWidget(this)) { - setWindowTitle(tr("Language Client Inspector")); + setWindowTitle(Tr::tr("Language Client Inspector")); connect(inspector, &LspInspector::newMessage, this, &LspInspectorWidget::addMessage); connect(inspector, &LspInspector::capabilitiesUpdated, @@ -411,13 +412,13 @@ LspInspectorWidget::LspInspectorWidget(LspInspector *inspector) mainSplitter->addWidget(m_tabWidget); mainSplitter->setStretchFactor(0, 0); mainSplitter->setStretchFactor(1, 1); - m_tabWidget->addTab(new LspLogWidget, tr("Log")); - m_tabWidget->addTab(new LspCapabilitiesWidget, tr("Capabilities")); + m_tabWidget->addTab(new LspLogWidget, Tr::tr("Log")); + m_tabWidget->addTab(new LspCapabilitiesWidget, Tr::tr("Capabilities")); mainLayout->addWidget(mainSplitter); auto buttonBox = new QDialogButtonBox(this); buttonBox->setStandardButtons(QDialogButtonBox::Save | QDialogButtonBox::Close); - const auto clearButton = buttonBox->addButton(tr("Clear"), QDialogButtonBox::ResetRole); + const auto clearButton = buttonBox->addButton(Tr::tr("Clear"), QDialogButtonBox::ResetRole); connect(clearButton, &QPushButton::clicked, this, [this] { m_inspector->clear(); if (m_clients->currentItem())