Refactor : Added missing translations strings for various files (#6897)
What changed, and why it matters
This commit is a routine internationalization (i18n) refactor. It marks more user-interface text strings in BTCPay Server's web pages as translatable and updates the default translation dictionary. There is no security-relevant change to application logic, access control, cryptography, or data handling.
No security action required. Treat as a normal localization/maintenance change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds the text-translate="true" Razor attribute to static English strings across 26 .cshtml view files, adds corresponding entries to Translations.Default.cs, and makes minor wording adjustments (e.g., ‘Delete’ → ‘Remove’ for wallet labels, duplicate attribute cleanup, whitespace changes). No controllers, models, validation, authorization, or cryptographic code are modified.
Changed components
BTCPayServer/Plugins/Crowdfund/Views/UpdateCrowdfund.cshtmlBTCPayServer/Plugins/PointOfSale/Views/UpdatePointOfSale.cshtmlBTCPayServer/Plugins/Webhooks/Views/ModifyWebhook.cshtmlBTCPayServer/Services/Translations.Default.csBTCPayServer/Views/Shared/ConfirmModal.cshtmlBTCPayServer/Views/Shared/CreateOrEditRole.cshtmlBTCPayServer/Views/UIAccount/ForgotPassword.cshtmlBTCPayServer/Views/UIAccount/Login.cshtmlBTCPayServer/Views/UIInvoice/InvoiceReceiptPrint.cshtmlBTCPayServer/Views/UIInvoice/ListInvoices.cshtmlBTCPayServer/Views/UILightningAutomatedPayoutProcessors/Configure.cshtmlBTCPayServer/Views/UILightningLikePayout/ConfirmLightningPayout.cshtmlBTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtmlBTCPayServer/Views/UIServer/CLightningRestServices.cshtmlBTCPayServer/Views/UIServer/ListPlugins.cshtmlBTCPayServer/Views/UIServer/LndSeedBackup.cshtmlBTCPayServer/Views/UIServer/LndServices.cshtmlBTCPayServer/Views/UIServer/P2PService.cshtmlBTCPayServer/Views/UIServer/RPCService.cshtmlBTCPayServer/Views/UIServer/SSHService.cshtmlBTCPayServer/Views/UIStorePullPayments/PullPayments.cshtmlBTCPayServer/Views/UIStores/GeneralSettings.cshtmlBTCPayServer/Views/UIStores/RequestPairing.cshtmlBTCPayServer/Views/UIWallets/WalletLabels.cshtmlBTCPayServer/Views/UIWallets/WalletReceive.cshtmlBTCPayServer/Views/UIWallets/WalletTransactions.cshtmlInspect captured patch +68 / −60
diff --git a/BTCPayServer/Plugins/Crowdfund/Views/UpdateCrowdfund.cshtml b/BTCPayServer/Plugins/Crowdfund/Views/UpdateCrowdfund.cshtml
index 90cd9d7..4882156 100644
--- a/BTCPayServer/Plugins/Crowdfund/Views/UpdateCrowdfund.cshtml
+++ b/BTCPayServer/Plugins/Crowdfund/Views/UpdateCrowdfund.cshtml
@@ -33,8 +33,8 @@
<div class="sticky-header">
<h2>@ViewData["Title"]</h2>
<div>
- <button id="page-primary" type="submit" class="btn btn-primary order-sm-1">Save</button>
- <a class="btn btn-secondary" asp-action="ListInvoices" asp-controller="UIInvoice" asp-route-storeId="@Model.StoreId" asp-route-searchterm="@Model.SearchTerm">Invoices</a>
+ <button id="page-primary" type="submit" class="btn btn-primary order-sm-1" text-translate="true">Save</button>
+ <a class="btn btn-secondary" asp-action="ListInvoices" asp-controller="UIInvoice" asp-route-storeId="@Model.StoreId" asp-route-searchterm="@Model.SearchTerm" text-translate="true">Invoices</a>
@if (Model.Archived)
{
<button type="submit" class="btn btn-outline-secondary" name="Archived" value="False" text-translate="true">Unarchive</button>
diff --git a/BTCPayServer/Plugins/PointOfSale/Views/UpdatePointOfSale.cshtml b/BTCPayServer/Plugins/PointOfSale/Views/UpdatePointOfSale.cshtml
index 24ef300..e23815b 100644
--- a/BTCPayServer/Plugins/PointOfSale/Views/UpdatePointOfSale.cshtml
+++ b/BTCPayServer/Plugins/PointOfSale/Views/UpdatePointOfSale.cshtml
@@ -32,7 +32,7 @@
<div class="sticky-header">
<h2>@ViewData["Title"]</h2>
<div>
- <button id="page-primary" type="submit" class="btn btn-primary order-sm-1">Save</button>
+ <button id="page-primary" type="submit" class="btn btn-primary order-sm-1" text-translate="true">Save</button>
<a class="btn btn-secondary" asp-action="ListInvoices" asp-controller="UIInvoice" asp-route-storeId="@Model.StoreId" asp-route-searchterm="@Model.SearchTerm" text-translate="true">Invoices</a>
@if (Model.Archived)
{
diff --git a/BTCPayServer/Plugins/Webhooks/Views/ModifyWebhook.cshtml b/BTCPayServer/Plugins/Webhooks/Views/ModifyWebhook.cshtml
index 3093b42..28d3728 100644
--- a/BTCPayServer/Plugins/Webhooks/Views/ModifyWebhook.cshtml
+++ b/BTCPayServer/Plugins/Webhooks/Views/ModifyWebhook.cshtml
@@ -25,11 +25,11 @@
</nav>
@if (Model.IsNew)
{
- <button id="page-primary" name="add" type="submit" class="btn btn-primary" value="New">Add Webhook</button>
+ <button id="page-primary" name="add" type="submit" class="btn btn-primary" value="New" text-translate="true">Add Webhook</button>
}
else
{
- <button id="page-primary" name="update" type="submit" class="btn btn-primary" value="Save" >Update Webhook</button>
+ <button id="page-primary" name="update" type="submit" class="btn btn-primary" value="Save" text-translate="true">Update Webhook</button>
}
</div>
<partial name="_StatusMessage" />
diff --git a/BTCPayServer/Services/Translations.Default.cs b/BTCPayServer/Services/Translations.Default.cs
index af20393..643ab82 100644
--- a/BTCPayServer/Services/Translations.Default.cs
+++ b/BTCPayServer/Services/Translations.Default.cs
@@ -119,6 +119,7 @@ namespace BTCPayServer.Services
"Add Service": "",
"Add subscriber": "",
"Add User": "",
+ "Add Webhook": "",
"Additional Actions": "",
"Additional Options": "",
"Additional rates to track": "",
@@ -126,6 +127,7 @@ namespace BTCPayServer.Services
"Address": "",
"Address type": "",
"Address verified.": "",
+ "Addresses": "",
"Adjust the design of your BTCPay Server instance to your needs.": "",
"Adjusts the generated invoice amount — use as a prefix to have multiple adjustment fields": "",
"Adjusts the generated invoice amount by multiplying with this value — use as a prefix to have multiple adjustment fields": "",
@@ -216,6 +218,7 @@ namespace BTCPayServer.Services
"Available Filters (click to expand)": "",
"Available Payment Methods": "",
"Available placeholders: <code>{StoreName} {ItemDescription} {OrderId}</code>": "",
+ "Available Plugins": "",
"Awaiting": "",
"Azure Blob Storage": "",
"Backend's language": "",
@@ -427,6 +430,7 @@ namespace BTCPayServer.Services
"Crypto": "",
"Crypto Code": "",
"Crypto services exposed by your server": "",
+ "CSV": "",
"Currency": "",
"Currency is invalid": "",
"Currency Pair Testing": "",
@@ -804,6 +808,7 @@ namespace BTCPayServer.Services
"Inputs": "",
"Insert your security device and proceed.": "",
"Install": "",
+ "Installed Plugins": "",
"Instructions": "",
"Interval": "",
"Invalid": "",
@@ -850,6 +855,7 @@ namespace BTCPayServer.Services
"It is worth noting that the inverses of those pairs are automatically supported as well.<br />It means that the\n rule <code>USD_DOGE = 1 / DOGE_USD</code> implicitly exists.": "",
"Item Description": "",
"Items total": "",
+ "JSON": "",
"JSON Credentials": "",
"Keep empty for server-initiated pairing.": "",
"Key": "",
@@ -963,6 +969,7 @@ namespace BTCPayServer.Services
"Monetization order updated to offering {0} with default plan {1}.": "",
"Monthly revenue": "",
"More details": "",
+ "More details...": "",
"More information": "",
"More information...": "",
"Name": "",
@@ -1082,6 +1089,7 @@ namespace BTCPayServer.Services
"Paid": "",
"Paid invoices in the last {0} days": "",
"Pair to": "",
+ "Pair To Store": "",
"Pairing Permission": "",
"Parsing error: {0}": "",
"Partially Signed Bitcoin Transaction": "",
@@ -1139,6 +1147,9 @@ namespace BTCPayServer.Services
"Payouts marked as paid": "",
"Payouts Pending": "",
"Pending": "",
+ "Pending Action": "",
+ "Pending actions": "",
+ "Pending Actions": "",
"Pending Approval": "",
"Pending Email Verification": "",
"Pending Invitation": "",
@@ -1400,7 +1411,9 @@ namespace BTCPayServer.Services
"Security device (FIDO2)": "",
"Security device name": "",
"Security devices": "",
+ "See confidential seed information": "",
"See information": "",
+ "See QR Code information by clicking": "",
"Seed information was already removed": "",
"Seed removal failed": "",
"Seed successfully removed": "",
@@ -1638,7 +1651,7 @@ namespace BTCPayServer.Services
"The invoice has been archived and will no longer appear in the invoice list by default.": "",
"The invoice has been unarchived and will appear in the invoice list by default again.": "",
"The label {0} will be deleted from all payment requests.": "",
- "The label {0} will be deleted from this wallet and its associated transactions.": "",
+ "The label {0} will be removed from this wallet and its associated transactions.": "",
"The label could not be deleted.": "",
"The label could not be renamed.": "",
"The label has been successfully deleted.": "",
@@ -1873,6 +1886,7 @@ namespace BTCPayServer.Services
"Update Point of Sale": "",
"Update Role": "",
"Update to the latest version of BTCPay Server.": "",
+ "Update Webhook": "",
"Update your account": "",
"Updated successfully.": "",
"Upgrade": "",
@@ -1948,12 +1962,14 @@ namespace BTCPayServer.Services
"View All": "",
"View all supporters": "",
"View Invite": "",
+ "View Reserved Addresses with this label": "",
"View seed": "",
"Waiting for NFC to be presented...": "",
"Wallet": "",
"Wallet Balance": "",
"Wallet file": "",
"Wallet file content": "",
+ "Wallet Labels (BIP-329)": "",
"Wallet Recovery Seed": "",
"Wallet settings for {0} have been updated.": "",
"Wallet's fingerprint fetched.": "",
diff --git a/BTCPayServer/Views/Shared/ConfirmModal.cshtml b/BTCPayServer/Views/Shared/ConfirmModal.cshtml
index bb47797..3a92625 100644
--- a/BTCPayServer/Views/Shared/ConfirmModal.cshtml
+++ b/BTCPayServer/Views/Shared/ConfirmModal.cshtml
@@ -61,9 +61,8 @@
void ModalContent()
{
<div class="modal-body pt-0" id="@Html.Id("ConfirmText")" hidden>
- <label for="@Html.Id("ConfirmInput")" class="form-label">Confirm the action by typing <strong
- id="@Html.Id("ConfirmInputText")"></strong>:</label>
- <input id="@Html.Id("ConfirmInput")" class="form-control" />
+ <label for="@Html.Id("ConfirmInput")" class="form-label">Confirm the action by typing <strong id="@Html.Id("ConfirmInputText")"></strong>:</label>
+ <input id="@Html.Id("ConfirmInput")" class="form-control"/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary only-for-js" data-bs-dismiss="modal" id="@Html.Id("ConfirmCancel")">Cancel</button>
diff --git a/BTCPayServer/Views/Shared/CreateOrEditRole.cshtml b/BTCPayServer/Views/Shared/CreateOrEditRole.cshtml
index 4b9c16e..f20afe5 100644
--- a/BTCPayServer/Views/Shared/CreateOrEditRole.cshtml
+++ b/BTCPayServer/Views/Shared/CreateOrEditRole.cshtml
@@ -29,7 +29,7 @@
</ol>
<h2>@ViewData["Title"]</h2>
</nav>
- <button id="page-primary" type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
+ <button id="page-primary" type="submit" class="btn btn-primary" name="command" value="Save" text-translate="true">Save</button>
</div>
<div class="row">
diff --git a/BTCPayServer/Views/UIAccount/ForgotPassword.cshtml b/BTCPayServer/Views/UIAccount/ForgotPassword.cshtml
index 3a8836b..4271132 100644
--- a/BTCPayServer/Views/UIAccount/ForgotPassword.cshtml
+++ b/BTCPayServer/Views/UIAccount/ForgotPassword.cshtml
@@ -29,7 +29,7 @@
else
{
<p text-translate="true">Email password reset functionality is not configured for this server. Please contact the server administrator to assist with account recovery.</p>
- <p>
+ <p>
If you are the administrator, please follow these steps to
<a href="https://docs.btcpayserver.org/Notifications/#smtp-email-setup" target="_blank" rel="noreferrer noopener">configure email password resets</a>
or reset your admin password through
diff --git a/BTCPayServer/Views/UIAccount/Login.cshtml b/BTCPayServer/Views/UIAccount/Login.cshtml
index a3d391a..28f1f3d 100644
--- a/BTCPayServer/Views/UIAccount/Login.cshtml
+++ b/BTCPayServer/Views/UIAccount/Login.cshtml
@@ -22,7 +22,7 @@
<div class="form-group">
<div class="d-flex justify-content-between">
<label asp-for="Password" class="form-label"></label>
- <a asp-action="ForgotPassword" text-translate="true" tabindex="-1" text-translate="true">Forgot password?</a>
+ <a asp-action="ForgotPassword" tabindex="-1" text-translate="true">Forgot password?</a>
</div>
<div class="input-group d-flex">
<input asp-for="Password" class="form-control" required />
@@ -36,7 +36,7 @@
</div>
<div class="form-group mt-4">
<div class="btn-group w-100">
- <button type="submit" class="btn btn-primary btn-lg w-100" id="LoginButton"><span class="ps-3" text-translate="true" text-translate="true">Sign in</span></button>
+ <button type="submit" class="btn btn-primary btn-lg w-100" id="LoginButton"><span class="ps-3" text-translate="true">Sign in</span></button>
<button type="button" class="btn btn-outline-primary btn-lg w-auto only-for-js" data-bs-toggle="modal" data-bs-target="#scanModal" title="@StringLocalizer["Scan Login code with camera"]">
<vc:icon symbol="scan-qr" />
</button>
@@ -50,7 +50,7 @@
@if (!PoliciesSettings.LockSubscription)
{
<p class="text-center mt-2 mb-0">
- <a id="Register" style="font-size:1.15rem" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" text-translate="true" text-translate="true">Create your account</a>
+ <a id="Register" style="font-size:1.15rem" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" text-translate="true">Create your account</a>
</p>
}
diff --git a/BTCPayServer/Views/UIInvoice/InvoiceReceiptPrint.cshtml b/BTCPayServer/Views/UIInvoice/InvoiceReceiptPrint.cshtml
index 9b6c031..6c1a20d 100644
--- a/BTCPayServer/Views/UIInvoice/InvoiceReceiptPrint.cshtml
+++ b/BTCPayServer/Views/UIInvoice/InvoiceReceiptPrint.cshtml
@@ -260,7 +260,7 @@
}
</div>
<div class="store-footer p-3">
- <a class="store-powered-by" style="color:#000;"><span text-translate="true">Powered by</span> <partial name="_StoreFooterLogo" /></a>
+ <a class="store-powered-by" href="https://btcpayserver.org" target="_blank" rel="noreferrer noopener" style="color:#000;"><span text-translate="true">Powered by</span> <partial name="_StoreFooterLogo" /></a>
</div>
<hr class="w-100 my-0 bg-none"/>
</center>
diff --git a/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml b/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml
index ba82741..bf93996 100644
--- a/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml
+++ b/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml
@@ -168,7 +168,7 @@
</div>
<div class="modal-body">
<div class="form-group row">
- <label for="dtpStartDate" class="col-sm-3 col-form-label">Start Date</label>
+ <label for="dtpStartDate" class="col-sm-3 col-form-label" text-translate="true">Start Date</label>
<div class="col-sm-9">
<div class="input-group">
<input id="dtpStartDate" class="form-control flatdtpicker" type="datetime-local"
diff --git a/BTCPayServer/Views/UILightningAutomatedPayoutProcessors/Configure.cshtml b/BTCPayServer/Views/UILightningAutomatedPayoutProcessors/Configure.cshtml
index bbecacf..a548757 100644
--- a/BTCPayServer/Views/UILightningAutomatedPayoutProcessors/Configure.cshtml
+++ b/BTCPayServer/Views/UILightningAutomatedPayoutProcessors/Configure.cshtml
@@ -18,8 +18,7 @@
</ol>
<h2>@ViewData["Title"]</h2>
</nav>
- <button id="page-primary" name="command" type="submit" class="btn btn-primary" value="Save"
- text-translate="true">Save</button>
+ <button id="page-primary" name="command" type="submit" class="btn btn-primary" value="Save" text-translate="true">Save</button>
</div>
<partial name="_StatusMessage" />
<div class="row">
diff --git a/BTCPayServer/Views/UILightningLikePayout/ConfirmLightningPayout.cshtml b/BTCPayServer/Views/UILightningLikePayout/ConfirmLightningPayout.cshtml
index a0acfe2..9e6820c 100644
--- a/BTCPayServer/Views/UILightningLikePayout/ConfirmLightningPayout.cshtml
+++ b/BTCPayServer/Views/UILightningLikePayout/ConfirmLightningPayout.cshtml
@@ -14,7 +14,7 @@
<li class="list-group-item py-4 px-0">
<div class="text-break">@item.Destination</div>
<form method="post" class="mt-4 mb-1" id="pay-invoices-form">
- <button type="submit" class="btn btn-primary" id="Pay">Pay @item.Amount @cryptoCode</button>
+ <button type="submit" class="btn btn-primary" id="Pay"><span text-translate="true">Pay</span> @item.Amount @cryptoCode</button>
<a asp-controller="UIStorePullPayments" asp-action="Payouts" asp-route-storeId="@Context.GetStoreData().Id" class="btn btn-secondary mx-2 px-4" text-translate="true">Cancel</a>
</form>
</li>
diff --git a/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml b/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml
index aed7937..6201b5a 100644
--- a/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml
+++ b/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml
@@ -60,9 +60,8 @@
<vc:icon symbol="nav-reporting" />
<span text-translate="true">Reporting</span>
</a>
- <a id="page-primary" asp-action="EditPaymentRequest" asp-route-storeId="@storeId" class="btn btn-primary mt-3 mt-sm-0" role="button"
- permission="@Policies.CanModifyPaymentRequests" text-translate="true">
- Create Request
+ <a id="page-primary" asp-action="EditPaymentRequest" asp-route-storeId="@storeId" class="btn btn-primary mt-3 mt-sm-0" role="button" permission="@Policies.CanModifyPaymentRequests">
+ <span text-translate="true">Create Request</span>
</a>
</div>
</div>
diff --git a/BTCPayServer/Views/UIServer/CLightningRestServices.cshtml b/BTCPayServer/Views/UIServer/CLightningRestServices.cshtml
index e5ab085..2d6b47f 100644
--- a/BTCPayServer/Views/UIServer/CLightningRestServices.cshtml
+++ b/BTCPayServer/Views/UIServer/CLightningRestServices.cshtml
@@ -8,7 +8,7 @@
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
- <a asp-action="Services">Services</a>
+ <a asp-action="Services" text-translate="true">Services</a>
</li>
<li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
</ol>
@@ -25,7 +25,7 @@
<p text-translate="true">BTCPay exposes Core Lightning's REST service for outside consumption, you will find connection information here.</p>
</div>
-<h5 class="mb-3">Compatible wallets</h5>
+<h5 class="mb-3" text-translate="true">Compatible wallets</h5>
<div class="services-list">
<a href="https://github.com/ZeusLN/zeus" target="_blank" class="service" rel="noreferrer noopener">
<img src="~/img/zeus.jpg" asp-append-version="true" alt="Zeus" />
@@ -44,7 +44,7 @@
{
<div class="form-group">
<form method="post">
- <button type="submit" class="btn btn-primary mt-2">Show QR Code</button>
+ <button type="submit" class="btn btn-primary mt-2" text-translate="true">Show QR Code</button>
</form>
</div>
}
@@ -54,10 +54,10 @@
<div id="qrCode"></div>
<div id="qrCodeData" data-url="@Model.QRCode"></div>
</div>
- <p>See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse">here</a></p>
+ <p text-translate="true">See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse" text-translate="true">here</a></p>
<div id="detailsQR" class="collapse"><h4 class="mt-4 mb-3">QR Code connection</h4>
<div class="form-group">
- <label class="form-label">QR Code data</label>
+ <label class="form-label" text-translate="true">QR Code data</label>
<input asp-for="QRCode" readonly class="form-control" />
</div>
<div class="form-group">
@@ -67,8 +67,8 @@
}
<div class="form-group">
- <h5>More details...</h5>
- <p>Alternatively, you can see the settings by clicking <a href="#details" data-bs-toggle="collapse">here</a></p>
+ <h5 text-translate="true">More details...</h5>
+ <p>Alternatively, you can see the settings by clicking <a href="#details" data-bs-toggle="collapse" text-translate="true">here</a></p>
</div>
<div id="details" class="collapse">
@if (Model.Uri == null)
diff --git a/BTCPayServer/Views/UIServer/ListPlugins.cshtml b/BTCPayServer/Views/UIServer/ListPlugins.cshtml
index 9d478df..03292f2 100644
--- a/BTCPayServer/Views/UIServer/ListPlugins.cshtml
+++ b/BTCPayServer/Views/UIServer/ListPlugins.cshtml
@@ -137,7 +137,7 @@
@if (Model.Plugins.Any())
{
- <h3 class="mb-4">Installed Plugins</h3>
+ <h3 class="mb-4" text-translate="true">Installed Plugins</h3>
<div class="row mb-4">
@foreach (var plugin in Model.Plugins.Where(i => !i.SystemPlugin))
{
@@ -364,7 +364,7 @@
}
else
{
- <h3 class="mb-4">Available Plugins</h3>
+ <h3 class="mb-4" text-translate="true">Available Plugins</h3>
<div class="row mb-4">
@foreach (var plugin in availableAndNotInstalled)
{
@@ -541,15 +541,15 @@ else
@if (Model.Commands.Any())
{
<div class="mb-4">
- <h3 class="mb-4">Pending Action</h3>
- <button class="btn btn-secondary mb-4" type="button" data-bs-toggle="collapse" data-bs-target="#pending-actions">
+ <h3 class="mb-4" text-translate="true">Pending Action</h3>
+ <button class="btn btn-secondary mb-4" type="button" data-bs-toggle="collapse" data-bs-target="#pending-actions" text-translate="true">
Pending Actions
</button>
<div class="row collapse" id="pending-actions">
<div class="col col-12 col-lg-6 mb-4">
<div class="card">
<div class="card-body">
- <h4 class="card-title">Pending actions</h4>
+ <h4 class="card-title" text-translate="true">Pending actions</h4>
<ul class="list-group list-group-flush">
@foreach (var extComm in Model.Commands.GroupBy(tuple => tuple.plugin))
{
diff --git a/BTCPayServer/Views/UIServer/LndSeedBackup.cshtml b/BTCPayServer/Views/UIServer/LndSeedBackup.cshtml
index 95dfee5..e906203 100644
--- a/BTCPayServer/Views/UIServer/LndSeedBackup.cshtml
+++ b/BTCPayServer/Views/UIServer/LndSeedBackup.cshtml
@@ -25,8 +25,8 @@
<p text-translate="true">The LND seed backup is useful to recover on-chain funds of your LND wallet in case of a corruption of your server.</p>
<p>The recovering process is documented by LND on <a href="https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md" rel="noreferrer noopener">this page</a>.</p>
</div>
- <button class="btn btn-primary @(Model.Removed ? "collapse" : "")" id="details" type="button">See confidential seed information</button>
-
+ <button class="btn btn-primary @(Model.Removed ? "collapse" : "")" id="details" type="button" text-translate="true">See confidential seed information</button>
+
@if (Model.Removed)
{
<div class="alert alert-light d-flex align-items-center" role="alert">
diff --git a/BTCPayServer/Views/UIServer/LndServices.cshtml b/BTCPayServer/Views/UIServer/LndServices.cshtml
index b39307b..760ebef 100644
--- a/BTCPayServer/Views/UIServer/LndServices.cshtml
+++ b/BTCPayServer/Views/UIServer/LndServices.cshtml
@@ -20,7 +20,7 @@
BTCPay exposes LND's @Model.ConnectionType service for outside consumption, you will find connection information here.
</p>
-<h4 class="mb-3">Compatible wallets</h4>
+<h4 class="mb-3" text-translate="true">Compatible wallets</h4>
<div class="services-list">
@if (Model.Uri != null)
{
diff --git a/BTCPayServer/Views/UIServer/P2PService.cshtml b/BTCPayServer/Views/UIServer/P2PService.cshtml
index 801aa0f..d17c948 100644
--- a/BTCPayServer/Views/UIServer/P2PService.cshtml
+++ b/BTCPayServer/Views/UIServer/P2PService.cshtml
@@ -67,7 +67,7 @@
<div id="qrCode"></div>
<div id="qrCodeData" data-url="@Model.ServiceLink"></div>
</div>
- <p>See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse">here</a></p>
+ <p text-translate="true">See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse" text-translate="true">here</a></p>
<div id="detailsQR" class="collapse">
<div class="form-group">
<label asp-for="ServiceLink" class="form-label" text-translate="true">QR Code data</label>
diff --git a/BTCPayServer/Views/UIServer/RPCService.cshtml b/BTCPayServer/Views/UIServer/RPCService.cshtml
index 3817876..3424f2b 100644
--- a/BTCPayServer/Views/UIServer/RPCService.cshtml
+++ b/BTCPayServer/Views/UIServer/RPCService.cshtml
@@ -67,7 +67,7 @@
<div id="qrCode"></div>
<div id="qrCodeData" data-url="@Model.ServiceLink"></div>
</div>
- <p>See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse">here</a></p>
+ <p text-translate="true">See QR Code information by clicking <a href="#detailsQR" data-bs-toggle="collapse" text-translate="true">here</a></p>
<div id="detailsQR" class="collapse">
<div class="form-group">
<label class="form-label" text-translate="true">QR Code data</label>
diff --git a/BTCPayServer/Views/UIServer/SSHService.cshtml b/BTCPayServer/Views/UIServer/SSHService.cshtml
index fc1fc06..0cd268f 100644
--- a/BTCPayServer/Views/UIServer/SSHService.cshtml
+++ b/BTCPayServer/Views/UIServer/SSHService.cshtml
@@ -58,7 +58,7 @@
<textarea asp-for="SSHKeyFileContent" rows="20" cols="80" class="form-control"></textarea>
<span asp-validation-for="SSHKeyFileContent" class="text-danger"></span>
</div>
- <button name="command" id="submit" type="submit" class="btn btn-primary" value="Save">Save</button>
+ <button name="command" id="submit" type="submit" class="btn btn-primary" value="Save" text-translate="true">Save</button>
</form>
</div>
</div>
diff --git a/BTCPayServer/Views/UIStorePullPayments/PullPayments.cshtml b/BTCPayServer/Views/UIStorePullPayments/PullPayments.cshtml
index ce3fec1..92af46a 100644
--- a/BTCPayServer/Views/UIStorePullPayments/PullPayments.cshtml
+++ b/BTCPayServer/Views/UIStorePullPayments/PullPayments.cshtml
@@ -32,8 +32,7 @@
<vc:icon symbol="info" />
</a>
</h2>
- <a id="page-primary" permission="@Policies.CanCreateNonApprovedPullPayments" asp-action="NewPullPayment" asp-route-storeId="@storeId" class="btn btn-primary" role="button"
- text-translate="true">
+ <a id="page-primary" permission="@Policies.CanCreateNonApprovedPullPayments" asp-action="NewPullPayment" asp-route-storeId="@storeId" class="btn btn-primary" role="button" text-translate="true">
Create Pull Payment
</a>
</div>
diff --git a/BTCPayServer/Views/UIStores/GeneralSettings.cshtml b/BTCPayServer/Views/UIStores/GeneralSettings.cshtml
index 74d58ad..1512c28 100644
--- a/BTCPayServer/Views/UIStores/GeneralSettings.cshtml
+++ b/BTCPayServer/Views/UIStores/GeneralSettings.cshtml
@@ -63,7 +63,7 @@
@if (!string.IsNullOrEmpty(Model.LogoUrl))
{
<button type="submit" class="btn btn-link p-0 text-danger" name="RemoveLogoFile" value="true">
- <vc:icon symbol="cross" /> Remove
+ <vc:icon symbol="cross" />Remove
</button>
}
</div>
@@ -90,7 +90,7 @@
@if (!string.IsNullOrEmpty(Model.CssUrl))
{
<button type="submit" class="btn btn-link p-0 text-danger" name="RemoveCssFile" value="true">
- <vc:icon symbol="cross" /> Remove
+ <vc:icon symbol="cross" />Remove
</button>
}
</div>
@@ -100,7 +100,7 @@
<input asp-for="CssFile" type="file" class="form-control flex-grow">
@if (!string.IsNullOrEmpty(Model.CssUrl))
{
- <a href="@Model.CssUrl" target="_blank" rel="noreferrer noopener" class="text-nowrap">Custom CSS</a>
+ <a href="@Model.CssUrl" target="_blank" rel="noreferrer noopener" class="text-nowrap" text-translate="true">Custom CSS</a>
}
</div>
<span asp-validation-for="LogoFile" class="text-danger"></span>
@@ -164,7 +164,7 @@
<label asp-for="BOLT11Expiration" class="form-label"></label>
<div class="input-group">
<input inputmode="numeric" asp-for="BOLT11Expiration" class="form-control" style="max-width:12ch;"/>
- <span class="input-group-text" text-translate="true" text-translate="true">days</span>
+ <span class="input-group-text" text-translate="true">days</span>
</div>
<span asp-validation-for="BOLT11Expiration" class="text-danger"></span>
</div>
diff --git a/BTCPayServer/Views/UIStores/RequestPairing.cshtml b/BTCPayServer/Views/UIStores/RequestPairing.cshtml
index a8bb781..185b4c9 100644
--- a/BTCPayServer/Views/UIStores/RequestPairing.cshtml
+++ b/BTCPayServer/Views/UIStores/RequestPairing.cshtml
@@ -44,18 +44,18 @@
<div class="col-sm-8 col-md-6 @(store is null ? "mx-auto" : "")">
<table class="table table-hover">
<tr>
- <th>Label</th>
+ <th text-translate="true">Label</th>
<td class="text-end">@Model.Label</td>
</tr>
<tr>
- <th>SIN</th>
+ <th text-translate="true">SIN</th>
<td class="text-end">@Model.SIN</td>
</tr>
</table>
@if (store is null)
{
<div class="form-group">
- <label asp-for="StoreId" class="form-label">Pair To Store</label>
+ <label asp-for="StoreId" class="form-label" text-translate="true">Pair To Store</label>
<select asp-for="StoreId" asp-items="@(new SelectList(Model.Stores, "Id", "Name"))" class="form-select"></select>
<span asp-validation-for="StoreId" class="text-danger"></span>
</div>
diff --git a/BTCPayServer/Views/UIWallets/WalletLabels.cshtml b/BTCPayServer/Views/UIWallets/WalletLabels.cshtml
index f4fc349..e934107 100644
--- a/BTCPayServer/Views/UIWallets/WalletLabels.cshtml
+++ b/BTCPayServer/Views/UIWallets/WalletLabels.cshtml
@@ -67,18 +67,14 @@
<td class="text-end">
<a class="btn btn-link p-0 me-3"
href="@Url.Action("ReservedAddresses", "UIWallets", new { walletId = Model.WalletId.ToString(), filter = label.Label })"
- title="View Reserved Addresses with this label">
+ title="@StringLocalizer["View Reserved Addresses with this label"]" text-translate="true">
Addresses
</a>
<button class="btn btn-link btn-edit p-0 me-3" type="button"
data-label="@label.Label" text-translate="true">Edit
</button>
- <form method="post" asp-action="DeleteWalletLabel" asp-route-walletId="@Model.WalletId" asp-route-id="@label.Label"
- class="d-inline">
- <button class="btn btn-link btn-delete p-0 me-3" type="submit" data-bs-toggle="modal" data-bs-target="#ConfirmModal"
- data-description="@StringLocalizer["The label {0} will be deleted from this wallet and its associated transactions.", Html.Encode(label.Label)]"
- data-confirm-input="@StringLocalizer["DELETE"]" text-translate="true">Delete
- </button>
+ <form method="post" asp-action="DeleteWalletLabel" asp-route-walletId="@Model.WalletId" asp-route-id="@label.Label" class="d-inline">
+ <button class="btn btn-link btn-delete p-0 me-3" type="submit" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-description="@StringLocalizer["The label {0} will be removed from this wallet and its associated transactions.", Html.Encode(label.Label)]" data-confirm-input="@StringLocalizer["DELETE"]" text-translate="true">Remove</button>
</form>
</td>
</tr>
diff --git a/BTCPayServer/Views/UIWallets/WalletReceive.cshtml b/BTCPayServer/Views/UIWallets/WalletReceive.cshtml
index b2630f3..45d9816 100644
--- a/BTCPayServer/Views/UIWallets/WalletReceive.cshtml
+++ b/BTCPayServer/Views/UIWallets/WalletReceive.cshtml
@@ -101,7 +101,7 @@
<div class="payment-box mt-3">
<a class="btn btn-outline-info w-100"
id="reserved-addresses-button"
- asp-controller="UIWallets" asp-action="ReservedAddresses" asp-route-walletId="@walletId">
+ asp-controller="UIWallets" asp-action="ReservedAddresses" asp-route-walletId="@walletId" text-translate="true">
Reserved Addresses
</a>
</div>
diff --git a/BTCPayServer/Views/UIWallets/WalletTransactions.cshtml b/BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
index 18ecd8a..ce1fb65 100644
--- a/BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
+++ b/BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
@@ -175,9 +175,9 @@
Export
</button>
<div class="dropdown-menu" aria-labelledby="ExportDropdownToggle">
- <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="csv" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportCSV">CSV</a>
- <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="json" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportJSON">JSON</a>
- <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="bip329" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportBIP329">Wallet Labels (BIP-329)</a>
+ <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="csv" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportCSV" text-translate="true">CSV</a>
+ <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="json" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportJSON" text-translate="true">JSON</a>
+ <a asp-action="Export" asp-route-walletId="@walletId" asp-route-format="bip329" asp-route-labelFilter="@labelFilter" class="dropdown-item export-link" target="_blank" id="ExportBIP329" text-translate="true">Wallet Labels (BIP-329)</a>
</div>
</div>
</div>
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.