Make usage of 2-word Address Book consistent across console instead of mixed up(AddressBook, Address Book, addressbook, Addressbook, address book). Upper-case in app titles, lower-case in the text. Change CSS on address book to have the rounded buttons used in the rest of the console.

This commit is contained in:
idk
2021-01-23 21:04:49 -05:00
parent c95430f33b
commit c400232cdf
18 changed files with 38 additions and 36 deletions

View File

@@ -2597,6 +2597,7 @@ input[type="submit"] {
font-size: 12pt !important; font-size: 12pt !important;
padding: 4px 1px 3px !important; padding: 4px 1px 3px !important;
min-width: 300px; min-width: 300px;
border-radius: 0px 0px 6px 6px;
} }
.snarkTorrentStatus b { .snarkTorrentStatus b {
@@ -2633,6 +2634,7 @@ input[type="submit"] {
.snarkConfigTitle a { .snarkConfigTitle a {
font-size: 12.5pt !important; font-size: 12.5pt !important;
margin-top: 0 !important; margin-top: 0 !important;
border-radius: 0px 0px 6px 6px;
} }
} }

View File

@@ -298,7 +298,7 @@ public abstract class LocalHTTPServer {
.append(conURL).append("help.jsp\">").append(_t("Help")).append("</a>"); .append(conURL).append("help.jsp\">").append(_t("Help")).append("</a>");
if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) { if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) {
buf.append(" <a href=\"").append(conURL).append("susidns/index\">") buf.append(" <a href=\"").append(conURL).append("susidns/index\">")
.append(_t("Addressbook")).append("</a>\n"); .append(_t("Address book")).append("</a>\n");
} }
buf.append("</div>" + buf.append("</div>" +
"<div class=warning id=warning>\n" + "<div class=warning id=warning>\n" +
@@ -368,13 +368,13 @@ public abstract class LocalHTTPServer {
"<a href=\"" + conURL + "\" title=\"" + _t("Router Console") + "\"><img src=\"http://proxy.i2p/themes/console/images/i2plogo.png\" alt=\"I2P Router Console\" border=\"0\"></a><hr>\n" + "<a href=\"" + conURL + "\" title=\"" + _t("Router Console") + "\"><img src=\"http://proxy.i2p/themes/console/images/i2plogo.png\" alt=\"I2P Router Console\" border=\"0\"></a><hr>\n" +
"<a href=\"" + conURL + "config\">" + _t("Configuration") + "</a> <a href=\"" + conURL + "help.jsp\">" + _t("Help") + "</a>").getBytes("UTF-8")); "<a href=\"" + conURL + "config\">" + _t("Configuration") + "</a> <a href=\"" + conURL + "help.jsp\">" + _t("Help") + "</a>").getBytes("UTF-8"));
if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) if (pm.isRegistered(PortMapper.SVC_SUSIDNS))
out.write((" <a href=\"" + conURL + "susidns/index\">" + _t("Addressbook") + "</a>\n").getBytes("UTF-8")); out.write((" <a href=\"" + conURL + "susidns/index\">" + _t("Address Book") + "</a>\n").getBytes("UTF-8"));
out.write(("</div>" + out.write(("</div>" +
"<div class=warning id=warning>\n" + "<div class=warning id=warning>\n" +
"<h3>" + "<h3>" +
(success ? (success ?
_t("Saved {0} to the {1} addressbook, redirecting now.", host, tbook) : _t("Saved {0} to the {1} address book, redirecting now.", host, tbook) :
_t("Failed to save {0} to the {1} addressbook, redirecting now.", host, tbook)) + _t("Failed to save {0} to the {1} address book, redirecting now.", host, tbook)) +
"</h3>\n<p><a href=\"" + url + "\">" + "</h3>\n<p><a href=\"" + url + "\">" +
_t("Click here if you are not redirected automatically.") + _t("Click here if you are not redirected automatically.") +
"</a></p></div>").getBytes("UTF-8")); "</a></p></div>").getBytes("UTF-8"));
@@ -402,7 +402,7 @@ public abstract class LocalHTTPServer {
"<a href=\"" + conURL + "\" title=\"" + _t("Router Console") + "\"><img src=\"http://proxy.i2p/themes/console/images/i2plogo.png\" alt=\"I2P Router Console\" border=\"0\"></a><hr>\n" + "<a href=\"" + conURL + "\" title=\"" + _t("Router Console") + "\"><img src=\"http://proxy.i2p/themes/console/images/i2plogo.png\" alt=\"I2P Router Console\" border=\"0\"></a><hr>\n" +
"<a href=\"" + conURL + "config\">" + _t("Configuration") + "</a> <a href=\"" + conURL + "help.jsp\">" + _t("Help") + "</a>").getBytes("UTF-8")); "<a href=\"" + conURL + "config\">" + _t("Configuration") + "</a> <a href=\"" + conURL + "help.jsp\">" + _t("Help") + "</a>").getBytes("UTF-8"));
if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) if (pm.isRegistered(PortMapper.SVC_SUSIDNS))
out.write((" <a href=\"" + conURL + "susidns/index\">" + _t("Addressbook") + "</a>\n").getBytes("UTF-8")); out.write((" <a href=\"" + conURL + "susidns/index\">" + _t("Address Book") + "</a>\n").getBytes("UTF-8"));
out.write(("</div>" + out.write(("</div>" +
"<div class=warning id=warning>\n" + "<div class=warning id=warning>\n" +
"<h3>" + "<h3>" +

View File

@@ -246,7 +246,7 @@ public class ConfigClientsHelper extends HelperBase {
else if (app.equals("imagegen")) else if (app.equals("imagegen"))
desc = _t("Identification Image Generator"); desc = _t("Identification Image Generator");
else if (app.equals("susidns")) else if (app.equals("susidns"))
desc = _t("Addressbook"); desc = _t("Address Book");
else if (app.equals("susimail")) else if (app.equals("susimail"))
desc = _t("Email"); desc = _t("Email");
else else

View File

@@ -45,7 +45,7 @@ public class HomeHelper extends HelperBase {
_x("Hidden Services Manager") + S + _x("Control your client and server tunnels") + S + "/i2ptunnelmgr" + S + I + "server_32x32.png" + S + _x("Hidden Services Manager") + S + _x("Control your client and server tunnels") + S + "/i2ptunnelmgr" + S + I + "server_32x32.png" + S +
_x("Torrents") + S + _x("Built-in anonymous BitTorrent Client") + S + "/torrents" + S + I + "i2psnark.png" + S + _x("Torrents") + S + _x("Built-in anonymous BitTorrent Client") + S + "/torrents" + S + I + "i2psnark.png" + S +
_x("Web Server") + S + _x("Local web server for hosting your own content on I2P") + S + "http://127.0.0.1:7658/" + S + I + "server_32x32.png" + S + _x("Web Server") + S + _x("Local web server for hosting your own content on I2P") + S + "http://127.0.0.1:7658/" + S + I + "server_32x32.png" + S +
_x("Addressbook") + S + _x("Manage your I2P hosts file here (I2P domain name resolution)") + S + "/dns" + S + I + "book_addresses.png" + S + _x("Address Book") + S + _x("Manage your I2P hosts file here (I2P domain name resolution)") + S + "/dns" + S + I + "book_addresses.png" + S +
""; "";
/** @since 0.9.44 */ /** @since 0.9.44 */

View File

@@ -540,9 +540,9 @@ class NetDbRenderer {
String b32 = key.toBase32(); String b32 = key.toBase32();
buf.append("<a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>"); buf.append("<a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>");
if (linkSusi && !unpublished && host == null) { if (linkSusi && !unpublished && host == null) {
buf.append("<td class=\"addtobook\" colspan=\"2\">").append("<a title=\"").append(_t("Add to addressbook")) buf.append("<td class=\"addtobook\" colspan=\"2\">").append("<a title=\"").append(_t("Add to address book"))
.append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=") .append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
.append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("</a></td>"); .append(dest.toBase64()).append("#add\">").append(_t("Add to local address book")).append("</a></td>");
} // else probably a client } // else probably a client
} }
} else { } else {
@@ -563,9 +563,9 @@ class NetDbRenderer {
buf.append(" colspan=\"2\""); buf.append(" colspan=\"2\"");
buf.append("><a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>\n"); buf.append("><a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>\n");
if (linkSusi && dest != null) { if (linkSusi && dest != null) {
buf.append("<td class=\"addtobook\"><a title=\"").append(_t("Add to addressbook")) buf.append("<td class=\"addtobook\"><a title=\"").append(_t("Add to address book"))
.append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=") .append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
.append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("</a></td>"); .append(dest.toBase64()).append("#add\">").append(_t("Add to local address book")).append("</a></td>");
} }
} }
} }

View File

@@ -343,7 +343,7 @@ class SummaryBarRenderer {
StringBuilder rbuf = new StringBuilder(128); StringBuilder rbuf = new StringBuilder(128);
PortMapper pm = _context.portMapper(); PortMapper pm = _context.portMapper();
if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) { if (pm.isRegistered(PortMapper.SVC_SUSIDNS)) {
String tx = _t("Addressbook"); String tx = _t("Address Book");
rbuf.append("<a href=\"/dns\" target=\"_top\" title=\"") rbuf.append("<a href=\"/dns\" target=\"_top\" title=\"")
.append(_t("Manage your I2P hosts file here (I2P domain name resolution)")) .append(_t("Manage your I2P hosts file here (I2P domain name resolution)"))
.append("\">") .append("\">")

View File

@@ -25,7 +25,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<div class="configure"> <div class="configure">
<h3 id="webappconfig"><a name="webapp"></a><%=intl._t("WebApp Configuration")%></h3><p> <h3 id="webappconfig"><a name="webapp"></a><%=intl._t("WebApp Configuration")%></h3><p>
<p class="infohelp" id="webappconfigtext"> <p class="infohelp" id="webappconfigtext">
<%=intl._t("The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark), front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook).")%>&nbsp; <%=intl._t("The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark), front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. address book).")%>&nbsp;
<%=intl._t("A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method.")%> <%=intl._t("A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method.")%>
</p><div class="wideload"> </p><div class="wideload">
<form action="configwebapps" method="POST"> <form action="configwebapps" method="POST">

View File

@@ -23,7 +23,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head> <html><head>
<%@include file="css.jsi" %> <%@include file="css.jsi" %>
<%=intl.title("addressbook")%> <%=intl.title("Address Book")%>
<script src="/js/iframed.js?<%=net.i2p.CoreVersion.VERSION%>" type="text/javascript"></script> <script src="/js/iframed.js?<%=net.i2p.CoreVersion.VERSION%>" type="text/javascript"></script>
<%@include file="summaryajax.jsi" %> <%@include file="summaryajax.jsi" %>
<script nonce="<%=cspNonce%>" type="text/javascript"> <script nonce="<%=cspNonce%>" type="text/javascript">

View File

@@ -265,7 +265,7 @@ h3#helpfaq {
margin: -7px; margin: -7px;
padding: 6px 2px !important; padding: 6px 2px !important;
background: #dee2e6; background: #dee2e6;
border-radius: 6px;
text-decoration: none !important; text-decoration: none !important;
color: #343a40; color: #343a40;
box-shadow: inset 0 0 0 1px #dee2e6; box-shadow: inset 0 0 0 1px #dee2e6;

View File

@@ -25,7 +25,7 @@ Once green circles are indicated next to your <i>Local Tunnels</i>, there is a w
<li><b>Hidden Services and Public Web Browsing</b><br> <li><b>Hidden Services and Public Web Browsing</b><br>
On I2P you can access hidden service websites ("I2P sites") and other services, and you can host your own services. On I2P you can access hidden service websites ("I2P sites") and other services, and you can host your own services.
You can also access the normal web anonymously via I2P's built-in web proxy (outproxy). You can also access the normal web anonymously via I2P's built-in web proxy (outproxy).
<a href="https://geti2p.net/en/about/browser-config" target="_blank">Configure your browser</a> to use the HTTP proxy at <code>127.0.0.1 port 4444</code>, then browse to a I2P Site or a web-site at an <code>http://</code> address. <a href="https://geti2p.net/en/about/browser-config" target="_blank">Configure your browser</a> to use the HTTP proxy at <code>127.0.0.1 port 4444</code>, then browse to a I2P Site or a web-site at an <code>http://</code> or <code>https://</code> address.
If you wish to disable or change outproxy access to the non-anonymous internet, remove or modify the outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy Tunnel Editor</a>. If you wish to disable or change outproxy access to the non-anonymous internet, remove or modify the outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy Tunnel Editor</a>.
In the "Sites of Interest" section <a href="#eepsites">below</a>, we list a few of the sites hosted on I2P.<br> In the "Sites of Interest" section <a href="#eepsites">below</a>, we list a few of the sites hosted on I2P.<br>
There are also a number of semi-official and unofficial efforts to build browsing tools for I2P, There are also a number of semi-official and unofficial efforts to build browsing tools for I2P,

View File

@@ -207,7 +207,7 @@ public class AddressbookBean extends BaseBean
} else { } else {
if (resultCount <= 0) if (resultCount <= 0)
// covered in jsp // covered in jsp
//message = _t("This addressbook is empty."); //message = _t("This address book is empty.");
message = ""; message = "";
else else
message = ngettext("Address book contains 1 entry.", message = ngettext("Address book contains 1 entry.",
@@ -366,7 +366,7 @@ public class AddressbookBean extends BaseBean
message += "<br>" + _t("Address book saved."); message += "<br>" + _t("Address book saved.");
} catch (IOException e) { } catch (IOException e) {
warn(e); warn(e);
message += "<br>" + _t("ERROR: Could not write addressbook file."); message += "<br>" + _t("ERROR: Could not write address book file.");
} }
} }
} }

View File

@@ -145,7 +145,7 @@ public class SubscriptionsBean extends BaseBean
*******/ *******/
if (content != null && content.length() > 2 && if (content != null && content.length() > 2 &&
_context.portMapper().isRegistered(PortMapper.SVC_HTTP_PROXY)) { _context.portMapper().isRegistered(PortMapper.SVC_HTTP_PROXY)) {
message = _t("Subscriptions saved, updating addressbook from subscription sources now."); message = _t("Subscriptions saved, updating address book from subscription sources now.");
// + "<img height=\"1\" width=\"1\" alt=\"\" " + // + "<img height=\"1\" width=\"1\" alt=\"\" " +
// "src=\"/addressbook/?wakeup=1&nonce=" + nonce + "\">"; // "src=\"/addressbook/?wakeup=1&nonce=" + nonce + "\">";
_context.namingService().requestUpdate(null); _context.namingService().requestUpdate(null);

View File

@@ -179,7 +179,7 @@ ${book.loadBookMessages}
<th><%=intl._t("Destination")%></th> <th><%=intl._t("Destination")%></th>
<c:if test="${book.validBook}"> <c:if test="${book.validBook}">
<th title="<%=intl._t("Select hosts for deletion from addressbook")%>"></th> <th title="<%=intl._t("Select hosts for deletion from address book")%>"></th>
</c:if> </c:if>
</tr> </tr>
@@ -199,7 +199,7 @@ ${book.loadBookMessages}
%> %>
<a href="http://${addr.name}/" target="_top">${addr.displayName}</a></td> <a href="http://${addr.name}/" target="_top">${addr.displayName}</a></td>
<td class="names"><span class="addrhlpr"><a href="http://${addr.b32}/" target="_blank" title="<%=intl._t("Base 32 address")%>">b32</a></span></td> <td class="names"><span class="addrhlpr"><a href="http://${addr.b32}/" target="_blank" title="<%=intl._t("Base 32 address")%>">b32</a></span></td>
<td class="helper"><a href="http://${addr.name}/?i2paddresshelper=${addr.destination}" target="_blank" title="<%=intl._t("Helper link to share host address with option to add to addressbook")%>">link</a></td> <td class="helper"><a href="http://${addr.name}/?i2paddresshelper=${addr.destination}" target="_blank" title="<%=intl._t("Helper link to share host address with option to add to address book")%>">link</a></td>
<td class="names"><span class="addrhlpr"><a href="details?h=${addr.name}&amp;book=${book.book}" title="<%=intl._t("More information on this entry")%>"><%=intl._t("details")%></a></span></td> <td class="names"><span class="addrhlpr"><a href="details?h=${addr.name}&amp;book=${book.book}" title="<%=intl._t("More information on this entry")%>"><%=intl._t("details")%></a></span></td>
<td class="destinations"><div class="destaddress resetScrollLeft" name="dest_${addr.name}" width="200px" tabindex="0">${addr.destination}</div></td> <td class="destinations"><div class="destaddress resetScrollLeft" name="dest_${addr.name}" width="200px" tabindex="0">${addr.destination}</div></td>

View File

@@ -71,15 +71,15 @@
<h3><%=intl._t("Hints")%></h3> <h3><%=intl._t("Hints")%></h3>
<ol> <ol>
<li> <li>
<%=intl._t("File and directory paths here are relative to the addressbook's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %LOCALAPPDATA%\\I2P\\addressbook\\ (Windows).")%> <%=intl._t("File and directory paths here are relative to the address book's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %LOCALAPPDATA%\\I2P\\addressbook\\ (Windows).")%>
</li> </li>
<li> <li>
<%=intl._t("If you want to manually add lines to an addressbook, add them to the private or local addressbooks.")%> <%=intl._t("If you want to manually add lines to an address book, add them to the private or local address books.")%>
<%=intl._t("The router addressbook and the published addressbook are updated by the addressbook application.")%> <%=intl._t("The router address book and the published address book are updated by the address book application.")%>
</li> </li>
<li> <li>
<%=intl._t("When you publish your addressbook, ALL destinations from the local and router addressbooks appear there.")%> <%=intl._t("When you publish your address book, ALL destinations from the local and router address books appear there.")%>
<%=intl._t("Use the private addressbook for private destinations, these are not published.")%> <%=intl._t("Use the private address book for private destinations, these are not published.")%>
</li> </li>
</ol> </ol>
<h3><%=intl._t("Options")%></h3> <h3><%=intl._t("Options")%></h3>
@@ -97,10 +97,10 @@
<%=intl._t("Your hosts.txt (don't change)")%> <%=intl._t("Your hosts.txt (don't change)")%>
</li> </li>
<li><b>local_addressbook</b> - <li><b>local_addressbook</b> -
<%=intl._t("Your personal addressbook, these hosts will be published")%> <%=intl._t("Your personal address book, these hosts will be published")%>
</li> </li>
<li><b>private_addressbook</b> - <li><b>private_addressbook</b> -
<%=intl._t("Your private addressbook, it is never published")%> <%=intl._t("Your private address book, it is never published")%>
</li> </li>
<li><b>proxy_port</b> - <li><b>proxy_port</b> -
<%=intl._t("Port for your eepProxy (no need to change)")%> <%=intl._t("Port for your eepProxy (no need to change)")%>
@@ -109,7 +109,7 @@
<%=intl._t("Hostname for your eepProxy (no need to change)")%> <%=intl._t("Hostname for your eepProxy (no need to change)")%>
</li> </li>
<li><b>should_publish</b> - <li><b>should_publish</b> -
<%=intl._t("Whether to update the published addressbook")%> <%=intl._t("Whether to update the published address book")%>
</li> </li>
<li><b>etags</b> - <li><b>etags</b> -
<%=intl._t("File containing the etags header from the fetched subscription URLs (no need to change)")%> <%=intl._t("File containing the etags header from the fetched subscription URLs (no need to change)")%>

View File

@@ -32,7 +32,7 @@
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${book.book} <%=intl._t("addressbook")%> - susidns</title> <title>${book.book} <%=intl._t("address book")%> - susidns</title>
<link rel="stylesheet" type="text/css" href="<%=book.getTheme()%>susidns.css?<%=net.i2p.CoreVersion.VERSION%>"> <link rel="stylesheet" type="text/css" href="<%=book.getTheme()%>susidns.css?<%=net.i2p.CoreVersion.VERSION%>">
<script src="js/messages.js?<%=net.i2p.CoreVersion.VERSION%>" type="text/javascript"></script> <script src="js/messages.js?<%=net.i2p.CoreVersion.VERSION%>" type="text/javascript"></script>
</head> </head>

View File

@@ -62,9 +62,9 @@
</div> </div>
<hr> <hr>
<div id="content"> <div id="content">
<h3><%=intl._t("What is the addressbook?")%></h3> <h3><%=intl._t("What is the address book?")%></h3>
<p> <p>
<%=intl._t("The addressbook application is part of your I2P installation.")%> <%=intl._t("The address book application is part of your I2P installation.")%>
<%=intl._t("It regularly updates your hosts.txt file from distributed sources or \"subscriptions\".")%> <%=intl._t("It regularly updates your hosts.txt file from distributed sources or \"subscriptions\".")%>
</p> </p>
<p> <p>
@@ -74,9 +74,9 @@
<p> <p>
<%=intl._t("For more information on naming in I2P, see <a href=\"http://i2p-projekt.i2p/naming.html\" target=\"_blank\">the overview</a>.")%> <%=intl._t("For more information on naming in I2P, see <a href=\"http://i2p-projekt.i2p/naming.html\" target=\"_blank\">the overview</a>.")%>
</p> </p>
<h3><%=intl._t("How does the addressbook application work?")%></h3> <h3><%=intl._t("How does the address book application work?")%></h3>
<p> <p>
<%=intl._t("The addressbook application regularly polls your subscriptions and merges their content into your \"router\" address book.")%> <%=intl._t("The address book application regularly polls your subscriptions and merges their content into your \"router\" address book.")%>
<%=intl._t("Then it merges your \"local\" address book into the router address book as well.")%> <%=intl._t("Then it merges your \"local\" address book into the router address book as well.")%>
<%=intl._t("If configured, the router address book is now written to the \"published\" address book, which will be publicly available if you are running an I2P Site.")%> <%=intl._t("If configured, the router address book is now written to the \"published\" address book, which will be publicly available if you are running an I2P Site.")%>
</p><p> </p><p>

View File

@@ -69,7 +69,7 @@
<div class="help" id="helpsubs"> <div class="help" id="helpsubs">
<p class="help"> <p class="help">
<%=intl._t("The subscription file contains a list of i2p URLs.")%> <%=intl._t("The subscription file contains a list of i2p URLs.")%>
<%=intl._t("The addressbook application regularly checks this list for new I2P Sites.")%> <%=intl._t("The address book application regularly checks this list for new I2P Sites.")%>
<%=intl._t("Those URLs refer to published hosts.txt files.")%> <%=intl._t("Those URLs refer to published hosts.txt files.")%>
<%=intl._t("The default subscription is the hosts.txt from {0}, which is updated infrequently.", "i2p-projekt.i2p")%> <%=intl._t("The default subscription is the hosts.txt from {0}, which is updated infrequently.", "i2p-projekt.i2p")%>
<%=intl._t("So it is a good idea to add additional subscriptions to sites that have the latest addresses.")%> <%=intl._t("So it is a good idea to add additional subscriptions to sites that have the latest addresses.")%>

View File

@@ -589,7 +589,7 @@ textarea[name="config"]:focus, textarea[name="content"]:focus {
margin: 2px 1px; margin: 2px 1px;
padding: 4px 8px; padding: 4px 8px;
border: 1px solid #dee2e6; border: 1px solid #dee2e6;
border-radius: 2px; border-radius: 6px;
color: #3b6bbf; color: #3b6bbf;
text-align: center; text-align: center;