" << tr(/* tr: Shown when router doesn't publish itself and have "Firewalled" state */ "supported");
+ /* tr: Shown when router doesn't publish itself and have "Firewalled" state */
+ s << "
" << tr("supported");
if (address->port)
s << " :" << address->port;
s << "
\r\n";
@@ -386,7 +390,7 @@ namespace http {
s << "\r\n";
}
}
- s << "
\r\n"
"\r\n" << tr("Note: result string can be used only for registering 2LD domains (example.i2p). For registering subdomains please use i2pd-tools.") << "\r\n
\r\n
\r\n \r\n";
+ "\r\n"
+ "" << tr("Note: result string can be used only for registering 2LD domains (example.i2p). For registering subdomains please use i2pd-tools.") << "\r\n"
+ "
\r\n
\r\n \r\n";
}
if (dest->GetNumRemoteLeaseSets())
{
s << "
\r\n";
+ s << "\r\n\r\n"; // class slide class slidecontent
+ s << "\r\n"; // class leaseset listitem
}
);
// end for each lease set
+ s << "\r\n";
}
else if (!i2p::context.IsFloodfill ())
{
@@ -861,7 +880,9 @@ namespace http {
if (i2p::tunnel::tunnels.CountTransitTunnels())
{
s << "" << tr("Transit Tunnels") << ": \r\n";
- s << "
⇒
ID
⇒
" << tr("Amount") << "
" << tr("Next") << "
";
+ s << "
\r\n";
+ s << "
⇒
ID
⇒
" << tr("Amount") << "
" << tr("Next") << "
\r\n";
+ s << "";
for (const auto& it: i2p::tunnel::tunnels.GetTransitTunnels ())
{
if (std::dynamic_pointer_cast(it))
@@ -873,11 +894,13 @@ namespace http {
ShowTraffic(s, it->GetNumTransmittedBytes ());
s << "
" << it->GetNextPeerName () << "
\r\n";
}
- s << "
\r\n";
+ s << "\r\n
\r\n";
}
else
{
- s << "" << tr("Transit Tunnels") << ": " << tr(/* Message on transit tunnels page */ "no transit tunnels currently built") << ". \r\n";
+ s << "" << tr("Transit Tunnels") << ": ";
+ /* Message on transit tunnels page */
+ s << tr("no transit tunnels currently built") << ". \r\n";
}
}
@@ -932,13 +955,17 @@ namespace http {
if (!tmp_s.str ().empty ())
{
s << "