luci-app-acme: fix i18n compile warn
authorPaul Donald <redacted>
Tue, 3 Feb 2026 06:46:33 +0000 (07:46 +0100)
committerPaul Donald <redacted>
Tue, 3 Feb 2026 07:49:04 +0000 (08:49 +0100)
Message contains an embedded URL.
Better move it out of the translatable string

Signed-off-by: Paul Donald <redacted>
applications/luci-app-acme/htdocs/luci-static/resources/view/acme/acme.js

index 0412395c3b56a1129cd3a9162615f1f3d46cc30b..d3e71ae3d62b9ee4ec19e96d690c7616b988e4c3 100644 (file)
@@ -40,12 +40,12 @@ return view.extend({
                m = new form.Map("acme", _("ACME certificates"),
                        _("This configures ACME (Letsencrypt) automatic certificate installation. " +
                                "Simply fill out this to have the router configured with Letsencrypt-issued " +
-                               "certificates for the web interface. " +
-                               "Note that the domain names in the certificate must already be configured to " +
-                               "point at the router's public IP address. " +
-                               "Once configured, issuing certificates can take a while. " +
-                               "Check the logs for progress and any errors.") + '<br/>' +
-                               _("Cert files are stored in") + ' <em>/etc/ssl/acme</em>'+ '<br />' +
+                               "certificates for the web interface.") + '<br />' +
+                       _("Note that the domain names in the certificate must already be configured to " +
+                               "point at the router's public IP address.") + '<br />' +
+                       _("Once configured, issuing certificates can take a while. " +
+                               "Check the logs for progress and any errors.") + '<br />' +
+                       _("Cert files are stored in") + ' <em>/etc/ssl/acme</em>'+ '<br />' +
                                '<a href="https://openwrt.org/docs/guide-user/services/tls/acmesh" target="_blank">' + _('See more') + '</a>'
                );
 
@@ -161,11 +161,12 @@ return view.extend({
                o.modalonly = true;
 
                o = s.taboption('challenge_dns', form.ListValue, 'dns', _('DNS API'),
-                       _("To use DNS mode to issue certificates, set this to the name of a DNS API supported by acme.sh. " +
-                               "See https://github.com/acmesh-official/acme.sh/wiki/dnsapi for the list of available APIs. " +
-                               "In DNS mode, the domain name does not have to resolve to the router IP. " +
-                               "DNS mode is also the only mode that supports wildcard certificates. " +
-                               "Using this mode requires the acme-dnsapi package to be installed."));
+                       _("To use DNS mode to issue certificates, set this to the name of a DNS API supported by acme.sh. ") + '<br />' +
+                       _("%s for the list of available APIs. "
+                               .format(`<a href="https://github.com/acmesh-official/acme.sh/wiki/dnsapi" target="_blank">${_('See more')}</a>`)) + '<br />' +
+                       _("In DNS mode, the domain name does not have to resolve to the router IP. ") + '<br />' +
+                       _("DNS mode is also the only mode that supports wildcard certificates. ") + '<br />' +
+                       _("Using this mode requires the acme-dnsapi package to be installed."));
                o.depends("validation_method", "dns");
                // List of supported DNS API. Names are same as file names in acme.sh for easier search.
                // May be outdated but not changed too often.
@@ -213,24 +214,27 @@ return view.extend({
                }
 
                o = s.taboption('challenge_dns', form.DynamicList, 'credentials', _('DNS API credentials'),
-                       _("The credentials for the DNS API mode selected above. " +
-                               "See https://github.com/acmesh-official/acme.sh/wiki/dnsapi for the format of credentials required by each API. " +
-                               "Add multiple entries here in KEY=VAL shell variable format to supply multiple credential variables."));
+                       _("The credentials for the DNS API mode selected above. ") + '<br />' +
+                       _("%s for the format of credentials required by each API. "
+                               .format(`<a href="https://github.com/acmesh-official/acme.sh/wiki/dnsapi" target="_blank">${_('See more')}</a>`)) + '<br />' +
+                       _("Add multiple entries here in KEY=VAL shell variable format to supply multiple credential variables."));
                o.datatype = "list(string)";
                o.depends("validation_method", "dns");
                o.modalonly = true;
 
                o = s.taboption('challenge_dns', form.Value, 'calias', _('Challenge Alias'),
-                       _("The challenge alias to use for ALL domains. " +
-                               "See https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode for the details of this process. " +
-                               "LUCI only supports one challenge alias per certificate."));
+                       _("The challenge alias to use for ALL domains. ") + '<br />' +
+                       _("%s for the details of this process. "
+                               .format(`<a href="https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode" target="_blank">${_('See more')}</a>`)) + '<br />' +
+                       _("LUCI only supports one challenge alias per certificate."));
                o.depends("validation_method", "dns");
                o.modalonly = true;
 
                o = s.taboption('challenge_dns', form.Value, 'dalias', _('Domain Alias'),
-                       _("The domain alias to use for ALL domains. " +
-                               "See https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode for the details of this process. " +
-                               "LUCI only supports one challenge domain per certificate."));
+                       _("The domain alias to use for ALL domains. ") + '<br />' +
+                       _("%s for the details of this process. "
+                               .format(`<a href="https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode" target="_blank">${_('See more')}</a>`)) + '<br />' +
+                       _("LUCI only supports one challenge domain per certificate."));
                o.depends("validation_method", "dns");
                o.modalonly = true;
 
git clone https://git.99rst.org/PROJECT