Fixed some typos and added new strings to translation (Patch from Henry)

Updated english translation

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6694 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2013-09-05 20:18:47 +00:00
parent 04e543a154
commit ec6218d0e8
4 changed files with 356 additions and 104 deletions

View File

@ -128,11 +128,11 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WFlags flags)
" <h1><img width=\"32\" src=\":/images/64px_help.png\">&nbsp;&nbsp;Chat Lobbies</h1> \ " <h1><img width=\"32\" src=\":/images/64px_help.png\">&nbsp;&nbsp;Chat Lobbies</h1> \
<p>Chat lobbies are distributed chat rooms, and work pretty much like IRC. \ <p>Chat lobbies are distributed chat rooms, and work pretty much like IRC. \
They allow you to talk anonymously with tons of people without the need to make friends.</p> \ They allow you to talk anonymously with tons of people without the need to make friends.</p> \
<p>A chat lobby can be public (you friends see it) or private (your friends can't see it, unless you \ <p>A chat lobby can be public (your friends see it) or private (your friends can't see it, unless you \
invite them with <img src=\":/images/add_24x24.png\" width=12/>). Once you have been invited to a private lobby, you will be able to see it when your friends \ invite them with <img src=\":/images/add_24x24.png\" width=12/>). Once you have been invited to a private lobby, you will be able to see it when your friends \
are using it.</p> \ are using it.</p> \
<p>The list at left shows \ <p>The list at left shows \
chat lobbies your friends are participating into. You can either \ chat lobbies your friends are participating in. You can either \
<ul> \ <ul> \
<li>Right click to create a new chat lobby</li> \ <li>Right click to create a new chat lobby</li> \
<li>Double click a chat lobby to enter, chat, and show it to your friends</li> \ <li>Double click a chat lobby to enter, chat, and show it to your friends</li> \

View File

@ -162,16 +162,16 @@ void ConnectProgressDialog::initDialog()
ui->progressFrame->setEnabled(true); ui->progressFrame->setEnabled(true);
/* initialise GUI data */ /* initialise GUI data */
ui->NetResult->setText("N/A"); ui->NetResult->setText(tr("N/A"));
ui->ContactResult->setText("N/A"); ui->ContactResult->setText(tr("N/A"));
ui->DhtResult->setText("DHT Startup"); ui->DhtResult->setText(tr("DHT Startup"));
ui->DhtProgressBar->setValue(0); ui->DhtProgressBar->setValue(0);
ui->LookupResult->setText("N/A"); ui->LookupResult->setText(tr("N/A"));
ui->LookupProgressBar->setValue(0); ui->LookupProgressBar->setValue(0);
ui->UdpResult->setText("N/A"); ui->UdpResult->setText(tr("N/A"));
ui->UdpProgressBar->setValue(0); ui->UdpProgressBar->setValue(0);
sayInProgress(); sayInProgress();
@ -282,10 +282,10 @@ void ConnectProgressDialog::updateNetworkStatus()
label->setText(tr("NET STATE GOOD!")); label->setText(tr("NET STATE GOOD!"));
break; break;
case RSNET_NETSTATE_ADV_FORWARD: case RSNET_NETSTATE_ADV_FORWARD:
label->setText(tr("UNVERIFABLE FORWARD!")); label->setText(tr("UNVERIFIABLE FORWARD!"));
break; break;
case RSNET_NETSTATE_ADV_DARK_FORWARD: case RSNET_NETSTATE_ADV_DARK_FORWARD:
label->setText(tr("UNVERIFABLE FORWARD & NO DHT")); label->setText(tr("UNVERIFIABLE FORWARD & NO DHT"));
break; break;
} }
} }
@ -497,7 +497,7 @@ void ConnectProgressDialog::updateLookupStatus()
mLookupStatus = CONNECT_LOOKUP_NODHTCONFIG; mLookupStatus = CONNECT_LOOKUP_NODHTCONFIG;
break; break;
case RSDHT_PEERDHT_SEARCHING: case RSDHT_PEERDHT_SEARCHING:
ui->LookupResult->setText("Searching"); ui->LookupResult->setText(tr("Searching"));
break; break;
case RSDHT_PEERDHT_FAILURE: case RSDHT_PEERDHT_FAILURE:
ui->LookupProgressBar->setValue(0); ui->LookupProgressBar->setValue(0);
@ -561,7 +561,7 @@ void ConnectProgressDialog::updateUdpStatus()
if (now > mUdpTS + CONNECT_UDP_PERIOD) if (now > mUdpTS + CONNECT_UDP_PERIOD)
{ {
ui->UdpProgressBar->setValue(100); ui->UdpProgressBar->setValue(100);
ui->UdpResult->setText(tr("Udp Connect Timeout")); ui->UdpResult->setText(tr("UDP Connect Timeout"));
mUdpStatus = CONNECT_UDP_FAIL; mUdpStatus = CONNECT_UDP_FAIL;
mState = CONNECT_STATE_FAILED; mState = CONNECT_STATE_FAILED;
@ -751,7 +751,7 @@ void ConnectProgressDialog::sayDHTOffline()
message += "\n"; message += "\n";
message += tr("The DHT is needed if your friends have Dynamic IP Addresses."); message += tr("The DHT is needed if your friends have Dynamic IP Addresses.");
message += "\n"; message += "\n";
message += tr("Only Advanced Retroshare users should switch of the DHT."); message += tr("Only Advanced Retroshare users should switch off the DHT.");
message += "\n\n"; message += "\n\n";
message += tr("Go to Settings->Server and change config to \"Public: DHT and Discovery\""); message += tr("Go to Settings->Server and change config to \"Public: DHT and Discovery\"");
@ -827,7 +827,7 @@ void ConnectProgressDialog::sayInvalidPeer()
QString title = tr("Incomplete Friend Details"); QString title = tr("Incomplete Friend Details");
QString message = tr("You have imported an incomplete Certificate"); QString message = tr("You have imported an incomplete Certificate");
message += "\n\n"; message += "\n\n";
message += tr("Retroshare cannot connect without ths information"); message += tr("Retroshare cannot connect without this information");
message += "\n\n"; message += "\n\n";
message += tr("Please retry importing the full Certificate"); message += tr("Please retry importing the full Certificate");

View File

@ -162,19 +162,19 @@ void DhtWindow::updateNetStatus()
switch(netMode) switch(netMode)
{ {
case RSNET_NETWORK_UNKNOWN: case RSNET_NETWORK_UNKNOWN:
label->setText("Unknown NetState"); label->setText(tr("Unknown NetState"));
break; break;
case RSNET_NETWORK_OFFLINE: case RSNET_NETWORK_OFFLINE:
label->setText("Offline"); label->setText(tr("Offline"));
break; break;
case RSNET_NETWORK_LOCALNET: case RSNET_NETWORK_LOCALNET:
label->setText("Local Net"); label->setText(tr("Local Net"));
break; break;
case RSNET_NETWORK_BEHINDNAT: case RSNET_NETWORK_BEHINDNAT:
label->setText("Behind NAT"); label->setText(tr("Behind NAT"));
break; break;
case RSNET_NETWORK_EXTERNALIP: case RSNET_NETWORK_EXTERNALIP:
label->setText("External IP"); label->setText(tr("External IP"));
break; break;
} }
@ -184,25 +184,25 @@ void DhtWindow::updateNetStatus()
switch(natType) switch(natType)
{ {
case RSNET_NATTYPE_UNKNOWN: case RSNET_NATTYPE_UNKNOWN:
label->setText("UNKNOWN NAT STATE"); label->setText(tr("UNKNOWN NAT STATE"));
break; break;
case RSNET_NATTYPE_SYMMETRIC: case RSNET_NATTYPE_SYMMETRIC:
label->setText("SYMMETRIC NAT"); label->setText(tr("SYMMETRIC NAT"));
break; break;
case RSNET_NATTYPE_DETERM_SYM: case RSNET_NATTYPE_DETERM_SYM:
label->setText("DETERMINISTIC SYM NAT"); label->setText(tr("DETERMINISTIC SYM NAT"));
break; break;
case RSNET_NATTYPE_RESTRICTED_CONE: case RSNET_NATTYPE_RESTRICTED_CONE:
label->setText("RESTRICTED CONE NAT"); label->setText(tr("RESTRICTED CONE NAT"));
break; break;
case RSNET_NATTYPE_FULL_CONE: case RSNET_NATTYPE_FULL_CONE:
label->setText("FULL CONE NAT"); label->setText(tr("FULL CONE NAT"));
break; break;
case RSNET_NATTYPE_OTHER: case RSNET_NATTYPE_OTHER:
label->setText("OTHER NAT"); label->setText(tr("OTHER NAT"));
break; break;
case RSNET_NATTYPE_NONE: case RSNET_NATTYPE_NONE:
label->setText("NO NAT"); label->setText(tr("NO NAT"));
break; break;
} }
@ -214,19 +214,19 @@ void DhtWindow::updateNetStatus()
switch(natHole) switch(natHole)
{ {
case RSNET_NATHOLE_UNKNOWN: case RSNET_NATHOLE_UNKNOWN:
label->setText("UNKNOWN NAT HOLE STATUS"); label->setText(tr("UNKNOWN NAT HOLE STATUS"));
break; break;
case RSNET_NATHOLE_NONE: case RSNET_NATHOLE_NONE:
label->setText("NO NAT HOLE"); label->setText(tr("NO NAT HOLE"));
break; break;
case RSNET_NATHOLE_UPNP: case RSNET_NATHOLE_UPNP:
label->setText("UPNP FORWARD"); label->setText(tr("UPNP FORWARD"));
break; break;
case RSNET_NATHOLE_NATPMP: case RSNET_NATHOLE_NATPMP:
label->setText("NATPMP FORWARD"); label->setText(tr("NATPMP FORWARD"));
break; break;
case RSNET_NATHOLE_FORWARDED: case RSNET_NATHOLE_FORWARDED:
label->setText("MANUAL FORWARD"); label->setText(tr("MANUAL FORWARD"));
break; break;
} }
@ -263,34 +263,34 @@ void DhtWindow::updateNetStatus()
switch(netState) switch(netState)
{ {
case RSNET_NETSTATE_BAD_UNKNOWN: case RSNET_NETSTATE_BAD_UNKNOWN:
label->setText("NET BAD: Unknown State"); label->setText(tr("NET BAD: Unknown State"));
break; break;
case RSNET_NETSTATE_BAD_OFFLINE: case RSNET_NETSTATE_BAD_OFFLINE:
label->setText("NET BAD: Offline"); label->setText(tr("NET BAD: Offline"));
break; break;
case RSNET_NETSTATE_BAD_NATSYM: case RSNET_NETSTATE_BAD_NATSYM:
label->setText("NET BAD: Behind Symmetric NAT"); label->setText(tr("NET BAD: Behind Symmetric NAT"));
break; break;
case RSNET_NETSTATE_BAD_NODHT_NAT: case RSNET_NETSTATE_BAD_NODHT_NAT:
label->setText("NET BAD: Behind NAT & No DHT"); label->setText(tr("NET BAD: Behind NAT & No DHT"));
break; break;
case RSNET_NETSTATE_WARNING_RESTART: case RSNET_NETSTATE_WARNING_RESTART:
label->setText("NET WARNING: NET Restart"); label->setText(tr("NET WARNING: NET Restart"));
break; break;
case RSNET_NETSTATE_WARNING_NATTED: case RSNET_NETSTATE_WARNING_NATTED:
label->setText("NET WARNING: Behind NAT"); label->setText(tr("NET WARNING: Behind NAT"));
break; break;
case RSNET_NETSTATE_WARNING_NODHT: case RSNET_NETSTATE_WARNING_NODHT:
label->setText("NET WARNING: No DHT"); label->setText(tr("NET WARNING: No DHT"));
break; break;
case RSNET_NETSTATE_GOOD: case RSNET_NETSTATE_GOOD:
label->setText("NET STATE GOOD!"); label->setText(tr("NET STATE GOOD!"));
break; break;
case RSNET_NETSTATE_ADV_FORWARD: case RSNET_NETSTATE_ADV_FORWARD:
label->setText("CAUTION: UNVERIFABLE FORWARD!"); label->setText(tr("CAUTION: UNVERIFIABLE FORWARD!"));
break; break;
case RSNET_NETSTATE_ADV_DARK_FORWARD: case RSNET_NETSTATE_ADV_DARK_FORWARD:
label->setText("CAUTION: UNVERIFABLE FORWARD & NO DHT"); label->setText(tr("CAUTION: UNVERIFIABLE FORWARD & NO DHT"));
break; break;
} }
} }
@ -393,24 +393,24 @@ void DhtWindow::updateNetPeers()
{ {
default: default:
case RSDHT_PEERDHT_NOT_ACTIVE: case RSDHT_PEERDHT_NOT_ACTIVE:
dhtstate = "Not Active (Maybe Connected!)"; dhtstate = tr("Not Active (Maybe Connected!)");
break; break;
case RSDHT_PEERDHT_SEARCHING: case RSDHT_PEERDHT_SEARCHING:
dhtstate = "Searching"; dhtstate = tr("Searching");
break; break;
case RSDHT_PEERDHT_FAILURE: case RSDHT_PEERDHT_FAILURE:
dhtstate = "Failed"; dhtstate = tr("Failed");
break; break;
case RSDHT_PEERDHT_OFFLINE: case RSDHT_PEERDHT_OFFLINE:
dhtstate = "offline"; dhtstate = tr("offline");
nOfflinePeers++; nOfflinePeers++;
break; break;
case RSDHT_PEERDHT_UNREACHABLE: case RSDHT_PEERDHT_UNREACHABLE:
dhtstate = "Unreachable"; dhtstate = tr("Unreachable");
nUnreachablePeers++; nUnreachablePeers++;
break; break;
case RSDHT_PEERDHT_ONLINE: case RSDHT_PEERDHT_ONLINE:
dhtstate = "ONLINE"; dhtstate = tr("ONLINE");
nOnlinePeers++; nOnlinePeers++;
break; break;
} }
@ -422,17 +422,17 @@ void DhtWindow::updateNetPeers()
switch(status.mPeerConnectMode) switch(status.mPeerConnectMode)
{ {
case RSDHT_TOU_MODE_DIRECT: case RSDHT_TOU_MODE_DIRECT:
cpmstr = "Direct"; cpmstr = tr("Direct");
break; break;
case RSDHT_TOU_MODE_PROXY: case RSDHT_TOU_MODE_PROXY:
cpmstr = "Proxy VIA " + QString::fromStdString(status.mPeerConnectProxyId); cpmstr = tr("Proxy VIA ") + QString::fromStdString(status.mPeerConnectProxyId);
break; break;
case RSDHT_TOU_MODE_RELAY: case RSDHT_TOU_MODE_RELAY:
cpmstr = "Relay VIA " + QString::fromStdString(status.mPeerConnectProxyId); cpmstr = tr("Relay VIA ") + QString::fromStdString(status.mPeerConnectProxyId);
break; break;
default: default:
case RSDHT_TOU_MODE_NONE: case RSDHT_TOU_MODE_NONE:
cpmstr = "None"; cpmstr = tr("None");
break; break;
} }
@ -442,15 +442,15 @@ void DhtWindow::updateNetPeers()
{ {
default: default:
case RSDHT_PEERCONN_DISCONNECTED: case RSDHT_PEERCONN_DISCONNECTED:
cpsstr = "Disconnected"; cpsstr = tr("Disconnected");
nDisconnPeers++; nDisconnPeers++;
break; break;
case RSDHT_PEERCONN_UDP_STARTED: case RSDHT_PEERCONN_UDP_STARTED:
cpsstr = "Udp Started"; cpsstr = tr("Udp Started");
break; break;
case RSDHT_PEERCONN_CONNECTED: case RSDHT_PEERCONN_CONNECTED:
{ {
cpsstr = "Connected"; cpsstr = tr("Connected");
break; break;
switch(status.mPeerConnectMode) switch(status.mPeerConnectMode)
{ {
@ -489,13 +489,13 @@ void DhtWindow::updateNetPeers()
switch(status.mPeerReqState) switch(status.mPeerReqState)
{ {
case RSDHT_PEERREQ_RUNNING: case RSDHT_PEERREQ_RUNNING:
reqstr += "Request Active"; reqstr += tr("Request Active");
break; break;
case RSDHT_PEERREQ_STOPPED: case RSDHT_PEERREQ_STOPPED:
reqstr += "No Request"; reqstr += tr("No Request");
break; break;
default: default:
reqstr += "Unknown"; reqstr += tr("Unknown");
break; break;
} }
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, reqstr); peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, reqstr);
@ -507,14 +507,14 @@ void DhtWindow::updateNetPeers()
QString connstr; QString connstr;
connstr = "#Peers: " + QString::number(nPeers); connstr = tr("#Peers: ") + QString::number(nPeers);
connstr += " DHT: (#off:" + QString::number(nOfflinePeers); connstr += tr(" DHT: (#off:") + QString::number(nOfflinePeers);
connstr += ",unreach:" + QString::number(nUnreachablePeers); connstr += tr(",unreach:") + QString::number(nUnreachablePeers);
connstr += ",online:" + QString::number(nOnlinePeers); connstr += tr(",online:") + QString::number(nOnlinePeers);
connstr += ") Connections: (#dis:" + QString::number(nDisconnPeers); connstr += tr(") Connections: (#dis:") + QString::number(nDisconnPeers);
connstr += ",#dir:" + QString::number(nDirectPeers); connstr += tr(",#dir:") + QString::number(nDirectPeers);
connstr += ",#proxy:" + QString::number(nProxyPeers); connstr += tr(",#proxy:") + QString::number(nProxyPeers);
connstr += ",#relay:" + QString::number(nRelayPeers); connstr += tr(",#relay:") + QString::number(nRelayPeers);
connstr += ")"; connstr += ")";
ui->peerSummaryLabel->setText(connstr); ui->peerSummaryLabel->setText(connstr);
@ -555,14 +555,14 @@ void DhtWindow::updateRelays()
QTreeWidgetItem *item = new QTreeWidgetItem(); QTreeWidgetItem *item = new QTreeWidgetItem();
relayTreeWidget->addTopLevelItem(item); relayTreeWidget->addTopLevelItem(item);
QString typestr = "RELAY END"; QString typestr = tr("RELAY END");
QString srcstr = "Yourself"; QString srcstr = tr("Yourself");
QString proxystr = QString::fromStdString(reit->mProxyAddr); QString proxystr = QString::fromStdString(reit->mProxyAddr);
QString deststr = QString::fromStdString(reit->mRemoteAddr); QString deststr = QString::fromStdString(reit->mRemoteAddr);
QString agestr = "unknown"; QString agestr = tr("unknown");
QString lastsendstr = "unknown"; QString lastsendstr = tr("unknown");
QString bandwidthstr = "unlimited"; QString bandwidthstr = tr("unlimited");
QString classstr = "Own Relay"; QString classstr = tr("Own Relay");
//std::ostringstream dhtupdatestr; //std::ostringstream dhtupdatestr;
//dhtupdatestr << now - status.mDhtUpdateTS << " secs ago"; //dhtupdatestr << now - status.mDhtUpdateTS << " secs ago";
@ -585,13 +585,13 @@ void DhtWindow::updateRelays()
QTreeWidgetItem *item = new QTreeWidgetItem(); QTreeWidgetItem *item = new QTreeWidgetItem();
relayTreeWidget->addTopLevelItem(item); relayTreeWidget->addTopLevelItem(item);
QString typestr = "RELAY PROXY"; QString typestr = tr("RELAY PROXY");
QString srcstr = QString::fromStdString(rpit->mSrcAddr); QString srcstr = QString::fromStdString(rpit->mSrcAddr);
QString proxystr = "Yourself"; QString proxystr = tr("Yourself");
QString deststr = QString::fromStdString(rpit->mDestAddr); QString deststr = QString::fromStdString(rpit->mDestAddr);
QString agestr = QString("%1 secs ago").arg(now - rpit->mCreateTS); QString agestr = QString(tr("%1 secs ago")).arg(now - rpit->mCreateTS);
QString lastsendstr = QString("%1 secs ago").arg(now - rpit->mLastTS); QString lastsendstr = QString(tr("%1 secs ago")).arg(now - rpit->mLastTS);
QString bandwidthstr = QString("%1B/s").arg(QString::number(rpit->mBandwidth)); QString bandwidthstr = QString(tr("%1B/s")).arg(QString::number(rpit->mBandwidth));
QString classstr = QString::number(rpit->mRelayClass); QString classstr = QString::number(rpit->mRelayClass);
item -> setData(RTW_COL_TYPE, Qt::DisplayRole, typestr); item -> setData(RTW_COL_TYPE, Qt::DisplayRole, typestr);
@ -675,20 +675,20 @@ void DhtWindow::updateDhtPeers()
QString buckstr = QString::number(it->mBucket); QString buckstr = QString::number(it->mBucket);
QString ipstr = QString::fromStdString(it->mAddr); QString ipstr = QString::fromStdString(it->mAddr);
QString idstr = QString::fromStdString(it->mDhtId); QString idstr = QString::fromStdString(it->mDhtId);
QString flagsstr = QString("0x%1 EX:0x%2").arg(it->mPeerFlags, 0, 16, QChar('0')).arg(it->mExtraFlags, 0, 16, QChar('0')); QString flagsstr = QString(tr("0x%1 EX:0x%2")).arg(it->mPeerFlags, 0, 16, QChar('0')).arg(it->mExtraFlags, 0, 16, QChar('0'));
QString foundstr = QString("%1 secs ago").arg(now - it->mFoundTime); QString foundstr = QString(tr("%1 secs ago")).arg(now - it->mFoundTime);
QString lastsendstr; QString lastsendstr;
if (it->mLastSendTime == 0) if (it->mLastSendTime == 0)
{ {
lastsendstr = "never"; lastsendstr = tr("never");
} }
else else
{ {
lastsendstr = QString ("%1 secs ago").arg(now - it->mLastSendTime); lastsendstr = QString (tr("%1 secs ago")).arg(now - it->mLastSendTime);
} }
QString lastrecvstr = QString ("%1 secs ago").arg(now - it->mLastRecvTime); QString lastrecvstr = QString (tr("%1 secs ago")).arg(now - it->mLastRecvTime);
dht_item -> setData(DTW_COL_BUCKET, Qt::DisplayRole, buckstr); dht_item -> setData(DTW_COL_BUCKET, Qt::DisplayRole, buckstr);
dht_item -> setData(DTW_COL_IPADDR, Qt::DisplayRole, ipstr); dht_item -> setData(DTW_COL_IPADDR, Qt::DisplayRole, ipstr);

View File

@ -1399,10 +1399,6 @@ Double click lobbies to enter and chat.</source>
<source>%1 invites you to chat lobby named %2</source> <source>%1 invites you to chat lobby named %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source> &lt;h1&gt;&lt;img width=&quot;32&quot; src=&quot;:/images/64px_help.png&quot;&gt;&amp;nbsp;&amp;nbsp;Chat Lobbies&lt;/h1&gt; &lt;p&gt;Chat lobbies are distributed chat rooms, and work pretty much like IRC. They allow you to talk anonymously with tons of people without the need to make friends.&lt;/p&gt; &lt;p&gt;A chat lobby can be public (you friends see it) or private (your friends can&apos;t see it, unless you invite them with &lt;img src=&quot;:/images/add_24x24.png&quot; width=12/&gt;). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.&lt;/p&gt; &lt;p&gt;The list at left shows chat lobbies your friends are participating into. You can either &lt;ul&gt; &lt;li&gt;Right click to create a new chat lobby&lt;/li&gt; &lt;li&gt;Double click a chat lobby to enter, chat, and show it to your friends&lt;/li&gt; &lt;/ul&gt; Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! &lt;/p&gt; </source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Search Chat lobbies</source> <source>Search Chat lobbies</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -1411,6 +1407,10 @@ Double click lobbies to enter and chat.</source>
<source>Search Name</source> <source>Search Name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source> &lt;h1&gt;&lt;img width=&quot;32&quot; src=&quot;:/images/64px_help.png&quot;&gt;&amp;nbsp;&amp;nbsp;Chat Lobbies&lt;/h1&gt; &lt;p&gt;Chat lobbies are distributed chat rooms, and work pretty much like IRC. They allow you to talk anonymously with tons of people without the need to make friends.&lt;/p&gt; &lt;p&gt;A chat lobby can be public (your friends see it) or private (your friends can&apos;t see it, unless you invite them with &lt;img src=&quot;:/images/add_24x24.png&quot; width=12/&gt;). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.&lt;/p&gt; &lt;p&gt;The list at left shows chat lobbies your friends are participating in. You can either &lt;ul&gt; &lt;li&gt;Right click to create a new chat lobby&lt;/li&gt; &lt;li&gt;Double click a chat lobby to enter, chat, and show it to your friends&lt;/li&gt; &lt;/ul&gt; Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! &lt;/p&gt; </source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ChatMsgItem</name> <name>ChatMsgItem</name>
@ -2763,14 +2763,6 @@ Some services (Discovery, anonymous routing) can be switched off globally, which
<source>NET STATE GOOD!</source> <source>NET STATE GOOD!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>UNVERIFABLE FORWARD!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UNVERIFABLE FORWARD &amp; NO DHT</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>DHT Failed</source> <source>DHT Failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -2819,10 +2811,6 @@ Some services (Discovery, anonymous routing) can be switched off globally, which
<source>Peer Online</source> <source>Peer Online</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Udp Connect Timeout</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Connection In Progress</source> <source>Connection In Progress</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -2939,10 +2927,6 @@ Some services (Discovery, anonymous routing) can be switched off globally, which
<source>The DHT is needed if your friends have Dynamic IP Addresses.</source> <source>The DHT is needed if your friends have Dynamic IP Addresses.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Only Advanced Retroshare users should switch of the DHT.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Go to Settings-&gt;Server and change config to &quot;Public: DHT and Discovery&quot;</source> <source>Go to Settings-&gt;Server and change config to &quot;Public: DHT and Discovery&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -3019,10 +3003,6 @@ Some services (Discovery, anonymous routing) can be switched off globally, which
<source>You have imported an incomplete Certificate</source> <source>You have imported an incomplete Certificate</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Retroshare cannot connect without ths information</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Please retry importing the full Certificate</source> <source>Please retry importing the full Certificate</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -3039,6 +3019,34 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt;&quot;&gt;you can close it.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt;&quot;&gt;you can close it.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>N/A</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UNVERIFIABLE FORWARD!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UNVERIFIABLE FORWARD &amp; NO DHT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Searching</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UDP Connect Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Only Advanced Retroshare users should switch off the DHT.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Retroshare cannot connect without this information</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>CreateBlog</name> <name>CreateBlog</name>
@ -4507,6 +4515,250 @@ p, li { white-space: pre-wrap; }
<source>Bandwidth</source> <source>Bandwidth</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Unknown NetState</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local Net</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Behind NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>External IP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UNKNOWN NAT STATE</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SYMMETRIC NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DETERMINISTIC SYM NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>RESTRICTED CONE NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FULL CONE NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OTHER NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NO NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UNKNOWN NAT HOLE STATUS</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NO NAT HOLE</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UPNP FORWARD</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NATPMP FORWARD</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MANUAL FORWARD</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET BAD: Unknown State</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET BAD: Offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET BAD: Behind Symmetric NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET BAD: Behind NAT &amp; No DHT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET WARNING: NET Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET WARNING: Behind NAT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET WARNING: No DHT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NET STATE GOOD!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>CAUTION: UNVERIFIABLE FORWARD!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>CAUTION: UNVERIFIABLE FORWARD &amp; NO DHT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Not Active (Maybe Connected!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Searching</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unreachable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>ONLINE</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Direct</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Proxy VIA </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Relay VIA </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disconnected</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Udp Started</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Request Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No Request</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>#Peers: </source>
<translation type="unfinished"></translation>
</message>
<message>
<source> DHT: (#off:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>,unreach:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>,online:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>) Connections: (#dis:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>,#dir:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>,#proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>,#relay:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>RELAY END</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Own Relay</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>RELAY PROXY</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 secs ago</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1B/s</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0x%1 EX:0x%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>never</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DirectoriesPage</name> <name>DirectoriesPage</name>