Browse Source

[i18n] update translatable strings (remove douplicates)

Signed-off-by: R4SAS <r4sas@i2pmail.org>
pull/1677/head
R4SAS 3 years ago
parent
commit
f036b8df2d
Signed by: r4sas
GPG Key ID: 66F6C87B98EBCFE2
  1. 180
      contrib/i18n/English.po
  2. 39
      daemon/HTTPServer.cpp
  3. 2
      libi2pd_client/HTTPProxy.cpp

180
contrib/i18n/English.po

@ -50,14 +50,17 @@ msgid_plural "seconds"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#. tr: Kibibit
#: daemon/HTTPServer.cpp:166 daemon/HTTPServer.cpp:194 #: daemon/HTTPServer.cpp:166 daemon/HTTPServer.cpp:194
msgid "KiB" msgid "KiB"
msgstr "" msgstr ""
#. tr: Mebibit
#: daemon/HTTPServer.cpp:168 #: daemon/HTTPServer.cpp:168
msgid "MiB" msgid "MiB"
msgstr "" msgstr ""
#. tr: Gibibit
#: daemon/HTTPServer.cpp:170 #: daemon/HTTPServer.cpp:170
msgid "GiB" msgid "GiB"
msgstr "" msgstr ""
@ -94,31 +97,32 @@ msgstr ""
msgid "Main page" msgid "Main page"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:233 daemon/HTTPServer.cpp:689 #: daemon/HTTPServer.cpp:233 daemon/HTTPServer.cpp:690
msgid "Router commands" msgid "Router commands"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:234 #: daemon/HTTPServer.cpp:234 daemon/HTTPServer.cpp:413
msgid "Local destinations" #: daemon/HTTPServer.cpp:425
msgid "Local Destinations"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:236 daemon/HTTPServer.cpp:388 #: daemon/HTTPServer.cpp:236 daemon/HTTPServer.cpp:388
#: daemon/HTTPServer.cpp:469 daemon/HTTPServer.cpp:475 #: daemon/HTTPServer.cpp:469 daemon/HTTPServer.cpp:475
#: daemon/HTTPServer.cpp:605 daemon/HTTPServer.cpp:648 #: daemon/HTTPServer.cpp:606 daemon/HTTPServer.cpp:649
#: daemon/HTTPServer.cpp:652 #: daemon/HTTPServer.cpp:653
msgid "LeaseSets" msgid "LeaseSets"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:238 daemon/HTTPServer.cpp:658 #: daemon/HTTPServer.cpp:238 daemon/HTTPServer.cpp:659
msgid "Tunnels" msgid "Tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:239 daemon/HTTPServer.cpp:746 #: daemon/HTTPServer.cpp:239 daemon/HTTPServer.cpp:395
#: daemon/HTTPServer.cpp:762 #: daemon/HTTPServer.cpp:753 daemon/HTTPServer.cpp:769
msgid "Transit tunnels" msgid "Transit Tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:240 daemon/HTTPServer.cpp:811 #: daemon/HTTPServer.cpp:240 daemon/HTTPServer.cpp:818
msgid "Transports" msgid "Transports"
msgstr "" msgstr ""
@ -126,15 +130,15 @@ msgstr ""
msgid "I2P tunnels" msgid "I2P tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:243 daemon/HTTPServer.cpp:873 #: daemon/HTTPServer.cpp:243 daemon/HTTPServer.cpp:880
#: daemon/HTTPServer.cpp:883 #: daemon/HTTPServer.cpp:890
msgid "SAM sessions" msgid "SAM sessions"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:259 daemon/HTTPServer.cpp:1273 #: daemon/HTTPServer.cpp:259 daemon/HTTPServer.cpp:1280
#: daemon/HTTPServer.cpp:1276 daemon/HTTPServer.cpp:1279 #: daemon/HTTPServer.cpp:1283 daemon/HTTPServer.cpp:1286
#: daemon/HTTPServer.cpp:1293 daemon/HTTPServer.cpp:1338 #: daemon/HTTPServer.cpp:1300 daemon/HTTPServer.cpp:1345
#: daemon/HTTPServer.cpp:1341 daemon/HTTPServer.cpp:1344 #: daemon/HTTPServer.cpp:1348 daemon/HTTPServer.cpp:1351
msgid "ERROR" msgid "ERROR"
msgstr "" msgstr ""
@ -156,8 +160,8 @@ msgid "Unknown"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:270 daemon/HTTPServer.cpp:400 #: daemon/HTTPServer.cpp:270 daemon/HTTPServer.cpp:400
#: daemon/HTTPServer.cpp:401 daemon/HTTPServer.cpp:941 #: daemon/HTTPServer.cpp:401 daemon/HTTPServer.cpp:948
#: daemon/HTTPServer.cpp:950 #: daemon/HTTPServer.cpp:957
msgid "Proxy" msgid "Proxy"
msgstr "" msgstr ""
@ -209,6 +213,7 @@ msgstr ""
msgid "Received" msgid "Received"
msgstr "" msgstr ""
#. tr: Kibibit/s
#: daemon/HTTPServer.cpp:328 daemon/HTTPServer.cpp:331 #: daemon/HTTPServer.cpp:328 daemon/HTTPServer.cpp:331
#: daemon/HTTPServer.cpp:334 #: daemon/HTTPServer.cpp:334
msgid "KiB/s" msgid "KiB/s"
@ -262,22 +267,14 @@ msgstr ""
msgid "Floodfills" msgid "Floodfills"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:394 daemon/HTTPServer.cpp:927 #: daemon/HTTPServer.cpp:394 daemon/HTTPServer.cpp:934
msgid "Client Tunnels" msgid "Client Tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:395
msgid "Transit Tunnels"
msgstr ""
#: daemon/HTTPServer.cpp:399 #: daemon/HTTPServer.cpp:399
msgid "Services" msgid "Services"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:413 daemon/HTTPServer.cpp:425
msgid "Local Destinations"
msgstr ""
#: daemon/HTTPServer.cpp:448 #: daemon/HTTPServer.cpp:448
msgid "Encrypted B33 address" msgid "Encrypted B33 address"
msgstr "" msgstr ""
@ -312,17 +309,17 @@ msgstr ""
msgid "EncType" msgid "EncType"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:480 daemon/HTTPServer.cpp:663 #: daemon/HTTPServer.cpp:480 daemon/HTTPServer.cpp:664
msgid "Inbound tunnels" msgid "Inbound tunnels"
msgstr "" msgstr ""
#. Milliseconds #. tr: Milliseconds
#: daemon/HTTPServer.cpp:485 daemon/HTTPServer.cpp:495 #: daemon/HTTPServer.cpp:485 daemon/HTTPServer.cpp:495
#: daemon/HTTPServer.cpp:668 daemon/HTTPServer.cpp:678 #: daemon/HTTPServer.cpp:669 daemon/HTTPServer.cpp:679
msgid "ms" msgid "ms"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:490 daemon/HTTPServer.cpp:673 #: daemon/HTTPServer.cpp:490 daemon/HTTPServer.cpp:674
msgid "Outbound tunnels" msgid "Outbound tunnels"
msgstr "" msgstr ""
@ -358,225 +355,222 @@ msgstr ""
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:535 daemon/HTTPServer.cpp:590 #: daemon/HTTPServer.cpp:535 daemon/HTTPServer.cpp:591
msgid "Local Destination" msgid "Local Destination"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:544 daemon/HTTPServer.cpp:906 #: daemon/HTTPServer.cpp:545 daemon/HTTPServer.cpp:913
msgid "Streams" msgid "Streams"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:566 #: daemon/HTTPServer.cpp:567
msgid "Close stream" msgid "Close stream"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:595 #: daemon/HTTPServer.cpp:596
msgid "I2CP session not found" msgid "I2CP session not found"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:598 #: daemon/HTTPServer.cpp:599
msgid "I2CP is not enabled" msgid "I2CP is not enabled"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:624 #: daemon/HTTPServer.cpp:625
msgid "Invalid" msgid "Invalid"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:627 #: daemon/HTTPServer.cpp:628
msgid "Store type" msgid "Store type"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:628 #: daemon/HTTPServer.cpp:629
msgid "Expires" msgid "Expires"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:633 #: daemon/HTTPServer.cpp:634
msgid "Non Expired Leases" msgid "Non Expired Leases"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:636 #: daemon/HTTPServer.cpp:637
msgid "Gateway" msgid "Gateway"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:637 #: daemon/HTTPServer.cpp:638
msgid "TunnelID" msgid "TunnelID"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:638 #: daemon/HTTPServer.cpp:639
msgid "EndDate" msgid "EndDate"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:648 #: daemon/HTTPServer.cpp:649
msgid "not floodfill" msgid "not floodfill"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:659 #: daemon/HTTPServer.cpp:660
msgid "Queue size" msgid "Queue size"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:690 #: daemon/HTTPServer.cpp:691
msgid "Run peer test" msgid "Run peer test"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:693 #: daemon/HTTPServer.cpp:698
msgid "Decline transit tunnels" msgid "Decline transit tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:695 #: daemon/HTTPServer.cpp:700
msgid "Accept transit tunnels" msgid "Accept transit tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:698 daemon/HTTPServer.cpp:703 #: daemon/HTTPServer.cpp:704 daemon/HTTPServer.cpp:709
msgid "Cancel graceful shutdown" msgid "Cancel graceful shutdown"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:700 daemon/HTTPServer.cpp:705 #: daemon/HTTPServer.cpp:706 daemon/HTTPServer.cpp:711
msgid "Start graceful shutdown" msgid "Start graceful shutdown"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:707 #: daemon/HTTPServer.cpp:714
msgid "Force shutdown" msgid "Force shutdown"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:710 #: daemon/HTTPServer.cpp:717
msgid "" msgid ""
"<b>Note:</b> any action done here are not persistent and not changes your " "<b>Note:</b> any action done here are not persistent and not changes your "
"config files." "config files."
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:712 #: daemon/HTTPServer.cpp:719
msgid "Logging level" msgid "Logging level"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:720 #: daemon/HTTPServer.cpp:727
msgid "Transit tunnels limit" msgid "Transit tunnels limit"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:725 daemon/HTTPServer.cpp:737 #: daemon/HTTPServer.cpp:732 daemon/HTTPServer.cpp:744
msgid "Change" msgid "Change"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:729 #: daemon/HTTPServer.cpp:736
msgid "Change language" msgid "Change language"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:762 #: daemon/HTTPServer.cpp:769
msgid "no transit tunnels currently built" msgid "no transit tunnels currently built"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:867 daemon/HTTPServer.cpp:890 #: daemon/HTTPServer.cpp:874 daemon/HTTPServer.cpp:897
msgid "SAM disabled" msgid "SAM disabled"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:883 #: daemon/HTTPServer.cpp:890
msgid "no sessions currently running" msgid "no sessions currently running"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:896 #: daemon/HTTPServer.cpp:903
msgid "SAM session not found" msgid "SAM session not found"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:901 #: daemon/HTTPServer.cpp:908
msgid "SAM Session" msgid "SAM Session"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:958 #: daemon/HTTPServer.cpp:965
msgid "Server Tunnels" msgid "Server Tunnels"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:974 #: daemon/HTTPServer.cpp:981
msgid "Client Forwards" msgid "Client Forwards"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:988 #: daemon/HTTPServer.cpp:995
msgid "Server Forwards" msgid "Server Forwards"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1194 #: daemon/HTTPServer.cpp:1201
msgid "Unknown page" msgid "Unknown page"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1213 #: daemon/HTTPServer.cpp:1220
msgid "Invalid token" msgid "Invalid token"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1271 daemon/HTTPServer.cpp:1328 #: daemon/HTTPServer.cpp:1278 daemon/HTTPServer.cpp:1335
#: daemon/HTTPServer.cpp:1364 #: daemon/HTTPServer.cpp:1371
msgid "SUCCESS" msgid "SUCCESS"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1271 #: daemon/HTTPServer.cpp:1278
msgid "Stream closed" msgid "Stream closed"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1273 #: daemon/HTTPServer.cpp:1280
msgid "Stream not found or already was closed" msgid "Stream not found or already was closed"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1276 #: daemon/HTTPServer.cpp:1283
msgid "Destination not found" msgid "Destination not found"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1279 #: daemon/HTTPServer.cpp:1286
msgid "StreamID can't be null" msgid "StreamID can't be null"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1281 daemon/HTTPServer.cpp:1346 #: daemon/HTTPServer.cpp:1288 daemon/HTTPServer.cpp:1353
msgid "Return to destination page" msgid "Return to destination page"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1282 daemon/HTTPServer.cpp:1295 #: daemon/HTTPServer.cpp:1289 daemon/HTTPServer.cpp:1302
msgid "You will be redirected back in 5 seconds" #: daemon/HTTPServer.cpp:1373
msgid "You will be redirected in 5 seconds"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1293 #: daemon/HTTPServer.cpp:1300
msgid "Transit tunnels count must not exceed 65535" msgid "Transit tunnels count must not exceed 65535"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1294 daemon/HTTPServer.cpp:1365 #: daemon/HTTPServer.cpp:1301 daemon/HTTPServer.cpp:1372
msgid "Back to commands list" msgid "Back to commands list"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1330 #: daemon/HTTPServer.cpp:1337
msgid "Register at reg.i2p" msgid "Register at reg.i2p"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1331 #: daemon/HTTPServer.cpp:1338
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1331 #: daemon/HTTPServer.cpp:1338
msgid "A bit information about service on domain" msgid "A bit information about service on domain"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1332 #: daemon/HTTPServer.cpp:1339
msgid "Submit" msgid "Submit"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1338 #: daemon/HTTPServer.cpp:1345
msgid "Domain can't end with .b32.i2p" msgid "Domain can't end with .b32.i2p"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1341 #: daemon/HTTPServer.cpp:1348
msgid "Domain must end with .i2p" msgid "Domain must end with .i2p"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1344 #: daemon/HTTPServer.cpp:1351
msgid "Such destination is not found" msgid "Such destination is not found"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1360 #: daemon/HTTPServer.cpp:1367
msgid "Unknown command" msgid "Unknown command"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1364 #: daemon/HTTPServer.cpp:1371
msgid "Command accepted" msgid "Command accepted"
msgstr "" msgstr ""
#: daemon/HTTPServer.cpp:1366
msgid "You will be redirected in 5 seconds"
msgstr ""
#: libi2pd_client/HTTPProxy.cpp:157 #: libi2pd_client/HTTPProxy.cpp:157
msgid "Proxy error" msgid "Proxy error"
msgstr "" msgstr ""
@ -598,7 +592,7 @@ msgid "You may try to find this host on jump services below"
msgstr "" msgstr ""
#: libi2pd_client/HTTPProxy.cpp:273 libi2pd_client/HTTPProxy.cpp:288 #: libi2pd_client/HTTPProxy.cpp:273 libi2pd_client/HTTPProxy.cpp:288
#: libi2pd_client/HTTPProxy.cpp:365 #: libi2pd_client/HTTPProxy.cpp:322 libi2pd_client/HTTPProxy.cpp:365
msgid "Invalid request" msgid "Invalid request"
msgstr "" msgstr ""
@ -643,10 +637,6 @@ msgstr ""
msgid "to update record" msgid "to update record"
msgstr "" msgstr ""
#: libi2pd_client/HTTPProxy.cpp:322
msgid "Invalid Request"
msgstr ""
#: libi2pd_client/HTTPProxy.cpp:322 #: libi2pd_client/HTTPProxy.cpp:322
msgid "invalid request uri" msgid "invalid request uri"
msgstr "" msgstr ""

39
daemon/HTTPServer.cpp

@ -163,11 +163,11 @@ namespace http {
s << std::fixed << std::setprecision(2); s << std::fixed << std::setprecision(2);
auto numKBytes = (double) bytes / 1024; auto numKBytes = (double) bytes / 1024;
if (numKBytes < 1024) if (numKBytes < 1024)
s << numKBytes << " " << tr("KiB"); s << numKBytes << " " << tr(/* tr: Kibibit */ "KiB");
else if (numKBytes < 1024 * 1024) else if (numKBytes < 1024 * 1024)
s << numKBytes / 1024 << " " << tr("MiB"); s << numKBytes / 1024 << " " << tr(/* tr: Mebibit */ "MiB");
else else
s << numKBytes / 1024 / 1024 << " " << tr("GiB"); s << numKBytes / 1024 / 1024 << " " << tr(/* tr: Gibibit */ "GiB");
} }
static void ShowTunnelDetails (std::stringstream& s, enum i2p::tunnel::TunnelState eState, bool explr, int bytes) static void ShowTunnelDetails (std::stringstream& s, enum i2p::tunnel::TunnelState eState, bool explr, int bytes)
@ -191,7 +191,7 @@ namespace http {
else stateText = tr("unknown"); else stateText = tr("unknown");
s << "<span class=\"tunnel " << state << "\"> " << stateText << ((explr) ? " (" + tr("exploratory") + ")" : "") << "</span>, "; s << "<span class=\"tunnel " << state << "\"> " << stateText << ((explr) ? " (" + tr("exploratory") + ")" : "") << "</span>, ";
s << " " << (int) (bytes / 1024) << "&nbsp;" << tr("KiB") << "\r\n"; s << " " << (int) (bytes / 1024) << "&nbsp;" << tr(/* tr: Kibibit */ "KiB") << "\r\n";
} }
static void SetLogLevel (const std::string& level) static void SetLogLevel (const std::string& level)
@ -231,12 +231,12 @@ namespace http {
"<div class=\"menu\">\r\n" "<div class=\"menu\">\r\n"
" <a href=\"" << webroot << "\">" << tr("Main page") << "</a><br><br>\r\n" " <a href=\"" << webroot << "\">" << tr("Main page") << "</a><br><br>\r\n"
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_COMMANDS << "\">" << tr("Router commands") << "</a><br>\r\n" " <a href=\"" << webroot << "?page=" << HTTP_PAGE_COMMANDS << "\">" << tr("Router commands") << "</a><br>\r\n"
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_LOCAL_DESTINATIONS << "\">" << tr("Local destinations") << "</a><br>\r\n"; " <a href=\"" << webroot << "?page=" << HTTP_PAGE_LOCAL_DESTINATIONS << "\">" << tr("Local Destinations") << "</a><br>\r\n";
if (i2p::context.IsFloodfill ()) if (i2p::context.IsFloodfill ())
s << " <a href=\"" << webroot << "?page=" << HTTP_PAGE_LEASESETS << "\">" << tr("LeaseSets") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?page=" << HTTP_PAGE_LEASESETS << "\">" << tr("LeaseSets") << "</a><br>\r\n";
s << s <<
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_TUNNELS << "\">" << tr("Tunnels") << "</a><br>\r\n" " <a href=\"" << webroot << "?page=" << HTTP_PAGE_TUNNELS << "\">" << tr("Tunnels") << "</a><br>\r\n"
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_TRANSIT_TUNNELS << "\">" << tr("Transit tunnels") << "</a><br>\r\n" " <a href=\"" << webroot << "?page=" << HTTP_PAGE_TRANSIT_TUNNELS << "\">" << tr("Transit Tunnels") << "</a><br>\r\n"
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_TRANSPORTS << "\">" << tr ("Transports") << "</a><br>\r\n" " <a href=\"" << webroot << "?page=" << HTTP_PAGE_TRANSPORTS << "\">" << tr ("Transports") << "</a><br>\r\n"
" <a href=\"" << webroot << "?page=" << HTTP_PAGE_I2P_TUNNELS << "\">" << tr("I2P tunnels") << "</a><br>\r\n"; " <a href=\"" << webroot << "?page=" << HTTP_PAGE_I2P_TUNNELS << "\">" << tr("I2P tunnels") << "</a><br>\r\n";
if (i2p::client::context.GetSAMBridge ()) if (i2p::client::context.GetSAMBridge ())
@ -325,13 +325,13 @@ namespace http {
s << "<b>" << tr("Tunnel creation success rate") << ":</b> " << i2p::tunnel::tunnels.GetTunnelCreationSuccessRate () << "%<br>\r\n"; s << "<b>" << tr("Tunnel creation success rate") << ":</b> " << i2p::tunnel::tunnels.GetTunnelCreationSuccessRate () << "%<br>\r\n";
s << "<b>" << tr("Received") << ":</b> "; s << "<b>" << tr("Received") << ":</b> ";
ShowTraffic (s, i2p::transport::transports.GetTotalReceivedBytes ()); ShowTraffic (s, i2p::transport::transports.GetTotalReceivedBytes ());
s << " (" << (double) i2p::transport::transports.GetInBandwidth () / 1024 << " " << tr("KiB/s") << ")<br>\r\n"; s << " (" << (double) i2p::transport::transports.GetInBandwidth () / 1024 << " " << tr(/* tr: Kibibit/s */ "KiB/s") << ")<br>\r\n";
s << "<b>" << tr("Sent") << ":</b> "; s << "<b>" << tr("Sent") << ":</b> ";
ShowTraffic (s, i2p::transport::transports.GetTotalSentBytes ()); ShowTraffic (s, i2p::transport::transports.GetTotalSentBytes ());
s << " (" << (double) i2p::transport::transports.GetOutBandwidth () / 1024 << " " << tr("KiB/s") << ")<br>\r\n"; s << " (" << (double) i2p::transport::transports.GetOutBandwidth () / 1024 << " " << tr(/* tr: Kibibit/s */ "KiB/s") << ")<br>\r\n";
s << "<b>" << tr("Transit") << ":</b> "; s << "<b>" << tr("Transit") << ":</b> ";
ShowTraffic (s, i2p::transport::transports.GetTotalTransitTransmittedBytes ()); ShowTraffic (s, i2p::transport::transports.GetTotalTransitTransmittedBytes ());
s << " (" << (double) i2p::transport::transports.GetTransitBandwidth () / 1024 << " " << tr("KiB/s") << ")<br>\r\n"; s << " (" << (double) i2p::transport::transports.GetTransitBandwidth () / 1024 << " " << tr(/* tr: Kibibit/s */ "KiB/s") << ")<br>\r\n";
s << "<b>" << tr("Data path") << ":</b> " << i2p::fs::GetUTF8DataDir() << "<br>\r\n"; s << "<b>" << tr("Data path") << ":</b> " << i2p::fs::GetUTF8DataDir() << "<br>\r\n";
s << "<div class='slide'>"; s << "<div class='slide'>";
if((outputFormat == OutputFormatEnum::forWebConsole) || !includeHiddenContent) { if((outputFormat == OutputFormatEnum::forWebConsole) || !includeHiddenContent) {
@ -482,7 +482,7 @@ namespace http {
s << "<div class=\"listitem\">"; s << "<div class=\"listitem\">";
it->Print(s); it->Print(s);
if(it->LatencyIsKnown()) if(it->LatencyIsKnown())
s << " ( " << it->GetMeanLatency() << tr(/* Milliseconds */ "ms") << " )"; s << " ( " << it->GetMeanLatency() << tr(/* tr: Milliseconds */ "ms") << " )";
ShowTunnelDetails(s, it->GetState (), false, it->GetNumReceivedBytes ()); ShowTunnelDetails(s, it->GetState (), false, it->GetNumReceivedBytes ());
s << "</div>\r\n"; s << "</div>\r\n";
} }
@ -540,7 +540,8 @@ namespace http {
if (dest) if (dest)
{ {
ShowLeaseSetDestination (s, dest, token); ShowLeaseSetDestination (s, dest, token);
// show streams
// Print table with streams information
s << "<table>\r\n<caption>" << tr("Streams") << "</caption>\r\n<thead>\r\n<tr>"; s << "<table>\r\n<caption>" << tr("Streams") << "</caption>\r\n<thead>\r\n<tr>";
s << "<th style=\"width:25px;\">StreamID</th>"; s << "<th style=\"width:25px;\">StreamID</th>";
s << "<th style=\"width:5px;\" \\>"; // Stream closing button column s << "<th style=\"width:5px;\" \\>"; // Stream closing button column
@ -685,14 +686,17 @@ namespace http {
static void ShowCommands (std::stringstream& s, uint32_t token) static void ShowCommands (std::stringstream& s, uint32_t token)
{ {
std::string webroot; i2p::config::GetOption("http.webroot", webroot); std::string webroot; i2p::config::GetOption("http.webroot", webroot);
/* commands */
s << "<b>" << tr("Router commands") << "</b><br>\r\n<br>\r\n<div class=\"commands\">\r\n"; s << "<b>" << tr("Router commands") << "</b><br>\r\n<br>\r\n<div class=\"commands\">\r\n";
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_RUN_PEER_TEST << "&token=" << token << "\">" << tr("Run peer test") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_RUN_PEER_TEST << "&token=" << token << "\">" << tr("Run peer test") << "</a><br>\r\n";
//s << " <a href=\"/?cmd=" << HTTP_COMMAND_RELOAD_CONFIG << "\">Reload config</a><br>\r\n";
// s << " <a href=\"/?cmd=" << HTTP_COMMAND_RELOAD_CONFIG << "\">Reload config</a><br>\r\n";
if (i2p::context.AcceptsTunnels ()) if (i2p::context.AcceptsTunnels ())
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_DISABLE_TRANSIT << "&token=" << token << "\">" << tr("Decline transit tunnels") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_DISABLE_TRANSIT << "&token=" << token << "\">" << tr("Decline transit tunnels") << "</a><br>\r\n";
else else
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_ENABLE_TRANSIT << "&token=" << token << "\">" << tr("Accept transit tunnels") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_ENABLE_TRANSIT << "&token=" << token << "\">" << tr("Accept transit tunnels") << "</a><br>\r\n";
#if ((!defined(WIN32) && !defined(QT_GUI_LIB) && !defined(ANDROID)) || defined(ANDROID_BINARY)) #if ((!defined(WIN32) && !defined(QT_GUI_LIB) && !defined(ANDROID)) || defined(ANDROID_BINARY))
if (Daemon.gracefulShutdownInterval) if (Daemon.gracefulShutdownInterval)
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_CANCEL << "&token=" << token << "\">" << tr("Cancel graceful shutdown") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_CANCEL << "&token=" << token << "\">" << tr("Cancel graceful shutdown") << "</a><br>\r\n";
@ -704,6 +708,7 @@ namespace http {
else else
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_START << "&token=" << token << "\">" << tr("Start graceful shutdown") << "</a><br>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_START << "&token=" << token << "\">" << tr("Start graceful shutdown") << "</a><br>\r\n";
#endif #endif
s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_NOW << "&token=" << token << "\">" << tr("Force shutdown") << "</a>\r\n"; s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_NOW << "&token=" << token << "\">" << tr("Force shutdown") << "</a>\r\n";
s << "</div>"; s << "</div>";
@ -743,7 +748,7 @@ namespace http {
{ {
if(i2p::tunnel::tunnels.CountTransitTunnels()) if(i2p::tunnel::tunnels.CountTransitTunnels())
{ {
s << "<b>" << tr("Transit tunnels") << ":</b><br>\r\n<div class=\"list\">\r\n"; s << "<b>" << tr("Transit Tunnels") << ":</b><br>\r\n<div class=\"list\">\r\n";
for (const auto& it: i2p::tunnel::tunnels.GetTransitTunnels ()) for (const auto& it: i2p::tunnel::tunnels.GetTransitTunnels ())
{ {
s << "<div class=\"listitem\">\r\n"; s << "<div class=\"listitem\">\r\n";
@ -759,7 +764,7 @@ namespace http {
} }
else else
{ {
s << "<b>" << tr("Transit tunnels") << ":</b> " << tr("no transit tunnels currently built") << ".<br>\r\n"; s << "<b>" << tr("Transit Tunnels") << ":</b> " << tr("no transit tunnels currently built") << ".<br>\r\n";
} }
} }
@ -1279,7 +1284,7 @@ namespace http {
s << "<b>" << tr("ERROR") << "</b>:&nbsp;" << tr("StreamID can't be null") << "<br>\r\n<br>\r\n"; s << "<b>" << tr("ERROR") << "</b>:&nbsp;" << tr("StreamID can't be null") << "<br>\r\n<br>\r\n";
s << "<a href=\"" << webroot << "?page=local_destination&b32=" << b32 << "\">" << tr("Return to destination page") << "</a><br>\r\n"; s << "<a href=\"" << webroot << "?page=local_destination&b32=" << b32 << "\">" << tr("Return to destination page") << "</a><br>\r\n";
s << "<p>" << tr("You will be redirected back in 5 seconds") << "</b>"; s << "<p>" << tr("You will be redirected in 5 seconds") << "</b>";
redirect = "5; url=" + webroot + "?page=local_destination&b32=" + b32; redirect = "5; url=" + webroot + "?page=local_destination&b32=" + b32;
res.add_header("Refresh", redirect.c_str()); res.add_header("Refresh", redirect.c_str());
return; return;
@ -1292,7 +1297,7 @@ namespace http {
else { else {
s << "<b>" << tr("ERROR") << "</b>:&nbsp;" << tr("Transit tunnels count must not exceed 65535") << "\r\n<br>\r\n<br>\r\n"; s << "<b>" << tr("ERROR") << "</b>:&nbsp;" << tr("Transit tunnels count must not exceed 65535") << "\r\n<br>\r\n<br>\r\n";
s << "<a href=\"" << webroot << "?page=commands\">" << tr("Back to commands list") << "</a>\r\n<br>\r\n"; s << "<a href=\"" << webroot << "?page=commands\">" << tr("Back to commands list") << "</a>\r\n<br>\r\n";
s << "<p>" << tr("You will be redirected back in 5 seconds") << "</b>"; s << "<p>" << tr("You will be redirected in 5 seconds") << "</b>";
res.add_header("Refresh", redirect.c_str()); res.add_header("Refresh", redirect.c_str());
return; return;
} }

2
libi2pd_client/HTTPProxy.cpp

@ -319,7 +319,7 @@ namespace proxy {
auto pos = uri.find(":"); auto pos = uri.find(":");
if(pos == std::string::npos || pos == uri.size() - 1) if(pos == std::string::npos || pos == uri.size() - 1)
{ {
GenericProxyError(tr("Invalid Request"), tr("invalid request uri")); GenericProxyError(tr("Invalid request"), tr("invalid request uri"));
return true; return true;
} }
else else

Loading…
Cancel
Save